-lemma ti_fwd_mx_dx (M): is_model M →
- ∀gv1,gv2,lv1,lv2,p,W1,W2,T1,T2.
- ⟦ⓛ{p}W1.T1⟧[gv1, lv1] ≗ ⟦ⓛ{p}W2.T2⟧[gv2, lv2] →
- ∀d. ⟦T1⟧{M}[gv1, ⫯[0←d]lv1] ≗ ⟦T2⟧{M}[gv2, ⫯[0←d]lv2].
-#M #HM #gv1 #gv2 #lv1 #lv2 #p #W1 #W2 #T1 #T2 #H12 #d
-@(mq … HM) /3 width=5 by mb, mp, mr/
+lemma ti_fwd_mx_dx (M): is_model M → is_injective M →
+ ∀p,gv1,gv2,lv1,lv2,W1,W2,T1,T2.
+ ⟦ⓛ[p]W1.T1⟧[gv1,lv1] ≗ ⟦ⓛ[p]W2.T2⟧[gv2,lv2] →
+ ∀d. ⟦T1⟧{M}[gv1,⫯[0←d]lv1] ≗ ⟦T2⟧{M}[gv2,⫯[0←d]lv2].
+#M #H1M #H2M #p #gv1 #gv2 #lv1 #lv2 #W1 #W2 #T1 #T2 #H12 #d
+@(co_inv_dx … p d d)
+/4 width=5 by mb, mp, mq, mr/
+qed-.
+
+lemma ti_fwd_abbr_dx (M): is_model M → is_injective M →
+ ∀p,gv1,gv2,lv1,lv2,V1,V2,T1,T2.
+ ⟦ⓓ[p]V1.T1⟧[gv1,lv1] ≗ ⟦ⓓ[p]V2.T2⟧[gv2,lv2] →
+ ⟦T1⟧{M}[gv1,⫯[0←⟦V1⟧[gv1,lv1]]lv1] ≗ ⟦T2⟧{M}[gv2,⫯[0←⟦V2⟧[gv2,lv2]]lv2].
+#M #H1M #H2M #p #gv1 #gv2 #lv1 #lv2 #V1 #V2 #T1 #T2 #H12
+@(co_inv_dx … p (⟦V1⟧[gv1,lv1]) (⟦V2⟧[gv2,lv2]))
+/3 width=5 by md, mq/