Ho bisogno di creare un predicato Prolog per la potenza di 2, con i numeri naturali. numeri naturali sono: 0, s (0), s (s (0)) ans così via .. Ad esempio: ?- pow2(s(0),P).
P = s(s(0));
false.
?- po
Il terzo capitolo di CPDT illustra brevemente perché i tipi induttivi negativi sono vietati in Coq. Se avessimo Inductive term : Set :=
| App : term -> term -> term
| Abs : (term -> term) -> term.