diff --git a/theories/proofmode/classes.v b/theories/proofmode/classes.v index 2856dd6202e60ac7ccdec1f300d3a96f8e6d9a7a..409d92274a794a09542edb620feb98df75048529 100644 --- a/theories/proofmode/classes.v +++ b/theories/proofmode/classes.v @@ -43,19 +43,19 @@ 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 - iPure, the "[%]" specialization pattern, and the [with "[%]"] - pattern when using [iAssert]. - - The [a] Boolean asserts whether we introduce the pure assertion in - an affine way or in an absorbing way. When [FromPure true P φ] is - derived, then [FromPure false P φ] can always be derived too. We - use [true] for specialization patterns and [false] for the [iPure] - tactic. - - 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]. *) +(** [FromPure] is used when introducing a pure assertion. It is used by + iPure, the "[%]" specialization pattern, and the [with "[%]"] + pattern when using [iAssert]. + + The [a] Boolean asserts whether we introduce the pure assertion in + an affine way or in an absorbing way. When [FromPure true P φ] is + derived, then [FromPure false P φ] can always be derived too. We + use [true] for specialization patterns and [false] for the [iPure] + tactic. + + 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]. *) Class FromPure {PROP : bi} (a : bool) (P : PROP) (φ : Prop) := from_pure : bi_affinely_if a ⌜φ⌠⊢ P. Arguments FromPure {_} _ _%I _%type_scope : simpl never.