From 99c799ee98016ee9baf9f8034aabf93b1586721f Mon Sep 17 00:00:00 2001
From: Ralf Jung <jung@mpi-sws.org>
Date: Fri, 30 Oct 2015 18:02:01 +0100
Subject: [PATCH] also show htBind in ectx_lang

---
 ectx_lang.v | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/ectx_lang.v b/ectx_lang.v
index 7389b74ff..aee1d5322 100644
--- a/ectx_lang.v
+++ b/ectx_lang.v
@@ -1,5 +1,5 @@
 Require Import Arith Ssreflect.ssreflect Ssreflect.ssrfun.
-Require Import world_prop world_prop_recdom core_lang lang iris_core iris_plog iris_ht_rules.
+Require Import world_prop world_prop_recdom core_lang lang iris_core iris_plog iris_ht_rules iris_vs_rules iris_derived_rules.
 Require Import ModuRes.RA ModuRes.SPred ModuRes.BI ModuRes.PreoMet ModuRes.Finmap ModuRes.RAConstr ModuRes.CMRA.
 
 Set Bullet Behavior "Strict Subproofs".
@@ -168,6 +168,13 @@ Module ECTX_IRIS (RL : VIRA_T) (E : ECTX_LANG) (R: ECTX_RES RL E) (WP: WORLD_PRO
   Module Import Core := IrisCore RL Lang Res World.
   Module Import Plog := IrisPlog RL Lang Res World Core.
   Module Import HTRules := IrisHTRules RL Lang Res World Core Plog.
+  Module Import VSRules := IrisVSRules RL Lang Res World Core Plog.
+  Module Import DerivedRules := IrisDerivedRules RL Lang Res World Core Plog VSRules HTRules.
+
+  Local Open Scope ra_scope.
+  Local Open Scope de_scope.
+  Local Open Scope bi_scope.
+  Local Open Scope iris_scope.
 
   (** We can hae bind with evaluation contexts **)
   Lemma fill_is_fill K: IsFill (E.fill K).
@@ -193,9 +200,16 @@ Module ECTX_IRIS (RL : VIRA_T) (E : ECTX_LANG) (R: ECTX_RES RL E) (WP: WORLD_PRO
   Qed.
         
   Lemma wpBind φ K e safe m :
-    wp safe m e (plug_bind (E.fill K) safe m φ) ⊑ wp safe m (E.fill K e) φ.
+    wp safe m e (HTRules.plug_bind (E.fill K) safe m φ) ⊑ wp safe m (E.fill K e) φ.
   Proof.
     apply wpBind. apply fill_is_fill.
   Qed.
 
+  Lemma htBind K P Q R e safe m :
+    ht safe m P e Q ∧ all (plug_bind (E.fill K) safe m Q R) ⊑ ht safe m P (E.fill K e) R.
+  Proof.
+    apply htBind. apply fill_is_fill.
+  Qed.
+  
+
 End ECTX_IRIS.
-- 
GitLab