Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ι be given.
Let x1 of type ι be given.
Let x2 of type ι be given.
Let x3 of type ι be given.
Let x4 of type ι be given.
Apply binunion_asso with UPair x0 x1, Sing x2, Sing x3, λ x5 x6 . binunion x5 (Sing x4) = binunion (binunion (binunion (UPair x0 x1) (Sing x4)) (Sing x2)) (Sing x3).
Apply binunion_asso with UPair x0 x1, Sing x4, Sing x2, λ x5 x6 . binunion (binunion (UPair x0 x1) (binunion (Sing x2) (Sing x3))) (Sing x4) = binunion x5 (Sing x3).
Apply binunion_asso with UPair x0 x1, binunion (Sing x2) (Sing x3), Sing x4, λ x5 x6 . x5 = binunion (binunion (UPair x0 x1) (binunion (Sing x4) (Sing x2))) (Sing x3).
Apply binunion_asso with UPair x0 x1, binunion (Sing x4) (Sing x2), Sing x3, λ x5 x6 . binunion (UPair x0 x1) (binunion (binunion (Sing x2) (Sing x3)) (Sing x4)) = x5.
set y5 to be binunion (UPair x0 x1) (binunion (binunion (Sing x2) (Sing x3)) (Sing x4))
set y6 to be binunion (UPair x1 x2) (binunion (binunion (Sing y5) (Sing x3)) (Sing x4))
Claim L0: ∀ x7 : ι → ο . x7 y6x7 y5
Let x7 of type ιο be given.
Assume H0: x7 (binunion (UPair x2 x3) (binunion (binunion (Sing y6) (Sing x4)) (Sing y5))).
set y8 to be λ x8 . x7
Apply binunion_com with Sing x4, Sing y5, λ x9 x10 . binunion x10 (Sing y6) = binunion (binunion (Sing y6) (Sing x4)) (Sing y5), λ x9 x10 . y8 (binunion (UPair x2 x3) x9) (binunion (UPair x2 x3) x10) leaving 2 subgoals.
Apply binunion_asso with Sing y5, Sing x4, Sing y6, λ x9 x10 . x9 = binunion (binunion (Sing y6) (Sing x4)) (Sing y5).
Apply binunion_com with Sing x4, Sing y6, λ x9 x10 . binunion (Sing y5) x10 = binunion (binunion (Sing y6) (Sing x4)) (Sing y5).
The subproof is completed by applying binunion_com with Sing y5, binunion (Sing y6) (Sing x4).
The subproof is completed by applying H0.
Let x7 of type ιιο be given.
Apply L0 with λ x8 . x7 x8 y6x7 y6 x8.
Assume H1: x7 y6 y6.
The subproof is completed by applying H1.