]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/apps_2/models/model_props.ma
update in groud_2 and models
[helm.git] / matita / matita / contribs / lambdadelta / apps_2 / models / model_props.ma
index 90ab35238f01badfee3373744a2b0af548ec5c20..073d5db6278a04b2b831af10fbe4d0c9f22ddf57 100644 (file)
@@ -12,8 +12,7 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "ground_2/lib/functions.ma".
-include "apps_2/models/model_push.ma".
+include "apps_2/models/model_vlift.ma".
 
 (* MODEL ********************************************************************)
 
@@ -46,3 +45,23 @@ lemma seq_sym (M): is_model M → symmetric … (sq M).
 
 lemma seq_trans (M): is_model M → Transitive … (sq M).
 /3 width=5 by mr, mq/ qed-.
+
+lemma seq_canc_sn (M): is_model M → left_cancellable … (sq M).
+/3 width=3 by seq_trans, seq_sym/ qed-.
+
+lemma seq_canc_dx (M): is_model M → right_cancellable … (sq M).
+/3 width=3 by seq_trans, seq_sym/ qed-.
+
+lemma ti_lref_vlift_eq (M): is_model M →
+                            ∀gv,lv,d,i. ⟦#i⟧[gv,⫯[i←d]lv] ≗{M} d.
+#M #HM #gv #lv #d #i
+@(seq_trans … HM) [2: @ml // | skip ]
+>vlift_eq /2 width=1 by mq/
+qed.
+
+lemma ti_lref_vlift_gt (M): is_model M →
+                            ∀gv,lv,d,i. ⟦#(↑i)⟧[gv,⫯[d]lv] ≗{M} ⟦#i⟧[gv,lv].
+#M #HM #gv #lv #d #i
+@(mr … HM) [4,5: @(seq_sym … HM) @(ml … HM) |1,2: skip ]
+>vlift_gt /2 width=1 by mq/
+qed.