Exact expanded PA statement
forall p. (exists pa_b_bpf4e_source pa_c_bpf4e_source. ((forall pa_i_bpf4e_source_repeat. (exists pa_lt_bpf4e_source_repeat_bound. pa_lt_bpf4e_source_repeat_bound + S pa_i_bpf4e_source_repeat = 4) -> (((exists pa_h_bpf4e_source_repeat_decoded. pa_h_bpf4e_source_repeat_decoded + S (4) = S ((S (pa_i_bpf4e_source_repeat)) * pa_c_bpf4e_source)) /\ exists pa_q_bpf4e_source_repeat_decoded. pa_b_bpf4e_source = pa_q_bpf4e_source_repeat_decoded * S ((S (pa_i_bpf4e_source_repeat)) * pa_c_bpf4e_source) + (4)))) /\ (exists pa_u_bpf4e_source_product pa_v_bpf4e_source_product. ((((exists pa_h_bpf4e_source_product_start. pa_h_bpf4e_source_product_start + S (1) = S ((S (0)) * pa_v_bpf4e_source_product)) /\ exists pa_q_bpf4e_source_product_start. pa_u_bpf4e_source_product = pa_q_bpf4e_source_product_start * S ((S (0)) * pa_v_bpf4e_source_product) + (1))) /\ ((((exists pa_h_bpf4e_source_product_terminal. pa_h_bpf4e_source_product_terminal + S (p) = S ((S (4)) * pa_v_bpf4e_source_product)) /\ exists pa_q_bpf4e_source_product_terminal. pa_u_bpf4e_source_product = pa_q_bpf4e_source_product_terminal * S ((S (4)) * pa_v_bpf4e_source_product) + (p))) /\ forall pa_i_bpf4e_source_product. (exists pa_lt_bpf4e_source_product_bound. pa_lt_bpf4e_source_product_bound + S pa_i_bpf4e_source_product = 4) -> exists pa_p_bpf4e_source_product pa_r_bpf4e_source_product pa_s_bpf4e_source_product. ((((exists pa_h_bpf4e_source_product_factor. pa_h_bpf4e_source_product_factor + S (pa_p_bpf4e_source_product) = S ((S (pa_i_bpf4e_source_product)) * pa_c_bpf4e_source)) /\ exists pa_q_bpf4e_source_product_factor. pa_b_bpf4e_source = pa_q_bpf4e_source_product_factor * S ((S (pa_i_bpf4e_source_product)) * pa_c_bpf4e_source) + (pa_p_bpf4e_source_product))) /\ ((((exists pa_h_bpf4e_source_product_partial. pa_h_bpf4e_source_product_partial + S (pa_r_bpf4e_source_product) = S ((S (pa_i_bpf4e_source_product)) * pa_v_bpf4e_source_product)) /\ exists pa_q_bpf4e_source_product_partial. pa_u_bpf4e_source_product = pa_q_bpf4e_source_product_partial * S ((S (pa_i_bpf4e_source_product)) * pa_v_bpf4e_source_product) + (pa_r_bpf4e_source_product))) /\ ((((exists pa_h_bpf4e_source_product_successor. pa_h_bpf4e_source_product_successor + S (pa_s_bpf4e_source_product) = S ((S (S pa_i_bpf4e_source_product)) * pa_v_bpf4e_source_product)) /\ exists pa_q_bpf4e_source_product_successor. pa_u_bpf4e_source_product = pa_q_bpf4e_source_product_successor * S ((S (S pa_i_bpf4e_source_product)) * pa_v_bpf4e_source_product) + (pa_s_bpf4e_source_product))) /\ pa_s_bpf4e_source_product = pa_r_bpf4e_source_product * pa_p_bpf4e_source_product)))))))) -> p = ((4 * 4) * 4) * 4Structural proof guide
A relational fourth power of four is the fourfold product.
Direct prerequisites: pow_successor_decompose, pow_two. The authored body proceeds by case analysis (4), intermediate claims (3), equality transport (3).
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.
- 0001
intro p - 0002
intro hpower - 0003
have hthree : exists r. (exists pa_b_bpf4e_three pa_c_bpf4e_three. ((forall pa_i_bpf4e_three_repeat. (exists pa_lt_bpf4e_three_repeat_bound. pa_lt_bpf4e_three_repeat_bound + S pa_i_bpf4e_three_repeat = 3) -> (((exists pa_h_bpf4e_three_repeat_decoded. pa_h_bpf4e_three_repeat_decoded + S (4) = S ((S (pa_i_bpf4e_three_repeat)) * pa_c_bpf4e_three)) /\ exists pa_q_bpf4e_three_repeat_decoded. pa_b_bpf4e_three = pa_q_bpf4e_three_repeat_decoded * S ((S (pa_i_bpf4e_three_repeat)) * pa_c_bpf4e_three) + (4)))) /\ (exists pa_u_bpf4e_three_product pa_v_bpf4e_three_product. ((((exists pa_h_bpf4e_three_product_start. pa_h_bpf4e_three_product_start + S (1) = S ((S (0)) * pa_v_bpf4e_three_product)) /\ exists pa_q_bpf4e_three_product_start. pa_u_bpf4e_three_product = pa_q_bpf4e_three_product_start * S ((S (0)) * pa_v_bpf4e_three_product) + (1))) /\ ((((exists pa_h_bpf4e_three_product_terminal. pa_h_bpf4e_three_product_terminal + S (r) = S ((S (3)) * pa_v_bpf4e_three_product)) /\ exists pa_q_bpf4e_three_product_terminal. pa_u_bpf4e_three_product = pa_q_bpf4e_three_product_terminal * S ((S (3)) * pa_v_bpf4e_three_product) + (r))) /\ forall pa_i_bpf4e_three_product. (exists pa_lt_bpf4e_three_product_bound. pa_lt_bpf4e_three_product_bound + S pa_i_bpf4e_three_product = 3) -> exists pa_p_bpf4e_three_product pa_r_bpf4e_three_product pa_s_bpf4e_three_product. ((((exists pa_h_bpf4e_three_product_factor. pa_h_bpf4e_three_product_factor + S (pa_p_bpf4e_three_product) = S ((S (pa_i_bpf4e_three_product)) * pa_c_bpf4e_three)) /\ exists pa_q_bpf4e_three_product_factor. pa_b_bpf4e_three = pa_q_bpf4e_three_product_factor * S ((S (pa_i_bpf4e_three_product)) * pa_c_bpf4e_three) + (pa_p_bpf4e_three_product))) /\ ((((exists pa_h_bpf4e_three_product_partial. pa_h_bpf4e_three_product_partial + S (pa_r_bpf4e_three_product) = S ((S (pa_i_bpf4e_three_product)) * pa_v_bpf4e_three_product)) /\ exists pa_q_bpf4e_three_product_partial. pa_u_bpf4e_three_product = pa_q_bpf4e_three_product_partial * S ((S (pa_i_bpf4e_three_product)) * pa_v_bpf4e_three_product) + (pa_r_bpf4e_three_product))) /\ ((((exists pa_h_bpf4e_three_product_successor. pa_h_bpf4e_three_product_successor + S (pa_s_bpf4e_three_product) = S ((S (S pa_i_bpf4e_three_product)) * pa_v_bpf4e_three_product)) /\ exists pa_q_bpf4e_three_product_successor. pa_u_bpf4e_three_product = pa_q_bpf4e_three_product_successor * S ((S (S pa_i_bpf4e_three_product)) * pa_v_bpf4e_three_product) + (pa_s_bpf4e_three_product))) /\ pa_s_bpf4e_three_product = pa_r_bpf4e_three_product * pa_p_bpf4e_three_product)))))))) /\ p = r * 4 - 0004
apply pow_successor_decompose - 0005
refl - 0006
exact hpower - 0007
cases hthree - 0008
cases hthree_witness - 0009
have htwo : exists r. (exists pa_b_bpf4e_two pa_c_bpf4e_two. ((forall pa_i_bpf4e_two_repeat. (exists pa_lt_bpf4e_two_repeat_bound. pa_lt_bpf4e_two_repeat_bound + S pa_i_bpf4e_two_repeat = 2) -> (((exists pa_h_bpf4e_two_repeat_decoded. pa_h_bpf4e_two_repeat_decoded + S (4) = S ((S (pa_i_bpf4e_two_repeat)) * pa_c_bpf4e_two)) /\ exists pa_q_bpf4e_two_repeat_decoded. pa_b_bpf4e_two = pa_q_bpf4e_two_repeat_decoded * S ((S (pa_i_bpf4e_two_repeat)) * pa_c_bpf4e_two) + (4)))) /\ (exists pa_u_bpf4e_two_product pa_v_bpf4e_two_product. ((((exists pa_h_bpf4e_two_product_start. pa_h_bpf4e_two_product_start + S (1) = S ((S (0)) * pa_v_bpf4e_two_product)) /\ exists pa_q_bpf4e_two_product_start. pa_u_bpf4e_two_product = pa_q_bpf4e_two_product_start * S ((S (0)) * pa_v_bpf4e_two_product) + (1))) /\ ((((exists pa_h_bpf4e_two_product_terminal. pa_h_bpf4e_two_product_terminal + S (r) = S ((S (2)) * pa_v_bpf4e_two_product)) /\ exists pa_q_bpf4e_two_product_terminal. pa_u_bpf4e_two_product = pa_q_bpf4e_two_product_terminal * S ((S (2)) * pa_v_bpf4e_two_product) + (r))) /\ forall pa_i_bpf4e_two_product. (exists pa_lt_bpf4e_two_product_bound. pa_lt_bpf4e_two_product_bound + S pa_i_bpf4e_two_product = 2) -> exists pa_p_bpf4e_two_product pa_r_bpf4e_two_product pa_s_bpf4e_two_product. ((((exists pa_h_bpf4e_two_product_factor. pa_h_bpf4e_two_product_factor + S (pa_p_bpf4e_two_product) = S ((S (pa_i_bpf4e_two_product)) * pa_c_bpf4e_two)) /\ exists pa_q_bpf4e_two_product_factor. pa_b_bpf4e_two = pa_q_bpf4e_two_product_factor * S ((S (pa_i_bpf4e_two_product)) * pa_c_bpf4e_two) + (pa_p_bpf4e_two_product))) /\ ((((exists pa_h_bpf4e_two_product_partial. pa_h_bpf4e_two_product_partial + S (pa_r_bpf4e_two_product) = S ((S (pa_i_bpf4e_two_product)) * pa_v_bpf4e_two_product)) /\ exists pa_q_bpf4e_two_product_partial. pa_u_bpf4e_two_product = pa_q_bpf4e_two_product_partial * S ((S (pa_i_bpf4e_two_product)) * pa_v_bpf4e_two_product) + (pa_r_bpf4e_two_product))) /\ ((((exists pa_h_bpf4e_two_product_successor. pa_h_bpf4e_two_product_successor + S (pa_s_bpf4e_two_product) = S ((S (S pa_i_bpf4e_two_product)) * pa_v_bpf4e_two_product)) /\ exists pa_q_bpf4e_two_product_successor. pa_u_bpf4e_two_product = pa_q_bpf4e_two_product_successor * S ((S (S pa_i_bpf4e_two_product)) * pa_v_bpf4e_two_product) + (pa_s_bpf4e_two_product))) /\ pa_s_bpf4e_two_product = pa_r_bpf4e_two_product * pa_p_bpf4e_two_product)))))))) /\ x = r * 4 - 0010
apply pow_successor_decompose - 0011
refl - 0012
exact hthree_witness_left - 0013
cases htwo - 0014
cases htwo_witness - 0015
have htwo_value : x1 = 4 * 4 - 0016
apply pow_two - 0017
refl - 0018
exact htwo_witness_left - 0019
rewrite hthree_witness_right - 0020
rewrite htwo_witness_right - 0021
rewrite htwo_value - 0022
refl