PQ001E

prime_field_polynomial_suffix_equal

Two actual suffix encodings agree at every decoded prefix position, without asserting equality of raw codes.

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

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.

All coefficients retain the established highest-degree-first order. Trimming handles empty and all-zero prefixes; monic normalization requires a nonzero leading coefficient. Synthetic division has a nonempty input of length S n and a quotient of length n, unique in decoded values. Its coefficient recurrence, actual evaluation remainder and positive-degree drop are checked. General polynomial Euclidean division, gcd/Bezout, an arbitrary-convolution factor theorem, irreducible-polynomial existence and the full G091 prime-power-field endpoint remain open. These exact theorems are first admitted to Alpha v32; Stable remains unchanged.

Exact theorem in conservative defined notation

∀ b. ∀ c. ∀ t. ∀ d. ∀ e. ∀ f. ∀ g. ∀ M. PolynomialSuffix(b,c,t,d,e,M)PolynomialSuffix(b,c,t,f,g,M) → ∀ x. ∀ y. Lt(x,M)BetaAt(d,e,x,y)BetaAt(f,g,x,y)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall b c t d e f g M. (forall pftrim_index_suffix_equal_left pftrim_value_suffix_equal_left. (exists pfa_gap_suffix_equal_leftbound. pfa_gap_suffix_equal_leftbound + S (pftrim_index_suffix_equal_left) = (M)) -> (((exists ff_h_pfp_suffix_equal_leftsource. ff_h_pfp_suffix_equal_leftsource + S (pftrim_value_suffix_equal_left) = S ((S ((t)+pftrim_index_suffix_equal_left)) * c)) /\ exists ff_q_pfp_suffix_equal_leftsource. b = ff_q_pfp_suffix_equal_leftsource * S ((S ((t)+pftrim_index_suffix_equal_left)) * c) + (pftrim_value_suffix_equal_left))) -> (((exists ff_h_pfp_suffix_equal_leftoutput. ff_h_pfp_suffix_equal_leftoutput + S (pftrim_value_suffix_equal_left) = S ((S (pftrim_index_suffix_equal_left)) * e)) /\ exists ff_q_pfp_suffix_equal_leftoutput. d = ff_q_pfp_suffix_equal_leftoutput * S ((S (pftrim_index_suffix_equal_left)) * e) + (pftrim_value_suffix_equal_left)))) -> (forall pftrim_index_suffix_equal_right pftrim_value_suffix_equal_right. (exists pfa_gap_suffix_equal_rightbound. pfa_gap_suffix_equal_rightbound + S (pftrim_index_suffix_equal_right) = (M)) -> (((exists ff_h_pfp_suffix_equal_rightsource. ff_h_pfp_suffix_equal_rightsource + S (pftrim_value_suffix_equal_right) = S ((S ((t)+pftrim_index_suffix_equal_right)) * c)) /\ exists ff_q_pfp_suffix_equal_rightsource. b = ff_q_pfp_suffix_equal_rightsource * S ((S ((t)+pftrim_index_suffix_equal_right)) * c) + (pftrim_value_suffix_equal_right))) -> (((exists ff_h_pfp_suffix_equal_rightoutput. ff_h_pfp_suffix_equal_rightoutput + S (pftrim_value_suffix_equal_right) = S ((S (pftrim_index_suffix_equal_right)) * g)) /\ exists ff_q_pfp_suffix_equal_rightoutput. f = ff_q_pfp_suffix_equal_rightoutput * S ((S (pftrim_index_suffix_equal_right)) * g) + (pftrim_value_suffix_equal_right)))) -> (forall mdr_i_pfp_suffix_equal_result mdr_a_pfp_suffix_equal_result. (exists mdr_gap_pfp_suffix_equal_resultb. mdr_gap_pfp_suffix_equal_resultb + S (mdr_i_pfp_suffix_equal_result) = (M)) -> (((exists ff_h_mdr_pfp_suffix_equal_resulto. ff_h_mdr_pfp_suffix_equal_resulto + S (mdr_a_pfp_suffix_equal_result) = S ((S (mdr_i_pfp_suffix_equal_result)) * e)) /\ exists ff_q_mdr_pfp_suffix_equal_resulto. d = ff_q_mdr_pfp_suffix_equal_resulto * S ((S (mdr_i_pfp_suffix_equal_result)) * e) + (mdr_a_pfp_suffix_equal_result))) -> (((exists ff_h_mdr_pfp_suffix_equal_resultn. ff_h_mdr_pfp_suffix_equal_resultn + S (mdr_a_pfp_suffix_equal_result) = S ((S (mdr_i_pfp_suffix_equal_result)) * g)) /\ exists ff_q_mdr_pfp_suffix_equal_resultn. f = ff_q_mdr_pfp_suffix_equal_resultn * S ((S (mdr_i_pfp_suffix_equal_result)) * g) + (mdr_a_pfp_suffix_equal_result))))

