(* This requires cumulativity *)
Definition Type2 := Type.
Definition Type1 : Type2 := Type.
intro H.
apply H.
exact I.
Qed.
auto.
Qed.
intro P; pattern P.
apply lem2.
Abort.
(* Check managing of universe constraints in inversion (BZ#855) *)
Inductive dep_eq : forall X : Type, X -> X -> Prop :=
| intro_eq : forall (X : Type) (f : X), dep_eq X f f
| intro_feq :
forall (A : Type) (B : A -> Type),
let T := forall x : A, B x in
forall (f g : T) (x : A), dep_eq (B x) (f x) (g x) -> dep_eq T f g.

Theorem dep_eq_trans : forall X : Type, transitive X (dep_eq X).