Exact expanded PA statement
forall a z e n. z = 0 -> e = S z -> (exists ff_b_one_carrier ff_c_one_carrier. ((forall ff_i_one_carrier_repeat. (exists ff_lt_one_carrier_repeat_bound. ff_lt_one_carrier_repeat_bound + S ff_i_one_carrier_repeat = e) -> (((exists ff_h_one_carrier_repeat_decoded. ff_h_one_carrier_repeat_decoded + S (a) = S ((S (ff_i_one_carrier_repeat)) * ff_c_one_carrier)) /\ exists ff_q_one_carrier_repeat_decoded. ff_b_one_carrier = ff_q_one_carrier_repeat_decoded * S ((S (ff_i_one_carrier_repeat)) * ff_c_one_carrier) + (a)))) /\ (exists ff_u_one_carrier_product ff_v_one_carrier_product. ((((exists ff_h_one_carrier_product_start. ff_h_one_carrier_product_start + S (1) = S ((S (0)) * ff_v_one_carrier_product)) /\ exists ff_q_one_carrier_product_start. ff_u_one_carrier_product = ff_q_one_carrier_product_start * S ((S (0)) * ff_v_one_carrier_product) + (1))) /\ ((((exists ff_h_one_carrier_product_terminal. ff_h_one_carrier_product_terminal + S (n) = S ((S (e)) * ff_v_one_carrier_product)) /\ exists ff_q_one_carrier_product_terminal. ff_u_one_carrier_product = ff_q_one_carrier_product_terminal * S ((S (e)) * ff_v_one_carrier_product) + (n))) /\ forall ff_i_one_carrier_product. (exists ff_lt_one_carrier_product_bound. ff_lt_one_carrier_product_bound + S ff_i_one_carrier_product = e) -> exists ff_p_one_carrier_product ff_r_one_carrier_product ff_s_one_carrier_product. ((((exists ff_h_one_carrier_product_factor. ff_h_one_carrier_product_factor + S (ff_p_one_carrier_product) = S ((S (ff_i_one_carrier_product)) * ff_c_one_carrier)) /\ exists ff_q_one_carrier_product_factor. ff_b_one_carrier = ff_q_one_carrier_product_factor * S ((S (ff_i_one_carrier_product)) * ff_c_one_carrier) + (ff_p_one_carrier_product))) /\ ((((exists ff_h_one_carrier_product_partial. ff_h_one_carrier_product_partial + S (ff_r_one_carrier_product) = S ((S (ff_i_one_carrier_product)) * ff_v_one_carrier_product)) /\ exists ff_q_one_carrier_product_partial. ff_u_one_carrier_product = ff_q_one_carrier_product_partial * S ((S (ff_i_one_carrier_product)) * ff_v_one_carrier_product) + (ff_r_one_carrier_product))) /\ ((((exists ff_h_one_carrier_product_successor. ff_h_one_carrier_product_successor + S (ff_s_one_carrier_product) = S ((S (S ff_i_one_carrier_product)) * ff_v_one_carrier_product)) /\ exists ff_q_one_carrier_product_successor. ff_u_one_carrier_product = ff_q_one_carrier_product_successor * S ((S (S ff_i_one_carrier_product)) * ff_v_one_carrier_product) + (ff_s_one_carrier_product))) /\ ff_s_one_carrier_product = ff_r_one_carrier_product * ff_p_one_carrier_product)))))))) -> n = aStructural proof guide
A successor of a zero exponent gives the relational first power.
Direct prerequisites: pow_successor_decompose, pow_zero, one_mul. The authored body proceeds by case analysis (2), intermediate claims (2), equality transport (1).
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 a - 0002
intro z - 0003
intro e - 0004
intro n - 0005
intro hz - 0006
intro he - 0007
intro hpow - 0008
have hstep : exists r. (exists ff_b_one_predecessor ff_c_one_predecessor. ((forall ff_i_one_predecessor_repeat. (exists ff_lt_one_predecessor_repeat_bound. ff_lt_one_predecessor_repeat_bound + S ff_i_one_predecessor_repeat = z) -> (((exists ff_h_one_predecessor_repeat_decoded. ff_h_one_predecessor_repeat_decoded + S (a) = S ((S (ff_i_one_predecessor_repeat)) * ff_c_one_predecessor)) /\ exists ff_q_one_predecessor_repeat_decoded. ff_b_one_predecessor = ff_q_one_predecessor_repeat_decoded * S ((S (ff_i_one_predecessor_repeat)) * ff_c_one_predecessor) + (a)))) /\ (exists ff_u_one_predecessor_product ff_v_one_predecessor_product. ((((exists ff_h_one_predecessor_product_start. ff_h_one_predecessor_product_start + S (1) = S ((S (0)) * ff_v_one_predecessor_product)) /\ exists ff_q_one_predecessor_product_start. ff_u_one_predecessor_product = ff_q_one_predecessor_product_start * S ((S (0)) * ff_v_one_predecessor_product) + (1))) /\ ((((exists ff_h_one_predecessor_product_terminal. ff_h_one_predecessor_product_terminal + S (r) = S ((S (z)) * ff_v_one_predecessor_product)) /\ exists ff_q_one_predecessor_product_terminal. ff_u_one_predecessor_product = ff_q_one_predecessor_product_terminal * S ((S (z)) * ff_v_one_predecessor_product) + (r))) /\ forall ff_i_one_predecessor_product. (exists ff_lt_one_predecessor_product_bound. ff_lt_one_predecessor_product_bound + S ff_i_one_predecessor_product = z) -> exists ff_p_one_predecessor_product ff_r_one_predecessor_product ff_s_one_predecessor_product. ((((exists ff_h_one_predecessor_product_factor. ff_h_one_predecessor_product_factor + S (ff_p_one_predecessor_product) = S ((S (ff_i_one_predecessor_product)) * ff_c_one_predecessor)) /\ exists ff_q_one_predecessor_product_factor. ff_b_one_predecessor = ff_q_one_predecessor_product_factor * S ((S (ff_i_one_predecessor_product)) * ff_c_one_predecessor) + (ff_p_one_predecessor_product))) /\ ((((exists ff_h_one_predecessor_product_partial. ff_h_one_predecessor_product_partial + S (ff_r_one_predecessor_product) = S ((S (ff_i_one_predecessor_product)) * ff_v_one_predecessor_product)) /\ exists ff_q_one_predecessor_product_partial. ff_u_one_predecessor_product = ff_q_one_predecessor_product_partial * S ((S (ff_i_one_predecessor_product)) * ff_v_one_predecessor_product) + (ff_r_one_predecessor_product))) /\ ((((exists ff_h_one_predecessor_product_successor. ff_h_one_predecessor_product_successor + S (ff_s_one_predecessor_product) = S ((S (S ff_i_one_predecessor_product)) * ff_v_one_predecessor_product)) /\ exists ff_q_one_predecessor_product_successor. ff_u_one_predecessor_product = ff_q_one_predecessor_product_successor * S ((S (S ff_i_one_predecessor_product)) * ff_v_one_predecessor_product) + (ff_s_one_predecessor_product))) /\ ff_s_one_predecessor_product = ff_r_one_predecessor_product * ff_p_one_predecessor_product)))))))) /\ n = r * a - 0009
specialize pow_successor_decompose a - 0010
specialize pow_successor_decompose z - 0011
specialize pow_successor_decompose e - 0012
specialize pow_successor_decompose n - 0013
apply pow_successor_decompose - 0014
exact he - 0015
exact hpow - 0016
cases hstep - 0017
cases hstep_witness - 0018
have hr : x = 1 - 0019
specialize pow_zero a - 0020
specialize pow_zero z - 0021
specialize pow_zero x - 0022
apply pow_zero - 0023
exact hz - 0024
exact hstep_witness_left - 0025
trans x * a - 0026
exact hstep_witness_right - 0027
rewrite hr - 0028
specialize one_mul a - 0029
exact one_mul