Folosim pentru formule propoziționale un tip la care am adăugat și o variantă pentru o constantă booleană:
type bform = B of bool V of string Neg of bform And of bform * bform Or of bform * bform
Exercițiul 1 Scrieți o funcție care ia ca parametru o formulă propozițională, un nume de variabilă (șir) și o valoare booleană (true/false) si returnează o formulă în care variabila a fost substituită peste tot cu valoarea dată.
Exercițiul 2 Scrieți o funcție care simplifică o formulă. Câteva reguli posibile: idempotență, operație cu o constantă booleană, eliminarea dublei negații.