diff --git a/theories/proofmode/classes.v b/theories/proofmode/classes.v index 03dbb8b66607e12f7a488711d58c54c3a639a06e..3d5e6dc67923785acfd3e9908d04a326e8412be4 100644 --- a/theories/proofmode/classes.v +++ b/theories/proofmode/classes.v @@ -56,15 +56,15 @@ Proof. by exists φ. Qed. Hint Extern 0 (IntoPureT _ _) => notypeclasses refine (into_pureT_hint _ _ _) : typeclass_instances. -(** [FromPure] is used when introducing a pure assertion. It is used by -[IntoPure] and the [[%]] specialization pattern. +(** [FromPure a P φ] is used when introducing a pure assertion. It is used by +[iPureIntro] and the [[%]] specialization pattern. -The Boolean [a] asserts whether we the pure assertion required the [emp] -resource or not. Concretely, for [IntoPure] it specifies whether the spatial -context should be empty or not. +The Boolean [a] specifies whether introduction of [P] needs [emp] in addition +to [φ]. Concretely, for the [iPureIntro] tactic, this means it specifies whether +the spatial context should be empty or not. -Note that this Boolean is not needed for [IntoPure], because in the case of -[IntoPure], we can have the same behavior by asking that [P] be [Affine]. *) +Note that the Boolean [a] is not needed for the (dual) [IntoPure] class, because +there we can just ask that [P] is [Affine]. *) Class FromPure {PROP : bi} (a : bool) (P : PROP) (φ : Prop) := from_pure : <affine>?a ⌜φ⌠⊢ P. Arguments FromPure {_} _ _%I _%type_scope : simpl never.