Complete tactic proof in conservative notation

All 40 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

40 script commands · 8 reading checkpoints · 2 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

01Fix variables and assumptionsL1–10

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

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro t
  4. L4
    intro d
  5. L5
    intro e
  6. L6
    intro f
  7. L7
    intro g
  8. L8
    intro M
  9. L9
    intro hd
  10. L10
    intro hf
02Fix variables and assumptionsL11–14

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

  1. L11
    intro i
  2. L12
    intro a
  3. L13
    intro hi
  4. L14
    intro ha
03Establish hzL15–19

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

  1. L15
    have hz : ∃ z. BetaAt(b,c,t + i,z)Definitions: BetaAt(b,c,t + i,z)Original native command in the exact edition
  2. L16
    specialize beta_at_exists (b)
  3. L17
    specialize beta_at_exists (c)
  4. L18
    specialize beta_at_exists (t+i)
  5. L19
    apply beta_at_exists
04Separate the logical casesL20–20

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

  1. L20
    cases hz
05Establish heqL21–30

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

  1. L21
    have heq : a=x
  2. L22
    specialize beta_at_unique (d)
  3. L23
    specialize beta_at_unique (e)
  4. L24
    specialize beta_at_unique (i)
  5. L25
    specialize beta_at_unique (a)
  6. L26
    specialize beta_at_unique (x)
  7. L27
    apply beta_at_unique
  8. L28
    exact ha
  9. L29
    specialize hd (i)
  10. L30
    specialize hd (x)
06Use earlier factsL31–33

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

  1. L31
    apply hd
  2. L32
    exact hi
  3. L33
    exact hz_witness
07Calculate and transport equalitiesL34–35

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L34
    rewrite heq
  2. L35
    rewrite heq
08Use earlier factsL36–40

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

  1. L36
    specialize hf (i)
  2. L37
    specialize hf (x)
  3. L38
    apply hf
  4. L39
    exact hi
  5. L40
    exact hz_witness

Library-wide reading audit

Original defined command ledger · 40 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro t
  4. 0004intro d
  5. 0005intro e
  6. 0006intro f
  7. 0007intro g
  8. 0008intro M
  9. 0009intro hd
  10. 0010intro hf
  11. 0011intro i
  12. 0012intro a
  13. 0013intro hi
  14. 0014intro ha
  15. 0015have hz : ∃ z. BetaAt(b,c,t + i,z)
  16. 0016specialize beta_at_exists (b)
  17. 0017specialize beta_at_exists (c)
  18. 0018specialize beta_at_exists (t+i)
  19. 0019apply beta_at_exists
  20. 0020cases hz
  21. 0021have heq : a=x
  22. 0022specialize beta_at_unique (d)
  23. 0023specialize beta_at_unique (e)
  24. 0024specialize beta_at_unique (i)
  25. 0025specialize beta_at_unique (a)
  26. 0026specialize beta_at_unique (x)
  27. 0027apply beta_at_unique
  28. 0028exact ha
  29. 0029specialize hd (i)
  30. 0030specialize hd (x)
  31. 0031apply hd
  32. 0032exact hi
  33. 0033exact hz_witness
  34. 0034rewrite heq
  35. 0035rewrite heq
  36. 0036specialize hf (i)
  37. 0037specialize hf (x)
  38. 0038apply hf
  39. 0039exact hi
  40. 0040exact hz_witness