Exact expanded PA statement
forall p e f s a b. s = e + f -> (exists bpv_result_add_mul_left. ((exists ff_b_add_mul_left_power ff_c_add_mul_left_power. ((forall ff_i_add_mul_left_power_repeat. (exists ff_lt_add_mul_left_power_repeat_bound. ff_lt_add_mul_left_power_repeat_bound + S ff_i_add_mul_left_power_repeat = e) -> (((exists ff_h_add_mul_left_power_repeat_decoded. ff_h_add_mul_left_power_repeat_decoded + S (p) = S ((S (ff_i_add_mul_left_power_repeat)) * ff_c_add_mul_left_power)) /\ exists ff_q_add_mul_left_power_repeat_decoded. ff_b_add_mul_left_power = ff_q_add_mul_left_power_repeat_decoded * S ((S (ff_i_add_mul_left_power_repeat)) * ff_c_add_mul_left_power) + (p)))) /\ (exists ff_u_add_mul_left_power_product ff_v_add_mul_left_power_product. ((((exists ff_h_add_mul_left_power_product_start. ff_h_add_mul_left_power_product_start + S (1) = S ((S (0)) * ff_v_add_mul_left_power_product)) /\ exists ff_q_add_mul_left_power_product_start. ff_u_add_mul_left_power_product = ff_q_add_mul_left_power_product_start * S ((S (0)) * ff_v_add_mul_left_power_product) + (1))) /\ ((((exists ff_h_add_mul_left_power_product_terminal. ff_h_add_mul_left_power_product_terminal + S (bpv_result_add_mul_left) = S ((S (e)) * ff_v_add_mul_left_power_product)) /\ exists ff_q_add_mul_left_power_product_terminal. ff_u_add_mul_left_power_product = ff_q_add_mul_left_power_product_terminal * S ((S (e)) * ff_v_add_mul_left_power_product) + (bpv_result_add_mul_left))) /\ forall ff_i_add_mul_left_power_product. (exists ff_lt_add_mul_left_power_product_bound. ff_lt_add_mul_left_power_product_bound + S ff_i_add_mul_left_power_product = e) -> exists ff_p_add_mul_left_power_product ff_r_add_mul_left_power_product ff_s_add_mul_left_power_product. ((((exists ff_h_add_mul_left_power_product_factor. ff_h_add_mul_left_power_product_factor + S (ff_p_add_mul_left_power_product) = S ((S (ff_i_add_mul_left_power_product)) * ff_c_add_mul_left_power)) /\ exists ff_q_add_mul_left_power_product_factor. ff_b_add_mul_left_power = ff_q_add_mul_left_power_product_factor * S ((S (ff_i_add_mul_left_power_product)) * ff_c_add_mul_left_power) + (ff_p_add_mul_left_power_product))) /\ ((((exists ff_h_add_mul_left_power_product_partial. ff_h_add_mul_left_power_product_partial + S (ff_r_add_mul_left_power_product) = S ((S (ff_i_add_mul_left_power_product)) * ff_v_add_mul_left_power_product)) /\ exists ff_q_add_mul_left_power_product_partial. ff_u_add_mul_left_power_product = ff_q_add_mul_left_power_product_partial * S ((S (ff_i_add_mul_left_power_product)) * ff_v_add_mul_left_power_product) + (ff_r_add_mul_left_power_product))) /\ ((((exists ff_h_add_mul_left_power_product_successor. ff_h_add_mul_left_power_product_successor + S (ff_s_add_mul_left_power_product) = S ((S (S ff_i_add_mul_left_power_product)) * ff_v_add_mul_left_power_product)) /\ exists ff_q_add_mul_left_power_product_successor. ff_u_add_mul_left_power_product = ff_q_add_mul_left_power_product_successor * S ((S (S ff_i_add_mul_left_power_product)) * ff_v_add_mul_left_power_product) + (ff_s_add_mul_left_power_product))) /\ ff_s_add_mul_left_power_product = ff_r_add_mul_left_power_product * ff_p_add_mul_left_power_product)))))))) /\ (exists bpv_factor_add_mul_left_divides. a = bpv_result_add_mul_left * bpv_factor_add_mul_left_divides))) -> (exists bpv_result_add_mul_right. ((exists ff_b_add_mul_right_power ff_c_add_mul_right_power. ((forall ff_i_add_mul_right_power_repeat. (exists ff_lt_add_mul_right_power_repeat_bound. ff_lt_add_mul_right_power_repeat_bound + S ff_i_add_mul_right_power_repeat = f) -> (((exists ff_h_add_mul_right_power_repeat_decoded. ff_h_add_mul_right_power_repeat_decoded + S (p) = S ((S (ff_i_add_mul_right_power_repeat)) * ff_c_add_mul_right_power)) /\ exists ff_q_add_mul_right_power_repeat_decoded. ff_b_add_mul_right_power = ff_q_add_mul_right_power_repeat_decoded * S ((S (ff_i_add_mul_right_power_repeat)) * ff_c_add_mul_right_power) + (p)))) /\ (exists ff_u_add_mul_right_power_product ff_v_add_mul_right_power_product. ((((exists ff_h_add_mul_right_power_product_start. ff_h_add_mul_right_power_product_start + S (1) = S ((S (0)) * ff_v_add_mul_right_power_product)) /\ exists ff_q_add_mul_right_power_product_start. ff_u_add_mul_right_power_product = ff_q_add_mul_right_power_product_start * S ((S (0)) * ff_v_add_mul_right_power_product) + (1))) /\ ((((exists ff_h_add_mul_right_power_product_terminal. ff_h_add_mul_right_power_product_terminal + S (bpv_result_add_mul_right) = S ((S (f)) * ff_v_add_mul_right_power_product)) /\ exists ff_q_add_mul_right_power_product_terminal. ff_u_add_mul_right_power_product = ff_q_add_mul_right_power_product_terminal * S ((S (f)) * ff_v_add_mul_right_power_product) + (bpv_result_add_mul_right))) /\ forall ff_i_add_mul_right_power_product. (exists ff_lt_add_mul_right_power_product_bound. ff_lt_add_mul_right_power_product_bound + S ff_i_add_mul_right_power_product = f) -> exists ff_p_add_mul_right_power_product ff_r_add_mul_right_power_product ff_s_add_mul_right_power_product. ((((exists ff_h_add_mul_right_power_product_factor. ff_h_add_mul_right_power_product_factor + S (ff_p_add_mul_right_power_product) = S ((S (ff_i_add_mul_right_power_product)) * ff_c_add_mul_right_power)) /\ exists ff_q_add_mul_right_power_product_factor. ff_b_add_mul_right_power = ff_q_add_mul_right_power_product_factor * S ((S (ff_i_add_mul_right_power_product)) * ff_c_add_mul_right_power) + (ff_p_add_mul_right_power_product))) /\ ((((exists ff_h_add_mul_right_power_product_partial. ff_h_add_mul_right_power_product_partial + S (ff_r_add_mul_right_power_product) = S ((S (ff_i_add_mul_right_power_product)) * ff_v_add_mul_right_power_product)) /\ exists ff_q_add_mul_right_power_product_partial. ff_u_add_mul_right_power_product = ff_q_add_mul_right_power_product_partial * S ((S (ff_i_add_mul_right_power_product)) * ff_v_add_mul_right_power_product) + (ff_r_add_mul_right_power_product))) /\ ((((exists ff_h_add_mul_right_power_product_successor. ff_h_add_mul_right_power_product_successor + S (ff_s_add_mul_right_power_product) = S ((S (S ff_i_add_mul_right_power_product)) * ff_v_add_mul_right_power_product)) /\ exists ff_q_add_mul_right_power_product_successor. ff_u_add_mul_right_power_product = ff_q_add_mul_right_power_product_successor * S ((S (S ff_i_add_mul_right_power_product)) * ff_v_add_mul_right_power_product) + (ff_s_add_mul_right_power_product))) /\ ff_s_add_mul_right_power_product = ff_r_add_mul_right_power_product * ff_p_add_mul_right_power_product)))))))) /\ (exists bpv_factor_add_mul_right_divides. b = bpv_result_add_mul_right * bpv_factor_add_mul_right_divides))) -> (exists bpvi_result_add_mul_result. ((exists bpvi_b_add_mul_result_power bpvi_c_add_mul_result_power. ((forall bpvi_i_add_mul_result_power. (exists bpvi_repeat_gap_add_mul_result_power. bpvi_repeat_gap_add_mul_result_power + S bpvi_i_add_mul_result_power = s) -> (((exists bpvi_h_add_mul_result_power_repeat. bpvi_h_add_mul_result_power_repeat + S (p) = S ((S (bpvi_i_add_mul_result_power)) * bpvi_c_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_repeat. bpvi_b_add_mul_result_power = bpvi_q_add_mul_result_power_repeat * S ((S (bpvi_i_add_mul_result_power)) * bpvi_c_add_mul_result_power) + (p)))) /\ (exists bpvi_u_add_mul_result_power bpvi_v_add_mul_result_power. ((((exists bpvi_h_add_mul_result_power_start. bpvi_h_add_mul_result_power_start + S (1) = S ((S (0)) * bpvi_v_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_start. bpvi_u_add_mul_result_power = bpvi_q_add_mul_result_power_start * S ((S (0)) * bpvi_v_add_mul_result_power) + (1))) /\ ((((exists bpvi_h_add_mul_result_power_terminal. bpvi_h_add_mul_result_power_terminal + S (bpvi_result_add_mul_result) = S ((S (s)) * bpvi_v_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_terminal. bpvi_u_add_mul_result_power = bpvi_q_add_mul_result_power_terminal * S ((S (s)) * bpvi_v_add_mul_result_power) + (bpvi_result_add_mul_result))) /\ forall bpvi_j_add_mul_result_power. (exists bpvi_product_gap_add_mul_result_power. bpvi_product_gap_add_mul_result_power + S bpvi_j_add_mul_result_power = s) -> exists bpvi_factor_add_mul_result_power bpvi_partial_add_mul_result_power bpvi_successor_add_mul_result_power. ((((exists bpvi_h_add_mul_result_power_factor. bpvi_h_add_mul_result_power_factor + S (bpvi_factor_add_mul_result_power) = S ((S (bpvi_j_add_mul_result_power)) * bpvi_c_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_factor. bpvi_b_add_mul_result_power = bpvi_q_add_mul_result_power_factor * S ((S (bpvi_j_add_mul_result_power)) * bpvi_c_add_mul_result_power) + (bpvi_factor_add_mul_result_power))) /\ ((((exists bpvi_h_add_mul_result_power_partial. bpvi_h_add_mul_result_power_partial + S (bpvi_partial_add_mul_result_power) = S ((S (bpvi_j_add_mul_result_power)) * bpvi_v_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_partial. bpvi_u_add_mul_result_power = bpvi_q_add_mul_result_power_partial * S ((S (bpvi_j_add_mul_result_power)) * bpvi_v_add_mul_result_power) + (bpvi_partial_add_mul_result_power))) /\ ((((exists bpvi_h_add_mul_result_power_successor. bpvi_h_add_mul_result_power_successor + S (bpvi_successor_add_mul_result_power) = S ((S (S bpvi_j_add_mul_result_power)) * bpvi_v_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_successor. bpvi_u_add_mul_result_power = bpvi_q_add_mul_result_power_successor * S ((S (S bpvi_j_add_mul_result_power)) * bpvi_v_add_mul_result_power) + (bpvi_successor_add_mul_result_power))) /\ bpvi_successor_add_mul_result_power = bpvi_partial_add_mul_result_power * bpvi_factor_add_mul_result_power)))))))) /\ exists bpvi_divisor_factor_add_mul_result. a * b = bpvi_result_add_mul_result * bpvi_divisor_factor_add_mul_result))Structural proof guide
Multiplying power divisors adds their exponents.
Direct prerequisites: pow_exists, pow_add, mul_shuffle_four. The authored body proceeds by case analysis (7), intermediate claims (2).
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 e - 0003
intro f - 0004
intro s - 0005
intro a - 0006
intro b - 0007
intro hsum - 0008
intro hleft - 0009
intro hright - 0010
cases hleft - 0011
cases hleft_witness - 0012
cases hleft_witness_right - 0013
cases hright - 0014
cases hright_witness - 0015
cases hright_witness_right - 0016
have htotal : exists r. (exists ff_b_bpd_add_mul_total_witness ff_c_bpd_add_mul_total_witness. ((forall ff_i_bpd_add_mul_total_witness_repeat. (exists ff_lt_bpd_add_mul_total_witness_repeat_bound. ff_lt_bpd_add_mul_total_witness_repeat_bound + S ff_i_bpd_add_mul_total_witness_repeat = s) -> (((exists ff_h_bpd_add_mul_total_witness_repeat_decoded. ff_h_bpd_add_mul_total_witness_repeat_decoded + S (p) = S ((S (ff_i_bpd_add_mul_total_witness_repeat)) * ff_c_bpd_add_mul_total_witness)) /\ exists ff_q_bpd_add_mul_total_witness_repeat_decoded. ff_b_bpd_add_mul_total_witness = ff_q_bpd_add_mul_total_witness_repeat_decoded * S ((S (ff_i_bpd_add_mul_total_witness_repeat)) * ff_c_bpd_add_mul_total_witness) + (p)))) /\ (exists ff_u_bpd_add_mul_total_witness_product ff_v_bpd_add_mul_total_witness_product. ((((exists ff_h_bpd_add_mul_total_witness_product_start. ff_h_bpd_add_mul_total_witness_product_start + S (1) = S ((S (0)) * ff_v_bpd_add_mul_total_witness_product)) /\ exists ff_q_bpd_add_mul_total_witness_product_start. ff_u_bpd_add_mul_total_witness_product = ff_q_bpd_add_mul_total_witness_product_start * S ((S (0)) * ff_v_bpd_add_mul_total_witness_product) + (1))) /\ ((((exists ff_h_bpd_add_mul_total_witness_product_terminal. ff_h_bpd_add_mul_total_witness_product_terminal + S (r) = S ((S (s)) * ff_v_bpd_add_mul_total_witness_product)) /\ exists ff_q_bpd_add_mul_total_witness_product_terminal. ff_u_bpd_add_mul_total_witness_product = ff_q_bpd_add_mul_total_witness_product_terminal * S ((S (s)) * ff_v_bpd_add_mul_total_witness_product) + (r))) /\ forall ff_i_bpd_add_mul_total_witness_product. (exists ff_lt_bpd_add_mul_total_witness_product_bound. ff_lt_bpd_add_mul_total_witness_product_bound + S ff_i_bpd_add_mul_total_witness_product = s) -> exists ff_p_bpd_add_mul_total_witness_product ff_r_bpd_add_mul_total_witness_product ff_s_bpd_add_mul_total_witness_product. ((((exists ff_h_bpd_add_mul_total_witness_product_factor. ff_h_bpd_add_mul_total_witness_product_factor + S (ff_p_bpd_add_mul_total_witness_product) = S ((S (ff_i_bpd_add_mul_total_witness_product)) * ff_c_bpd_add_mul_total_witness)) /\ exists ff_q_bpd_add_mul_total_witness_product_factor. ff_b_bpd_add_mul_total_witness = ff_q_bpd_add_mul_total_witness_product_factor * S ((S (ff_i_bpd_add_mul_total_witness_product)) * ff_c_bpd_add_mul_total_witness) + (ff_p_bpd_add_mul_total_witness_product))) /\ ((((exists ff_h_bpd_add_mul_total_witness_product_partial. ff_h_bpd_add_mul_total_witness_product_partial + S (ff_r_bpd_add_mul_total_witness_product) = S ((S (ff_i_bpd_add_mul_total_witness_product)) * ff_v_bpd_add_mul_total_witness_product)) /\ exists ff_q_bpd_add_mul_total_witness_product_partial. ff_u_bpd_add_mul_total_witness_product = ff_q_bpd_add_mul_total_witness_product_partial * S ((S (ff_i_bpd_add_mul_total_witness_product)) * ff_v_bpd_add_mul_total_witness_product) + (ff_r_bpd_add_mul_total_witness_product))) /\ ((((exists ff_h_bpd_add_mul_total_witness_product_successor. ff_h_bpd_add_mul_total_witness_product_successor + S (ff_s_bpd_add_mul_total_witness_product) = S ((S (S ff_i_bpd_add_mul_total_witness_product)) * ff_v_bpd_add_mul_total_witness_product)) /\ exists ff_q_bpd_add_mul_total_witness_product_successor. ff_u_bpd_add_mul_total_witness_product = ff_q_bpd_add_mul_total_witness_product_successor * S ((S (S ff_i_bpd_add_mul_total_witness_product)) * ff_v_bpd_add_mul_total_witness_product) + (ff_s_bpd_add_mul_total_witness_product))) /\ ff_s_bpd_add_mul_total_witness_product = ff_r_bpd_add_mul_total_witness_product * ff_p_bpd_add_mul_total_witness_product)))))))) - 0017
specialize pow_exists p - 0018
specialize pow_exists s - 0019
exact pow_exists - 0020
cases htotal - 0021
have hpower_product : x4 = x * x2 - 0022
specialize pow_add p - 0023
specialize pow_add e - 0024
specialize pow_add f - 0025
specialize pow_add s - 0026
specialize pow_add x - 0027
specialize pow_add x2 - 0028
specialize pow_add x4 - 0029
apply pow_add - 0030
exact hsum - 0031
exact hleft_witness_left - 0032
exact hright_witness_left - 0033
exact htotal_witness - 0034
exists x4 - 0035
split - 0036
exact htotal_witness - 0037
exists x1 * x3 - 0038
trans (x * x1) * (x2 * x3) - 0039
congr - 0040
exact hleft_witness_right_witness - 0041
exact hright_witness_right_witness - 0042
trans (x * x2) * (x1 * x3) - 0043
apply mul_shuffle_four - 0044
congr - 0045
symm - 0046
exact hpower_product - 0047
refl