Let x0 of type ι be given.
Let x1 of type ι → ι → ο be given.
Claim L0:
∀ x2 : ι → ι → ο . (∀ x3 . x3 ∈ x0 ⟶ ∀ x4 . x4 ∈ x0 ⟶ iff (x1 x3 x4) (x2 x3 x4)) ⟶ (λ x3 . λ x4 : ι → ι → ο . and (and (∀ x5 . x5 ∈ x3 ⟶ not (x4 x5 x5)) (∀ x5 . x5 ∈ x3 ⟶ ∀ x6 . x6 ∈ x3 ⟶ or (x4 x5 x6) (x4 x6 x5))) (∀ x5 . x5 ∈ x3 ⟶ ∀ x6 . x6 ∈ x3 ⟶ ∀ x7 . x7 ∈ x3 ⟶ x4 x5 x6 ⟶ x4 x6 x7 ⟶ x4 x5 x7)) x0 x2 = (λ x3 . λ x4 : ι → ι → ο . and (and (∀ x5 . x5 ∈ x3 ⟶ not (x4 x5 x5)) (∀ x5 . x5 ∈ x3 ⟶ ∀ x6 . x6 ∈ x3 ⟶ or (x4 x5 x6) (x4 x6 x5))) (∀ x5 . x5 ∈ x3 ⟶ ∀ x6 . x6 ∈ x3 ⟶ ∀ x7 . x7 ∈ x3 ⟶ x4 x5 x6 ⟶ x4 x6 x7 ⟶ x4 x5 x7)) x0 x1
Let x2 of type ι → ι → ο be given.
Assume H0:
∀ x3 . x3 ∈ x0 ⟶ ∀ x4 . x4 ∈ x0 ⟶ iff (x1 x3 x4) (x2 x3 x4).
Apply prop_ext_2 with
(λ x3 . λ x4 : ι → ι → ο . and (and (∀ x5 . x5 ∈ x3 ⟶ not (x4 x5 x5)) (∀ x5 . x5 ∈ x3 ⟶ ∀ x6 . x6 ∈ x3 ⟶ or (x4 x5 x6) (x4 x6 x5))) (∀ x5 . x5 ∈ x3 ⟶ ∀ x6 . x6 ∈ x3 ⟶ ∀ x7 . x7 ∈ x3 ⟶ x4 x5 x6 ⟶ x4 x6 x7 ⟶ x4 x5 x7)) x0 x2,
(λ x3 . λ x4 : ι → ι → ο . and (and (∀ x5 . x5 ∈ x3 ⟶ not (x4 x5 x5)) (∀ x5 . x5 ∈ x3 ⟶ ∀ x6 . x6 ∈ x3 ⟶ or (x4 x5 x6) (x4 x6 x5))) (∀ x5 . ... ⟶ ∀ x6 . ... ⟶ ∀ x7 . ... ⟶ ... ⟶ x4 x6 ... ⟶ x4 x5 x7)) ... ... leaving 2 subgoals.
Apply unpack_r_o_eq with
λ x2 . λ x3 : ι → ι → ο . and (and (∀ x4 . x4 ∈ x2 ⟶ not (x3 x4 x4)) (∀ x4 . x4 ∈ x2 ⟶ ∀ x5 . x5 ∈ x2 ⟶ or (x3 x4 x5) (x3 x5 x4))) (∀ x4 . x4 ∈ x2 ⟶ ∀ x5 . x5 ∈ x2 ⟶ ∀ x6 . x6 ∈ x2 ⟶ x3 x4 x5 ⟶ x3 x5 x6 ⟶ x3 x4 x6),
x0,
x1.
The subproof is completed by applying L0.