Skip to content
Snippets Groups Projects
Commit 81646638 authored by Ralf Jung's avatar Ralf Jung
Browse files

Merge branch 'ralf/wand-format' into 'master'

make binary wand/view shift connectives 'block' formated

See merge request iris/iris!727
parents 24fec1e1 8fe1a94e
No related branches found
No related tags found
No related merge requests found
...@@ -68,7 +68,8 @@ Coq 8.11 is no longer supported in this version of Iris. ...@@ -68,7 +68,8 @@ Coq 8.11 is no longer supported in this version of Iris.
by combining the embeddings of `PROP1` into `PROP2` and `PROP2` into `PROP3`. by combining the embeddings of `PROP1` into `PROP2` and `PROP2` into `PROP3`.
This construct is *not* declared as an instance to avoid TC search divergence. This construct is *not* declared as an instance to avoid TC search divergence.
(by Hai Dang, BedRock Systems) (by Hai Dang, BedRock Systems)
* Improve notation printing around `WP`, Texan triples, and logically atomic triples. * Improve notation printing around magic wands, view shifts, `WP`, Texan
triples, and logically atomic triples.
* Slight change to the `AACC` notation for atomic accessors (which is usually * Slight change to the `AACC` notation for atomic accessors (which is usually
only printed, not parsed): added a `,` before `ABORT`, for consistency with `COMM`. only printed, not parsed): added a `,` before `ABORT`, for consistency with `COMM`.
* Add the lemmas `big_sepM_impl_strong` and `big_sepM_impl_dom_subseteq` that * Add the lemmas `big_sepM_impl_strong` and `big_sepM_impl_dom_subseteq` that
......
...@@ -37,7 +37,7 @@ Reserved Notation "'⌜' φ '⌝'" (at level 1, φ at level 200, format "⌜ φ ...@@ -37,7 +37,7 @@ Reserved Notation "'⌜' φ '⌝'" (at level 1, φ at level 200, format "⌜ φ
Reserved Notation "P ∗ Q" (at level 80, right associativity, format "P ∗ '/' Q"). Reserved Notation "P ∗ Q" (at level 80, right associativity, format "P ∗ '/' Q").
Reserved Notation "P -∗ Q" Reserved Notation "P -∗ Q"
(at level 99, Q at level 200, right associativity, (at level 99, Q at level 200, right associativity,
format "'[' P -∗ '/' Q ']'"). format "'[' P -∗ '/' '[' Q ']' ']'").
Reserved Notation "⎡ P ⎤". Reserved Notation "⎡ P ⎤".
...@@ -85,14 +85,14 @@ Reserved Notation "|={ E1 , E2 }=> Q" ...@@ -85,14 +85,14 @@ Reserved Notation "|={ E1 , E2 }=> Q"
format "'[ ' |={ E1 , E2 }=> '/' Q ']'"). format "'[ ' |={ E1 , E2 }=> '/' Q ']'").
Reserved Notation "P ={ E1 , E2 }=∗ Q" Reserved Notation "P ={ E1 , E2 }=∗ Q"
(at level 99, E1,E2 at level 50, Q at level 200, (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" Reserved Notation "|={ E }=> Q"
(at level 99, E at level 50, Q at level 200, (at level 99, E at level 50, Q at level 200,
format "'[ ' |={ E }=> '/' Q ']'"). format "'[ ' |={ E }=> '/' Q ']'").
Reserved Notation "P ={ E }=∗ Q" Reserved Notation "P ={ E }=∗ Q"
(at level 99, E at level 50, Q at level 200, (at level 99, E at level 50, Q at level 200,
format "'[' P ={ E }=∗ '/' Q ']'"). format "'[' P ={ E }=∗ '/' '[' Q ']' ']'").
(** Step-taking fancy updates *) (** Step-taking fancy updates *)
Reserved Notation "|={ E1 } [ E2 ]▷=> Q" Reserved Notation "|={ E1 } [ E2 ]▷=> Q"
...@@ -100,13 +100,13 @@ Reserved Notation "|={ E1 } [ E2 ]▷=> Q" ...@@ -100,13 +100,13 @@ Reserved Notation "|={ E1 } [ E2 ]▷=> Q"
format "'[ ' |={ E1 } [ E2 ]▷=> '/' Q ']'"). format "'[ ' |={ E1 } [ E2 ]▷=> '/' Q ']'").
Reserved Notation "P ={ E1 } [ E2 ]▷=∗ Q" Reserved Notation "P ={ E1 } [ E2 ]▷=∗ Q"
(at level 99, E1, E2 at level 50, Q at level 200, (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" Reserved Notation "|={ E }▷=> Q"
(at level 99, E at level 50, Q at level 200, (at level 99, E at level 50, Q at level 200,
format "'[ ' |={ E }▷=> '/' Q ']'"). format "'[ ' |={ E }▷=> '/' Q ']'").
Reserved Notation "P ={ E }▷=∗ Q" Reserved Notation "P ={ E }▷=∗ Q"
(at level 99, E at level 50, Q at level 200, (at level 99, E at level 50, Q at level 200,
format "'[' P ={ E }▷=∗ '/' Q ']'"). format "'[' P ={ E }▷=∗ '/' '[' Q ']' ']'").
(** Multi-step-taking fancy updates *) (** Multi-step-taking fancy updates *)
Reserved Notation "|={ E1 } [ E2 ]▷=>^ n Q" Reserved Notation "|={ E1 } [ E2 ]▷=>^ n Q"
...@@ -114,13 +114,13 @@ Reserved Notation "|={ E1 } [ E2 ]▷=>^ n Q" ...@@ -114,13 +114,13 @@ Reserved Notation "|={ E1 } [ E2 ]▷=>^ n Q"
format "'[ ' |={ E1 } [ E2 ]▷=>^ n '/' Q ']'"). format "'[ ' |={ E1 } [ E2 ]▷=>^ n '/' Q ']'").
Reserved Notation "P ={ 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, (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" Reserved Notation "|={ E }▷=>^ n Q"
(at level 99, E at level 50, n at level 9, Q at level 200, (at level 99, E at level 50, n at level 9, Q at level 200,
format "'[ ' |={ E }▷=>^ n '/' Q ']'"). format "'[ ' |={ E }▷=>^ n '/' Q ']'").
Reserved Notation "P ={ E }▷=∗^ n Q" Reserved Notation "P ={ E }▷=∗^ n Q"
(at level 99, E at level 50, n at level 9, Q at level 200, (at level 99, E at level 50, n at level 9, Q at level 200,
format "'[' P ={ E }▷=∗^ n '/' Q ']'"). format "'[' P ={ E }▷=∗^ n '/' '[' Q ']' ']'").
(** * Big Ops *) (** * Big Ops *)
Reserved Notation "'[∗' 'list]' k ↦ x ∈ l , P" Reserved Notation "'[∗' 'list]' k ↦ x ∈ l , P"
......
...@@ -456,8 +456,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -456,8 +456,8 @@ Tactic failure: iFrame: cannot frame Q.
PPPPPPPPPPPPPPPPP, QQQQQQQQQQQQQQQQQQ : PROP PPPPPPPPPPPPPPPPP, QQQQQQQQQQQQQQQQQQ : PROP
============================ ============================
--------------------------------------∗ --------------------------------------∗
PPPPPPPPPPPPPPPPP -∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ PPPPPPPPPPPPPPPPP -∗
QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ
"long_wand_nested" "long_wand_nested"
: string : string
1 goal 1 goal
...@@ -480,8 +480,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -480,8 +480,8 @@ Tactic failure: iFrame: cannot frame Q.
PPPPPPPPPPPPPPPPP, QQQQQQQQQQQQQQQQQQ : PROP PPPPPPPPPPPPPPPPP, QQQQQQQQQQQQQQQQQQ : PROP
============================ ============================
--------------------------------------∗ --------------------------------------∗
PPPPPPPPPPPPPPPPP ={E}=∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ PPPPPPPPPPPPPPPPP ={E}=∗
QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ
"long_fupd_nested" "long_fupd_nested"
: string : string
1 goal 1 goal
......
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
P : iProp Σ P : iProp Σ
============================ ============================
↑N ⊆ E2 ↑N ⊆ E2
→ na_inv t N (<pers> P) ∗ na_own t E1 ∗ na_own t E2 ={⊤}=∗ → na_inv t N (<pers> P) ∗ na_own t E1 ∗ na_own t E2 ={⊤}=∗
na_own t E1 ∗ na_own t E2 ∗ ▷ P na_own t E1 ∗ na_own t E2 ∗ ▷ P
1 goal 1 goal
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment