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.
Assume H0: ∀ x5 : (ι → ο) → ο . (∀ x6 : ι → ο . (∀ x7 . x6 x7x7x1)iff (x2 x6) (x5 x6))∀ x6 : ι → ι → ι . (∀ x7 . x7x1∀ x8 . x8x1x3 x7 x8 = x6 x7 x8)∀ x7 : ι → ι . (∀ x8 . x8x1x4 x8 = x7 x8)x0 x1 x5 x6 x7 = x0 x1 x2 x3 x4.
Apply pack_c_b_u_0_eq2 with x1, x2, x3, x4, λ x5 x6 . x0 x5 (decode_c (ap (pack_c_b_u x1 x2 x3 x4) 1)) (decode_b (ap (pack_c_b_u x1 x2 x3 x4) 2)) (ap (ap (pack_c_b_u x1 x2 x3 x4) 3)) = x0 x1 x2 x3 x4.
Apply H0 with decode_c (ap (pack_c_b_u x1 x2 x3 x4) 1), decode_b (ap (pack_c_b_u x1 x2 x3 x4) 2), ap (ap (pack_c_b_u x1 x2 x3 x4) 3) leaving 3 subgoals.
Let x5 of type ιο be given.
Assume H1: ∀ x6 . x5 x6x6x1.
Apply pack_c_b_u_1_eq2 with x1, x2, x3, x4, x5, λ x6 x7 : ο . iff (x2 x5) x6 leaving 2 subgoals.
The subproof is completed by applying H1.
The subproof is completed by applying iff_refl with x2 x5.
The subproof is completed by applying pack_c_b_u_2_eq2 with x1, x2, x3, x4.
The subproof is completed by applying pack_c_b_u_3_eq2 with x1, x2, x3, x4.