Adloun

Nombre de variables

Exercice · OCaml (option informatique), chapitre 17 — Logique propositionnelle

Énoncé

Écrire nb_variables et l'appliquer à f ci-dessus.

Corrigé

let rec var_max f =
  match f with
  | Var i -> i
  | Non g -> var_max g
  | Et (g, h) | Ou (g, h) ->
      let a = var_max g and b = var_max h in if a >= b then a else b

let nb_variables f = var_max f + 1

La plus grande variable de f est Var 2, donc nb_variables f = 3. On suppose les variables numérotées sans trou de 0 à n-1.

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.