]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/syntax/tsts_tsts.ma
- tdeq must imply tsts
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / syntax / tsts_tsts.ma
index 59dfd02e427d4ebc011fe4741197c7986e759993..b3c790e53bf2751bdffb8bf299802827da337eb6 100644 (file)
@@ -19,14 +19,19 @@ include "basic_2/syntax/tsts.ma".
 (* Main properties **********************************************************)
 
 (* Basic_1: was: iso_trans *)
-theorem tsts_trans: Transitive … tsts.
-#T1 #T * -T1 -T //
-#I #V1 #V #T1 #T #X #H
-elim (tsts_inv_pair1 … H) -H #V2 #T2 #H destruct //
+theorem tsts_trans: ∀h,o. Transitive … (tsts h o).
+#h #o #T1 #T * -T1 -T
+[ #s1 #s #d #Hs1 #Hs #X #H
+  elim (tsts_inv_sort1_deg … H … Hs) -s /2 width=3 by tsts_sort/
+| #i1 #i #H <(tsts_inv_lref1 … H) -H //
+| #l1 #l #H <(tsts_inv_gref1 … H) -H //
+| #I #V1 #V #T1 #T #X #H
+  elim (tsts_inv_pair1 … H) -H #V2 #T2 #H destruct //
+]
 qed-.
 
-theorem tsts_canc_sn: ∀T,T1. T ≂ T1 → ∀T2. T ≂ T2 → T1 ≂ T2.
+theorem tsts_canc_sn: ∀h,o. left_cancellable … (tsts h o).
 /3 width=3 by tsts_trans, tsts_sym/ qed-.
 
-theorem tsts_canc_dx: ∀T1,T. T1 ≂ T → ∀T2. T2 ≂ T → T1 ≂ T2.
+theorem tsts_canc_dx: ∀h,o. right_cancellable … (tsts h o).
 /3 width=3 by tsts_trans, tsts_sym/ qed-.