alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 alias nat /Coq/Init/Datatypes/nat.ind#1/1 alias O /Coq/Init/Datatypes/nat.ind#1/1/1 alias S /Coq/Init/Datatypes/nat.ind#1/1/2 alias plus /Coq/Init/Peano/plus.con alias mult /Coq/Init/Peano/mult.con (mult (plus (S (S O)) (S O)) (S (S O))) Case ((S O) : nat ; nat) { O ; \x:nat.x } Fix f {f(0) : !x:nat.nat ; g(0) : !x:nat.nat} { \x:nat.O ; \x:nat. Case (x : nat ; nat) { (S O) ; \x:nat.(f x) } } (* Nel caso seguente sbagliavamo a fare la whd!!!! *) !n:nat.(eq nat O (Case (n : nat ; \z:nat.!a:nat.nat) {\x:nat.x ; \y:nat.\x:nat.x} O))