Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ι be given.
Assume H0: struct_c_b_u_u x0.
Apply H0 with λ x1 . x1 = pack_c_b_u_u (ap x1 0) (decode_c (ap x1 1)) (decode_b (ap x1 2)) (ap (ap x1 3)) (ap (ap x1 4)).
Let x1 of type ι be given.
Let x2 of type (ιο) → ο be given.
Let x3 of type ιιι be given.
Assume H1: ∀ x4 . x4x1∀ x5 . x5x1x3 x4 x5x1.
Let x4 of type ιι be given.
Assume H2: ∀ x5 . x5x1x4 x5x1.
Let x5 of type ιι be given.
Assume H3: ∀ x6 . x6x1x5 x6x1.
Apply pack_c_b_u_u_0_eq2 with x1, x2, x3, x4, x5, λ x6 x7 . pack_c_b_u_u x1 x2 x3 x4 x5 = pack_c_b_u_u x6 (decode_c (ap (pack_c_b_u_u x1 x2 x3 x4 x5) 1)) (decode_b (ap (pack_c_b_u_u x1 x2 x3 x4 x5) 2)) (ap (ap (pack_c_b_u_u x1 x2 x3 x4 x5) 3)) (ap (ap (pack_c_b_u_u x1 x2 x3 x4 x5) 4)).
Apply pack_c_b_u_u_ext with x1, x2, decode_c (ap (pack_c_b_u_u x1 x2 x3 x4 x5) 1), x3, decode_b (ap (pack_c_b_u_u x1 x2 x3 x4 x5) 2), x4, ap (ap (pack_c_b_u_u x1 x2 x3 x4 x5) 3), x5, ap (ap (pack_c_b_u_u x1 x2 x3 x4 x5) 4) leaving 4 subgoals.
Let x6 of type ιο be given.
Assume H4: ∀ x7 . x6 x7x7x1.
Apply pack_c_b_u_u_1_eq2 with x1, x2, x3, x4, x5, x6, λ x7 x8 : ο . iff (x2 x6) x7 leaving 2 subgoals.
The subproof is completed by applying H4.
The subproof is completed by applying iff_refl with x2 x6.
The subproof is completed by applying pack_c_b_u_u_2_eq2 with x1, x2, x3, x4, x5.
The subproof is completed by applying pack_c_b_u_u_3_eq2 with x1, x2, x3, x4, x5.
The subproof is completed by applying pack_c_b_u_u_4_eq2 with x1, x2, x3, x4, x5.