Folosiți tipul de formulă propozițională definit în exercițiul de la curs:
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ă și o atribuire pentru (unele) propoziții, dată ca dicționar sau listă de asociere (perechi string * bool), și returnează valoarea formulei pentru atribuirea dată (true/false) sau generează excepția Failure "not constant" dacă formula nu are o valoare determinată.
Exercițiul 2
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ă.
Opțional, scrieți o funcție care simplifică o formulă. Indicați pe fiecare ramură regula de simplificare folosită.