Commit e2a06f1c by Ralf Jung

parent 3091e4d4
 ... ... @@ -70,7 +70,7 @@ Proof. Qed. Lemma step_fupdN_soundness `{!invPreG Σ} φ n : (∀ `{Hinv: !invG Σ}, ⊢@{iPropI Σ} |={⊤,∅}▷=>^n |={⊤,∅}=> ⌜ φ ⌝) → (∀ `{Hinv: !invG Σ}, ⊢@{iPropI Σ} |={⊤}[∅]▷=>^n |={⊤,∅}=> ⌜ φ ⌝) → φ. Proof. intros Hiter. ... ... @@ -88,7 +88,7 @@ Proof. Qed. Lemma step_fupdN_soundness' `{!invPreG Σ} φ n : (∀ `{Hinv: !invG Σ}, ⊢@{iPropI Σ} |={⊤,∅}▷=>^n ⌜ φ ⌝) → (∀ `{Hinv: !invG Σ}, ⊢@{iPropI Σ} |={⊤}[∅]▷=>^n ⌜ φ ⌝) → φ. Proof. iIntros (Hiter). eapply (step_fupdN_soundness _ n). ... ...
 ... ... @@ -89,24 +89,24 @@ Notation "|={ E1 , E2 , E3 }|>=> Q" := (|={E1,E2,E3}▷=> Q)%I (at level 99, E1, E2 at level 50, Q at level 200, only parsing) : bi_scope. Notation "P ={ E1 , E2 , E3 }|>=* Q" := (P ={E1,E2,E3}▷=∗ Q)%I (at level 99, E1, E2 at level 50, Q at level 200, only parsing) : bi_scope. Notation "|={ E1 , E2 }|>=> Q" := (|={E1,E2}▷=> Q)%I Notation "|={ E1 } [ E2 ]|>=> Q" := (|={E1}[E2]▷=> Q)%I (at level 99, E1,E2 at level 50, Q at level 200, only parsing) : bi_scope. Notation "P ={ E1 , E2 }|>=* Q" := (P ={E1,E2}▷=∗ Q) Notation "P ={ E1 } [ E2 ]|>=* Q" := (P ={E1}[E2]▷=∗ Q) (at level 99, E1,E2 at level 50, Q at level 200, only parsing) : stdpp_scope. Notation "P ={ E1 , E2 }|>=* Q" := (P ={E1,E2}▷=∗ Q)%I Notation "P ={ E1 } [ E2 ]|>=* Q" := (P ={E1}[E2]▷=∗ Q)%I (at level 99, E1,E2 at level 50, Q at level 200, only parsing) : bi_scope. Notation "|={ E }|>=> Q" := (|={E}▷=> Q)%I (at level 99, E at level 50, Q at level 200, only parsing) : bi_scope. Notation "P ={ E }|>=* Q" := (P ={E}▷=∗ Q)%I (at level 99, E at level 50, Q at level 200, only parsing) : bi_scope. Notation "|={ E1 , E2 }|>=>^ n Q" := (|={E1,E2}▷=>^n Q)%I Notation "|={ E1 } [ E2 ]|>=>^ n Q" := (|={E1}[E2]▷=>^n Q)%I (at level 99, E1,E2 at level 50, n at level 9, Q at level 200, only parsing) : bi_scope. Notation "P ={ E1 , E2 }|>=*^ n Q" := (P ={E1,E2}▷=∗^n Q)%I Notation "P ={ E1 } [ E2 ]|>=*^ n Q" := (P ={E1}[E2]▷=∗^n Q)%I (at level 99, E1,E2 at level 50, n at level 9, Q at level 200, only parsing) : stdpp_scope. Notation "P ={ E1 , E2 }|>=*^ n Q" := (P ={E1,E2}▷=∗^n Q)%I Notation "P ={ E1 } [ E2 ]|>=*^ n Q" := (P ={E1}[E2]▷=∗^n Q)%I (at level 99, E1,E2 at level 50, n at level 9, Q at level 200, only parsing) : bi_scope.
 ... ... @@ -99,24 +99,31 @@ Reserved Notation "|={ E1 , E2 , E3 }▷=> Q" Reserved Notation "P ={ E1 , E2 , E3 }▷=∗ Q" (at level 99, E1, E2 at level 50, Q at level 200, format "'[' P '/' ={ E1 , E2 , E3 }▷=∗ Q ']'"). Reserved Notation "|={ E1 , E2 }▷=> Q" Reserved Notation "|={ E1 } [ E2 ]▷=> Q" (at level 99, E1, E2 at level 50, Q at level 200, format "|={ E1 , E2 }▷=> Q"). Reserved Notation "P ={ E1 , E2 }▷=∗ Q" format "|={ E1 } [ E2 ]▷=> Q"). Reserved Notation "P ={ E1 } [ E2 ]▷=∗ Q" (at level 99, E1, E2 at level 50, Q at level 200, format "'[' P '/' ={ E1 , E2 }▷=∗ Q ']'"). format "'[' P '/' ={ E1 } [ E2 ]▷=∗ Q ']'"). Reserved Notation "|={ E }▷=> Q" (at level 99, E at level 50, Q at level 200, format "|={ E }▷=> Q"). Reserved Notation "P ={ E }▷=∗ Q" (at level 99, E at level 50, Q at level 200, format "'[' P '/' ={ E }▷=∗ Q ']'"). Reserved Notation "|={ E1 , E2 }▷=>^ n Q" Reserved Notation "|={ E1 } [ E2 ]▷=>^ n Q" (at level 99, E1, E2 at level 50, n at level 9, Q at level 200, format "|={ E1 , E2 }▷=>^ n Q"). Reserved Notation "P ={ E1 , E2 }▷=∗^ n Q" format "|={ E1 } [ E2 ]▷=>^ n Q"). Reserved Notation "P ={ E1 } [ E2 ]▷=∗^ n Q" (at level 99, E1, E2 at level 50, n at level 9, Q at level 200, format "P ={ E1 , E2 }▷=∗^ n Q"). format "P ={ E1 } [ E2 ]▷=∗^ n Q"). Reserved Notation "|={ E }▷=>^ n Q" (at level 99, E at level 50, n at level 9, Q at level 200, format "|={ E }▷=>^ n Q"). Reserved Notation "P ={ E }▷=∗^ n Q" (at level 99, E at level 50, n at level 9, Q at level 200, format "P ={ E }▷=∗^ n Q"). (** * Big Ops *) Reserved Notation "'[∗' 'list]' k ↦ x ∈ l , P" ... ...