PQ0051

prime_field_polynomial_synthetic_final_coefficient

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

The remainder satisfies r=a*q[last]+f[last] by genuine canonical multiplication and addition.

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 n qb qc r h v. (~((p) = 1) /\ forall pfa_factor_left_final_prime pfa_factor_right_final_prime. (p) = pfa_factor_left_final_prime * pfa_factor_right_final_prime -> pfa_factor_left_final_prime = 1 \/ pfa_factor_right_final_prime = 1) -> (exists pfs_history_code_final_division pfs_history_scale_final_division. ((((exists pfa_gap_final_divisiontracebase. pfa_gap_final_divisiontracebase + S (a) = (p)) /\ (((((exists ff_h_pfp_final_divisiontraceinitial. ff_h_pfp_final_divisiontraceinitial + S (0) = S ((S (0)) * pfs_history_scale_final_division)) /\ exists ff_q_pfp_final_divisiontraceinitial. pfs_history_code_final_division = ff_q_pfp_final_divisiontraceinitial * S ((S (0)) * pfs_history_scale_final_division) + (0))) /\ (((((exists ff_h_pfp_final_divisiontraceterminal. ff_h_pfp_final_divisiontraceterminal + S (r) = S ((S (S (S n))) * pfs_history_scale_final_division)) /\ exists ff_q_pfp_final_divisiontraceterminal. pfs_history_code_final_division = ff_q_pfp_final_divisiontraceterminal * S ((S (S (S n))) * pfs_history_scale_final_division) + (r))) /\ ((forall pfh_index_final_divisiontracesteps. (exists pfa_gap_final_divisiontracestepsindex. pfa_gap_final_divisiontracestepsindex + S (pfh_index_final_divisiontracesteps) = (S (S n))) -> (exists pfh_coefficient_final_divisiontracestepsstep pfh_before_final_divisiontracestepsstep pfh_after_final_divisiontracestepsstep pfh_product_final_divisiontracestepsstep. ((((exists ff_h_pfp_final_divisiontracestepsstepcoefficient. ff_h_pfp_final_divisiontracestepsstepcoefficient + S (pfh_coefficient_final_divisiontracestepsstep) = S ((S (pfh_index_final_divisiontracesteps)) * c)) /\ exists ff_q_pfp_final_divisiontracestepsstepcoefficient. b = ff_q_pfp_final_divisiontracestepsstepcoefficient * S ((S (pfh_index_final_divisiontracesteps)) * c) + (pfh_coefficient_final_divisiontracestepsstep))) /\ (((((exists ff_h_pfp_final_divisiontracestepsstepbefore. ff_h_pfp_final_divisiontracestepsstepbefore + S (pfh_before_final_divisiontracestepsstep) = S ((S (pfh_index_final_divisiontracesteps)) * pfs_history_scale_final_division)) /\ exists ff_q_pfp_final_divisiontracestepsstepbefore. pfs_history_code_final_division = ff_q_pfp_final_divisiontracestepsstepbefore * S ((S (pfh_index_final_divisiontracesteps)) * pfs_history_scale_final_division) + (pfh_before_final_divisiontracestepsstep))) /\ (((((exists ff_h_pfp_final_divisiontracestepsstepafter. ff_h_pfp_final_divisiontracestepsstepafter + S (pfh_after_final_divisiontracestepsstep) = S ((S (S (pfh_index_final_divisiontracesteps))) * pfs_history_scale_final_division)) /\ exists ff_q_pfp_final_divisiontracestepsstepafter. pfs_history_code_final_division = ff_q_pfp_final_divisiontracestepsstepafter * S ((S (S (pfh_index_final_divisiontracesteps))) * pfs_history_scale_final_division) + (pfh_after_final_divisiontracestepsstep))) /\ (((((exists pfa_gap_final_divisiontracestepsstepmultiplyleft. pfa_gap_final_divisiontracestepsstepmultiplyleft + S (pfh_before_final_divisiontracestepsstep) = (p)) /\ (((exists pfa_gap_final_divisiontracestepsstepmultiplyright. pfa_gap_final_divisiontracestepsstepmultiplyright + S (a) = (p)) /\ ((((exists pfa_gap_final_divisiontracestepsstepmultiplyresultbound. pfa_gap_final_divisiontracestepsstepmultiplyresultbound + S (pfh_product_final_divisiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_final_divisiontracestepsstepmultiplyresultcongruence pfa_offset_right_final_divisiontracestepsstepmultiplyresultcongruence. ((pfh_before_final_divisiontracestepsstep) * (a)) + (p) * pfa_offset_left_final_divisiontracestepsstepmultiplyresultcongruence = (pfh_product_final_divisiontracestepsstep) + (p) * pfa_offset_right_final_divisiontracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_final_divisiontracestepsstepaddleft. pfa_gap_final_divisiontracestepsstepaddleft + S (pfh_product_final_divisiontracestepsstep) = (p)) /\ (((exists pfa_gap_final_divisiontracestepsstepaddright. pfa_gap_final_divisiontracestepsstepaddright + S (pfh_coefficient_final_divisiontracestepsstep) = (p)) /\ ((((exists pfa_gap_final_divisiontracestepsstepaddresultbound. pfa_gap_final_divisiontracestepsstepaddresultbound + S (pfh_after_final_divisiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_final_divisiontracestepsstepaddresultcongruence pfa_offset_right_final_divisiontracestepsstepaddresultcongruence. ((pfh_product_final_divisiontracestepsstep) + (pfh_coefficient_final_divisiontracestepsstep)) + (p) * pfa_offset_left_final_divisiontracestepsstepaddresultcongruence = (pfh_after_final_divisiontracestepsstep) + (p) * pfa_offset_right_final_divisiontracestepsstepaddresultcongruence)))))))))))))))))))))))))) /\ ((forall ff_index_mcp_pfs_final_divisionquotient ff_source_mcp_pfs_final_divisionquotient ff_target_mcp_pfs_final_divisionquotient. (exists mcp_gap_pfs_final_divisionquotient_bound. mcp_gap_pfs_final_divisionquotient_bound + S (ff_index_mcp_pfs_final_divisionquotient) = (S n)) -> (((exists fs_h_mcp_pfs_final_divisionquotient_source. fs_h_mcp_pfs_final_divisionquotient_source + S (ff_source_mcp_pfs_final_divisionquotient) = S ((S ((1) + (1) * ff_index_mcp_pfs_final_divisionquotient)) * pfs_history_scale_final_division)) /\ exists fs_q_mcp_pfs_final_divisionquotient_source. pfs_history_code_final_division = fs_q_mcp_pfs_final_divisionquotient_source * S ((S ((1) + (1) * ff_index_mcp_pfs_final_divisionquotient)) * pfs_history_scale_final_division) + (ff_source_mcp_pfs_final_divisionquotient))) -> (((exists fs_h_mcp_pfs_final_divisionquotient_target. fs_h_mcp_pfs_final_divisionquotient_target + S (ff_target_mcp_pfs_final_divisionquotient) = S ((S (ff_index_mcp_pfs_final_divisionquotient)) * qc)) /\ exists fs_q_mcp_pfs_final_divisionquotient_target. qb = fs_q_mcp_pfs_final_divisionquotient_target * S ((S (ff_index_mcp_pfs_final_divisionquotient)) * qc) + (ff_target_mcp_pfs_final_divisionquotient))) -> ff_target_mcp_pfs_final_divisionquotient = ff_source_mcp_pfs_final_divisionquotient)))) -> (((exists ff_h_pfp_final_quotient. ff_h_pfp_final_quotient + S (h) = S ((S (n)) * qc)) /\ exists ff_q_pfp_final_quotient. qb = ff_q_pfp_final_quotient * S ((S (n)) * qc) + (h))) -> (((exists ff_h_pfp_final_input. ff_h_pfp_final_input + S (v) = S ((S (S n)) * c)) /\ exists ff_q_pfp_final_input. b = ff_q_pfp_final_input * S ((S (S n)) * c) + (v))) -> exists k. ((((exists pfa_gap_final_productleft. pfa_gap_final_productleft + S (h) = (p)) /\ (((exists pfa_gap_final_productright. pfa_gap_final_productright + S (a) = (p)) /\ ((((exists pfa_gap_final_productresultbound. pfa_gap_final_productresultbound + S (k) = (p)) /\ ((exists pfa_offset_left_final_productresultcongruence pfa_offset_right_final_productresultcongruence. ((h) * (a)) + (p) * pfa_offset_left_final_productresultcongruence = (k) + (p) * pfa_offset_right_final_productresultcongruence))))))))) /\ ((((exists pfa_gap_final_sumleft. pfa_gap_final_sumleft + S (k) = (p)) /\ (((exists pfa_gap_final_sumright. pfa_gap_final_sumright + S (v) = (p)) /\ ((((exists pfa_gap_final_sumresultbound. pfa_gap_final_sumresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_final_sumresultcongruence pfa_offset_right_final_sumresultcongruence. ((k) + (v)) + (p) * pfa_offset_left_final_sumresultcongruence = (r) + (p) * pfa_offset_right_final_sumresultcongruence)))))))))))

Constructive proof overview

Generated structural guide

The remainder satisfies r=a*q[last]+f[last] by genuine canonical multiplication and addition.

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

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

Proof neighborhood

Direct dependencies

Direct dependents

none

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

50 script commands · 8 reading checkpoints · 0 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.

Named ingredients (3)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro a
  5. L5
    intro n
  6. L6
    intro qb
  7. L7
    intro qc
  8. L8
    intro r
  9. L9
    intro h
  10. L10
    intro v
02Fix variables and assumptionsL11–14

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

  1. L11
    intro hp
  2. L12
    intro hs
  3. L13
    intro hh
  4. L14
    intro hv
03Use earlier factsL15–24

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

  1. L15
    specialize prime_field_polynomial_horner_transition_values (p)
  2. L16
    specialize prime_field_polynomial_horner_transition_values (b)
  3. L17
    specialize prime_field_polynomial_horner_transition_values (c)
  4. L18
    specialize prime_field_polynomial_horner_transition_values (a)
  5. L19
    specialize prime_field_polynomial_horner_transition_values (S n)
  6. L20
    specialize prime_field_polynomial_horner_transition_values (h)
  7. L21
    specialize prime_field_polynomial_horner_transition_values (v)
  8. L22
    specialize prime_field_polynomial_horner_transition_values (r)
  9. L23
    apply prime_field_polynomial_horner_transition_values
  10. L24
    exact hp
04Use earlier factsL25–34

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

  1. L25
    specialize prime_field_polynomial_synthetic_quotient_entry (p)
  2. L26
    specialize prime_field_polynomial_synthetic_quotient_entry (b)
  3. L27
    specialize prime_field_polynomial_synthetic_quotient_entry (c)
  4. L28
    specialize prime_field_polynomial_synthetic_quotient_entry (a)
  5. L29
    specialize prime_field_polynomial_synthetic_quotient_entry (S n)
  6. L30
    specialize prime_field_polynomial_synthetic_quotient_entry (qb)
  7. L31
    specialize prime_field_polynomial_synthetic_quotient_entry (qc)
  8. L32
    specialize prime_field_polynomial_synthetic_quotient_entry (r)
  9. L33
    specialize prime_field_polynomial_synthetic_quotient_entry (n)
  10. L34
    specialize prime_field_polynomial_synthetic_quotient_entry (h)
05Use earlier factsL35–36

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

  1. L35
    apply prime_field_polynomial_synthetic_quotient_entry
  2. L36
    exact hs
06Construct an explicit witnessL37–37

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

  1. L37
    exists 0
07Use earlier factsL38–47

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

  1. L38
    apply zero_add
  2. L39
    exact hh
  3. L40
    specialize prime_field_polynomial_synthetic_remainder_execution (p)
  4. L41
    specialize prime_field_polynomial_synthetic_remainder_execution (b)
  5. L42
    specialize prime_field_polynomial_synthetic_remainder_execution (c)
  6. L43
    specialize prime_field_polynomial_synthetic_remainder_execution (a)
  7. L44
    specialize prime_field_polynomial_synthetic_remainder_execution (S n)
  8. L45
    specialize prime_field_polynomial_synthetic_remainder_execution (qb)
  9. L46
    specialize prime_field_polynomial_synthetic_remainder_execution (qc)
  10. L47
    specialize prime_field_polynomial_synthetic_remainder_execution (r)
08Use earlier factsL48–50

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

  1. L48
    apply prime_field_polynomial_synthetic_remainder_execution
  2. L49
    exact hs
  3. L50
    exact hv

Library-wide reading audit

Original exact command ledger · 50 lines
  1. 0001intro p
  2. 0002intro b
  3. 0003intro c
  4. 0004intro a
  5. 0005intro n
  6. 0006intro qb
  7. 0007intro qc
  8. 0008intro r
  9. 0009intro h
  10. 0010intro v
  11. 0011intro hp
  12. 0012intro hs
  13. 0013intro hh
  14. 0014intro hv
  15. 0015specialize prime_field_polynomial_horner_transition_values (p)
  16. 0016specialize prime_field_polynomial_horner_transition_values (b)
  17. 0017specialize prime_field_polynomial_horner_transition_values (c)
  18. 0018specialize prime_field_polynomial_horner_transition_values (a)
  19. 0019specialize prime_field_polynomial_horner_transition_values (S n)
  20. 0020specialize prime_field_polynomial_horner_transition_values (h)
  21. 0021specialize prime_field_polynomial_horner_transition_values (v)
  22. 0022specialize prime_field_polynomial_horner_transition_values (r)
  23. 0023apply prime_field_polynomial_horner_transition_values
  24. 0024exact hp
  25. 0025specialize prime_field_polynomial_synthetic_quotient_entry (p)
  26. 0026specialize prime_field_polynomial_synthetic_quotient_entry (b)
  27. 0027specialize prime_field_polynomial_synthetic_quotient_entry (c)
  28. 0028specialize prime_field_polynomial_synthetic_quotient_entry (a)
  29. 0029specialize prime_field_polynomial_synthetic_quotient_entry (S n)
  30. 0030specialize prime_field_polynomial_synthetic_quotient_entry (qb)
  31. 0031specialize prime_field_polynomial_synthetic_quotient_entry (qc)
  32. 0032specialize prime_field_polynomial_synthetic_quotient_entry (r)
  33. 0033specialize prime_field_polynomial_synthetic_quotient_entry (n)
  34. 0034specialize prime_field_polynomial_synthetic_quotient_entry (h)
  35. 0035apply prime_field_polynomial_synthetic_quotient_entry
  36. 0036exact hs
  37. 0037exists 0
  38. 0038apply zero_add
  39. 0039exact hh
  40. 0040specialize prime_field_polynomial_synthetic_remainder_execution (p)
  41. 0041specialize prime_field_polynomial_synthetic_remainder_execution (b)
  42. 0042specialize prime_field_polynomial_synthetic_remainder_execution (c)
  43. 0043specialize prime_field_polynomial_synthetic_remainder_execution (a)
  44. 0044specialize prime_field_polynomial_synthetic_remainder_execution (S n)
  45. 0045specialize prime_field_polynomial_synthetic_remainder_execution (qb)
  46. 0046specialize prime_field_polynomial_synthetic_remainder_execution (qc)
  47. 0047specialize prime_field_polynomial_synthetic_remainder_execution (r)
  48. 0048apply prime_field_polynomial_synthetic_remainder_execution
  49. 0049exact hs
  50. 0050exact hv