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 (x1 x2 x3) x4 = x1 x2 (x1 x3 x4).
Assume H2: ∀ x2 x3 . x0 x2 ⟶ x0 x3 ⟶ x1 x2 x3 = x1 x3 x2.
Let x2 of type ι be given.
Let x3 of type ι be given.
Let x4 of type ι be given.
Assume H3: x0 x2.
Assume H4: x0 x3.
Assume H5: x0 x4.
Apply H1 with
x2,
x3,
x4,
λ x5 x6 . x5 = x1 x3 (x1 x2 x4) 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
x3,
x2,
x4,
λ x5 x6 . x1 (x1 x2 x3) x4 = x5 leaving 4 subgoals.
The subproof is completed by applying H4.
The subproof is completed by applying H3.
The subproof is completed by applying H5.
set y5 to be x1 (x1 x2 x3) x4
set y6 to be x2 (x2 x4 x3) y5
Claim L6: ∀ x7 : ι → ο . x7 y6 ⟶ x7 y5
Let x7 of type ι → ο be given.
Assume H6: x7 (x3 (x3 y5 x4) y6).
set y8 to be λ x8 . x7
Apply H2 with
x4,
y5,
λ x9 x10 . y8 (x3 x9 y6) (x3 x10 y6) leaving 3 subgoals.
The subproof is completed by applying H3.
The subproof is completed by applying H4.
The subproof is completed by applying H6.
Let x7 of type ι → ι → ο be given.
Apply L6 with
λ x8 . x7 x8 y6 ⟶ x7 y6 x8.
Assume H7: x7 y6 y6.
The subproof is completed by applying H7.