HL000B

beta_horner_root_mod_transport

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

An actual polynomial root transports to every congruent natural point.

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 a r l m. (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. a + m * hgcrt_mod_left_hpl_mod = r + m * hgcrt_mod_right_hpl_mod) -> (exists hpl_value_root. ((exists ff_u_ph_hpl_root ff_v_ph_hpl_root. ((((exists fs_h_ph_hpl_root_body_start. fs_h_ph_hpl_root_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_start. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_start * S ((S (0)) * ff_v_ph_hpl_root) + (0))) /\ ((((exists fs_h_ph_hpl_root_body_terminal. fs_h_ph_hpl_root_body_terminal + S (hpl_value_root) = S ((S (l)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_terminal. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_terminal * S ((S (l)) * ff_v_ph_hpl_root) + (hpl_value_root))) /\ forall ff_i_ph_hpl_root_body_steps. (exists ph_bound_hpl_root_body_steps. ph_bound_hpl_root_body_steps + S ff_i_ph_hpl_root_body_steps = l) -> exists ff_coefficient_ph_hpl_root_body_steps ff_previous_ph_hpl_root_body_steps ff_current_ph_hpl_root_body_steps. ((((exists fs_h_ph_hpl_root_body_steps_coefficient. fs_h_ph_hpl_root_body_steps_coefficient + S (ff_coefficient_ph_hpl_root_body_steps) = S ((S (ff_i_ph_hpl_root_body_steps)) * c)) /\ exists fs_q_ph_hpl_root_body_steps_coefficient. b = fs_q_ph_hpl_root_body_steps_coefficient * S ((S (ff_i_ph_hpl_root_body_steps)) * c) + (ff_coefficient_ph_hpl_root_body_steps))) /\ ((((exists fs_h_ph_hpl_root_body_steps_before. fs_h_ph_hpl_root_body_steps_before + S (ff_previous_ph_hpl_root_body_steps) = S ((S (ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_steps_before. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_steps_before * S ((S (ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root) + (ff_previous_ph_hpl_root_body_steps))) /\ ((((exists fs_h_ph_hpl_root_body_steps_after. fs_h_ph_hpl_root_body_steps_after + S (ff_current_ph_hpl_root_body_steps) = S ((S (S ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_steps_after. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_steps_after * S ((S (S ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root) + (ff_current_ph_hpl_root_body_steps))) /\ ff_current_ph_hpl_root_body_steps = ff_previous_ph_hpl_root_body_steps * a + ff_coefficient_ph_hpl_root_body_steps)))))) /\ (exists hgcrt_mod_left_hpl_root hgcrt_mod_right_hpl_root. hpl_value_root + m * hgcrt_mod_left_hpl_root = 0 + m * hgcrt_mod_right_hpl_root))) -> (exists hpl_value_root. ((exists ff_u_ph_hpl_root ff_v_ph_hpl_root. ((((exists fs_h_ph_hpl_root_body_start. fs_h_ph_hpl_root_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_start. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_start * S ((S (0)) * ff_v_ph_hpl_root) + (0))) /\ ((((exists fs_h_ph_hpl_root_body_terminal. fs_h_ph_hpl_root_body_terminal + S (hpl_value_root) = S ((S (l)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_terminal. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_terminal * S ((S (l)) * ff_v_ph_hpl_root) + (hpl_value_root))) /\ forall ff_i_ph_hpl_root_body_steps. (exists ph_bound_hpl_root_body_steps. ph_bound_hpl_root_body_steps + S ff_i_ph_hpl_root_body_steps = l) -> exists ff_coefficient_ph_hpl_root_body_steps ff_previous_ph_hpl_root_body_steps ff_current_ph_hpl_root_body_steps. ((((exists fs_h_ph_hpl_root_body_steps_coefficient. fs_h_ph_hpl_root_body_steps_coefficient + S (ff_coefficient_ph_hpl_root_body_steps) = S ((S (ff_i_ph_hpl_root_body_steps)) * c)) /\ exists fs_q_ph_hpl_root_body_steps_coefficient. b = fs_q_ph_hpl_root_body_steps_coefficient * S ((S (ff_i_ph_hpl_root_body_steps)) * c) + (ff_coefficient_ph_hpl_root_body_steps))) /\ ((((exists fs_h_ph_hpl_root_body_steps_before. fs_h_ph_hpl_root_body_steps_before + S (ff_previous_ph_hpl_root_body_steps) = S ((S (ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_steps_before. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_steps_before * S ((S (ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root) + (ff_previous_ph_hpl_root_body_steps))) /\ ((((exists fs_h_ph_hpl_root_body_steps_after. fs_h_ph_hpl_root_body_steps_after + S (ff_current_ph_hpl_root_body_steps) = S ((S (S ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_steps_after. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_steps_after * S ((S (S ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root) + (ff_current_ph_hpl_root_body_steps))) /\ ff_current_ph_hpl_root_body_steps = ff_previous_ph_hpl_root_body_steps * r + ff_coefficient_ph_hpl_root_body_steps)))))) /\ (exists hgcrt_mod_left_hpl_root hgcrt_mod_right_hpl_root. hpl_value_root + m * hgcrt_mod_left_hpl_root = 0 + m * hgcrt_mod_right_hpl_root)))

Constructive proof overview

Generated structural guide

An actual polynomial root transports to every congruent natural point.

The unchanged tactic script uses 4 declared prerequisites and contains 42 exact native proof lines.

Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

beta_horner_eval_exists Alpha theorem; checked-use authorized beta_horner_eval_mod_congruence Alpha theorem; checked-use authorized mod_eq_trans Stable theorem; checked-use authorized mod_eq_symm Stable theorem; checked-use authorized

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

42 script commands · 9 reading checkpoints · 1 local claims

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.

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–8

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro a
  4. L4
    intro r
  5. L5
    intro l
  6. L6
    intro m
  7. L7
    intro hmod
  8. L8
    intro hroot
02Separate the logical casesL9–10

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L9
    cases hroot
  2. L10
    cases hroot_witness
03Establish hvalueL11–16

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner eval exists.

  1. L11
    have hvalue : ∃ v. Horner(b,c,r,l,v)Definitions: Horner
  2. L12
    specialize beta_horner_eval_exists b
  3. L13
    specialize beta_horner_eval_exists c
  4. L14
    specialize beta_horner_eval_exists r
  5. L15
    specialize beta_horner_eval_exists l
  6. L16
    apply beta_horner_eval_exists
04Separate the logical casesL17–17

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L17
    cases hvalue
05Construct an explicit witnessL18–18

Supply the displayed value, then prove that it has the required property.

  1. L18
    exists x1
06Separate the logical casesL19–19

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L19
    split
07Use earlier factsL20–29

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L20
    exact hvalue_witness
  2. L21
    specialize mod_eq_trans m
  3. L22
    specialize mod_eq_trans x1
  4. L23
    specialize mod_eq_trans x
  5. L24
    specialize mod_eq_trans 0
  6. L25
    apply mod_eq_trans
  7. L26
    specialize mod_eq_symm m
  8. L27
    specialize mod_eq_symm x
  9. L28
    specialize mod_eq_symm x1
  10. L29
    apply mod_eq_symm
08Use earlier factsL30–39

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L30
    specialize beta_horner_eval_mod_congruence b
  2. L31
    specialize beta_horner_eval_mod_congruence c
  3. L32
    specialize beta_horner_eval_mod_congruence m
  4. L33
    specialize beta_horner_eval_mod_congruence a
  5. L34
    specialize beta_horner_eval_mod_congruence r
  6. L35
    specialize beta_horner_eval_mod_congruence l
  7. L36
    specialize beta_horner_eval_mod_congruence x
  8. L37
    specialize beta_horner_eval_mod_congruence x1
  9. L38
    apply beta_horner_eval_mod_congruence
  10. L39
    exact hmod
09Use earlier factsL40–42

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L40
    exact hroot_witness_left
  2. L41
    exact hvalue_witness
  3. L42
    exact hroot_witness_right

Library-wide reading audit

Original exact command ledger · 42 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro a
  4. 0004intro r
  5. 0005intro l
  6. 0006intro m
  7. 0007intro hmod
  8. 0008intro hroot
  9. 0009cases hroot
  10. 0010cases hroot_witness
  11. 0011have hvalue : exists v. (exists ff_u_ph_hpl_eval ff_v_ph_hpl_eval. ((((exists fs_h_ph_hpl_eval_body_start. fs_h_ph_hpl_eval_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_eval)) /\ exists fs_q_ph_hpl_eval_body_start. ff_u_ph_hpl_eval = fs_q_ph_hpl_eval_body_start * S ((S (0)) * ff_v_ph_hpl_eval) + (0))) /\ ((((exists fs_h_ph_hpl_eval_body_terminal. fs_h_ph_hpl_eval_body_terminal + S (v) = S ((S (l)) * ff_v_ph_hpl_eval)) /\ exists fs_q_ph_hpl_eval_body_terminal. ff_u_ph_hpl_eval = fs_q_ph_hpl_eval_body_terminal * S ((S (l)) * ff_v_ph_hpl_eval) + (v))) /\ forall ff_i_ph_hpl_eval_body_steps. (exists ph_bound_hpl_eval_body_steps. ph_bound_hpl_eval_body_steps + S ff_i_ph_hpl_eval_body_steps = l) -> exists ff_coefficient_ph_hpl_eval_body_steps ff_previous_ph_hpl_eval_body_steps ff_current_ph_hpl_eval_body_steps. ((((exists fs_h_ph_hpl_eval_body_steps_coefficient. fs_h_ph_hpl_eval_body_steps_coefficient + S (ff_coefficient_ph_hpl_eval_body_steps) = S ((S (ff_i_ph_hpl_eval_body_steps)) * c)) /\ exists fs_q_ph_hpl_eval_body_steps_coefficient. b = fs_q_ph_hpl_eval_body_steps_coefficient * S ((S (ff_i_ph_hpl_eval_body_steps)) * c) + (ff_coefficient_ph_hpl_eval_body_steps))) /\ ((((exists fs_h_ph_hpl_eval_body_steps_before. fs_h_ph_hpl_eval_body_steps_before + S (ff_previous_ph_hpl_eval_body_steps) = S ((S (ff_i_ph_hpl_eval_body_steps)) * ff_v_ph_hpl_eval)) /\ exists fs_q_ph_hpl_eval_body_steps_before. ff_u_ph_hpl_eval = fs_q_ph_hpl_eval_body_steps_before * S ((S (ff_i_ph_hpl_eval_body_steps)) * ff_v_ph_hpl_eval) + (ff_previous_ph_hpl_eval_body_steps))) /\ ((((exists fs_h_ph_hpl_eval_body_steps_after. fs_h_ph_hpl_eval_body_steps_after + S (ff_current_ph_hpl_eval_body_steps) = S ((S (S ff_i_ph_hpl_eval_body_steps)) * ff_v_ph_hpl_eval)) /\ exists fs_q_ph_hpl_eval_body_steps_after. ff_u_ph_hpl_eval = fs_q_ph_hpl_eval_body_steps_after * S ((S (S ff_i_ph_hpl_eval_body_steps)) * ff_v_ph_hpl_eval) + (ff_current_ph_hpl_eval_body_steps))) /\ ff_current_ph_hpl_eval_body_steps = ff_previous_ph_hpl_eval_body_steps * r + ff_coefficient_ph_hpl_eval_body_steps))))))
  12. 0012specialize beta_horner_eval_exists b
  13. 0013specialize beta_horner_eval_exists c
  14. 0014specialize beta_horner_eval_exists r
  15. 0015specialize beta_horner_eval_exists l
  16. 0016apply beta_horner_eval_exists
  17. 0017cases hvalue
  18. 0018exists x1
  19. 0019split
  20. 0020exact hvalue_witness
  21. 0021specialize mod_eq_trans m
  22. 0022specialize mod_eq_trans x1
  23. 0023specialize mod_eq_trans x
  24. 0024specialize mod_eq_trans 0
  25. 0025apply mod_eq_trans
  26. 0026specialize mod_eq_symm m
  27. 0027specialize mod_eq_symm x
  28. 0028specialize mod_eq_symm x1
  29. 0029apply mod_eq_symm
  30. 0030specialize beta_horner_eval_mod_congruence b
  31. 0031specialize beta_horner_eval_mod_congruence c
  32. 0032specialize beta_horner_eval_mod_congruence m
  33. 0033specialize beta_horner_eval_mod_congruence a
  34. 0034specialize beta_horner_eval_mod_congruence r
  35. 0035specialize beta_horner_eval_mod_congruence l
  36. 0036specialize beta_horner_eval_mod_congruence x
  37. 0037specialize beta_horner_eval_mod_congruence x1
  38. 0038apply beta_horner_eval_mod_congruence
  39. 0039exact hmod
  40. 0040exact hroot_witness_left
  41. 0041exact hvalue_witness
  42. 0042exact hroot_witness_right