Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Exact expanded first-order arithmetic statement
forall p b c t l r. (~((p) = 1) /\ forall pfa_factor_left_result_bound_prime pfa_factor_right_result_bound_prime. (p) = pfa_factor_left_result_bound_prime * pfa_factor_right_result_bound_prime -> pfa_factor_left_result_bound_prime = 1 \/ pfa_factor_right_result_bound_prime = 1) -> (exists pfh_trace_code_result_bound_execution pfh_trace_scale_result_bound_execution. (((exists pfa_gap_result_bound_executiontracebase. pfa_gap_result_bound_executiontracebase + S (t) = (p)) /\ (((((exists ff_h_pfp_result_bound_executiontraceinitial. ff_h_pfp_result_bound_executiontraceinitial + S (0) = S ((S (0)) * pfh_trace_scale_result_bound_execution)) /\ exists ff_q_pfp_result_bound_executiontraceinitial. pfh_trace_code_result_bound_execution = ff_q_pfp_result_bound_executiontraceinitial * S ((S (0)) * pfh_trace_scale_result_bound_execution) + (0))) /\ (((((exists ff_h_pfp_result_bound_executiontraceterminal. ff_h_pfp_result_bound_executiontraceterminal + S (r) = S ((S (l)) * pfh_trace_scale_result_bound_execution)) /\ exists ff_q_pfp_result_bound_executiontraceterminal. pfh_trace_code_result_bound_execution = ff_q_pfp_result_bound_executiontraceterminal * S ((S (l)) * pfh_trace_scale_result_bound_execution) + (r))) /\ ((forall pfh_index_result_bound_executiontracesteps. (exists pfa_gap_result_bound_executiontracestepsindex. pfa_gap_result_bound_executiontracestepsindex + S (pfh_index_result_bound_executiontracesteps) = (l)) -> (exists pfh_coefficient_result_bound_executiontracestepsstep pfh_before_result_bound_executiontracestepsstep pfh_after_result_bound_executiontracestepsstep pfh_product_result_bound_executiontracestepsstep. ((((exists ff_h_pfp_result_bound_executiontracestepsstepcoefficient. ff_h_pfp_result_bound_executiontracestepsstepcoefficient + S (pfh_coefficient_result_bound_executiontracestepsstep) = S ((S (pfh_index_result_bound_executiontracesteps)) * c)) /\ exists ff_q_pfp_result_bound_executiontracestepsstepcoefficient. b = ff_q_pfp_result_bound_executiontracestepsstepcoefficient * S ((S (pfh_index_result_bound_executiontracesteps)) * c) + (pfh_coefficient_result_bound_executiontracestepsstep))) /\ (((((exists ff_h_pfp_result_bound_executiontracestepsstepbefore. ff_h_pfp_result_bound_executiontracestepsstepbefore + S (pfh_before_result_bound_executiontracestepsstep) = S ((S (pfh_index_result_bound_executiontracesteps)) * pfh_trace_scale_result_bound_execution)) /\ exists ff_q_pfp_result_bound_executiontracestepsstepbefore. pfh_trace_code_result_bound_execution = ff_q_pfp_result_bound_executiontracestepsstepbefore * S ((S (pfh_index_result_bound_executiontracesteps)) * pfh_trace_scale_result_bound_execution) + (pfh_before_result_bound_executiontracestepsstep))) /\ (((((exists ff_h_pfp_result_bound_executiontracestepsstepafter. ff_h_pfp_result_bound_executiontracestepsstepafter + S (pfh_after_result_bound_executiontracestepsstep) = S ((S (S (pfh_index_result_bound_executiontracesteps))) * pfh_trace_scale_result_bound_execution)) /\ exists ff_q_pfp_result_bound_executiontracestepsstepafter. pfh_trace_code_result_bound_execution = ff_q_pfp_result_bound_executiontracestepsstepafter * S ((S (S (pfh_index_result_bound_executiontracesteps))) * pfh_trace_scale_result_bound_execution) + (pfh_after_result_bound_executiontracestepsstep))) /\ (((((exists pfa_gap_result_bound_executiontracestepsstepmultiplyleft. pfa_gap_result_bound_executiontracestepsstepmultiplyleft + S (pfh_before_result_bound_executiontracestepsstep) = (p)) /\ (((exists pfa_gap_result_bound_executiontracestepsstepmultiplyright. pfa_gap_result_bound_executiontracestepsstepmultiplyright + S (t) = (p)) /\ ((((exists pfa_gap_result_bound_executiontracestepsstepmultiplyresultbound. pfa_gap_result_bound_executiontracestepsstepmultiplyresultbound + S (pfh_product_result_bound_executiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_result_bound_executiontracestepsstepmultiplyresultcongruence pfa_offset_right_result_bound_executiontracestepsstepmultiplyresultcongruence. ((pfh_before_result_bound_executiontracestepsstep) * (t)) + (p) * pfa_offset_left_result_bound_executiontracestepsstepmultiplyresultcongruence = (pfh_product_result_bound_executiontracestepsstep) + (p) * pfa_offset_right_result_bound_executiontracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_result_bound_executiontracestepsstepaddleft. pfa_gap_result_bound_executiontracestepsstepaddleft + S (pfh_product_result_bound_executiontracestepsstep) = (p)) /\ (((exists pfa_gap_result_bound_executiontracestepsstepaddright. pfa_gap_result_bound_executiontracestepsstepaddright + S (pfh_coefficient_result_bound_executiontracestepsstep) = (p)) /\ ((((exists pfa_gap_result_bound_executiontracestepsstepaddresultbound. pfa_gap_result_bound_executiontracestepsstepaddresultbound + S (pfh_after_result_bound_executiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_result_bound_executiontracestepsstepaddresultcongruence pfa_offset_right_result_bound_executiontracestepsstepaddresultcongruence. ((pfh_product_result_bound_executiontracestepsstep) + (pfh_coefficient_result_bound_executiontracestepsstep)) + (p) * pfa_offset_left_result_bound_executiontracestepsstepaddresultcongruence = (pfh_after_result_bound_executiontracestepsstep) + (p) * pfa_offset_right_result_bound_executiontracestepsstepaddresultcongruence))))))))))))))))))))))))))) -> (exists pfa_gap_result_bound. pfa_gap_result_bound + S (r) = (p))Constructive proof overview
Generated structural guide
Every genuine execution result is strictly below p, including the empty and zero-polynomial boundary cases.
The unchanged tactic script uses 2 declared prerequisites and contains 29 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_horner_eval_exists Alpha theorem; checked-use authorized PP0028 prime_field_polynomial_horner_residueDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (1)
01Fix variables and assumptionsL1–8
02Establish hnL9–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner eval exists.
03Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases hn
04Establish hrL16–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial horner residue.
- L16
have hr : ((exists pfa_gap_result_bound_residuebound. pfa_gap_result_bound_residuebound + S (r) = (p)) /\ ((exists pfa_offset_left_result_bound_residuecongruence pfa_offset_right_result_bound_residuecongruence. (x) + (p) * pfa_offset_left_result_bound_residuecongruence = (r) + (p) * pfa_offset_right_result_bound_residuecongruence))) - L17
specialize prime_field_polynomial_horner_residue (p) - L18
specialize prime_field_polynomial_horner_residue (b) - L19
specialize prime_field_polynomial_horner_residue (c) - L20
specialize prime_field_polynomial_horner_residue (t) - L21
specialize prime_field_polynomial_horner_residue (l) - L22
specialize prime_field_polynomial_horner_residue (x) - L23
specialize prime_field_polynomial_horner_residue (r) - L24
apply prime_field_polynomial_horner_residue - L25
exact hp
05Use earlier factsL26–27
06Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
cases hr
07Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
exact hr_left
Original exact command ledger · 29 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro t - 0005
intro l - 0006
intro r - 0007
intro hp - 0008
intro he - 0009
have hn : exists n. (exists ff_u_ph_pfh_result_bound_natural ff_v_ph_pfh_result_bound_natural. ((((exists fs_h_ph_pfh_result_bound_natural_body_start. fs_h_ph_pfh_result_bound_natural_body_start + S (0) = S ((S (0)) * ff_v_ph_pfh_result_bound_natural)) /\ exists fs_q_ph_pfh_result_bound_natural_body_start. ff_u_ph_pfh_result_bound_natural = fs_q_ph_pfh_result_bound_natural_body_start * S ((S (0)) * ff_v_ph_pfh_result_bound_natural) + (0))) /\ ((((exists fs_h_ph_pfh_result_bound_natural_body_terminal. fs_h_ph_pfh_result_bound_natural_body_terminal + S (n) = S ((S (l)) * ff_v_ph_pfh_result_bound_natural)) /\ exists fs_q_ph_pfh_result_bound_natural_body_terminal. ff_u_ph_pfh_result_bound_natural = fs_q_ph_pfh_result_bound_natural_body_terminal * S ((S (l)) * ff_v_ph_pfh_result_bound_natural) + (n))) /\ forall ff_i_ph_pfh_result_bound_natural_body_steps. (exists ph_bound_pfh_result_bound_natural_body_steps. ph_bound_pfh_result_bound_natural_body_steps + S ff_i_ph_pfh_result_bound_natural_body_steps = l) -> exists ff_coefficient_ph_pfh_result_bound_natural_body_steps ff_previous_ph_pfh_result_bound_natural_body_steps ff_current_ph_pfh_result_bound_natural_body_steps. ((((exists fs_h_ph_pfh_result_bound_natural_body_steps_coefficient. fs_h_ph_pfh_result_bound_natural_body_steps_coefficient + S (ff_coefficient_ph_pfh_result_bound_natural_body_steps) = S ((S (ff_i_ph_pfh_result_bound_natural_body_steps)) * c)) /\ exists fs_q_ph_pfh_result_bound_natural_body_steps_coefficient. b = fs_q_ph_pfh_result_bound_natural_body_steps_coefficient * S ((S (ff_i_ph_pfh_result_bound_natural_body_steps)) * c) + (ff_coefficient_ph_pfh_result_bound_natural_body_steps))) /\ ((((exists fs_h_ph_pfh_result_bound_natural_body_steps_before. fs_h_ph_pfh_result_bound_natural_body_steps_before + S (ff_previous_ph_pfh_result_bound_natural_body_steps) = S ((S (ff_i_ph_pfh_result_bound_natural_body_steps)) * ff_v_ph_pfh_result_bound_natural)) /\ exists fs_q_ph_pfh_result_bound_natural_body_steps_before. ff_u_ph_pfh_result_bound_natural = fs_q_ph_pfh_result_bound_natural_body_steps_before * S ((S (ff_i_ph_pfh_result_bound_natural_body_steps)) * ff_v_ph_pfh_result_bound_natural) + (ff_previous_ph_pfh_result_bound_natural_body_steps))) /\ ((((exists fs_h_ph_pfh_result_bound_natural_body_steps_after. fs_h_ph_pfh_result_bound_natural_body_steps_after + S (ff_current_ph_pfh_result_bound_natural_body_steps) = S ((S (S ff_i_ph_pfh_result_bound_natural_body_steps)) * ff_v_ph_pfh_result_bound_natural)) /\ exists fs_q_ph_pfh_result_bound_natural_body_steps_after. ff_u_ph_pfh_result_bound_natural = fs_q_ph_pfh_result_bound_natural_body_steps_after * S ((S (S ff_i_ph_pfh_result_bound_natural_body_steps)) * ff_v_ph_pfh_result_bound_natural) + (ff_current_ph_pfh_result_bound_natural_body_steps))) /\ ff_current_ph_pfh_result_bound_natural_body_steps = ff_previous_ph_pfh_result_bound_natural_body_steps * t + ff_coefficient_ph_pfh_result_bound_natural_body_steps)))))) - 0010
specialize beta_horner_eval_exists (b) - 0011
specialize beta_horner_eval_exists (c) - 0012
specialize beta_horner_eval_exists (t) - 0013
specialize beta_horner_eval_exists (l) - 0014
apply beta_horner_eval_exists - 0015
cases hn - 0016
have hr : ((exists pfa_gap_result_bound_residuebound. pfa_gap_result_bound_residuebound + S (r) = (p)) /\ ((exists pfa_offset_left_result_bound_residuecongruence pfa_offset_right_result_bound_residuecongruence. (x) + (p) * pfa_offset_left_result_bound_residuecongruence = (r) + (p) * pfa_offset_right_result_bound_residuecongruence))) - 0017
specialize prime_field_polynomial_horner_residue (p) - 0018
specialize prime_field_polynomial_horner_residue (b) - 0019
specialize prime_field_polynomial_horner_residue (c) - 0020
specialize prime_field_polynomial_horner_residue (t) - 0021
specialize prime_field_polynomial_horner_residue (l) - 0022
specialize prime_field_polynomial_horner_residue (x) - 0023
specialize prime_field_polynomial_horner_residue (r) - 0024
apply prime_field_polynomial_horner_residue - 0025
exact hp - 0026
exact hn_witness - 0027
exact he - 0028
cases hr - 0029
exact hr_left