PX0032

polynomial_quotient_length_exists

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

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

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 L d. exists q. (((((q)=0) /\ ((exists pfc_gap_division_length_existsshort. pfc_gap_division_length_existsshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L))))))

Constructive proof overview

Generated structural guide

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

The unchanged tactic script uses 3 declared prerequisites and contains 23 exact native proof lines.

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

Proof neighborhood

Direct dependencies

le_or_lt Alpha theorem; checked-use authorized succ_ne_zero Alpha theorem; checked-use authorized add_succ_left Alpha 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

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.

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 : (exists pfc_gap_division_length_short. pfc_gap_division_length_short+(L)=(d)) \/ (exists pfa_gap_division_length_long. pfa_gap_division_length_long + S (d) = (L))
  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 exact command ledger · 23 lines
  1. 0001intro L
  2. 0002intro d
  3. 0003have horder : (exists pfc_gap_division_length_short. pfc_gap_division_length_short+(L)=(d)) \/ (exists pfa_gap_division_length_long. pfa_gap_division_length_long + S (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