Set F0 to be the term
λX : set ⇒ pack_r X (λ_ _ ⇒ False).
Set F1 to be the term λX Y f : set ⇒ f.
Set eta to be the term
λX : set ⇒ lam_id X.
Set eps to be the term
λA : set ⇒ lam_id (A 0).
We use F0 to witness the existential quantifier.
We use F1 to witness the existential quantifier.
We use eta to witness the existential quantifier.
We use eps to witness the existential quantifier.
We prove the intermediate
claim L1:
∀X, X = F0 X 0.
We prove the intermediate
claim L2:
∀X Y f, HomSet X Y f → BinRelnHom (F0 X) (F0 Y) f.
Let X, Y and f be given.
rewrite the current goal using
BinRelnHom_eq (from left to right).
Apply andI to the current goal.
An exact proof term for the current goal is H1.
Let x be given.
Assume Hx.
Let x' be given.
Assume Hx'.
An exact proof term for the current goal is H2.
We prove the intermediate
claim L3:
∀X, ∀R : set → set → prop, eps (pack_r X R) = lam_id X.
Let X and R be given.
rewrite the current goal using
pack_r_0_eq2 X R (from right to left).
Use reflexivity.
An
exact proof term for the current goal is
MetaCat_Set.
Let X be given.
Assume _.
Let x be given.
An exact proof term for the current goal is Hxx.
Let x be given.
Assume Hx.
Let y be given.
Assume Hy.
Let z be given.
Assume Hz.
An exact proof term for the current goal is Hxy.
Let X, Y and f be given.
Assume _ _.
We will
prove BinRelnHom (F0 X) (F0 Y) (F1 X Y f).
An exact proof term for the current goal is L2 X Y f Hf.
Let X be given.
Assume _.
rewrite the current goal using L1 (from right to left).
Use reflexivity.
Let X, Y, Z, f and g be given.
Assume _ _ _.
rewrite the current goal using L1 (from right to left).
Use reflexivity.
Let X be given.
Assume _.
We will
prove HomSet X (F0 X 0) (eta X).
rewrite the current goal using L1 (from right to left).
Let X, Y and f be given.
Assume _ _.
rewrite the current goal using
lam_comp_id_L X Y f Hf (from left to right).
An
exact proof term for the current goal is
lam_comp_id_R X Y f Hf.
Let A be given.
Let X and R be given.
rewrite the current goal using
pack_r_0_eq2 (from right to left).
rewrite the current goal using
BinRelnHom_eq (from left to right).
Apply andI to the current goal.
We will
prove eps (pack_r X R) ∈ XX.
rewrite the current goal using L3 (from left to right).
Let x be given.
Assume Hx.
Let y be given.
Assume Hy.
An exact proof term for the current goal is Hxy.
Let A, B and h be given.
Let X and R be given.
rewrite the current goal using
pack_r_0_eq2 (from right to left).
Let Y and Q be given.
rewrite the current goal using
BinRelnHom_eq (from left to right).
Assume Hh.
Apply Hh to the current goal.
rewrite the current goal using L1 (from right to left).
rewrite the current goal using L3 (from left to right).
rewrite the current goal using L3 (from left to right).
rewrite the current goal using
lam_comp_id_L X Y h Hh1 (from left to right).
An
exact proof term for the current goal is
lam_comp_id_R X Y h Hh1.
Let X be given.
Assume _.
rewrite the current goal using L1 (from right to left).
An exact proof term for the current goal is L4 X.
Let A be given.
Assume HA.
Let X and R be given.
rewrite the current goal using
pack_r_0_eq2 X R (from right to left).
rewrite the current goal using L3 (from left to right).
An exact proof term for the current goal is L4 X.
∎