Let X, h and h' be given.
Assume Hhh'.
Apply bijE X X h Hh to the current goal.
Assume Hh1 Hh2 Hh3.
We will
prove bij X X h'.
Apply bijI to the current goal.
Let x be given.
Assume Hx.
rewrite the current goal using Hhh' x Hx (from right to left).
An exact proof term for the current goal is Hh1 x Hx.
Let x be given.
Assume Hx.
Let y be given.
Assume Hy.
We will
prove h' x = h' y → x = y.
rewrite the current goal using Hhh' x Hx (from right to left).
rewrite the current goal using Hhh' y Hy (from right to left).
An exact proof term for the current goal is Hh2 x Hx y Hy.
Let z be given.
We will
prove ∃x ∈ X, h' x = z.
Apply Hh3 z Hz to the current goal.
Let x be given.
Assume H.
Apply H to the current goal.
We use x to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hx.
rewrite the current goal using Hhh' x Hx (from right to left).
An exact proof term for the current goal is Hxz.
Let X and h be given.
Assume Hh.
Let h' be given.
Assume Hhh'.
We prove the intermediate
claim Lih:
bij X X (inv X h).
An
exact proof term for the current goal is
bij_inv X X h Hh.
Apply bijE X X h Hh to the current goal.
Assume Hh1 Hh2 Hh3.
Apply bijE X X (inv X h) Lih to the current goal.
Assume Hih1 Hih2 Hih3.
We prove the intermediate
claim Lh':
bij X X h'.
An exact proof term for the current goal is LPhi1 X h h' Hhh' Hh.
Apply bijE X X h' Lh' to the current goal.
Assume Hh'1 Hh'2 Hh'3.
We prove the intermediate
claim Lih':
bij X X (inv X h').
An
exact proof term for the current goal is
bij_inv X X h' Lh'.
Apply bijE X X (inv X h') Lih' to the current goal.
Assume Hih'1 Hih'2 Hih'3.
Let u be given.
Assume Hu.
Use symmetry.
We prove the intermediate
claim Lu0:
u 0 ∈ int.
An
exact proof term for the current goal is
ap0_lam int (λ_ ⇒ X) u Hu.
We prove the intermediate
claim Lihih':
∀x ∈ X, inv X h x = inv X h' x.
Let x be given.
Assume Hx.
We will
prove inv X h x = inv X h' x.
Apply Hh2 to the current goal.
We will
prove inv X h x ∈ X.
An exact proof term for the current goal is Hih1 x Hx.
We will
prove inv X h' x ∈ X.
An exact proof term for the current goal is Hih'1 x Hx.
We will
prove h (inv X h x) = h (inv X h' x).
Use transitivity with
x, and
h' (inv X h' x).
We will
prove h (inv X h x) = x.
Apply surj_rinv X X h Hh3 x Hx to the current goal.
Assume _ H.
An exact proof term for the current goal is H.
We will
prove x = h' (inv X h' x).
Use symmetry.
Apply surj_rinv X X h' Hh'3 x Hx to the current goal.
Assume _ H.
An exact proof term for the current goal is H.
We will
prove h' (inv X h' x) = h (inv X h' x).
Use symmetry.
Apply Hhh' to the current goal.
We will
prove inv X h' x ∈ X.
An exact proof term for the current goal is Hih'1 x Hx.