Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ι(ιιι) → ο be given.
Assume H0: ∀ x1 . ∀ x2 : ι → ι → ι . (∀ x3 . x3x1∀ x4 . x4x1x2 x3 x4x1)∀ x3 : ι → ι → ι . (∀ x4 . x4x1∀ x5 . x5x1x2 x4 x5 = x3 x4 x5)x0 x1 x3 = x0 x1 x2.
Assume H1: ∀ x1 . ∀ x2 : ι → ι → ι . (∀ x3 . x3x1∀ x4 . x4x1x2 x3 x4x1)x0 x1 x2∀ x3 . ∀ x4 : ι → ι → ι . (∀ x5 . x5x3∀ x6 . x6x3x4 x5 x6x3)x0 x3 x4∀ x5 : ι → ι → ι . (∀ x6 . x6setprod x1 x3∀ x7 . x7setprod x1 x3lam 2 (λ x8 . If_i (x8 = 0) (x2 (ap x6 0) (ap x7 0)) (x4 (ap x6 1) (ap x7 1))) = x5 x6 x7)x0 (setprod x1 x3) x5.
Claim L2: ...
...
Claim L3: ...
...
Claim L4: ...
...
Claim L5: ...
...
Apply L2 with ∃ x1 x2 x3 : ι → ι → ι . ∃ x4 : ι → ι → ι → ι → ι → ι . MetaCat_product_constr_p (λ x5 . and (struct_b x5) (unpack_b_o x5 x0)) MagmaHom struct_id struct_comp x1 x2 x3 x4.
Let x1 of type ιιι be given.
Assume H6: (λ x2 : ι → ι → ι . ∀ x3 . ∀ x4 : ι → ι → ι . ∀ x5 . ∀ x6 : ι → ι → ι . (∀ x7 . x7x5∀ x8 . x8x5x6 x7 x8x5)x2 (pack_b x3 x4) (pack_b x5 x6) = pack_b (setprod x3 x5) (λ x7 x8 . lam 2 (λ x9 . If_i (x9 = 0) (x4 (ap x7 0) (ap x8 0)) (x6 (ap x7 1) (ap x8 1))))) x1.
Apply L3 with ∃ x2 x3 x4 : ι → ι → ι . ∃ x5 : ι → ι → ι → ι → ι → ι . MetaCat_product_constr_p (λ x6 . and (struct_b x6) (unpack_b_o x6 x0)) MagmaHom struct_id struct_comp x2 x3 x4 x5.
Let x2 of type ιιι be given.
Assume H7: (λ x3 : ι → ι → ι . ∀ x4 . ∀ x5 : ι → ι → ι . ∀ x6 . ∀ x7 : ι → ι → ι . x3 (pack_b x4 x5) (pack_b x6 x7) = lam (setprod x4 x6) (λ x8 . ap x8 0)) x2.
Apply L4 with ∃ x3 x4 x5 : ι → ι → ι . ∃ x6 : ι → ι → ι → ι → ι → ι . MetaCat_product_constr_p (λ x7 . and (struct_b x7) (unpack_b_o x7 x0)) MagmaHom struct_id struct_comp x3 x4 x5 x6.
Let x3 of type ιιι be given.
Assume H8: (λ x4 : ι → ι → ι . ∀ x5 . ∀ x6 : ι → ι → ι . ∀ x7 . ∀ x8 : ι → ι → ι . x4 (pack_b x5 x6) (pack_b x7 x8) = lam (setprod x5 x7) ...) ....
...