Module M.
Record A0 : Type :=  (* Type_i' *)
i0 {X0 : Type; R0 : X0 -> X0 -> Prop}. (* X0: Type_j' *)
Definition i0' := i0 : forall X0 : Type, (X0 -> X0 -> Prop) -> A0.
End M.
(* The rest of this file formalizes Burali-Forti paradox *)
(* (if the constraint between i0' and A0 is lost, the proof goes through) *)
Inductive ACC (A : Type) (R : A -> A -> Prop) : A -> Prop :=
ACC_intro :
forall x : A, (forall y : A, R y x -> ACC A R y) -> ACC A R x.

Lemma ACC_nonreflexive :
forall (A : Type) (R : A -> A -> Prop) (x : A),
ACC A R x -> R x x -> False.