diff --git a/theories/coPset.v b/theories/coPset.v index 1b21418116ebaaa36ad6e72a90641ff303ecb724..6d092f0d486b0fb1c24c27d58a08487406438be3 100644 --- a/theories/coPset.v +++ b/theories/coPset.v @@ -159,6 +159,8 @@ Instance coPset_singleton : Singleton positive coPset := λ p, Instance coPset_elem_of : ElemOf positive coPset := λ p X, e_of p (`X). Instance coPset_empty : Empty coPset := coPLeaf false ↾ I. Instance coPset_top : Top coPset := coPLeaf true ↾ I. +(** Iris and specifically [solve_ndisj] heavily rely on this hint. *) +Hint Resolve (top_subseteq (A:=positive) (C:=coPset)) : core. Instance coPset_union : Union coPset := λ X Y, let (t1,Ht1) := X in let (t2,Ht2) := Y in (t1 ∪ t2) ↾ coPset_union_wf _ _ Ht1 Ht2. diff --git a/theories/namespaces.v b/theories/namespaces.v index 4cd3092d0be0c2e050f10e6689cde49928cba8fa..04f9e931143bac93cd0465fcf847f923f23aedde 100644 --- a/theories/namespaces.v +++ b/theories/namespaces.v @@ -85,10 +85,6 @@ Hint Resolve (union_least (A:=positive) (C:=coPset)) : ndisj. Hint Resolve (subseteq_difference_l (A:=positive) (C:=coPset)) | 100 : ndisj. Hint Resolve nclose_subseteq' | 100 : ndisj. -(** Put this hint in [core] so that only only [solve_ndisj], but also [done] and -friends, can solve trivial goals of the form [E ⊆ ⊤] that occur often. *) -Hint Resolve (top_subseteq (A:=positive) (C:=coPset)) : core. - (** Rules for goals of the form [_ ## _] *) (** The base rule that we want to ultimately get down to. *) Hint Extern 0 (_ ## _) => apply ndot_ne_disjoint; congruence : ndisj.