X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fng_assembly%2Fcommon%2Fnat_lemmas.ma;h=06ace91b2581313105126405c4ea51603ffbccaf;hb=e880d6eab5e1700f4a625ddcd7d0fa8f0cce2dcc;hp=64eeb50f122f07b427be0003725cd2c1b136a6a9;hpb=a62de71cf6821c955bd41fa691c52ea62173f25d;p=helm.git diff --git a/helm/software/matita/contribs/ng_assembly/common/nat_lemmas.ma b/helm/software/matita/contribs/ng_assembly/common/nat_lemmas.ma index 64eeb50f1..06ace91b2 100644 --- a/helm/software/matita/contribs/ng_assembly/common/nat_lemmas.ma +++ b/helm/software/matita/contribs/ng_assembly/common/nat_lemmas.ma @@ -16,7 +16,7 @@ (* Progetto FreeScale *) (* *) (* Sviluppato da: Ing. Cosimo Oliboni, oliboni@cs.unibo.it *) -(* Ultima modifica: 05/08/2009 *) +(* Sviluppo: 2008-2010 *) (* *) (* ********************************************************************** *) @@ -35,6 +35,7 @@ nlemma nat_destruct_S_S : ∀n1,n2:nat.S n1 = S n2 → n1 = n2. napply refl_eq. nqed. +(* !!! da togliere *) nlemma nat_destruct_0_S : ∀n:nat.O = S n → False. #n; #H; nchange with (match S n with [ O ⇒ True | S a ⇒ False ]); @@ -43,6 +44,7 @@ nlemma nat_destruct_0_S : ∀n:nat.O = S n → False. napply I. nqed. +(* !!! da togliere *) nlemma nat_destruct_S_0 : ∀n:nat.S n = O → False. #n; #H; nchange with (match S n with [ O ⇒ True | S a ⇒ False ]); @@ -58,12 +60,12 @@ nlemma eq_to_eqnat : ∀n1,n2:nat.n1 = n2 → eq_nat n1 n2 = true. nelim n2; nnormalize; ##[ ##1: #H; napply refl_eq - ##| ##2: #n3; #H; #H1; nelim (nat_destruct_0_S ? H1) + ##| ##2: #n3; #H; #H1; ndestruct (*nelim (nat_destruct_0_S ? H1)*) ##] ##| ##2: #n2; #H; #n3; #H1; ncases n3 in H1:(%) ⊢ %; nnormalize; - ##[ ##1: #H1; nelim (nat_destruct_S_0 ? H1) + ##[ ##1: #H1; ndestruct (*nelim (nat_destruct_S_0 ? H1)*) ##| ##2: #n4; #H1; napply (H n4 (nat_destruct_S_S … H1)) ##] @@ -85,12 +87,12 @@ nlemma eqnat_to_eq : ∀n1,n2:nat.(eq_nat n1 n2 = true → n1 = n2). nelim n2; nnormalize; ##[ ##1: #H; napply refl_eq - ##| ##2: #n3; #H; #H1; napply (bool_destruct … (O = S n3) H1) + ##| ##2: #n3; #H; #H1; ndestruct (*napply (bool_destruct … (O = S n3) H1)*) ##] ##| ##2: #n2; #H; #n3; #H1; ncases n3 in H1:(%) ⊢ %; nnormalize; - ##[ ##1: #H1; napply (bool_destruct … (S n2 = O) H1) + ##[ ##1: #H1; ndestruct (*napply (bool_destruct … (S n2 = O) H1)*) ##| ##2: #n4; #H1; nrewrite > (H n4 H1); napply refl_eq