X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fstatic_2%2Fsyntax%2Fsd.ma;h=cd62fb439da88207b1194c78f9494b5cc3634acd;hp=533a79e05bc91ce73cce3c3391f94d6088c76f14;hb=98e786e1a6bd7b621e37ba7cd4098d4a0a6f8278;hpb=5d9f7ae4bad2b5926f615141c12942b9a8eb23fb diff --git a/matita/matita/contribs/lambdadelta/static_2/syntax/sd.ma b/matita/matita/contribs/lambdadelta/static_2/syntax/sd.ma index 533a79e05..cd62fb439 100644 --- a/matita/matita/contribs/lambdadelta/static_2/syntax/sd.ma +++ b/matita/matita/contribs/lambdadelta/static_2/syntax/sd.ma @@ -12,7 +12,10 @@ (* *) (**************************************************************************) -include "static_2/syntax/sh.ma". +include "ground/arith/nat_plus.ma". +include "ground/arith/nat_minus.ma". +include "ground/arith/nat_lt_pred.ma". +include "static_2/syntax/sh_nexts.ma". (* SORT DEGREE **************************************************************) @@ -28,41 +31,46 @@ record sd_props (h) (o): Prop ≝ { deg_total: ∀s. ∃d. deg o s d; deg_mono : ∀s,d1,d2. deg o s d1 → deg o s d2 → d1 = d2; (* compatibility condition *) - deg_next : ∀s,d. deg o s d → deg o (⫯[h]s) (↓d) + deg_next : ∀s,d. deg o s d → deg o (⇡[h]s) (↓d) }. (* Notable specifications ***************************************************) -definition deg_O: relation nat ≝ λs,d. d = 0. +definition deg_O: relation nat ≝ λs,d. d = 𝟎. definition sd_O: sd ≝ mk_sd deg_O. lemma sd_O_props (h): sd_props h sd_O ≝ mk_sd_props …. -/2 width=2 by le_n_O_to_eq, le_n, ex_intro/ qed. +/2 width=2 by nle_inv_zero_dx, nle_refl, ex_intro/ qed. (* Basic inversion lemmas ***************************************************) lemma deg_inv_pred (h) (o): sd_props h o → - ∀s,d. deg o (⫯[h]s) (↑d) → deg o s (↑↑d). + ∀s,d. deg o (⇡[h]s) (↑d) → deg o s (↑↑d). #h #o #Ho #s #d #H1 elim (deg_total … Ho s) #d0 #H0 lapply (deg_next … Ho … H0) #H2 -lapply (deg_mono … Ho … H1 H2) -H1 -H2 #H >H >S_pred -/2 width=2 by ltn_to_ltO/ +lapply (deg_mono … Ho … H1 H2) -H1 -H2 #H >H