X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fstatic_2%2Fsyntax%2Fac.ma;h=2d7d320e886ff7858be14ea5674683a6fa4d4ef1;hb=98e786e1a6bd7b621e37ba7cd4098d4a0a6f8278;hp=1c411bb41a7d28f03ad5ee65a6e59a600c44dd3f;hpb=ba7b8553850e4a33cf8607b07758392230d9ed40;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/static_2/syntax/ac.ma b/matita/matita/contribs/lambdadelta/static_2/syntax/ac.ma index 1c411bb41..2d7d320e8 100644 --- a/matita/matita/contribs/lambdadelta/static_2/syntax/ac.ma +++ b/matita/matita/contribs/lambdadelta/static_2/syntax/ac.ma @@ -12,12 +12,12 @@ (* *) (**************************************************************************) -include "ground_2/lib/arith.ma". +include "ground/arith/nat_le.ma". include "static_2/notation/functions/one_0.ma". include "static_2/notation/functions/two_0.ma". include "static_2/notation/functions/omega_0.ma". -(* APPLICABILITY CONDITION *************************************************) +(* APPLICABILITY CONDITION **************************************************) (* applicability condition specification *) record ac: Type[0] ≝ { @@ -27,7 +27,7 @@ record ac: Type[0] ≝ { (* applicability condition postulates *) record ac_props (a): Prop ≝ { - ac_dec: ∀m. Decidable (∃∃n. m ≤ n & ad a n) + ac_dec: ∀m. Decidable (∃∃n. ad a n & m ≤ n) }. (* Notable specifications ***************************************************) @@ -46,14 +46,24 @@ qed. definition ac_eq (k): ac ≝ mk_ac (eq … k). interpretation "one (applicability domain)" - 'Two = (ac_eq (S O)). + 'Two = (ac_eq (nsucc nzero)). interpretation "zero (applicability domain)" - 'One = (ac_eq O). + 'One = (ac_eq nzero). lemma ac_eq_props (k): ac_props (ac_eq k) ≝ mk_ac_props …. -#m elim (le_dec m k) #Hm +#m elim (nle_dec m k) #Hm [ /3 width=3 by or_introl, ex2_intro/ -| @or_intror * #n #Hmn #H destruct /2 width=1 by/ +| @or_intror * #n #Hn #Hmn destruct /2 width=1 by/ +] +qed. + +definition ac_le (k): ac ≝ mk_ac (λn. n ≤ k). + +lemma ac_le_props (k): ac_props (ac_le k) ≝ mk_ac_props …. +#m elim (nle_dec m k) #Hm +[ /3 width=3 by or_introl, ex2_intro/ +| @or_intror * #n #Hn #Hmn + /3 width=3 by nle_trans/ ] qed.