lemma feqg_intro_dx (S) (G):
reflexive … S → symmetric … S →
∀L1,L2,T2. L1 ≛[S,T2] L2 →
- â\88\80T1. T1 â\89\9b[S] T2 â\86\92 â\9dªG,L1,T1â\9d« â\89\9b[S] â\9dªG,L2,T2â\9d«.
+ â\88\80T1. T1 â\89\9b[S] T2 â\86\92 â\9d¨G,L1,T1â\9d© â\89\9b[S] â\9d¨G,L2,T2â\9d©.
/3 width=6 by feqg_intro_sn, teqg_reqg_div/ qed.
(* Basic inversion lemmas ***************************************************)
lemma feqg_inv_gen_sn (S):
- â\88\80G1,G2,L1,L2,T1,T2. â\9dªG1,L1,T1â\9d« â\89\9b[S] â\9dªG2,L2,T2â\9d« →
+ â\88\80G1,G2,L1,L2,T1,T2. â\9d¨G1,L1,T1â\9d© â\89\9b[S] â\9d¨G2,L2,T2â\9d© →
∧∧ G1 = G2 & L1 ≛[S,T1] L2 & T1 ≛[S] T2.
#S #G1 #G2 #L1 #L2 #T1 #T2 * -G2 -L2 -T2 /2 width=1 by and3_intro/
qed-.
lemma feqg_inv_gen_dx (S):
reflexive … S →
- â\88\80G1,G2,L1,L2,T1,T2. â\9dªG1,L1,T1â\9d« â\89\9b[S] â\9dªG2,L2,T2â\9d« →
+ â\88\80G1,G2,L1,L2,T1,T2. â\9d¨G1,L1,T1â\9d© â\89\9b[S] â\9d¨G2,L2,T2â\9d© →
∧∧ G1 = G2 & L1 ≛[S,T2] L2 & T1 ≛[S] T2.
#S #HS #G1 #G2 #L1 #L2 #T1 #T2 * -G2 -L2 -T2
/3 width=6 by teqg_reqg_conf_sn, and3_intro/
qed-.
+(* Basic forward lemmas *****************************************************)
+
+lemma feqg_fwd_teqg (S):
+ ∀G1,G2,L1,L2,T1,T2. ❨G1,L1,T1❩ ≛[S] ❨G2,L2,T2❩ → T1 ≛[S] T2.
+#S #G1 #G2 #L1 #L2 #T1 #T2 #H
+elim (feqg_inv_gen_sn … H) -H //
+qed-.
+
+lemma feqg_fwd_reqg_sn (S):
+ ∀G1,G2,L1,L2,T1,T2. ❨G1,L1,T1❩ ≛[S] ❨G2,L2,T2❩ → L1 ≛[S,T1] L2.
+#S #G1 #G2 #L1 #L2 #T1 #T2 #H
+elim (feqg_inv_gen_sn … H) -H //
+qed-.
+
+lemma feqg_fwd_reqg_dx (S):
+ reflexive … S →
+ ∀G1,G2,L1,L2,T1,T2. ❨G1,L1,T1❩ ≛[S] ❨G2,L2,T2❩ → L1 ≛[S,T2] L2.
+#S #HS #G1 #G2 #L1 #L2 #T1 #T2 #H
+elim (feqg_inv_gen_dx … H) -H //
+qed-.
+
(* Basic_2A1: removed theorems 6:
fleq_refl fleq_sym fleq_inv_gen
fleq_trans fleq_canc_sn fleq_canc_dx