Definition relation (A : Type) := A -> A -> Type.
Class Reflexive {A} (R : relation A) := reflexivity : forall x : A, R x x.
Existing Class IsHProp.
Inductive Empty : Set := .
Notation "~ x" := (x -> Empty) : type_scope.
Record hProp := BuildhProp { type :> Type ; trunc : IsHProp type }.
Arguments BuildhProp _ {_}.
Canonical Structure default_hProp := fun T P => (@BuildhProp T P).
Generalizable Variables A B f g e n.

Axiom trunc_forall : forall `{P : A -> Type}, IsHProp (forall a, P a).