Let x0 of type ι be given.
Let x1 of type ι be given.
Let x2 of type ι → ι be given.
Assume H0:
∀ x3 . x3 ∈ x1 ⟶ ∃ x4 . and (x4 ∈ x0) (x2 x4 = x3).
Claim L1:
∀ x3 . x3 ∈ x1 ⟶ and (inv x0 x2 x3 ∈ x0) (x2 (inv x0 x2 x3) = x3)
Apply surj_rinv with
x0,
x1,
x2.
The subproof is completed by applying H0.
Apply andI with
∀ x3 . x3 ∈ x1 ⟶ inv x0 x2 x3 ∈ x0,
∀ x3 . x3 ∈ x1 ⟶ ∀ x4 . x4 ∈ x1 ⟶ inv x0 x2 x3 = inv x0 x2 x4 ⟶ x3 = x4 leaving 2 subgoals.
Let x3 of type ι be given.
Assume H2: x3 ∈ x1.
Apply L1 with
x3,
inv x0 x2 x3 ∈ x0 leaving 2 subgoals.
The subproof is completed by applying H2.
Assume H3:
inv x0 x2 x3 ∈ x0.
Assume H4:
x2 (inv x0 x2 x3) = x3.
The subproof is completed by applying H3.
Let x3 of type ι be given.
Assume H2: x3 ∈ x1.
Let x4 of type ι be given.
Assume H3: x4 ∈ x1.
Assume H4:
inv x0 x2 x3 = inv x0 x2 x4.
Apply L1 with
x3,
x3 = x4 leaving 2 subgoals.
The subproof is completed by applying H2.
Assume H5:
inv x0 x2 x3 ∈ x0.
Assume H6:
x2 (inv x0 x2 x3) = x3.
Apply L1 with
x4,
x3 = x4 leaving 2 subgoals.
The subproof is completed by applying H3.
Assume H7:
inv x0 x2 x4 ∈ x0.
Assume H8:
x2 (inv x0 x2 x4) = x4.
Apply H6 with
λ x5 x6 . x5 = x4.
Apply H8 with
λ x5 x6 . x2 (inv x0 x2 x3) = x5.
Apply H4 with
λ x5 x6 . x2 x6 = x2 (inv x0 x2 x4).
Let x5 of type ι → ι → ο be given.
Assume H9:
x5 (x2 (inv x0 x2 x4)) (x2 (inv x0 x2 x4)).
The subproof is completed by applying H9.