MathClasses.misc.propholds
Require Import
canonical_names.
Class PropHolds (P : Prop) := prop_holds: P.
Hint Extern 0 (PropHolds _) ⇒ assumption : typeclass_instances.
Instance: Proper (iff ==> iff) PropHolds.
Proof. now repeat intro. Qed.
Ltac solve_propholds :=
match goal with
| [ |- PropHolds (?P) ] ⇒ apply _
| [ |- ?P ] ⇒ change (PropHolds P); apply _
end.
canonical_names.
Class PropHolds (P : Prop) := prop_holds: P.
Hint Extern 0 (PropHolds _) ⇒ assumption : typeclass_instances.
Instance: Proper (iff ==> iff) PropHolds.
Proof. now repeat intro. Qed.
Ltac solve_propholds :=
match goal with
| [ |- PropHolds (?P) ] ⇒ apply _
| [ |- ?P ] ⇒ change (PropHolds P); apply _
end.