X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Frelocation%2Ffr2_nat.ma;h=453315c7747839ee685e8b5ea967db4fc9108141;hb=503500ff9a6d9cca363a42b5fe7f3f5de69239f9;hp=67fd827ad73ae2a2aed696a9923639162cd6c972;hpb=2ed8d2abcc3b0687141b627061b63350a0b200bd;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/fr2_nat.ma b/matita/matita/contribs/lambdadelta/ground/relocation/fr2_nat.ma index 67fd827ad..453315c77 100644 --- a/matita/matita/contribs/lambdadelta/ground/relocation/fr2_nat.ma +++ b/matita/matita/contribs/lambdadelta/ground/relocation/fr2_nat.ma @@ -22,14 +22,14 @@ include "ground/relocation/fr2_map.ma". (*** at *) inductive fr2_nat: fr2_map → relation nat ≝ (*** at_nil *) -| fr2_nat_nil (l): - fr2_nat (◊) l l +| fr2_nat_empty (l): + fr2_nat (𝐞) l l (*** at_lt *) | fr2_nat_lt (f) (d) (h) (l1) (l2): - l1 < d → fr2_nat f l1 l2 → fr2_nat (❨d,h❩;f) l1 l2 + l1 < d → fr2_nat f l1 l2 → fr2_nat (❨d,h❩◗f) l1 l2 (*** at_ge *) | fr2_nat_ge (f) (d) (h) (l1) (l2): - d ≤ l1 → fr2_nat f (l1 + h) l2 → fr2_nat (❨d,h❩;f) l1 l2 + d ≤ l1 → fr2_nat f (l1 + h) l2 → fr2_nat (❨d,h❩◗f) l1 l2 . interpretation @@ -39,9 +39,9 @@ interpretation (* Basic inversions *********************************************************) (*** at_inv_nil *) -lemma fr2_nat_inv_nil (l1) (l2): - @❪l1, ◊❫ ≘ l2 → l1 = l2. -#l1 #l2 @(insert_eq_1 … (◊)) +lemma fr2_nat_inv_empty (l1) (l2): + @❨l1, 𝐞❩ ≘ l2 → l1 = l2. +#l1 #l2 @(insert_eq_1 … (𝐞)) #f * -f -l1 -l2 [ // | #f #d #h #l1 #l2 #_ #_ #H destruct @@ -50,11 +50,11 @@ lemma fr2_nat_inv_nil (l1) (l2): qed-. (*** at_inv_cons *) -lemma fr2_nat_inv_cons (f) (d) (h) (l1) (l2): - @❪l1, ❨d,h❩;f❫ ≘ l2 → - ∨∨ ∧∧ l1 < d & @❪l1, f❫ ≘ l2 - | ∧∧ d ≤ l1 & @❪l1+h, f❫ ≘ l2. -#g #d #h #l1 #l2 @(insert_eq_1 … (❨d, h❩;g)) +lemma fr2_nat_inv_lcons (f) (d) (h) (l1) (l2): + @❨l1, ❨d,h❩◗f❩ ≘ l2 → + ∨∨ ∧∧ l1 < d & @❨l1, f❩ ≘ l2 + | ∧∧ d ≤ l1 & @❨l1+h, f❩ ≘ l2. +#g #d #h #l1 #l2 @(insert_eq_1 … (❨d, h❩◗g)) #f * -f -l1 -l2 [ #l #H destruct | #f1 #d1 #h1 #l1 #l2 #Hld1 #Hl12 #H destruct /3 width=1 by or_introl, conj/ @@ -63,17 +63,17 @@ lemma fr2_nat_inv_cons (f) (d) (h) (l1) (l2): qed-. (*** at_inv_cons *) -lemma fr2_nat_inv_cons_lt (f) (d) (h) (l1) (l2): - @❪l1, ❨d,h❩;f❫ ≘ l2 → l1 < d → @❪l1, f❫ ≘ l2. +lemma fr2_nat_inv_lcons_lt (f) (d) (h) (l1) (l2): + @❨l1, ❨d,h❩◗f❩ ≘ l2 → l1 < d → @❨l1, f❩ ≘ l2. #f #d #h #l1 #h2 #H -elim (fr2_nat_inv_cons … H) -H * // #Hdl1 #_ #Hl1d +elim (fr2_nat_inv_lcons … H) -H * // #Hdl1 #_ #Hl1d elim (nlt_ge_false … Hl1d Hdl1) qed-. (*** at_inv_cons *) -lemma fr2_nat_inv_cons_ge (f) (d) (h) (l1) (l2): - @❪l1, ❨d,h❩;f❫ ≘ l2 → d ≤ l1 → @❪l1+h, f❫ ≘ l2. +lemma fr2_nat_inv_lcons_ge (f) (d) (h) (l1) (l2): + @❨l1, ❨d,h❩◗f❩ ≘ l2 → d ≤ l1 → @❨l1+h, f❩ ≘ l2. #f #d #h #l1 #h2 #H -elim (fr2_nat_inv_cons … H) -H * // #Hl1d #_ #Hdl1 +elim (fr2_nat_inv_lcons … H) -H * // #Hl1d #_ #Hdl1 elim (nlt_ge_false … Hl1d Hdl1) qed-.