X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fng_assembly%2Ffreescale%2Foption_lemmas.ma;h=9a81564fea2fb4b95869cdee43f6a4f1b70ccb69;hb=f538a0b46ba4164a21a76e47a6ed3b3e9deb5041;hp=4f362a873737f6a56c8fcd5acd97d9b8ee189002;hpb=20fdd66303330e6209059e90b6a98af71ec29567;p=helm.git diff --git a/helm/software/matita/contribs/ng_assembly/freescale/option_lemmas.ma b/helm/software/matita/contribs/ng_assembly/freescale/option_lemmas.ma index 4f362a873..9a81564fe 100644 --- a/helm/software/matita/contribs/ng_assembly/freescale/option_lemmas.ma +++ b/helm/software/matita/contribs/ng_assembly/freescale/option_lemmas.ma @@ -13,15 +13,11 @@ (**************************************************************************) (* ********************************************************************** *) -(* Progetto FreeScale *) +(* Progetto FreeScale *) (* *) -(* Sviluppato da: *) -(* Cosimo Oliboni, oliboni@cs.unibo.it *) +(* Sviluppato da: Cosimo Oliboni, oliboni@cs.unibo.it *) +(* Cosimo Oliboni, oliboni@cs.unibo.it *) (* *) -(* Questo materiale fa parte della tesi: *) -(* "Formalizzazione Interattiva dei Microcontroller a 8bit FreeScale" *) -(* *) -(* data ultima modifica 15/11/2007 *) (* ********************************************************************** *) include "freescale/bool_lemmas.ma". @@ -36,7 +32,7 @@ nlemma option_destruct_some_some : ∀T.∀x1,x2:T.Some T x1 = Some T x2 → x1 nchange with (match Some T x2 with [ None ⇒ False | Some a ⇒ x1 = a ]); nrewrite < H; nnormalize; - napply (refl_eq ??). + napply refl_eq. nqed. nlemma option_destruct_some_none : ∀T.∀x:T.Some T x = None T → False. @@ -60,14 +56,14 @@ nlemma symmetric_eqoption : (symmetricT T bool f) → (eq_option T op1 op2 f = eq_option T op2 op1 f). #T; #op1; #op2; #f; #H; - napply (option_ind T ??? op1); - napply (option_ind T ??? op2); + nelim op1; + nelim op2; nnormalize; - ##[ ##1: napply (refl_eq ??) - ##| ##2,3: #H; napply (refl_eq ??) + ##[ ##1: napply refl_eq + ##| ##2,3: #H; napply refl_eq ##| ##4: #a; #a0; nrewrite > (H a0 a); - napply (refl_eq ??) + napply refl_eq ##] nqed. @@ -76,16 +72,16 @@ nlemma eq_to_eqoption : (∀x1,x2:T.x1 = x2 → f x1 x2 = true) → (op1 = op2 → eq_option T op1 op2 f = true). #T; #op1; #op2; #f; #H; - napply (option_ind T ??? op1); - napply (option_ind T ??? op2); + nelim op1; + nelim op2; nnormalize; - ##[ ##1: #H1; napply (refl_eq ??) + ##[ ##1: #H1; napply refl_eq ##| ##2: #a; #H1; nelim (option_destruct_none_some ?? H1) ##| ##3: #a; #H1; nelim (option_destruct_some_none ?? H1) ##| ##4: #a; #a0; #H1; - nrewrite > (option_destruct_some_some ??? H1); - nrewrite > (H a a (refl_eq ??)); - napply (refl_eq ??) + nrewrite > (option_destruct_some_some … H1); + nrewrite > (H a a (refl_eq …)); + napply refl_eq ##] nqed. @@ -94,13 +90,13 @@ nlemma eqoption_to_eq : (∀x1,x2:T.f x1 x2 = true → x1 = x2) → (eq_option T op1 op2 f = true → op1 = op2). #T; #op1; #op2; #f; #H; - napply (option_ind T ??? op1); - napply (option_ind T ??? op2); + nelim op1; + nelim op2; nnormalize; - ##[ ##1: #H1; napply (refl_eq ??) - ##| ##2,3: #a; #H1; napply (bool_destruct ??? H1) + ##[ ##1: #H1; napply refl_eq + ##| ##2,3: #a; #H1; napply (bool_destruct … H1) ##| ##4: #a; #a0; #H1; - nrewrite > (H ?? H1); - napply (refl_eq ??) + nrewrite > (H … H1); + napply refl_eq ##] nqed.