Logică și structuri discrete - Exerciții cu formule propoziționale

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.


Marius Minea
Last modified: Mon Oct 31 20:25:00 EET 2016