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 original first-admission records.
Exact expanded first-order arithmetic statement
forall b c t n z. (exists ff_u_hd_linear ff_v_hd_linear ff_d_hd_linear ff_e_hd_linear. ((((((exists fs_h_ph_hd_linear_body_value_start. fs_h_ph_hd_linear_body_value_start + S (0) = S ((S (0)) * ff_v_hd_linear)) /\ exists fs_q_ph_hd_linear_body_value_start. ff_u_hd_linear = fs_q_ph_hd_linear_body_value_start * S ((S (0)) * ff_v_hd_linear) + (0))) /\ ((((exists fs_h_ph_hd_linear_body_value_terminal. fs_h_ph_hd_linear_body_value_terminal + S (n) = S ((S (S S 0)) * ff_v_hd_linear)) /\ exists fs_q_ph_hd_linear_body_value_terminal. ff_u_hd_linear = fs_q_ph_hd_linear_body_value_terminal * S ((S (S S 0)) * ff_v_hd_linear) + (n))) /\ forall ff_i_ph_hd_linear_body_value_steps. (exists ph_bound_hd_linear_body_value_steps. ph_bound_hd_linear_body_value_steps + S ff_i_ph_hd_linear_body_value_steps = S S 0) -> exists ff_coefficient_ph_hd_linear_body_value_steps ff_previous_ph_hd_linear_body_value_steps ff_current_ph_hd_linear_body_value_steps. ((((exists fs_h_ph_hd_linear_body_value_steps_coefficient. fs_h_ph_hd_linear_body_value_steps_coefficient + S (ff_coefficient_ph_hd_linear_body_value_steps) = S ((S (ff_i_ph_hd_linear_body_value_steps)) * c)) /\ exists fs_q_ph_hd_linear_body_value_steps_coefficient. b = fs_q_ph_hd_linear_body_value_steps_coefficient * S ((S (ff_i_ph_hd_linear_body_value_steps)) * c) + (ff_coefficient_ph_hd_linear_body_value_steps))) /\ ((((exists fs_h_ph_hd_linear_body_value_steps_before. fs_h_ph_hd_linear_body_value_steps_before + S (ff_previous_ph_hd_linear_body_value_steps) = S ((S (ff_i_ph_hd_linear_body_value_steps)) * ff_v_hd_linear)) /\ exists fs_q_ph_hd_linear_body_value_steps_before. ff_u_hd_linear = fs_q_ph_hd_linear_body_value_steps_before * S ((S (ff_i_ph_hd_linear_body_value_steps)) * ff_v_hd_linear) + (ff_previous_ph_hd_linear_body_value_steps))) /\ ((((exists fs_h_ph_hd_linear_body_value_steps_after. fs_h_ph_hd_linear_body_value_steps_after + S (ff_current_ph_hd_linear_body_value_steps) = S ((S (S ff_i_ph_hd_linear_body_value_steps)) * ff_v_hd_linear)) /\ exists fs_q_ph_hd_linear_body_value_steps_after. ff_u_hd_linear = fs_q_ph_hd_linear_body_value_steps_after * S ((S (S ff_i_ph_hd_linear_body_value_steps)) * ff_v_hd_linear) + (ff_current_ph_hd_linear_body_value_steps))) /\ ff_current_ph_hd_linear_body_value_steps = ff_previous_ph_hd_linear_body_value_steps * t + ff_coefficient_ph_hd_linear_body_value_steps)))))) /\ (((((exists fs_h_ph_hd_linear_body_derivative_start. fs_h_ph_hd_linear_body_derivative_start + S (0) = S ((S (0)) * ff_e_hd_linear)) /\ exists fs_q_ph_hd_linear_body_derivative_start. ff_d_hd_linear = fs_q_ph_hd_linear_body_derivative_start * S ((S (0)) * ff_e_hd_linear) + (0))) /\ ((((exists fs_h_ph_hd_linear_body_derivative_terminal. fs_h_ph_hd_linear_body_derivative_terminal + S (z) = S ((S (S S 0)) * ff_e_hd_linear)) /\ exists fs_q_ph_hd_linear_body_derivative_terminal. ff_d_hd_linear = fs_q_ph_hd_linear_body_derivative_terminal * S ((S (S S 0)) * ff_e_hd_linear) + (z))) /\ forall ff_i_ph_hd_linear_body_derivative_steps. (exists ph_bound_hd_linear_body_derivative_steps. ph_bound_hd_linear_body_derivative_steps + S ff_i_ph_hd_linear_body_derivative_steps = S S 0) -> exists ff_coefficient_ph_hd_linear_body_derivative_steps ff_previous_ph_hd_linear_body_derivative_steps ff_current_ph_hd_linear_body_derivative_steps. ((((exists fs_h_ph_hd_linear_body_derivative_steps_coefficient. fs_h_ph_hd_linear_body_derivative_steps_coefficient + S (ff_coefficient_ph_hd_linear_body_derivative_steps) = S ((S (ff_i_ph_hd_linear_body_derivative_steps)) * ff_v_hd_linear)) /\ exists fs_q_ph_hd_linear_body_derivative_steps_coefficient. ff_u_hd_linear = fs_q_ph_hd_linear_body_derivative_steps_coefficient * S ((S (ff_i_ph_hd_linear_body_derivative_steps)) * ff_v_hd_linear) + (ff_coefficient_ph_hd_linear_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_linear_body_derivative_steps_before. fs_h_ph_hd_linear_body_derivative_steps_before + S (ff_previous_ph_hd_linear_body_derivative_steps) = S ((S (ff_i_ph_hd_linear_body_derivative_steps)) * ff_e_hd_linear)) /\ exists fs_q_ph_hd_linear_body_derivative_steps_before. ff_d_hd_linear = fs_q_ph_hd_linear_body_derivative_steps_before * S ((S (ff_i_ph_hd_linear_body_derivative_steps)) * ff_e_hd_linear) + (ff_previous_ph_hd_linear_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_linear_body_derivative_steps_after. fs_h_ph_hd_linear_body_derivative_steps_after + S (ff_current_ph_hd_linear_body_derivative_steps) = S ((S (S ff_i_ph_hd_linear_body_derivative_steps)) * ff_e_hd_linear)) /\ exists fs_q_ph_hd_linear_body_derivative_steps_after. ff_d_hd_linear = fs_q_ph_hd_linear_body_derivative_steps_after * S ((S (S ff_i_ph_hd_linear_body_derivative_steps)) * ff_e_hd_linear) + (ff_current_ph_hd_linear_body_derivative_steps))) /\ ff_current_ph_hd_linear_body_derivative_steps = ff_previous_ph_hd_linear_body_derivative_steps * t + ff_coefficient_ph_hd_linear_body_derivative_steps)))))))) -> exists a k. ((((exists fs_h_hd_linear_leading. fs_h_hd_linear_leading + S (a) = S ((S (0)) * c)) /\ exists fs_q_hd_linear_leading. b = fs_q_hd_linear_leading * S ((S (0)) * c) + (a))) /\ ((((exists fs_h_hd_linear_constant. fs_h_hd_linear_constant + S (k) = S ((S (S 0)) * c)) /\ exists fs_q_hd_linear_constant. b = fs_q_hd_linear_constant * S ((S (S 0)) * c) + (k))) /\ ((n = a * t + k) /\ z = a)))Constructive proof overview
Generated structural guide
A genuine two-coefficient polynomial a*t+k has the exact decoded formal derivative a.
The unchanged tactic script uses 4 declared prerequisites and contains 51 exact native proof lines.
Alpha v34 checked-use · first admitted v24 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
HD0008 beta_horner_derivative_successor_decompose HD000E beta_horner_derivative_constant mul_zero_left Stable theorem; checked-use authorized zero_add 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.
Named ingredients (2)
01Fix variables and assumptionsL1–6
02Establish hdecompositionL7–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative successor decompose.
- L7
have hdecomposition : ∃ a. ∃ r. ∃ q. Beta(b,c,1,a) ∧ (HornerDerivative(b,c,t,1,r,q) ∧ (n = r · t + a ∧ z = q · t + r))Definitions: BetaHornerDerivative - L8
specialize beta_horner_derivative_successor_decompose b - L9
specialize beta_horner_derivative_successor_decompose c - L10
specialize beta_horner_derivative_successor_decompose t - L11
specialize beta_horner_derivative_successor_decompose (S 0) - L12
specialize beta_horner_derivative_successor_decompose n - L13
specialize beta_horner_derivative_successor_decompose z - L14
apply beta_horner_derivative_successor_decompose - L15
exact hpair
03Separate the logical casesL16–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
04Establish hconstantL22–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative constant.
- L22
have hconstant : exists a. ((((exists fs_h_hd_linear_prefix_coefficient. fs_h_hd_linear_prefix_coefficient + S (a) = S ((S (0)) * c)) /\ exists fs_q_hd_linear_prefix_coefficient. b = fs_q_hd_linear_prefix_coefficient * S ((S (0)) * c) + (a))) /\ ((x1 = a) /\ x2 = 0)) - L23
specialize beta_horner_derivative_constant b - L24
specialize beta_horner_derivative_constant c - L25
specialize beta_horner_derivative_constant t - L26
specialize beta_horner_derivative_constant x1 - L27
specialize beta_horner_derivative_constant x2 - L28
apply beta_horner_derivative_constant - L29
exact hdecomposition_witness_witness_witness_right_left
05Separate the logical casesL30–32
06Construct an explicit witnessL33–34
07Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
split
08Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
exact hconstant_witness_left
09Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
split
10Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hdecomposition_witness_witness_witness_left
11Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
split
12Calculate and transport equalitiesL40–40
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L40
trans x1 * t + x
13Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
exact hdecomposition_witness_witness_witness_right_right_left
14Calculate and transport equalitiesL42–44
15Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hdecomposition_witness_witness_witness_right_right_right
16Calculate and transport equalitiesL46–47
17Use earlier factsL48–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
specialize mul_zero_left t
18Calculate and transport equalitiesL49–49
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L49
rewrite mul_zero_left
Original exact command ledger · 51 lines
- 0001
intro b - 0002
intro c - 0003
intro t - 0004
intro n - 0005
intro z - 0006
intro hpair - 0007
have hdecomposition : exists a r q. ((((exists fs_h_hd_linear_step. fs_h_hd_linear_step + S (a) = S ((S (S 0)) * c)) /\ exists fs_q_hd_linear_step. b = fs_q_hd_linear_step * S ((S (S 0)) * c) + (a))) /\ ((exists ff_u_hd_linear_prefix ff_v_hd_linear_prefix ff_d_hd_linear_prefix ff_e_hd_linear_prefix. ((((((exists fs_h_ph_hd_linear_prefix_body_value_start. fs_h_ph_hd_linear_prefix_body_value_start + S (0) = S ((S (0)) * ff_v_hd_linear_prefix)) /\ exists fs_q_ph_hd_linear_prefix_body_value_start. ff_u_hd_linear_prefix = fs_q_ph_hd_linear_prefix_body_value_start * S ((S (0)) * ff_v_hd_linear_prefix) + (0))) /\ ((((exists fs_h_ph_hd_linear_prefix_body_value_terminal. fs_h_ph_hd_linear_prefix_body_value_terminal + S (r) = S ((S (S 0)) * ff_v_hd_linear_prefix)) /\ exists fs_q_ph_hd_linear_prefix_body_value_terminal. ff_u_hd_linear_prefix = fs_q_ph_hd_linear_prefix_body_value_terminal * S ((S (S 0)) * ff_v_hd_linear_prefix) + (r))) /\ forall ff_i_ph_hd_linear_prefix_body_value_steps. (exists ph_bound_hd_linear_prefix_body_value_steps. ph_bound_hd_linear_prefix_body_value_steps + S ff_i_ph_hd_linear_prefix_body_value_steps = S 0) -> exists ff_coefficient_ph_hd_linear_prefix_body_value_steps ff_previous_ph_hd_linear_prefix_body_value_steps ff_current_ph_hd_linear_prefix_body_value_steps. ((((exists fs_h_ph_hd_linear_prefix_body_value_steps_coefficient. fs_h_ph_hd_linear_prefix_body_value_steps_coefficient + S (ff_coefficient_ph_hd_linear_prefix_body_value_steps) = S ((S (ff_i_ph_hd_linear_prefix_body_value_steps)) * c)) /\ exists fs_q_ph_hd_linear_prefix_body_value_steps_coefficient. b = fs_q_ph_hd_linear_prefix_body_value_steps_coefficient * S ((S (ff_i_ph_hd_linear_prefix_body_value_steps)) * c) + (ff_coefficient_ph_hd_linear_prefix_body_value_steps))) /\ ((((exists fs_h_ph_hd_linear_prefix_body_value_steps_before. fs_h_ph_hd_linear_prefix_body_value_steps_before + S (ff_previous_ph_hd_linear_prefix_body_value_steps) = S ((S (ff_i_ph_hd_linear_prefix_body_value_steps)) * ff_v_hd_linear_prefix)) /\ exists fs_q_ph_hd_linear_prefix_body_value_steps_before. ff_u_hd_linear_prefix = fs_q_ph_hd_linear_prefix_body_value_steps_before * S ((S (ff_i_ph_hd_linear_prefix_body_value_steps)) * ff_v_hd_linear_prefix) + (ff_previous_ph_hd_linear_prefix_body_value_steps))) /\ ((((exists fs_h_ph_hd_linear_prefix_body_value_steps_after. fs_h_ph_hd_linear_prefix_body_value_steps_after + S (ff_current_ph_hd_linear_prefix_body_value_steps) = S ((S (S ff_i_ph_hd_linear_prefix_body_value_steps)) * ff_v_hd_linear_prefix)) /\ exists fs_q_ph_hd_linear_prefix_body_value_steps_after. ff_u_hd_linear_prefix = fs_q_ph_hd_linear_prefix_body_value_steps_after * S ((S (S ff_i_ph_hd_linear_prefix_body_value_steps)) * ff_v_hd_linear_prefix) + (ff_current_ph_hd_linear_prefix_body_value_steps))) /\ ff_current_ph_hd_linear_prefix_body_value_steps = ff_previous_ph_hd_linear_prefix_body_value_steps * t + ff_coefficient_ph_hd_linear_prefix_body_value_steps)))))) /\ (((((exists fs_h_ph_hd_linear_prefix_body_derivative_start. fs_h_ph_hd_linear_prefix_body_derivative_start + S (0) = S ((S (0)) * ff_e_hd_linear_prefix)) /\ exists fs_q_ph_hd_linear_prefix_body_derivative_start. ff_d_hd_linear_prefix = fs_q_ph_hd_linear_prefix_body_derivative_start * S ((S (0)) * ff_e_hd_linear_prefix) + (0))) /\ ((((exists fs_h_ph_hd_linear_prefix_body_derivative_terminal. fs_h_ph_hd_linear_prefix_body_derivative_terminal + S (q) = S ((S (S 0)) * ff_e_hd_linear_prefix)) /\ exists fs_q_ph_hd_linear_prefix_body_derivative_terminal. ff_d_hd_linear_prefix = fs_q_ph_hd_linear_prefix_body_derivative_terminal * S ((S (S 0)) * ff_e_hd_linear_prefix) + (q))) /\ forall ff_i_ph_hd_linear_prefix_body_derivative_steps. (exists ph_bound_hd_linear_prefix_body_derivative_steps. ph_bound_hd_linear_prefix_body_derivative_steps + S ff_i_ph_hd_linear_prefix_body_derivative_steps = S 0) -> exists ff_coefficient_ph_hd_linear_prefix_body_derivative_steps ff_previous_ph_hd_linear_prefix_body_derivative_steps ff_current_ph_hd_linear_prefix_body_derivative_steps. ((((exists fs_h_ph_hd_linear_prefix_body_derivative_steps_coefficient. fs_h_ph_hd_linear_prefix_body_derivative_steps_coefficient + S (ff_coefficient_ph_hd_linear_prefix_body_derivative_steps) = S ((S (ff_i_ph_hd_linear_prefix_body_derivative_steps)) * ff_v_hd_linear_prefix)) /\ exists fs_q_ph_hd_linear_prefix_body_derivative_steps_coefficient. ff_u_hd_linear_prefix = fs_q_ph_hd_linear_prefix_body_derivative_steps_coefficient * S ((S (ff_i_ph_hd_linear_prefix_body_derivative_steps)) * ff_v_hd_linear_prefix) + (ff_coefficient_ph_hd_linear_prefix_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_linear_prefix_body_derivative_steps_before. fs_h_ph_hd_linear_prefix_body_derivative_steps_before + S (ff_previous_ph_hd_linear_prefix_body_derivative_steps) = S ((S (ff_i_ph_hd_linear_prefix_body_derivative_steps)) * ff_e_hd_linear_prefix)) /\ exists fs_q_ph_hd_linear_prefix_body_derivative_steps_before. ff_d_hd_linear_prefix = fs_q_ph_hd_linear_prefix_body_derivative_steps_before * S ((S (ff_i_ph_hd_linear_prefix_body_derivative_steps)) * ff_e_hd_linear_prefix) + (ff_previous_ph_hd_linear_prefix_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_linear_prefix_body_derivative_steps_after. fs_h_ph_hd_linear_prefix_body_derivative_steps_after + S (ff_current_ph_hd_linear_prefix_body_derivative_steps) = S ((S (S ff_i_ph_hd_linear_prefix_body_derivative_steps)) * ff_e_hd_linear_prefix)) /\ exists fs_q_ph_hd_linear_prefix_body_derivative_steps_after. ff_d_hd_linear_prefix = fs_q_ph_hd_linear_prefix_body_derivative_steps_after * S ((S (S ff_i_ph_hd_linear_prefix_body_derivative_steps)) * ff_e_hd_linear_prefix) + (ff_current_ph_hd_linear_prefix_body_derivative_steps))) /\ ff_current_ph_hd_linear_prefix_body_derivative_steps = ff_previous_ph_hd_linear_prefix_body_derivative_steps * t + ff_coefficient_ph_hd_linear_prefix_body_derivative_steps)))))))) /\ ((n = r * t + a) /\ z = q * t + r))) - 0008
specialize beta_horner_derivative_successor_decompose b - 0009
specialize beta_horner_derivative_successor_decompose c - 0010
specialize beta_horner_derivative_successor_decompose t - 0011
specialize beta_horner_derivative_successor_decompose (S 0) - 0012
specialize beta_horner_derivative_successor_decompose n - 0013
specialize beta_horner_derivative_successor_decompose z - 0014
apply beta_horner_derivative_successor_decompose - 0015
exact hpair - 0016
cases hdecomposition - 0017
cases hdecomposition_witness - 0018
cases hdecomposition_witness_witness - 0019
cases hdecomposition_witness_witness_witness - 0020
cases hdecomposition_witness_witness_witness_right - 0021
cases hdecomposition_witness_witness_witness_right_right - 0022
have hconstant : exists a. ((((exists fs_h_hd_linear_prefix_coefficient. fs_h_hd_linear_prefix_coefficient + S (a) = S ((S (0)) * c)) /\ exists fs_q_hd_linear_prefix_coefficient. b = fs_q_hd_linear_prefix_coefficient * S ((S (0)) * c) + (a))) /\ ((x1 = a) /\ x2 = 0)) - 0023
specialize beta_horner_derivative_constant b - 0024
specialize beta_horner_derivative_constant c - 0025
specialize beta_horner_derivative_constant t - 0026
specialize beta_horner_derivative_constant x1 - 0027
specialize beta_horner_derivative_constant x2 - 0028
apply beta_horner_derivative_constant - 0029
exact hdecomposition_witness_witness_witness_right_left - 0030
cases hconstant - 0031
cases hconstant_witness - 0032
cases hconstant_witness_right - 0033
exists x3 - 0034
exists x - 0035
split - 0036
exact hconstant_witness_left - 0037
split - 0038
exact hdecomposition_witness_witness_witness_left - 0039
split - 0040
trans x1 * t + x - 0041
exact hdecomposition_witness_witness_witness_right_right_left - 0042
rewrite hconstant_witness_right_left - 0043
refl - 0044
trans x2 * t + x1 - 0045
exact hdecomposition_witness_witness_witness_right_right_right - 0046
rewrite hconstant_witness_right_right - 0047
rewrite hconstant_witness_right_left - 0048
specialize mul_zero_left t - 0049
rewrite mul_zero_left - 0050
specialize zero_add x3 - 0051
exact zero_add
Separate complete second-wave branches: Full G095 proof · Alpha v27.