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 B C t l r. (forall mdr_i_pfp_transport_equal mdr_a_pfp_transport_equal. (exists mdr_gap_pfp_transport_equalb. mdr_gap_pfp_transport_equalb + S (mdr_i_pfp_transport_equal) = (l)) -> (((exists ff_h_mdr_pfp_transport_equalo. ff_h_mdr_pfp_transport_equalo + S (mdr_a_pfp_transport_equal) = S ((S (mdr_i_pfp_transport_equal)) * c)) /\ exists ff_q_mdr_pfp_transport_equalo. b = ff_q_mdr_pfp_transport_equalo * S ((S (mdr_i_pfp_transport_equal)) * c) + (mdr_a_pfp_transport_equal))) -> (((exists ff_h_mdr_pfp_transport_equaln. ff_h_mdr_pfp_transport_equaln + S (mdr_a_pfp_transport_equal) = S ((S (mdr_i_pfp_transport_equal)) * C)) /\ exists ff_q_mdr_pfp_transport_equaln. B = ff_q_mdr_pfp_transport_equaln * S ((S (mdr_i_pfp_transport_equal)) * C) + (mdr_a_pfp_transport_equal)))) -> (exists pfh_trace_code_transport_old pfh_trace_scale_transport_old. (((exists pfa_gap_transport_oldtracebase. pfa_gap_transport_oldtracebase + S (t) = (p)) /\ (((((exists ff_h_pfp_transport_oldtraceinitial. ff_h_pfp_transport_oldtraceinitial + S (0) = S ((S (0)) * pfh_trace_scale_transport_old)) /\ exists ff_q_pfp_transport_oldtraceinitial. pfh_trace_code_transport_old = ff_q_pfp_transport_oldtraceinitial * S ((S (0)) * pfh_trace_scale_transport_old) + (0))) /\ (((((exists ff_h_pfp_transport_oldtraceterminal. ff_h_pfp_transport_oldtraceterminal + S (r) = S ((S (l)) * pfh_trace_scale_transport_old)) /\ exists ff_q_pfp_transport_oldtraceterminal. pfh_trace_code_transport_old = ff_q_pfp_transport_oldtraceterminal * S ((S (l)) * pfh_trace_scale_transport_old) + (r))) /\ ((forall pfh_index_transport_oldtracesteps. (exists pfa_gap_transport_oldtracestepsindex. pfa_gap_transport_oldtracestepsindex + S (pfh_index_transport_oldtracesteps) = (l)) -> (exists pfh_coefficient_transport_oldtracestepsstep pfh_before_transport_oldtracestepsstep pfh_after_transport_oldtracestepsstep pfh_product_transport_oldtracestepsstep. ((((exists ff_h_pfp_transport_oldtracestepsstepcoefficient. ff_h_pfp_transport_oldtracestepsstepcoefficient + S (pfh_coefficient_transport_oldtracestepsstep) = S ((S (pfh_index_transport_oldtracesteps)) * c)) /\ exists ff_q_pfp_transport_oldtracestepsstepcoefficient. b = ff_q_pfp_transport_oldtracestepsstepcoefficient * S ((S (pfh_index_transport_oldtracesteps)) * c) + (pfh_coefficient_transport_oldtracestepsstep))) /\ (((((exists ff_h_pfp_transport_oldtracestepsstepbefore. ff_h_pfp_transport_oldtracestepsstepbefore + S (pfh_before_transport_oldtracestepsstep) = S ((S (pfh_index_transport_oldtracesteps)) * pfh_trace_scale_transport_old)) /\ exists ff_q_pfp_transport_oldtracestepsstepbefore. pfh_trace_code_transport_old = ff_q_pfp_transport_oldtracestepsstepbefore * S ((S (pfh_index_transport_oldtracesteps)) * pfh_trace_scale_transport_old) + (pfh_before_transport_oldtracestepsstep))) /\ (((((exists ff_h_pfp_transport_oldtracestepsstepafter. ff_h_pfp_transport_oldtracestepsstepafter + S (pfh_after_transport_oldtracestepsstep) = S ((S (S (pfh_index_transport_oldtracesteps))) * pfh_trace_scale_transport_old)) /\ exists ff_q_pfp_transport_oldtracestepsstepafter. pfh_trace_code_transport_old = ff_q_pfp_transport_oldtracestepsstepafter * S ((S (S (pfh_index_transport_oldtracesteps))) * pfh_trace_scale_transport_old) + (pfh_after_transport_oldtracestepsstep))) /\ (((((exists pfa_gap_transport_oldtracestepsstepmultiplyleft. pfa_gap_transport_oldtracestepsstepmultiplyleft + S (pfh_before_transport_oldtracestepsstep) = (p)) /\ (((exists pfa_gap_transport_oldtracestepsstepmultiplyright. pfa_gap_transport_oldtracestepsstepmultiplyright + S (t) = (p)) /\ ((((exists pfa_gap_transport_oldtracestepsstepmultiplyresultbound. pfa_gap_transport_oldtracestepsstepmultiplyresultbound + S (pfh_product_transport_oldtracestepsstep) = (p)) /\ ((exists pfa_offset_left_transport_oldtracestepsstepmultiplyresultcongruence pfa_offset_right_transport_oldtracestepsstepmultiplyresultcongruence. ((pfh_before_transport_oldtracestepsstep) * (t)) + (p) * pfa_offset_left_transport_oldtracestepsstepmultiplyresultcongruence = (pfh_product_transport_oldtracestepsstep) + (p) * pfa_offset_right_transport_oldtracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_transport_oldtracestepsstepaddleft. pfa_gap_transport_oldtracestepsstepaddleft + S (pfh_product_transport_oldtracestepsstep) = (p)) /\ (((exists pfa_gap_transport_oldtracestepsstepaddright. pfa_gap_transport_oldtracestepsstepaddright + S (pfh_coefficient_transport_oldtracestepsstep) = (p)) /\ ((((exists pfa_gap_transport_oldtracestepsstepaddresultbound. pfa_gap_transport_oldtracestepsstepaddresultbound + S (pfh_after_transport_oldtracestepsstep) = (p)) /\ ((exists pfa_offset_left_transport_oldtracestepsstepaddresultcongruence pfa_offset_right_transport_oldtracestepsstepaddresultcongruence. ((pfh_product_transport_oldtracestepsstep) + (pfh_coefficient_transport_oldtracestepsstep)) + (p) * pfa_offset_left_transport_oldtracestepsstepaddresultcongruence = (pfh_after_transport_oldtracestepsstep) + (p) * pfa_offset_right_transport_oldtracestepsstepaddresultcongruence))))))))))))))))))))))))))) -> (exists pfh_trace_code_transport_new pfh_trace_scale_transport_new. (((exists pfa_gap_transport_newtracebase. pfa_gap_transport_newtracebase + S (t) = (p)) /\ (((((exists ff_h_pfp_transport_newtraceinitial. ff_h_pfp_transport_newtraceinitial + S (0) = S ((S (0)) * pfh_trace_scale_transport_new)) /\ exists ff_q_pfp_transport_newtraceinitial. pfh_trace_code_transport_new = ff_q_pfp_transport_newtraceinitial * S ((S (0)) * pfh_trace_scale_transport_new) + (0))) /\ (((((exists ff_h_pfp_transport_newtraceterminal. ff_h_pfp_transport_newtraceterminal + S (r) = S ((S (l)) * pfh_trace_scale_transport_new)) /\ exists ff_q_pfp_transport_newtraceterminal. pfh_trace_code_transport_new = ff_q_pfp_transport_newtraceterminal * S ((S (l)) * pfh_trace_scale_transport_new) + (r))) /\ ((forall pfh_index_transport_newtracesteps. (exists pfa_gap_transport_newtracestepsindex. pfa_gap_transport_newtracestepsindex + S (pfh_index_transport_newtracesteps) = (l)) -> (exists pfh_coefficient_transport_newtracestepsstep pfh_before_transport_newtracestepsstep pfh_after_transport_newtracestepsstep pfh_product_transport_newtracestepsstep. ((((exists ff_h_pfp_transport_newtracestepsstepcoefficient. ff_h_pfp_transport_newtracestepsstepcoefficient + S (pfh_coefficient_transport_newtracestepsstep) = S ((S (pfh_index_transport_newtracesteps)) * C)) /\ exists ff_q_pfp_transport_newtracestepsstepcoefficient. B = ff_q_pfp_transport_newtracestepsstepcoefficient * S ((S (pfh_index_transport_newtracesteps)) * C) + (pfh_coefficient_transport_newtracestepsstep))) /\ (((((exists ff_h_pfp_transport_newtracestepsstepbefore. ff_h_pfp_transport_newtracestepsstepbefore + S (pfh_before_transport_newtracestepsstep) = S ((S (pfh_index_transport_newtracesteps)) * pfh_trace_scale_transport_new)) /\ exists ff_q_pfp_transport_newtracestepsstepbefore. pfh_trace_code_transport_new = ff_q_pfp_transport_newtracestepsstepbefore * S ((S (pfh_index_transport_newtracesteps)) * pfh_trace_scale_transport_new) + (pfh_before_transport_newtracestepsstep))) /\ (((((exists ff_h_pfp_transport_newtracestepsstepafter. ff_h_pfp_transport_newtracestepsstepafter + S (pfh_after_transport_newtracestepsstep) = S ((S (S (pfh_index_transport_newtracesteps))) * pfh_trace_scale_transport_new)) /\ exists ff_q_pfp_transport_newtracestepsstepafter. pfh_trace_code_transport_new = ff_q_pfp_transport_newtracestepsstepafter * S ((S (S (pfh_index_transport_newtracesteps))) * pfh_trace_scale_transport_new) + (pfh_after_transport_newtracestepsstep))) /\ (((((exists pfa_gap_transport_newtracestepsstepmultiplyleft. pfa_gap_transport_newtracestepsstepmultiplyleft + S (pfh_before_transport_newtracestepsstep) = (p)) /\ (((exists pfa_gap_transport_newtracestepsstepmultiplyright. pfa_gap_transport_newtracestepsstepmultiplyright + S (t) = (p)) /\ ((((exists pfa_gap_transport_newtracestepsstepmultiplyresultbound. pfa_gap_transport_newtracestepsstepmultiplyresultbound + S (pfh_product_transport_newtracestepsstep) = (p)) /\ ((exists pfa_offset_left_transport_newtracestepsstepmultiplyresultcongruence pfa_offset_right_transport_newtracestepsstepmultiplyresultcongruence. ((pfh_before_transport_newtracestepsstep) * (t)) + (p) * pfa_offset_left_transport_newtracestepsstepmultiplyresultcongruence = (pfh_product_transport_newtracestepsstep) + (p) * pfa_offset_right_transport_newtracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_transport_newtracestepsstepaddleft. pfa_gap_transport_newtracestepsstepaddleft + S (pfh_product_transport_newtracestepsstep) = (p)) /\ (((exists pfa_gap_transport_newtracestepsstepaddright. pfa_gap_transport_newtracestepsstepaddright + S (pfh_coefficient_transport_newtracestepsstep) = (p)) /\ ((((exists pfa_gap_transport_newtracestepsstepaddresultbound. pfa_gap_transport_newtracestepsstepaddresultbound + S (pfh_after_transport_newtracestepsstep) = (p)) /\ ((exists pfa_offset_left_transport_newtracestepsstepaddresultcongruence pfa_offset_right_transport_newtracestepsstepaddresultcongruence. ((pfh_product_transport_newtracestepsstep) + (pfh_coefficient_transport_newtracestepsstep)) + (p) * pfa_offset_left_transport_newtracestepsstepaddresultcongruence = (pfh_after_transport_newtracestepsstep) + (p) * pfa_offset_right_transport_newtracestepsstepaddresultcongruence)))))))))))))))))))))))))))Constructive proof overview
Generated structural guide
Coefficient reencoding preserves the same real execution trace and result, without asserting equality of raw code numbers.
The unchanged tactic script uses 0 declared prerequisites and contains 54 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
Direct 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
02Separate the logical casesL11–15
03Construct an explicit witnessL16–17
04Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
split
05Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
exact h_witness_witness_left
06Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
split
07Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact h_witness_witness_right_left
08Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
split
09Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
exact h_witness_witness_right_right_left
10Fix variables and assumptionsL24–25
11Establish hsL26–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h witness witness right right right.
- L26
have hs : FpHornerStep(p,b,c,t,x,x1,i)Definitions: FpHornerStep - L27
specialize h_witness_witness_right_right_right (i) - L28
apply h_witness_witness_right_right_right - L29
exact hi
12Separate the logical casesL30–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases hs - L31
cases hs_witness - L32
cases hs_witness_witness - L33
cases hs_witness_witness_witness - L34
cases hs_witness_witness_witness_witness - L35
cases hs_witness_witness_witness_witness_right - L36
cases hs_witness_witness_witness_witness_right_right - L37
cases hs_witness_witness_witness_witness_right_right_right
13Construct an explicit witnessL38–41
14Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
split
15Use earlier factsL43–47
16Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
split
17Use earlier factsL49–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
exact hs_witness_witness_witness_witness_right_left
18Separate the logical casesL50–50
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L50
split
19Use earlier factsL51–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L51
exact hs_witness_witness_witness_witness_right_right_left
20Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
split
Original exact command ledger · 54 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro B - 0005
intro C - 0006
intro t - 0007
intro l - 0008
intro r - 0009
intro heq - 0010
intro h - 0011
cases h - 0012
cases h_witness - 0013
cases h_witness_witness - 0014
cases h_witness_witness_right - 0015
cases h_witness_witness_right_right - 0016
exists x - 0017
exists x1 - 0018
split - 0019
exact h_witness_witness_left - 0020
split - 0021
exact h_witness_witness_right_left - 0022
split - 0023
exact h_witness_witness_right_right_left - 0024
intro i - 0025
intro hi - 0026
have hs : exists pfh_coefficient_transport_step pfh_before_transport_step pfh_after_transport_step pfh_product_transport_step. ((((exists ff_h_pfp_transport_stepcoefficient. ff_h_pfp_transport_stepcoefficient + S (pfh_coefficient_transport_step) = S ((S (i)) * c)) /\ exists ff_q_pfp_transport_stepcoefficient. b = ff_q_pfp_transport_stepcoefficient * S ((S (i)) * c) + (pfh_coefficient_transport_step))) /\ (((((exists ff_h_pfp_transport_stepbefore. ff_h_pfp_transport_stepbefore + S (pfh_before_transport_step) = S ((S (i)) * x1)) /\ exists ff_q_pfp_transport_stepbefore. x = ff_q_pfp_transport_stepbefore * S ((S (i)) * x1) + (pfh_before_transport_step))) /\ (((((exists ff_h_pfp_transport_stepafter. ff_h_pfp_transport_stepafter + S (pfh_after_transport_step) = S ((S (S (i))) * x1)) /\ exists ff_q_pfp_transport_stepafter. x = ff_q_pfp_transport_stepafter * S ((S (S (i))) * x1) + (pfh_after_transport_step))) /\ (((((exists pfa_gap_transport_stepmultiplyleft. pfa_gap_transport_stepmultiplyleft + S (pfh_before_transport_step) = (p)) /\ (((exists pfa_gap_transport_stepmultiplyright. pfa_gap_transport_stepmultiplyright + S (t) = (p)) /\ ((((exists pfa_gap_transport_stepmultiplyresultbound. pfa_gap_transport_stepmultiplyresultbound + S (pfh_product_transport_step) = (p)) /\ ((exists pfa_offset_left_transport_stepmultiplyresultcongruence pfa_offset_right_transport_stepmultiplyresultcongruence. ((pfh_before_transport_step) * (t)) + (p) * pfa_offset_left_transport_stepmultiplyresultcongruence = (pfh_product_transport_step) + (p) * pfa_offset_right_transport_stepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_transport_stepaddleft. pfa_gap_transport_stepaddleft + S (pfh_product_transport_step) = (p)) /\ (((exists pfa_gap_transport_stepaddright. pfa_gap_transport_stepaddright + S (pfh_coefficient_transport_step) = (p)) /\ ((((exists pfa_gap_transport_stepaddresultbound. pfa_gap_transport_stepaddresultbound + S (pfh_after_transport_step) = (p)) /\ ((exists pfa_offset_left_transport_stepaddresultcongruence pfa_offset_right_transport_stepaddresultcongruence. ((pfh_product_transport_step) + (pfh_coefficient_transport_step)) + (p) * pfa_offset_left_transport_stepaddresultcongruence = (pfh_after_transport_step) + (p) * pfa_offset_right_transport_stepaddresultcongruence))))))))))))))))) - 0027
specialize h_witness_witness_right_right_right (i) - 0028
apply h_witness_witness_right_right_right - 0029
exact hi - 0030
cases hs - 0031
cases hs_witness - 0032
cases hs_witness_witness - 0033
cases hs_witness_witness_witness - 0034
cases hs_witness_witness_witness_witness - 0035
cases hs_witness_witness_witness_witness_right - 0036
cases hs_witness_witness_witness_witness_right_right - 0037
cases hs_witness_witness_witness_witness_right_right_right - 0038
exists x2 - 0039
exists x3 - 0040
exists x4 - 0041
exists x5 - 0042
split - 0043
specialize heq (i) - 0044
specialize heq (x2) - 0045
apply heq - 0046
exact hi - 0047
exact hs_witness_witness_witness_witness_left - 0048
split - 0049
exact hs_witness_witness_witness_witness_right_left - 0050
split - 0051
exact hs_witness_witness_witness_witness_right_right_left - 0052
split - 0053
exact hs_witness_witness_witness_witness_right_right_right_left - 0054
exact hs_witness_witness_witness_witness_right_right_right_right