Let x0 of type ι → ο be given.
Let x1 of type ι → ι → ι be given.
Assume H0: ∀ x2 x3 . x0 x2 ⟶ x0 x3 ⟶ x0 (x1 x2 x3).
Assume H1: ∀ x2 x3 x4 . x0 x2 ⟶ x0 x3 ⟶ x0 x4 ⟶ x1 x2 (x1 x3 x4) = x1 x3 (x1 x2 x4).
Let x2 of type ι be given.
Let x3 of type ι be given.
Let x4 of type ι be given.
Let x5 of type ι be given.
Assume H2: x0 x2.
Assume H3: x0 x3.
Assume H4: x0 x4.
Assume H5: x0 x5.
Apply H1 with
x3,
x4,
x5,
λ x6 x7 . x1 x2 x7 = x1 x4 (x1 x3 (x1 x2 x5)) leaving 4 subgoals.
The subproof is completed by applying H3.
The subproof is completed by applying H4.
The subproof is completed by applying H5.
Apply H1 with
x2,
x4,
x1 x3 x5,
λ x6 x7 . x7 = x1 x4 (x1 x3 (x1 x2 x5)) leaving 4 subgoals.
The subproof is completed by applying H2.
The subproof is completed by applying H4.
Apply H0 with
x3,
x5 leaving 2 subgoals.
The subproof is completed by applying H3.
The subproof is completed by applying H5.
set y6 to be x1 x4 (x1 x2 (x1 x3 x5))
set y7 to be x2 x5 (x2 x4 (x2 x3 y6))
Claim L6: ∀ x8 : ι → ο . x8 y7 ⟶ x8 y6
Let x8 of type ι → ο be given.
Assume H6: x8 (x3 y6 (x3 x5 (x3 x4 y7))).
set y9 to be λ x9 . x8
Apply H1 with
x4,
x5,
y7,
λ x10 x11 . y9 (x3 y6 x10) (x3 y6 x11) leaving 4 subgoals.
The subproof is completed by applying H2.
The subproof is completed by applying H3.
The subproof is completed by applying H5.
The subproof is completed by applying H6.
Let x8 of type ι → ι → ο be given.
Apply L6 with
λ x9 . x8 x9 y7 ⟶ x8 y7 x9.
Assume H7: x8 y7 y7.
The subproof is completed by applying H7.