Let x0 of type ι be given.
Let x1 of type ι → ι → ι be given.
Apply H0 with
Group (pack_b x0 x1).
Assume H1:
and (∀ x2 . x2 ∈ x0 ⟶ ∀ x3 . x3 ∈ x0 ⟶ x1 x2 x3 ∈ x0) (∀ x2 . x2 ∈ x0 ⟶ ∀ x3 . x3 ∈ x0 ⟶ ∀ x4 . x4 ∈ x0 ⟶ x1 x2 (x1 x3 x4) = x1 (x1 x2 x3) x4).
Apply H1 with
(∃ x2 . and (x2 ∈ x0) (and (∀ x3 . x3 ∈ x0 ⟶ and (x1 x2 x3 = x3) (x1 x3 x2 = x3)) (∀ x3 . x3 ∈ x0 ⟶ ∃ x4 . and (x4 ∈ x0) (and (x1 x3 x4 = x2) (x1 x4 x3 = x2))))) ⟶ Group (pack_b x0 x1).
Assume H2: ∀ x2 . x2 ∈ x0 ⟶ ∀ x3 . x3 ∈ x0 ⟶ x1 x2 x3 ∈ x0.
Assume H3: ∀ x2 . x2 ∈ x0 ⟶ ∀ x3 . x3 ∈ x0 ⟶ ∀ x4 . x4 ∈ x0 ⟶ x1 x2 (x1 x3 x4) = x1 (x1 x2 x3) x4.
Assume H4:
∃ x2 . and (x2 ∈ x0) (and (∀ x3 . x3 ∈ x0 ⟶ and (x1 x2 x3 = x3) (x1 x3 x2 = x3)) (∀ x3 . x3 ∈ x0 ⟶ ∃ x4 . and (x4 ∈ x0) (and (x1 x3 x4 = x2) (x1 x4 x3 = x2)))).
Apply andI with
struct_b (pack_b x0 x1),
unpack_b_o (pack_b x0 x1) explicit_Group leaving 2 subgoals.
Apply pack_struct_b_I with
x0,
x1.
The subproof is completed by applying H2.
Apply Group_unpack_eq with
x0,
x1,
λ x2 x3 : ο . x3.
The subproof is completed by applying H0.