Substitution
Exercice · OCaml (option informatique), chapitre 17 — Logique propositionnelle
Énoncé
Écrire substitue f x g : la formule obtenue en remplaçant chaque occurrence de Var x par la formule g dans f.
Corrigé
let rec substitue f x g =
match f with
| Var i -> if i = x then g else Var i
| Non h -> Non (substitue h x g)
| Et (a, b) -> Et (substitue a x g, substitue b x g)
| Ou (a, b) -> Ou (substitue a x g, substitue b x g)
Récursion sur la structure : on descend dans la formule et l'on remplace les feuilles Var x par g, en reconstruisant un nouvel arbre (les formules sont immuables). La substitution est l'opération de base de la réécriture de formules.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.