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.