diff --git a/theories/bi/embedding.v b/theories/bi/embedding.v index 00ab11806f2e78e02ff0437a1ca394ae0b13d191..9c3fa9b61b910615b627ec7a6bcb5f2bd8ab8d11 100644 --- a/theories/bi/embedding.v +++ b/theories/bi/embedding.v @@ -38,6 +38,7 @@ Class SbiEmbed (PROP1 PROP2 : sbi) `{BiEmbed PROP1 PROP2} := { embed_later P : ⎡▷ P⎤ ⊣⊢ ▷ ⎡P⎤; embed_interal_inj (PROP' : sbi) (P Q : PROP1) : ⎡P⎤ ≡ ⎡Q⎤ ⊢ (P ≡ Q : PROP'); }. +Hint Mode BiEmbed + + ! ! : typeclass_instances. Section embed_laws. Context `{BiEmbed PROP1 PROP2}. diff --git a/theories/bi/updates.v b/theories/bi/updates.v index cb97dd5e844b843144fb2854eb39c1a27861b0ba..2a5fff709be6d064aacd6f51074703610b3fc09f 100644 --- a/theories/bi/updates.v +++ b/theories/bi/updates.v @@ -82,14 +82,16 @@ Class BiFUpd (PROP : sbi) := { bi_fupd_fupd :> FUpd PROP; bi_fupd_mixin : BiFUpdMixin PROP bi_fupd_fupd; }. -Hint Mode BiBUpd ! : typeclass_instances. +Hint Mode BiFUpd ! : typeclass_instances. Arguments bi_fupd_fupd : simpl never. Class BiBUpdFUpd (PROP : sbi) `{BiBUpd PROP, BiFUpd PROP} := bupd_fupd E (P : PROP) : (|==> P) ={E}=∗ P. +Hint Mode BiBUpdFUpd + ! ! : typeclass_instances. Class BiBUpdPlainly (PROP : sbi) `{!BiBUpd PROP, !BiPlainly PROP} := bupd_plainly (P : PROP) : (|==> ■P) -∗ P. +Hint Mode BiBUpdPlainly + ! ! : typeclass_instances. Class BiFUpdPlainly (PROP : sbi) `{!BiFUpd PROP, !BiPlainly PROP} := { fupd_plain' E1 E2 E2' (P Q : PROP) `{!Plain P} : @@ -98,6 +100,7 @@ Class BiFUpdPlainly (PROP : sbi) `{!BiFUpd PROP, !BiPlainly PROP} := { later_fupd_plain E (P : PROP) `{!Plain P} : (▷ |={E}=> P) ={E}=∗ ▷ ◇ P; }. +Hint Mode BiBUpdFUpd + ! ! : typeclass_instances. Section bupd_laws. Context `{BiBUpd PROP}.