Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ι be given.
Assume H0: struct_c_e x0.
Apply H0 with λ x1 . x1 = pack_c_e (ap x1 0) (decode_c (ap x1 1)) (ap x1 2).
Let x1 of type ι be given.
Let x2 of type (ιο) → ο be given.
Let x3 of type ι be given.
Assume H1: x3x1.
Apply pack_c_e_0_eq2 with x1, x2, x3, λ x4 x5 . pack_c_e x1 x2 x3 = pack_c_e x4 (decode_c (ap (pack_c_e x1 x2 x3) 1)) (ap (pack_c_e x1 x2 x3) 2).
Apply pack_c_e_2_eq2 with x1, x2, x3, λ x4 x5 . pack_c_e x1 x2 x3 = pack_c_e x1 (decode_c (ap (pack_c_e x1 x2 x3) 1)) x4.
Apply pack_c_e_ext with x1, x2, decode_c (ap (pack_c_e x1 x2 x3) 1), x3.
Let x4 of type ιο be given.
Assume H2: ∀ x5 . x4 x5x5x1.
Apply pack_c_e_1_eq2 with x1, x2, x3, x4, λ x5 x6 : ο . iff (x2 x4) x5 leaving 2 subgoals.
The subproof is completed by applying H2.
The subproof is completed by applying iff_refl with x2 x4.