diff --git a/tests/proofmode.ref b/tests/proofmode.ref index ae1266ae45527f2469cf0f655d9c5774711008e2..7f236c6dec7c9df16b7f758907b80750a91a7682 100644 --- a/tests/proofmode.ref +++ b/tests/proofmode.ref @@ -75,3 +75,25 @@ --------------------------------------∗ True +1 subgoal + + PROP : sbi + BiFUpd0 : BiFUpd PROP + E : coPset.coPset + PPPPPPPPPPPPPPPPP, QQQQQQQQQQQQQQQQQQ : PROP + ============================ + --------------------------------------∗ + PPPPPPPPPPPPPPPPP ={E}=∗ + QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ + +1 subgoal + + PROP : sbi + BiFUpd0 : BiFUpd PROP + E1, E2 : coPset.coPset + PPPPPPPPPPPPPPPPP, QQQQQQQQQQQQQQQQQQ : PROP + ============================ + --------------------------------------∗ + PPPPPPPPPPPPPPPPP ={E1,E2}=∗ + QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ + diff --git a/tests/proofmode.v b/tests/proofmode.v index d5b83d55da0aaf40b1d55b01e7af502feea0c639..e45215ab4d43c8e63bba0cad4bf6e4168eb6c45a 100644 --- a/tests/proofmode.v +++ b/tests/proofmode.v @@ -517,6 +517,17 @@ Lemma print_long_line_anon (P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P : Proof. iIntros "?". Show. Abort. + +Lemma long_fupd E (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) : + PPPPPPPPPPPPPPPPP ={E}=∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ. +Proof. + iStartProof. Show. +Abort. +Lemma long_fupd_maskchanging E1 E2 (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) : + PPPPPPPPPPPPPPPPP ={E1,E2}=∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ. +Proof. + iStartProof. Show. +Abort. End linebreaks. End printing_tests. diff --git a/theories/bi/notation.v b/theories/bi/notation.v index 5322e6d71455e81d56797cb4d7cc4fb529a66e86..3a7ab4344022f5d0d20ae4413fa37a88ade111cd 100644 --- a/theories/bi/notation.v +++ b/theories/bi/notation.v @@ -50,34 +50,35 @@ Reserved Notation "'<subj>' P" (at level 20, right associativity). (** Update modalities *) Reserved Notation "|==> Q" (at level 99, Q at level 200, format "|==> Q"). -Reserved Notation "P ==∗ Q" (at level 99, Q at level 200, format "P ==∗ Q"). +Reserved Notation "P ==∗ Q" + (at level 99, Q at level 200, format "'[hv ' P ==∗ '/' 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" (at level 99, E1,E2 at level 50, Q at level 200, - format "P ={ E1 , E2 }=∗ Q"). + format "'[hv ' 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"). + format "'[hv ' P ={ E }=∗ '/' 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" (at level 99, E1, E2 at level 50, Q at level 200, - format "P ={ E1 , E2 }▷=∗ Q"). + format "'[hv ' 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"). + format "'[hv ' P ={ E }▷=∗ '/' Q ']'"). (** Big Ops *) Reserved Notation "'[∗' 'list]' k ↦ x ∈ l , P"