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 original first-admission records.
Statement with defined notation
∀ k. ∀ n. ¬k = 0 → ∃ x. Le(x + x,k) ∧ ((∃ y. n = k · y + x) ∨ Dvd(k,n + x))Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall k n. ~(k = 0) -> exists m. (((exists fsd_center_bound_single. fsd_center_bound_single + (m + m) = k) /\ ((exists fsd_center_lower_single. n = k * fsd_center_lower_single + m) \/ (exists fsd_center_upper_single. n + m = k * fsd_center_upper_single))))Proof neighborhood
Direct theorem prerequisites
FS001L four_square_descent_remainder_complement_exists FS0006 four_square_add_swap_right_tail add_assoc · Stable closedDirect theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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.
Named ingredients (2)
01Fix variables and assumptionsL1–3
02Establish hpartsL4–8
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent remainder complement exists.
- L4
have hparts : ∃ q. ∃ r. ∃ s. n = k · q + r ∧ (r + s = k ∧ (Le(r,s) ∨ Le(s,r)))Definitions: Le(r,s)Le(s,r)Original native command in the exact edition - L5
specialize four_square_descent_remainder_complement_exists k - L6
specialize four_square_descent_remainder_complement_exists n - L7
apply four_square_descent_remainder_complement_exists - L8
exact hnonzero
03Separate the logical casesL9–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
04Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists x1
05Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
split
06Construct an explicit witnessL18–18
Supply the displayed value, then prove that it has the required property.
- L18
exists x3
07Calculate and transport equalitiesL19–19
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L19
trans x1 + (x3 + x1)
08Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
apply four_square_add_swap_right_tail
09Calculate and transport equalitiesL21–23
10Use earlier factsL24–25
11Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
left
12Construct an explicit witnessL27–27
Supply the displayed value, then prove that it has the required property.
- L27
exists x
13Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
exact hparts_witness_witness_witness_left
14Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases hparts_witness_witness_witness_right_right_right
15Construct an explicit witnessL30–30
Supply the displayed value, then prove that it has the required property.
- L30
exists x2
16Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
split
17Construct an explicit witnessL32–32
Supply the displayed value, then prove that it has the required property.
- L32
exists x3
18Calculate and transport equalitiesL33–34
19Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
apply add_assoc
20Calculate and transport equalitiesL36–37
21Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hparts_witness_witness_witness_right_right_right_witness
22Calculate and transport equalitiesL39–39
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L39
refl
23Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hparts_witness_witness_witness_right_left
24Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
right
25Construct an explicit witnessL42–42
Supply the displayed value, then prove that it has the required property.
- L42
exists S x
26Calculate and transport equalitiesL43–44
27Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hparts_witness_witness_witness_left
28Calculate and transport equalitiesL46–47
29Use earlier factsL48–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
apply add_assoc
30Calculate and transport equalitiesL49–51
31Use earlier factsL52–52
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L52
exact hparts_witness_witness_witness_right_left
32Calculate and transport equalitiesL53–53
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L53
symm
33Use earlier factsL54–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
apply PA6
Original defined command ledger · 54 lines
- 0001
intro k - 0002
intro n - 0003
intro hnonzero - 0004
have hparts : ∃ q. ∃ r. ∃ s. n = k · q + r ∧ (r + s = k ∧ (Le(r,s) ∨ Le(s,r)))Exact native replay line
have hparts : exists q r s. ((n = k * q + r) /\ ((r + s = k) /\ ((exists t. t + r = s) \/ (exists t. t + s = r)))) - 0005
specialize four_square_descent_remainder_complement_exists k - 0006
specialize four_square_descent_remainder_complement_exists n - 0007
apply four_square_descent_remainder_complement_exists - 0008
exact hnonzero - 0009
cases hparts - 0010
cases hparts_witness - 0011
cases hparts_witness_witness - 0012
cases hparts_witness_witness_witness - 0013
cases hparts_witness_witness_witness_right - 0014
cases hparts_witness_witness_witness_right_right - 0015
cases hparts_witness_witness_witness_right_right_left - 0016
exists x1 - 0017
split - 0018
exists x3 - 0019
trans x1 + (x3 + x1) - 0020
apply four_square_add_swap_right_tail - 0021
trans x1 + x2 - 0022
congr - 0023
refl - 0024
exact hparts_witness_witness_witness_right_right_left_witness - 0025
exact hparts_witness_witness_witness_right_left - 0026
left - 0027
exists x - 0028
exact hparts_witness_witness_witness_left - 0029
cases hparts_witness_witness_witness_right_right_right - 0030
exists x2 - 0031
split - 0032
exists x3 - 0033
trans (x3 + x2) + x2 - 0034
symm - 0035
apply add_assoc - 0036
trans x1 + x2 - 0037
congr - 0038
exact hparts_witness_witness_witness_right_right_right_witness - 0039
refl - 0040
exact hparts_witness_witness_witness_right_left - 0041
right - 0042
exists S x - 0043
trans (k * x + x1) + x2 - 0044
congr - 0045
exact hparts_witness_witness_witness_left - 0046
refl - 0047
trans k * x + (x1 + x2) - 0048
apply add_assoc - 0049
trans k * x + k - 0050
congr - 0051
refl - 0052
exact hparts_witness_witness_witness_right_left - 0053
symm - 0054
apply PA6