]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/static_2/static/feqg_fqus.ma
made executable again
[helm.git] / matita / matita / contribs / lambdadelta / static_2 / static / feqg_fqus.ma
index b2db044de0aad790092ce6a2a74af5670a93fecb..639d1824514510f2c7119b48c160b970d0d26c60 100644 (file)
@@ -19,11 +19,24 @@ include "static_2/static/feqg.ma".
 
 (* Properties with star-iterated structural successor for closures **********)
 
+lemma feqg_fquq_trans (S) (b):
+      reflexive … S → symmetric … S → Transitive … S →
+      ∀G1,G,L1,L,T1,T. ❨G1,L1,T1❩ ≛[S] ❨G,L,T❩ →
+      ∀G2,L2,T2. ❨G,L,T❩ ⬂⸮[b] ❨G2,L2,T2❩ →
+      ∃∃G,L0,T0. ❨G1,L1,T1❩ ⬂⸮[b] ❨G,L0,T0❩ & ❨G,L0,T0❩ ≛[S] ❨G2,L2,T2❩.
+#S #b #H1S #H2S #H3S #G1 #G #L1 #L #T1 #T #H1 #G2 #L2 #T2 #H2
+elim(feqg_inv_gen_dx … H1) -H1 // #HG #HL1 #HT1 destruct
+elim (reqg_fquq_trans … H2 … HL1) -L // #L #T0 #H2 #HT02 #HL2
+elim (teqg_fquq_trans … H2 … HT1) -T // #L0 #T #H2 #HT0 #HL0
+lapply (teqg_reqg_conf_sn … HT02 … HL0) -HL0 // #HL0
+/4 width=7 by feqg_intro_dx, reqg_trans, teqg_trans, ex2_3_intro/
+qed-.
+
 lemma feqg_fqus_trans (S) (b):
       reflexive … S → symmetric … S → Transitive … S →
-      â\88\80G1,G,L1,L,T1,T. â\9dªG1,L1,T1â\9d« â\89\9b[S] â\9dªG,L,Tâ\9d« →
-      â\88\80G2,L2,T2. â\9dªG,L,Tâ\9d« â¬\82*[b] â\9dªG2,L2,T2â\9d« →
-      â\88\83â\88\83G,L0,T0. â\9dªG1,L1,T1â\9d« â¬\82*[b] â\9dªG,L0,T0â\9d« & â\9dªG,L0,T0â\9d« â\89\9b[S] â\9dªG2,L2,T2â\9d«.
+      â\88\80G1,G,L1,L,T1,T. â\9d¨G1,L1,T1â\9d© â\89\9b[S] â\9d¨G,L,Tâ\9d© →
+      â\88\80G2,L2,T2. â\9d¨G,L,Tâ\9d© â¬\82*[b] â\9d¨G2,L2,T2â\9d© →
+      â\88\83â\88\83G,L0,T0. â\9d¨G1,L1,T1â\9d© â¬\82*[b] â\9d¨G,L0,T0â\9d© & â\9d¨G,L0,T0â\9d© â\89\9b[S] â\9d¨G2,L2,T2â\9d©.
 #S #b #H1S #H2S #H3S #G1 #G #L1 #L #T1 #T #H1 #G2 #L2 #T2 #H2
 elim(feqg_inv_gen_dx … H1) -H1 // #HG #HL1 #HT1 destruct
 elim (reqg_fqus_trans … H2 … HL1) -L // #L #T0 #H2 #HT02 #HL2