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.
Let x5 of type ιο be given.
Assume H0: ∀ x6 : (ι → ο) → ο . (∀ x7 : ι → ο . (∀ x8 . x7 x8x8x1)iff (x2 x7) (x6 x7))∀ x7 : ι → ι . (∀ x8 . x8x1x3 x8 = x7 x8)∀ x8 : ι → ι → ο . (∀ x9 . x9x1∀ x10 . x10x1iff (x4 x9 x10) (x8 x9 x10))∀ x9 : ι → ο . (∀ x10 . x10x1iff (x5 x10) (x9 x10))x0 x1 x6 x7 x8 x9 = x0 x1 x2 x3 x4 x5.
Apply pack_c_u_r_p_0_eq2 with x1, x2, x3, x4, x5, λ x6 x7 . x0 x6 (decode_c (ap (pack_c_u_r_p x1 x2 x3 x4 x5) 1)) (ap (ap (pack_c_u_r_p x1 x2 x3 x4 x5) 2)) (decode_r (ap (pack_c_u_r_p x1 x2 x3 x4 x5) 3)) (decode_p (ap (pack_c_u_r_p x1 x2 x3 x4 x5) 4)) = x0 x1 x2 x3 x4 x5.
Apply H0 with decode_c (ap (pack_c_u_r_p x1 x2 x3 x4 x5) 1), ap (ap (pack_c_u_r_p x1 x2 x3 x4 x5) 2), decode_r (ap (pack_c_u_r_p x1 x2 x3 x4 x5) 3), decode_p (ap (pack_c_u_r_p x1 x2 x3 x4 x5) 4) leaving 4 subgoals.
Let x6 of type ιο be given.
Assume H1: ∀ x7 . x6 x7x7x1.
Apply pack_c_u_r_p_1_eq2 with x1, x2, x3, x4, x5, x6, λ x7 x8 : ο . iff (x2 x6) x7 leaving 2 subgoals.
The subproof is completed by applying H1.
The subproof is completed by applying iff_refl with x2 x6.
The subproof is completed by applying pack_c_u_r_p_2_eq2 with x1, x2, x3, x4, x5.
Let x6 of type ι be given.
Assume H1: x6x1.
Let x7 of type ι be given.
Assume H2: x7x1.
Apply pack_c_u_r_p_3_eq2 with x1, x2, x3, x4, x5, x6, x7, λ x8 x9 : ο . iff (x4 x6 x7) x8 leaving 3 subgoals.
The subproof is completed by applying H1.
The subproof is completed by applying H2.
The subproof is completed by applying iff_refl with x4 x6 x7.
Let x6 of type ι be given.
Assume H1: x6x1.
Apply pack_c_u_r_p_4_eq2 with x1, x2, x3, x4, x5, x6, λ x7 x8 : ο . iff (x5 x6) x7 leaving 2 subgoals.
The subproof is completed by applying H1.
The subproof is completed by applying iff_refl with x5 x6.