]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/static/ffdeq.ma
bugfix update in basic_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / static / ffdeq.ma
index 7e4392488cb366a38559edab6a12acb4dde6c777..ac4a6b16923480a64738442c06351f5d16099b58 100644 (file)
@@ -18,21 +18,34 @@ include "basic_2/static/lfdeq.ma".
 
 (* DEGREE-BASED EQUIVALENCE FOR CLOSURES ON REFERRED ENTRIES ****************)
 
-inductive ffdeq (h) (o) (G) (L1) (T): relation3 genv lenv term ≝
-| ffdeq_intro: ∀L2. L1 ≛[h, o, T] L2 → ffdeq h o G L1 T G L2 T
+inductive ffdeq (h) (o) (G) (L1) (T1): relation3 genv lenv term ≝
+| ffdeq_intro_sn: ∀L2,T2. L1 ≛[h, o, T1] L2 → T1 ≛[h, o] T2 →
+                  ffdeq h o G L1 T1 G L2 T2
 .
 
 interpretation
    "degree-based equivalence on referred entries (closure)"
    'StarEqSn h o G1 L1 T1 G2 L2 T2 = (ffdeq h o G1 L1 T1 G2 L2 T2).
 
+(* Basic_properties *********************************************************)
+
+lemma ffdeq_intro_dx (h) (o) (G): ∀L1,L2,T2. L1 ≛[h, o, T2] L2 →
+                                  ∀T1. T1 ≛[h, o] T2 → ⦃G, L1, T1⦄ ≛[h, o] ⦃G, L2, T2⦄.
+/3 width=3 by ffdeq_intro_sn, tdeq_lfdeq_div/ qed.
+
 (* Basic inversion lemmas ***************************************************)
 
-lemma ffdeq_inv_gen: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ≛[h, o] ⦃G2, L2, T2⦄ →
-                     ∧∧ G1 = G2 & L1 ≛[h, o, T1] L2 & T1 = T2.
+lemma ffdeq_inv_gen_sn: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ≛[h, o] ⦃G2, L2, T2⦄ →
+                        ∧∧ G1 = G2 & L1 ≛[h, o, T1] L2 & T1 ≛[h, o] T2.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 * -G2 -L2 -T2 /2 width=1 by and3_intro/
 qed-.
 
+lemma ffdeq_inv_gen_dx: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ≛[h, o] ⦃G2, L2, T2⦄ →
+                        ∧∧ G1 = G2 & L1 ≛[h, o, T2] L2 & T1 ≛[h, o] T2.
+#h #o #G1 #G2 #L1 #L2 #T1 #T2 * -G2 -L2 -T2
+/3 width=3 by tdeq_lfdeq_conf, and3_intro/
+qed-.
+
 (* Basic_2A1: removed theorems 6:
               fleq_refl fleq_sym fleq_inv_gen
               fleq_trans fleq_canc_sn fleq_canc_dx