]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/apps_2/models/model_props.ma
update in ground_2 and models
[helm.git] / matita / matita / contribs / lambdadelta / apps_2 / models / model_props.ma
index c07d1302231cd57043dcbdfc35e35484b7e746b3..863e3d063f60121290266416ee6167600dadcd32 100644 (file)
 (*                                                                        *)
 (**************************************************************************)
 
-include "apps_2/models/model_push.ma".
+include "apps_2/models/model_vlift.ma".
 
 (* MODEL ********************************************************************)
 
 record is_model (M): Prop ≝ {
    mq: reflexive … (sq M);
+   mr: replace_2 … (sq M) (sq M) (sq M);
+   mc: compatible_3 … (ap M) (sq M) (sq M) (sq M);
    ms: ∀gv,lv,s. ⟦⋆s⟧{M}[gv, lv] ≗ sv M s;
    ml: ∀gv,lv,i. ⟦#i⟧{M}[gv, lv] ≗ lv i;
    mg: ∀gv,lv,l. ⟦§l⟧{M}[gv, lv] ≗ gv l;
@@ -35,3 +37,11 @@ record is_extensional (M): Prop ≝ {
        (∀d. ⟦T1⟧{M}[gv, ⫯[d]lv1] ≗ ⟦T2⟧{M}[gv, ⫯[d]lv2]) →
        ⟦ⓛ{p}W1.T1⟧[gv, lv1] ≗ ⟦ⓛ{p}W2.T2⟧[gv, lv2]
 }.
+
+(* Basic properties *********************************************************)
+
+lemma seq_sym (M): is_model M → symmetric … (sq M).
+/3 width=5 by mr, mq/ qed-.
+
+lemma seq_trans (M): is_model M → Transitive … (sq M).
+/3 width=5 by mr, mq/ qed-.