Let x0 of type ι → (ι → ι → ι) → ο be given.
Assume H0: ∀ x1 . ∀ x2 : ι → ι → ι . (∀ x3 . x3 ∈ x1 ⟶ ∀ x4 . x4 ∈ x1 ⟶ x2 x3 x4 ∈ x1) ⟶ ∀ x3 : ι → ι → ι . (∀ x4 . x4 ∈ x1 ⟶ ∀ x5 . x5 ∈ x1 ⟶ x2 x4 x5 = x3 x4 x5) ⟶ x0 x1 x3 = x0 x1 x2.
Assume H1: ∀ x1 : ι → ι → ι . (∀ x2 . x2 ∈ 1 ⟶ ∀ x3 . x3 ∈ 1 ⟶ 0 = x1 x2 x3) ⟶ x0 1 x1.
Let x1 of type ο be given.
Apply H4 with
pack_b 1 (λ x2 x3 . 0).
Let x2 of type ο be given.
Apply H5 with
λ x3 . lam (ap x3 0) (λ x4 . 0).
Apply andI with
(λ x3 . and (struct_b x3) (unpack_b_o x3 x0)) (pack_b 1 (λ x3 x4 . 0)),
∀ x3 . (λ x4 . and (struct_b x4) (unpack_b_o x4 x0)) x3 ⟶ and (MagmaHom x3 (pack_b 1 (λ x4 x5 . 0)) ((λ x4 . lam (ap x4 0) (λ x5 . 0)) x3)) (∀ x4 . MagmaHom x3 (pack_b 1 (λ x5 x6 . 0)) x4 ⟶ x4 = (λ x5 . lam (ap x5 0) (λ x6 . 0)) x3) leaving 2 subgoals.
Apply andI with
struct_b (pack_b 1 (λ x3 x4 . 0)),
unpack_b_o (pack_b 1 (λ x3 x4 . 0)) x0 leaving 2 subgoals.
Apply pack_struct_b_I with
1,
λ x3 x4 . 0.
Let x3 of type ι be given.
Assume H6: x3 ∈ 1.
Let x4 of type ι be given.
Assume H7: x4 ∈ 1.
The subproof is completed by applying In_0_1.
Apply unpack_b_o_eq with
x0,
1,
λ x3 x4 . 0,
λ x3 x4 : ο . x4 leaving 2 subgoals.
The subproof is completed by applying L3.
The subproof is completed by applying L2.
Let x3 of type ι be given.
Apply H6 with
and (MagmaHom x3 (pack_b 1 (λ x4 x5 . 0)) ((λ x4 . lam (ap x4 0) (λ x5 . 0)) x3)) (∀ x4 . MagmaHom x3 (pack_b 1 (λ x5 x6 . 0)) x4 ⟶ x4 = (λ x5 . lam (ap x5 0) (λ x6 . 0)) x3).
Apply H7 with
λ x4 . ... ⟶ and (MagmaHom x4 (pack_b 1 (λ x5 x6 . 0)) ((λ x5 . lam (ap x5 0) (λ x6 . 0)) x4)) (∀ x5 . MagmaHom x4 ... ... ⟶ x5 = (λ x6 . lam (ap x6 0) (λ x7 . 0)) x4).