Je retrouve des exercices que j'avais préparé pour mes étudiants (
18-11-2001). En voici (notation ensembliste de la "méthode B")
La Bible
" Au commencement était la Parole, et la Parole était avec Dieu, et la Parole était Dieu. Elle était au commencement avec Dieu. Toutes choses ont été faites par elle,et rien de ce qui a été fait n'a été fait sans elle. "Evangile selon Jean (Jean 1)Exercice préparatoire
L'autre jour, j'ai écrit la spécification suivante :
SETS
PERSONNE; SEXE = {masculin, féminin}
VARIABLES
aPourPere, personne, aPourSexe
DEFINITIONS
HOMME == aPourSexe [{masculin}];
FEMME == aPourSexe [{féminin}]
INVARIANT
aPourPere : personne +-> HOMME
et un étudiant m'a fait dit : "vous avez fait une erreur : toute personne a un père !"
Voici notre réponse :
1) Avons-nous fait une erreur syntaxique ? Non
2) Alors une "erreur sémantique" ?
2.1.) nous voulons dire ce que dit la spéc, ni plus ni moins, à savoir que l'état de notre système doit être tel qu' une personne ne puisse avoir plus d'un père, mais nous n'imposons pas d'enregistrer pour chaque personne qui est son père.
2.2.) vous voudriez que j'écrive :
aPourPere : personne --> personne, alors svp, donnez-moi une instance de cette relation (un ensemble de couples en extension) qui respecte cet invariant.
Quand vous aurez fini, vous m'enverrez un mel....!
enfant père
p3 p9
p9 p7
p7 p1
p1 p2
... votre relation ne respecte pas votre invariant : p2 n'a pas de père !
J'en vois qui s'énervent : " ce n'est pas un problème de maths, c'est un truc de religion...", d'autres qui proposent de mettre Adam et Eve dans les personnes....
Remarquons que, formellement, notre spécification ne contraint pas la fonction aPourPère de sorte qu'une personne ne puisse être son propre père ou être le père de l'un de ses aïeux. Donc, on peut très bien fournir une instance de aPourPère où un enfant a pour père un de ses aïeux.
Si l'on complète la spécification pour prendre en compte la contrainte spécifiant la parenté biologique (peut-être que cela va changer avec les techniques modernes), il apparaît que nous avons spécifié un ensemble infini.
Si nous ne voulons pas spécifier un ensemble infini, tout en prenant en compte la contrainte spécifiant la parenté biologique et en ayant une fonction aPourPère totale, nous pouvons spécifier ainsi :
PremierHomme = {Adam}
aPourPère : (personne - {Adam}) --> personne
SETS
VERSION; CHAPITRE; VERSET; LIVRE
quelques variables instanciées...
versionsDeLaBible = {Version des Septante, Peshitta, Aquila, Samaritaine, Araméenne, Copte, Ethiopienne, Arménienne, Gothique, Grégorienne, Arabe, Vulgate, de Luther}
aEteRedigeePar = {Peshitta |-> Rabbula, Vulgate |-> saint Jérôme, de Luther |-> Luther}
aEteRedigeVers = {Evangile de Marc |-> 67, Evangile de Matthieu |-> 80, Evangile selon Luc |-> 70, Evangile de Jean |-> 90, Epitre de Paul |-> 10, Epitre aux Romains |-> 54, Epitre1 aux Corinthiens |-> 53, Epitre2 aux Corinthiens |-> 54, Epitre aux Galates |-> 52, 1 ere Epitre aux Thessaloniciens |-> 50, Epitre aux Philipiens |-> 57, Epitre à Philémon |-> 58, Epitre aux Colossiens |-> 60, 2ième Epitre aux Thessaloniciens |-> 70, Epitre aux Ephésiens |-> 80, Epitre aux Hébreux |-> 90, Apocalypse de Jean |-> 81}
DEFINITIONS
synoptiques == {Evangile de Marc, Evangile de Matthieu, Evangile selon Luc } /* "appelés synoptiques parce que leur structure, leurs matériaux littéraires peuvent en grande partie être mis en parallèle, contrairement à l'Evangile de Jean, qui présente une grande originalité "*/
"L'actuelle division de la Bible en chapitres, de longueur plus ou moins égale, fut introduite pour la première fois dans le texte de la Vulgate (La Vulgate est la traduction latine de la Bible par saint Jérôme. Elle fut considérée pendant des siècles comme le texte officiel chez les catholiques) en 1205 par le théologien anglais Stephen ou Etienne Langton (1150-1228), professeur à la Sorbonne, puis archevêque de Canterbury et cardinal. La division en versets fut introduite en 1551 par l'imprimeur parisien Robert Estienne (1504-1539). "
"(...) les livres de la Bible réformée sont : Pantateuque, Livres historiques, Livres poétiques, Livres prophétiques. "
La Bible Segond parue en 1910 est architecturée ainsi : L'ancien testament et le nouveau testament).
L'ancien est structuré en livres (Pantateuque, Livres historiques, Livres poétiques, Livres prophétiques).
Ces livres sont composés de chapitres. Par exemple le Pentateuque est composé de la Genèse, l'Exode, le Lévitique, Nombres et le Deutéronome.
Chaque livre est structuré en parties (nous ne savons pas quel nom recouvre ce concept). Par exemple, pour la Genèse est donné d'abord, La création du monde, puis La formation de l'homme et de la femme, , puis Le jardin d'Eden, le péché d'Adam, etc. Ces parties sont numérotées de 1 à n. Ainsi la Création du monde a le numéro 1 et la première partie de l'Exode, Souffrances des Israélites en Egypte a le numéro 1.
De la même manière, chaque partie est composée de versets numérotés. Par exemple, le premier verset (verset numéro 1) de la Création du monde de La Genèse est "Au commencement, Dieu créa les cieux et la terre", le premier verset de Naissance de Moïse de l'Exode est "Un homme de la maison de Lévi avait pris pour femme une fille de Lévi" (verset numéro 1).
Le Nouveau testament présente d'abord les Evangiles (selon Matthieu, Marc, Luc, Jean), puis les Actes des Apôtres, puis les Epîtres (de Paul aux Romains, aux Corinthiens, etc.), puis enfin l'Apocalypse de Jean.
Evangiles, Actes des Apôtres, etc. comme les livres de l'ancien testament, sont structurés et numérotés en chapitres, lesquels sont structurés en parties puis en versets comme l'ancien testament.
Questions
1) Spécifiez la Bible Segond (dont les ensembles fournis en extension ci-dessus).
2) En fait, ce que nous vous avons dit ci-dessus n'est pas exact. Ce que nous avons appelé "parties" n'est pas clair. Ce que nous avons appelé parties est manifesté dans le texte par un sous-titre écrit en italique (exemple : Les désert et la montagne de Sinaï). Ce titre se trouve en général proche physiquement de ce que nous avons considéré comme un "numéro de partie", mais pas toujours. De plus, il y a des cas où on trouve un changement de numéro de partie sans qu'apparaisse de sous-titre.
Il y aurait donc deux découpages et la structure ne serait plus alors une structure hiérarchique (comme celle que l'on respecte dans la "Programmation structurée" !).
Modélisez pour prendre en compte cela.
Les citations sont extraites de G. Bellinger, Encyclopédie des religions, Le livre de poche, 2000
La Bible utilisée ici est :
"La sainte Bible qui comprend l'ancien et le nouveau testament, traduits d'après les textes originaux hébreu et grec par Louis Segond, Société biblique de France, Paris, 1967