Softanza
DémarrerEnglish
Softanza
Le livre · Chapitre 12 · La preuve de chaque chapitre

Enseigner un monde

Ce chapitre a 5 cellules et écrit 9 promesses. Dans chacune de ses quatre éditions, ses cellules ont été exécutées dans un processus neuf le 2026-10-08 20:15 : English, 5 cellules exécutées, 9 promesses tenues; Français, 5 cellules exécutées, 9 promesses tenues; العربية, 5 cellules exécutées, 9 promesses tenues; Hausa, 5 cellules exécutées, 9 promesses tenues. Les quatre éditions font les mêmes promesses, cellule pour cellule. Aucune édition ne stocke de sortie.

Le garde

Le garde du cours est course_narrated.ring(s'ouvre dans un nouvel onglet) : il exécute chaque chapitre dans les quatre langues, compare les promesses d'une édition à l'autre, et fait prouver chaque exercice sur ses mauvaises et ses bonnes réponses. Cette page a posé les mêmes questions aux mêmes objets, dans un seul processus à l'intérieur de la bibliothèque, au commit 0e72e2e2c. Pour prouver ce chapitre seul, depuis votre copie du dépôt :

cd libraries/stzlib/base/test/education
# exécutez course_narrated avec le moteur d'exécution du dépôt, pour ce chapitre :
#   course_narrated teach-a-world

exécuté le 2026-10-08 20:15 dans la bibliothèque au commit 4a184e6f0, en 246.4 s pour tout le livre · Les quatre éditions du chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Le lecteur ne stocke aucune sortie, par la loi du cours ; cette page est le compte rendu d'une exécution, faite pour elle. Le code des cellules est celui de l'édition anglaise ; les titres viennent de l'édition française. Les quatre éditions font les mêmes promesses, cellule pour cellule.

Les cellules, exécutées

Cellule 1 · 1. Énoncer des faits

Softanza
oKB = new stzKnowledgeGraph("menu")
oKB.Know("margherita", "dish").Know("tiramisu", "dish").Know("pizza", "dish")
oKB.KnowRelation("margherita", "kind-of", "pizza")
oKB.KnowRelation("pizza", "kind-of", "food")
oKB.KnowRelation("margherita", "contains", "tomato")
? @@( oKB.Query([ "?x", "is-a", "dish" ]) )
#--> [ "margherita", "tiramisu", "pizza" ]
? @@( oKB.Query([ "margherita", "contains", "?o" ]) )
#--> [ "tomato" ]
Sortie de cette exécution
[ "margherita", "tiramisu", "pizza" ]
[ "tomato" ]

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 2 · 2. Une requête répond d'après ce qui a été enregistré

Softanza
? @@( oKB.Query([ "margherita", "kind-of", "?o" ]) )
#--> [ "pizza" ]
Sortie de cette exécution
[ "pizza" ]

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 3 · 3. Une loi rend le raisonnement possible

Softanza
oKB.ConstrainRelation("kind-of", :Transitive)
aProof = oKB.Prove([ "margherita", "kind-of", "food" ])
? aProof[:verdict]
#--> TRUE
? aProof[:narration]
#--> proved: margherita kind-of pizza kind-of food
Sortie de cette exécution
1
proved: margherita kind-of pizza kind-of food

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 4 · 4. Un monde est un fichier que vous pouvez lire

Softanza
? oKB.ExportToKnow()
#--> knowledge "menu"
#--> margherita | is-a | dish
#--> margherita | contains | tomato
#--> kind-of | transitive
Sortie de cette exécution
knowledge "menu"

facts
    margherita | is-a | dish
    tiramisu | is-a | dish
    pizza | is-a | dish
    margherita | kind-of | pizza
    pizza | kind-of | food
    margherita | contains | tomato

ontology
    kind-of | transitive

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 5 · 5. Le monde sur lequel ce cours s'exécute

Softanza
? EduWorldName()
? @@( EduWorld().Query([ "?o", "requested", "?d" ]) )
Sortie de cette exécution
bella-cucina (restaurant)
[ [ "order-1", "margherita" ], [ "order-2", "tiramisu" ], [ "order-3", "margherita" ], [ "order-4", "lasagna" ], [ "order-5", "tiramisu" ], [ "order-6", "margherita" ] ]

exécutée : cette cellule n'écrit aucune promesse

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Les exercices

Chaque exercice s'éprouve lui-même : ses mauvaises réponses sont refusées et ses bonnes acceptées.

ex-12-01 · Exercice 12.1 · Deux faits

2 mauvaises réponses refusées sur 2, 2 bonnes acceptées sur 2

01-one-dish.ring refusée · 02-words-in-the-wrong-order.ring refusée · 01-know.ring acceptée · 02-know-relation.ring acceptée

Le dossier de l'exercice(s'ouvre dans un nouvel onglet)

ex-12-02 · Exercice 12.2 · Prouvez-le

2 mauvaises réponses refusées sur 2, 2 bonnes acceptées sur 2

01-asks-instead-of-proving.ring refusée · 02-prints-the-verdict-only.ring refusée · 01-declare-then-prove.ring acceptée · 02-from-a-world-text.ring acceptée

Le dossier de l'exercice(s'ouvre dans un nouvel onglet)