X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=inline;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground_2%2Frelocation%2Frtmap_sor.ma;h=f86e7f8092784bb8e8ddd8e07c07dc9134aba43e;hb=045c74915022181e288d9a950cc485437b08d002;hp=640f9e265b41726ace787548be926c48227700f9;hpb=325bc2fb36e8f8db99a152037d71332c9ac7eff9;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_sor.ma b/matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_sor.ma index 640f9e265..f86e7f809 100644 --- a/matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_sor.ma +++ b/matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_sor.ma @@ -266,6 +266,19 @@ corec lemma sor_sym: ∀f1,f2,f. f1 ⋓ f2 ≡ f → f2 ⋓ f1 ≡ f. [ @sor_pp | @sor_pn | @sor_np | @sor_nn ] /2 width=7 by/ qed-. +(* Main properties **********************************************************) + +axiom monotonic_sle_sor: ∀f1,g1. f1 ⊆ g1 → ∀f2,g2. f2 ⊆ g2 → + ∀f. f1 ⋓ f2 ≡ f → ∀g. g1 ⋓ g2 ≡ g → f ⊆ g. + +axiom sor_trans1: ∀f0,f3,f4. f0 ⋓ f3 ≡ f4 → + ∀f1,f2. f1 ⋓ f2 ≡ f0 → + ∀f. f2 ⋓ f3 ≡ f → f1 ⋓ f ≡ f4. + +axiom sor_trans2: ∀f1,f0,f4. f1 ⋓ f0 ≡ f4 → + ∀f2, f3. f2 ⋓ f3 ≡ f0 → + ∀f. f1 ⋓ f2 ≡ f → f ⋓ f3 ≡ f4. + (* Properties with tail *****************************************************) lemma sor_tl: ∀f1,f2,f. f1 ⋓ f2 ≡ f → ⫱f1 ⋓ ⫱f2 ≡ ⫱f. @@ -279,6 +292,13 @@ lemma sor_tl: ∀f1,f2,f. f1 ⋓ f2 ≡ f → ⫱f1 ⋓ ⫱f2 ≡ ⫱f. ] -Hf #g #Hg #H destruct // qed. +lemma sor_xxn_tl: ∀g1,g2,g. g1 ⋓ g2 ≡ g → ∀f. ⫯f = g → + (∃∃f1,f2. f1 ⋓ f2 ≡ f & ⫯f1 = g1 & ⫱g2 = f2) ∨ + (∃∃f1,f2. f1 ⋓ f2 ≡ f & ⫱g1 = f1 & ⫯f2 = g2). +#g1 #g2 #g #H #f #H0 elim (sor_inv_xxn … H … H0) -H -H0 * +/3 width=5 by ex3_2_intro, or_introl, or_intror/ +qed-. + (* Properties with iterated tail ********************************************) lemma sor_tls: ∀f1,f2,f. f1 ⋓ f2 ≡ f →