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 authorizedDirect 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
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
02Establish horderL3–6
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le or lt.
03Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
cases horder
04Construct an explicit witnessL8–8
Supply the displayed value, then prove that it has the required property.
- L8
exists 0
05Separate the logical casesL9–10
06Calculate and transport equalitiesL11–11
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L11
refl
07Use earlier factsL12–12
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L12
exact horder_left
08Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases horder_right
09Construct an explicit witnessL14–14
Supply the displayed value, then prove that it has the required property.
- L14
exists S x
10Separate the logical casesL15–16
11Fix variables and assumptionsL17–17
Work with arbitrary variables or the premises of the current implication.
- L17
intro hz
12Use earlier factsL18–20
13Calculate and transport equalitiesL21–22
14Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
exact horder_right_witness
Original exact command ledger · 23 lines
- 0001
intro L - 0002
intro d - 0003
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)) - 0004
specialize le_or_lt (L) - 0005
specialize le_or_lt (d) - 0006
apply le_or_lt - 0007
cases horder - 0008
exists 0 - 0009
left - 0010
split - 0011
refl - 0012
exact horder_left - 0013
cases horder_right - 0014
exists S x - 0015
right - 0016
split - 0017
intro hz - 0018
specialize succ_ne_zero (x) - 0019
apply succ_ne_zero - 0020
exact hz - 0021
trans x+S d - 0022
simp [add_succ_left] - 0023
exact horder_right_witness