Exact expanded first-order arithmetic statement
forall p b c t a. (~((p) = 1) /\ forall pfa_factor_left_constant_prime pfa_factor_right_constant_prime. (p) = pfa_factor_left_constant_prime * pfa_factor_right_constant_prime -> pfa_factor_left_constant_prime = 1 \/ pfa_factor_right_constant_prime = 1) -> (exists pfa_gap_constant_base. pfa_gap_constant_base + S (t) = (p)) -> (exists pfa_gap_constant_value. pfa_gap_constant_value + S (a) = (p)) -> (((exists ff_h_pfp_constant_coefficient. ff_h_pfp_constant_coefficient + S (a) = S ((S (0)) * c)) /\ exists ff_q_pfp_constant_coefficient. b = ff_q_pfp_constant_coefficient * S ((S (0)) * c) + (a))) -> (exists pfh_trace_code_constant_execution pfh_trace_scale_constant_execution. (((exists pfa_gap_constant_executiontracebase. pfa_gap_constant_executiontracebase + S (t) = (p)) /\ (((((exists ff_h_pfp_constant_executiontraceinitial. ff_h_pfp_constant_executiontraceinitial + S (0) = S ((S (0)) * pfh_trace_scale_constant_execution)) /\ exists ff_q_pfp_constant_executiontraceinitial. pfh_trace_code_constant_execution = ff_q_pfp_constant_executiontraceinitial * S ((S (0)) * pfh_trace_scale_constant_execution) + (0))) /\ (((((exists ff_h_pfp_constant_executiontraceterminal. ff_h_pfp_constant_executiontraceterminal + S (a) = S ((S (1)) * pfh_trace_scale_constant_execution)) /\ exists ff_q_pfp_constant_executiontraceterminal. pfh_trace_code_constant_execution = ff_q_pfp_constant_executiontraceterminal * S ((S (1)) * pfh_trace_scale_constant_execution) + (a))) /\ ((forall pfh_index_constant_executiontracesteps. (exists pfa_gap_constant_executiontracestepsindex. pfa_gap_constant_executiontracestepsindex + S (pfh_index_constant_executiontracesteps) = (1)) -> (exists pfh_coefficient_constant_executiontracestepsstep pfh_before_constant_executiontracestepsstep pfh_after_constant_executiontracestepsstep pfh_product_constant_executiontracestepsstep. ((((exists ff_h_pfp_constant_executiontracestepsstepcoefficient. ff_h_pfp_constant_executiontracestepsstepcoefficient + S (pfh_coefficient_constant_executiontracestepsstep) = S ((S (pfh_index_constant_executiontracesteps)) * c)) /\ exists ff_q_pfp_constant_executiontracestepsstepcoefficient. b = ff_q_pfp_constant_executiontracestepsstepcoefficient * S ((S (pfh_index_constant_executiontracesteps)) * c) + (pfh_coefficient_constant_executiontracestepsstep))) /\ (((((exists ff_h_pfp_constant_executiontracestepsstepbefore. ff_h_pfp_constant_executiontracestepsstepbefore + S (pfh_before_constant_executiontracestepsstep) = S ((S (pfh_index_constant_executiontracesteps)) * pfh_trace_scale_constant_execution)) /\ exists ff_q_pfp_constant_executiontracestepsstepbefore. pfh_trace_code_constant_execution = ff_q_pfp_constant_executiontracestepsstepbefore * S ((S (pfh_index_constant_executiontracesteps)) * pfh_trace_scale_constant_execution) + (pfh_before_constant_executiontracestepsstep))) /\ (((((exists ff_h_pfp_constant_executiontracestepsstepafter. ff_h_pfp_constant_executiontracestepsstepafter + S (pfh_after_constant_executiontracestepsstep) = S ((S (S (pfh_index_constant_executiontracesteps))) * pfh_trace_scale_constant_execution)) /\ exists ff_q_pfp_constant_executiontracestepsstepafter. pfh_trace_code_constant_execution = ff_q_pfp_constant_executiontracestepsstepafter * S ((S (S (pfh_index_constant_executiontracesteps))) * pfh_trace_scale_constant_execution) + (pfh_after_constant_executiontracestepsstep))) /\ (((((exists pfa_gap_constant_executiontracestepsstepmultiplyleft. pfa_gap_constant_executiontracestepsstepmultiplyleft + S (pfh_before_constant_executiontracestepsstep) = (p)) /\ (((exists pfa_gap_constant_executiontracestepsstepmultiplyright. pfa_gap_constant_executiontracestepsstepmultiplyright + S (t) = (p)) /\ ((((exists pfa_gap_constant_executiontracestepsstepmultiplyresultbound. pfa_gap_constant_executiontracestepsstepmultiplyresultbound + S (pfh_product_constant_executiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_constant_executiontracestepsstepmultiplyresultcongruence pfa_offset_right_constant_executiontracestepsstepmultiplyresultcongruence. ((pfh_before_constant_executiontracestepsstep) * (t)) + (p) * pfa_offset_left_constant_executiontracestepsstepmultiplyresultcongruence = (pfh_product_constant_executiontracestepsstep) + (p) * pfa_offset_right_constant_executiontracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_constant_executiontracestepsstepaddleft. pfa_gap_constant_executiontracestepsstepaddleft + S (pfh_product_constant_executiontracestepsstep) = (p)) /\ (((exists pfa_gap_constant_executiontracestepsstepaddright. pfa_gap_constant_executiontracestepsstepaddright + S (pfh_coefficient_constant_executiontracestepsstep) = (p)) /\ ((((exists pfa_gap_constant_executiontracestepsstepaddresultbound. pfa_gap_constant_executiontracestepsstepaddresultbound + S (pfh_after_constant_executiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_constant_executiontracestepsstepaddresultcongruence pfa_offset_right_constant_executiontracestepsstepaddresultcongruence. ((pfh_product_constant_executiontracestepsstep) + (pfh_coefficient_constant_executiontracestepsstep)) + (p) * pfa_offset_left_constant_executiontracestepsstepaddresultcongruence = (pfh_after_constant_executiontracestepsstep) + (p) * pfa_offset_right_constant_executiontracestepsstepaddresultcongruence)))))))))))))))))))))))))))Constructive proof overview
Generated structural guide
A one-coefficient prefix evaluates to that actual constant, including zero and characteristic two.
The unchanged tactic script uses 4 declared prerequisites and contains 38 exact native proof lines.
Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; not Stable
Proof neighborhood
Direct dependencies
PP002C prime_field_polynomial_horner_successor_construct PP002B prime_field_polynomial_horner_empty_construct prime_field_multiply_zero_left external actual_inherited_body_freshly_checked_in_complete_bundle; no checked-use authority prime_field_add_zero_left external actual_inherited_body_freshly_checked_in_complete_bundle; no checked-use authorityDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. The literal dependency-closed bundle is checked by original HA and the independently compiled Lean verifier. Public delivery grants no Alpha checked-use authority or 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 (2)
01Fix variables and assumptionsL1–9
02Use earlier factsL10–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L10
specialize prime_field_polynomial_horner_successor_construct (p) - L11
specialize prime_field_polynomial_horner_successor_construct (b) - L12
specialize prime_field_polynomial_horner_successor_construct (c) - L13
specialize prime_field_polynomial_horner_successor_construct (t) - L14
specialize prime_field_polynomial_horner_successor_construct (0) - L15
specialize prime_field_polynomial_horner_successor_construct (a) - L16
specialize prime_field_polynomial_horner_successor_construct (0) - L17
specialize prime_field_polynomial_horner_successor_construct (0) - L18
specialize prime_field_polynomial_horner_successor_construct (a) - L19
apply prime_field_polynomial_horner_successor_construct
03Use earlier factsL20–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
exact hp - L21
exact hentry - L22
specialize prime_field_polynomial_horner_empty_construct (p) - L23
specialize prime_field_polynomial_horner_empty_construct (b) - L24
specialize prime_field_polynomial_horner_empty_construct (c) - L25
specialize prime_field_polynomial_horner_empty_construct (t) - L26
apply prime_field_polynomial_horner_empty_construct - L27
exact hp - L28
exact ht - L29
specialize prime_field_multiply_zero_left (p)
04Use earlier factsL30–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 38 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro t - 0005
intro a - 0006
intro hp - 0007
intro ht - 0008
intro ha - 0009
intro hentry - 0010
specialize prime_field_polynomial_horner_successor_construct (p) - 0011
specialize prime_field_polynomial_horner_successor_construct (b) - 0012
specialize prime_field_polynomial_horner_successor_construct (c) - 0013
specialize prime_field_polynomial_horner_successor_construct (t) - 0014
specialize prime_field_polynomial_horner_successor_construct (0) - 0015
specialize prime_field_polynomial_horner_successor_construct (a) - 0016
specialize prime_field_polynomial_horner_successor_construct (0) - 0017
specialize prime_field_polynomial_horner_successor_construct (0) - 0018
specialize prime_field_polynomial_horner_successor_construct (a) - 0019
apply prime_field_polynomial_horner_successor_construct - 0020
exact hp - 0021
exact hentry - 0022
specialize prime_field_polynomial_horner_empty_construct (p) - 0023
specialize prime_field_polynomial_horner_empty_construct (b) - 0024
specialize prime_field_polynomial_horner_empty_construct (c) - 0025
specialize prime_field_polynomial_horner_empty_construct (t) - 0026
apply prime_field_polynomial_horner_empty_construct - 0027
exact hp - 0028
exact ht - 0029
specialize prime_field_multiply_zero_left (p) - 0030
specialize prime_field_multiply_zero_left (t) - 0031
apply prime_field_multiply_zero_left - 0032
exact hp - 0033
exact ht - 0034
specialize prime_field_add_zero_left (p) - 0035
specialize prime_field_add_zero_left (a) - 0036
apply prime_field_add_zero_left - 0037
exact hp - 0038
exact ha