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 a l r u v n h. (((exists pfa_gap_prefix_tracebase. pfa_gap_prefix_tracebase + S (a) = (p)) /\ (((((exists ff_h_pfp_prefix_traceinitial. ff_h_pfp_prefix_traceinitial + S (0) = S ((S (0)) * v)) /\ exists ff_q_pfp_prefix_traceinitial. u = ff_q_pfp_prefix_traceinitial * S ((S (0)) * v) + (0))) /\ (((((exists ff_h_pfp_prefix_traceterminal. ff_h_pfp_prefix_traceterminal + S (r) = S ((S (l)) * v)) /\ exists ff_q_pfp_prefix_traceterminal. u = ff_q_pfp_prefix_traceterminal * S ((S (l)) * v) + (r))) /\ ((forall pfh_index_prefix_tracesteps. (exists pfa_gap_prefix_tracestepsindex. pfa_gap_prefix_tracestepsindex + S (pfh_index_prefix_tracesteps) = (l)) -> (exists pfh_coefficient_prefix_tracestepsstep pfh_before_prefix_tracestepsstep pfh_after_prefix_tracestepsstep pfh_product_prefix_tracestepsstep. ((((exists ff_h_pfp_prefix_tracestepsstepcoefficient. ff_h_pfp_prefix_tracestepsstepcoefficient + S (pfh_coefficient_prefix_tracestepsstep) = S ((S (pfh_index_prefix_tracesteps)) * c)) /\ exists ff_q_pfp_prefix_tracestepsstepcoefficient. b = ff_q_pfp_prefix_tracestepsstepcoefficient * S ((S (pfh_index_prefix_tracesteps)) * c) + (pfh_coefficient_prefix_tracestepsstep))) /\ (((((exists ff_h_pfp_prefix_tracestepsstepbefore. ff_h_pfp_prefix_tracestepsstepbefore + S (pfh_before_prefix_tracestepsstep) = S ((S (pfh_index_prefix_tracesteps)) * v)) /\ exists ff_q_pfp_prefix_tracestepsstepbefore. u = ff_q_pfp_prefix_tracestepsstepbefore * S ((S (pfh_index_prefix_tracesteps)) * v) + (pfh_before_prefix_tracestepsstep))) /\ (((((exists ff_h_pfp_prefix_tracestepsstepafter. ff_h_pfp_prefix_tracestepsstepafter + S (pfh_after_prefix_tracestepsstep) = S ((S (S (pfh_index_prefix_tracesteps))) * v)) /\ exists ff_q_pfp_prefix_tracestepsstepafter. u = ff_q_pfp_prefix_tracestepsstepafter * S ((S (S (pfh_index_prefix_tracesteps))) * v) + (pfh_after_prefix_tracestepsstep))) /\ (((((exists pfa_gap_prefix_tracestepsstepmultiplyleft. pfa_gap_prefix_tracestepsstepmultiplyleft + S (pfh_before_prefix_tracestepsstep) = (p)) /\ (((exists pfa_gap_prefix_tracestepsstepmultiplyright. pfa_gap_prefix_tracestepsstepmultiplyright + S (a) = (p)) /\ ((((exists pfa_gap_prefix_tracestepsstepmultiplyresultbound. pfa_gap_prefix_tracestepsstepmultiplyresultbound + S (pfh_product_prefix_tracestepsstep) = (p)) /\ ((exists pfa_offset_left_prefix_tracestepsstepmultiplyresultcongruence pfa_offset_right_prefix_tracestepsstepmultiplyresultcongruence. ((pfh_before_prefix_tracestepsstep) * (a)) + (p) * pfa_offset_left_prefix_tracestepsstepmultiplyresultcongruence = (pfh_product_prefix_tracestepsstep) + (p) * pfa_offset_right_prefix_tracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_prefix_tracestepsstepaddleft. pfa_gap_prefix_tracestepsstepaddleft + S (pfh_product_prefix_tracestepsstep) = (p)) /\ (((exists pfa_gap_prefix_tracestepsstepaddright. pfa_gap_prefix_tracestepsstepaddright + S (pfh_coefficient_prefix_tracestepsstep) = (p)) /\ ((((exists pfa_gap_prefix_tracestepsstepaddresultbound. pfa_gap_prefix_tracestepsstepaddresultbound + S (pfh_after_prefix_tracestepsstep) = (p)) /\ ((exists pfa_offset_left_prefix_tracestepsstepaddresultcongruence pfa_offset_right_prefix_tracestepsstepaddresultcongruence. ((pfh_product_prefix_tracestepsstep) + (pfh_coefficient_prefix_tracestepsstep)) + (p) * pfa_offset_left_prefix_tracestepsstepaddresultcongruence = (pfh_after_prefix_tracestepsstep) + (p) * pfa_offset_right_prefix_tracestepsstepaddresultcongruence)))))))))))))))))))))))))) -> (exists pfc_gap_prefix_length. pfc_gap_prefix_length+(n)=(l)) -> (((exists ff_h_pfp_prefix_state. ff_h_pfp_prefix_state + S (h) = S ((S (n)) * v)) /\ exists ff_q_pfp_prefix_state. u = ff_q_pfp_prefix_state * S ((S (n)) * v) + (h))) -> (exists pfh_trace_code_prefix_execution pfh_trace_scale_prefix_execution. (((exists pfa_gap_prefix_executiontracebase. pfa_gap_prefix_executiontracebase + S (a) = (p)) /\ (((((exists ff_h_pfp_prefix_executiontraceinitial. ff_h_pfp_prefix_executiontraceinitial + S (0) = S ((S (0)) * pfh_trace_scale_prefix_execution)) /\ exists ff_q_pfp_prefix_executiontraceinitial. pfh_trace_code_prefix_execution = ff_q_pfp_prefix_executiontraceinitial * S ((S (0)) * pfh_trace_scale_prefix_execution) + (0))) /\ (((((exists ff_h_pfp_prefix_executiontraceterminal. ff_h_pfp_prefix_executiontraceterminal + S (h) = S ((S (n)) * pfh_trace_scale_prefix_execution)) /\ exists ff_q_pfp_prefix_executiontraceterminal. pfh_trace_code_prefix_execution = ff_q_pfp_prefix_executiontraceterminal * S ((S (n)) * pfh_trace_scale_prefix_execution) + (h))) /\ ((forall pfh_index_prefix_executiontracesteps. (exists pfa_gap_prefix_executiontracestepsindex. pfa_gap_prefix_executiontracestepsindex + S (pfh_index_prefix_executiontracesteps) = (n)) -> (exists pfh_coefficient_prefix_executiontracestepsstep pfh_before_prefix_executiontracestepsstep pfh_after_prefix_executiontracestepsstep pfh_product_prefix_executiontracestepsstep. ((((exists ff_h_pfp_prefix_executiontracestepsstepcoefficient. ff_h_pfp_prefix_executiontracestepsstepcoefficient + S (pfh_coefficient_prefix_executiontracestepsstep) = S ((S (pfh_index_prefix_executiontracesteps)) * c)) /\ exists ff_q_pfp_prefix_executiontracestepsstepcoefficient. b = ff_q_pfp_prefix_executiontracestepsstepcoefficient * S ((S (pfh_index_prefix_executiontracesteps)) * c) + (pfh_coefficient_prefix_executiontracestepsstep))) /\ (((((exists ff_h_pfp_prefix_executiontracestepsstepbefore. ff_h_pfp_prefix_executiontracestepsstepbefore + S (pfh_before_prefix_executiontracestepsstep) = S ((S (pfh_index_prefix_executiontracesteps)) * pfh_trace_scale_prefix_execution)) /\ exists ff_q_pfp_prefix_executiontracestepsstepbefore. pfh_trace_code_prefix_execution = ff_q_pfp_prefix_executiontracestepsstepbefore * S ((S (pfh_index_prefix_executiontracesteps)) * pfh_trace_scale_prefix_execution) + (pfh_before_prefix_executiontracestepsstep))) /\ (((((exists ff_h_pfp_prefix_executiontracestepsstepafter. ff_h_pfp_prefix_executiontracestepsstepafter + S (pfh_after_prefix_executiontracestepsstep) = S ((S (S (pfh_index_prefix_executiontracesteps))) * pfh_trace_scale_prefix_execution)) /\ exists ff_q_pfp_prefix_executiontracestepsstepafter. pfh_trace_code_prefix_execution = ff_q_pfp_prefix_executiontracestepsstepafter * S ((S (S (pfh_index_prefix_executiontracesteps))) * pfh_trace_scale_prefix_execution) + (pfh_after_prefix_executiontracestepsstep))) /\ (((((exists pfa_gap_prefix_executiontracestepsstepmultiplyleft. pfa_gap_prefix_executiontracestepsstepmultiplyleft + S (pfh_before_prefix_executiontracestepsstep) = (p)) /\ (((exists pfa_gap_prefix_executiontracestepsstepmultiplyright. pfa_gap_prefix_executiontracestepsstepmultiplyright + S (a) = (p)) /\ ((((exists pfa_gap_prefix_executiontracestepsstepmultiplyresultbound. pfa_gap_prefix_executiontracestepsstepmultiplyresultbound + S (pfh_product_prefix_executiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_prefix_executiontracestepsstepmultiplyresultcongruence pfa_offset_right_prefix_executiontracestepsstepmultiplyresultcongruence. ((pfh_before_prefix_executiontracestepsstep) * (a)) + (p) * pfa_offset_left_prefix_executiontracestepsstepmultiplyresultcongruence = (pfh_product_prefix_executiontracestepsstep) + (p) * pfa_offset_right_prefix_executiontracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_prefix_executiontracestepsstepaddleft. pfa_gap_prefix_executiontracestepsstepaddleft + S (pfh_product_prefix_executiontracestepsstep) = (p)) /\ (((exists pfa_gap_prefix_executiontracestepsstepaddright. pfa_gap_prefix_executiontracestepsstepaddright + S (pfh_coefficient_prefix_executiontracestepsstep) = (p)) /\ ((((exists pfa_gap_prefix_executiontracestepsstepaddresultbound. pfa_gap_prefix_executiontracestepsstepaddresultbound + S (pfh_after_prefix_executiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_prefix_executiontracestepsstepaddresultcongruence pfa_offset_right_prefix_executiontracestepsstepaddresultcongruence. ((pfh_product_prefix_executiontracestepsstep) + (pfh_coefficient_prefix_executiontracestepsstep)) + (p) * pfa_offset_left_prefix_executiontracestepsstepaddresultcongruence = (pfh_after_prefix_executiontracestepsstep) + (p) * pfa_offset_right_prefix_executiontracestepsstepaddresultcongruence)))))))))))))))))))))))))))Constructive proof overview
Generated structural guide
Every bounded prefix of a genuine Horner history is a genuine execution with its actually decoded terminal state.
The unchanged tactic script uses 1 declared prerequisite and contains 34 exact native proof lines.
Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
le_trans Stable theorem; checked-use authorizedDirect 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Separate the logical casesL14–16
04Construct an explicit witnessL17–18
05Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
split
06Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
exact ht_left
07Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
split
08Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
exact ht_right_left
09Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
split
10Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
exact hh
11Fix variables and assumptionsL25–26
Original exact command ledger · 34 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro a - 0005
intro l - 0006
intro r - 0007
intro u - 0008
intro v - 0009
intro n - 0010
intro h - 0011
intro ht - 0012
intro hn - 0013
intro hh - 0014
cases ht - 0015
cases ht_right - 0016
cases ht_right_right - 0017
exists u - 0018
exists v - 0019
split - 0020
exact ht_left - 0021
split - 0022
exact ht_right_left - 0023
split - 0024
exact hh - 0025
intro i - 0026
intro hi - 0027
specialize ht_right_right_right (i) - 0028
apply ht_right_right_right - 0029
specialize le_trans (S i) - 0030
specialize le_trans (n) - 0031
specialize le_trans (l) - 0032
apply le_trans - 0033
exact hi - 0034
exact hn