X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground_2%2Frelocation%2Frtmap_sor.ma;h=49d01728c5aac54ff69d98f2de2d38e829cba015;hb=98fbba1b68d457807c73ebf70eb2a48696381da4;hp=10f1b0b0a4d41e2df0bea18fd2ae505cef8f300e;hpb=65e6209e0758832835ba8d14304a1548d059a634;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 10f1b0b0a..49d01728c 100644 --- a/matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_sor.ma +++ b/matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_sor.ma @@ -462,6 +462,22 @@ axiom sor_trans2: ∀f1,f0,f4. f1 ⋓ f0 ≡ f4 → ∀f2, f3. f2 ⋓ f3 ≡ f0 → ∀f. f1 ⋓ f2 ≡ f → f ⋓ f3 ≡ f4. +lemma sor_trans1_sym: ∀f0,f1,f2,f3,f4,f. + f0⋓f4 ≡ f1 → f1⋓f2 ≡ f → f0⋓f2 ≡ f3 → f3⋓f4 ≡ f. +/4 width=6 by sor_sym, sor_trans1/ qed-. + +corec theorem sor_trans2_idem: ∀f0,f1,f2. f0 ⋓ f1 ≡ f2 → + ∀f. f1 ⋓ f2 ≡ f → f1 ⋓ f0 ≡ f. +#f0 #f1 #f2 * -f0 -f1 -f2 +#f0 #f1 #f2 #g0 #g1 #g2 #Hf2 #H0 #H1 #H2 #g #Hg +[ cases (sor_inv_ppx … Hg … H1 H2) +| cases (sor_inv_pnx … Hg … H1 H2) +| cases (sor_inv_nnx … Hg … H1 H2) +| cases (sor_inv_nnx … Hg … H1 H2) +] -g2 #f #Hf #H +/3 width=7 by sor_nn, sor_np, sor_pn, sor_pp/ +qed-. + corec theorem sor_distr_dx: ∀f1,f2,f. f1 ⋓ f2 ≡ f → ∀g1,g2,g. g1 ⋓ g2 ≡ g → ∀g0. g1 ⋓ g0 ≡ f1 → g2 ⋓ g0 ≡ f2 → g ⋓ g0 ≡ f. #f1 #f2 #f cases (pn_split f) * #x #Hx #Hf #g1 #g2 #g #Hg #g0 #Hf1 #Hf2 @@ -491,3 +507,4 @@ corec theorem sor_distr_dx: ∀f1,f2,f. f1 ⋓ f2 ≡ f → ∀g1,g2,g. g1 ⋓ g ] ] qed-. +