Let x0 of type ι → ((ι → ο) → ο) → CT2 ι be given.
Let x1 of type ι be given.
Let x2 of type (ι → ο) → ο be given.
Let x3 of type ι → ι → ι be given.
Assume H0:
∀ x4 : (ι → ο) → ο . (∀ x5 : ι → ο . (∀ x6 . x5 x6 ⟶ x6 ∈ x1) ⟶ iff (x2 x5) (x4 x5)) ⟶ ∀ x5 : ι → ι → ι . (∀ x6 . x6 ∈ x1 ⟶ ∀ x7 . x7 ∈ x1 ⟶ x3 x6 x7 = x5 x6 x7) ⟶ x0 x1 x4 x5 = x0 x1 x2 x3.
Apply pack_c_b_0_eq2 with
x1,
x2,
x3,
λ x4 x5 . x0 x4 (decode_c (ap (pack_c_b x1 x2 x3) 1)) (decode_b (ap (pack_c_b x1 x2 x3) 2)) = x0 x1 x2 x3.
Apply H0 with
decode_c (ap (pack_c_b x1 x2 x3) 1),
decode_b (ap (pack_c_b x1 x2 x3) 2) leaving 2 subgoals.
Let x4 of type ι → ο be given.
Assume H1: ∀ x5 . x4 x5 ⟶ x5 ∈ x1.
Apply pack_c_b_1_eq2 with
x1,
x2,
x3,
x4,
λ x5 x6 : ο . iff (x2 x4) x5 leaving 2 subgoals.
The subproof is completed by applying H1.
The subproof is completed by applying iff_refl with x2 x4.
The subproof is completed by applying pack_c_b_2_eq2 with x1, x2, x3.