PX0032

polynomial_quotient_length_exists

Construct the true nonnegative quotient length: zero for a shorter input, otherwise the positive difference L-d.

Alpha v34 checked-use · first admitted v33 · 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.

Coefficients are highest-degree-first. The divisor has a nonzero decoded head; primality supplies its actual inverse. Empty quotients and remainders are included. Functionality compares the constructed execution lengths and decoded coefficients, never arbitrary beta codes. Formal polynomial equivalence compares every coefficient, not evaluations on a finite field. The formal identity and remainder-degree bound are proved separately, not assumed by the execution graph. Arbitrary quotient/remainder-pair uniqueness from a formal identity, multiplication associativity, gcd/Bezout, irreducible-polynomial existence, and the full G091 prime-power-field goal remain open. The seven displayed new names are conservative first-order notation, not new kernel primitives.

Exact theorem in conservative defined notation

∀ L. ∀ d. ∃ q. PolynomialQuotientLength(L,d,q)

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

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall L d. exists q. (((((q)=0) /\ ((exists pfc_gap_division_length_existsshort. pfc_gap_division_length_existsshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L))))))

Complete tactic proof in conservative notation

All 23 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

23 script commands · 14 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.

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–2

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

  1. L1
    intro L
  2. L2
    intro d
02Establish horderL3–6

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le or lt.

  1. L3
    have horder : Le(L,d) ∨ Lt(d,L)Definitions: Le(L,d)Lt(d,L)Original native command in the exact edition
  2. L4
    specialize le_or_lt (L)
  3. L5
    specialize le_or_lt (d)
  4. L6
    apply le_or_lt
03Separate the logical casesL7–7

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

  1. L7
    cases horder
04Construct an explicit witnessL8–8

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

  1. L8
    exists 0
05Separate the logical casesL9–10

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

  1. L9
    left
  2. L10
    split
06Calculate and transport equalitiesL11–11

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

  1. L11
    refl
07Use earlier factsL12–12

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

  1. L12
    exact horder_left
08Separate the logical casesL13–13

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

  1. L13
    cases horder_right
09Construct an explicit witnessL14–14

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

  1. L14
    exists S x
10Separate the logical casesL15–16

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

  1. L15
    right
  2. L16
    split
11Fix variables and assumptionsL17–17

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

  1. L17
    intro hz
12Use earlier factsL18–20

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

  1. L18
    specialize succ_ne_zero (x)
  2. L19
    apply succ_ne_zero
  3. L20
    exact hz
13Calculate and transport equalitiesL21–22

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

  1. L21
    trans x+S d
  2. L22
    simp [add_succ_left]
14Use earlier factsL23–23

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

  1. L23
    exact horder_right_witness

Library-wide reading audit

Original defined command ledger · 23 lines
  1. 0001intro L
  2. 0002intro d
  3. 0003have horder : Le(L,d)Lt(d,L)
  4. 0004specialize le_or_lt (L)
  5. 0005specialize le_or_lt (d)
  6. 0006apply le_or_lt
  7. 0007cases horder
  8. 0008exists 0
  9. 0009left
  10. 0010split
  11. 0011refl
  12. 0012exact horder_left
  13. 0013cases horder_right
  14. 0014exists S x
  15. 0015right
  16. 0016split
  17. 0017intro hz
  18. 0018specialize succ_ne_zero (x)
  19. 0019apply succ_ne_zero
  20. 0020exact hz
  21. 0021trans x+S d
  22. 0022simp [add_succ_left]
  23. 0023exact horder_right_witness