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
∀ x. ∃ s. FloorSqrt(x,s)Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
1 occurrences
In local proof propositions
1 occurrences
Exact expanded native-PA statement
forall x. exists s. (((exists bcs_sqrt_lower_gap_total_result. bcs_sqrt_lower_gap_total_result + (s) * (s) = (x)) /\ exists bcs_sqrt_upper_gap_total_result. bcs_sqrt_upper_gap_total_result + S (x) = S (s) * S (s)))Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
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 (4)
01Induction on xL1–1
Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.
- L1
induction x
02Construct an explicit witnessL2–2
Supply the displayed value, then prove that it has the required property.
- L2
exists 0
03Separate the logical casesL3–3
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L3
split
04Construct an explicit witnessL4–4
Supply the displayed value, then prove that it has the required property.
- L4
exists 0
05Calculate and transport equalitiesL5–5
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L5
norm_num
06Construct an explicit witnessL6–6
Supply the displayed value, then prove that it has the required property.
- L6
exists 0
07Calculate and transport equalitiesL7–7
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L7
norm_num
08Separate the logical casesL8–9
09Establish hsplitL10–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
- L10
have hsplit : S x = S x1 · S x1 ∨ Lt(S x,S x1 · S x1)Definitions: Lt(S x,S x1 · S x1)Original native command in the exact edition - L11
specialize le_eq_or_lt (S x) - L12
specialize le_eq_or_lt (S x1 * S x1) - L13
apply le_eq_or_lt - L14
exact IH_witness_right
10Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases hsplit
11Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists S x1
12Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
split
13Construct an explicit witnessL18–18
Supply the displayed value, then prove that it has the required property.
- L18
exists 0
14Calculate and transport equalitiesL19–19
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L19
trans S x1 * S x1
15Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
apply zero_add
16Calculate and transport equalitiesL21–21
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L21
symm
17Use earlier factsL22–23
18Calculate and transport equalitiesL24–24
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L24
rewrite hsplit_left
19Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
exact square_lt_successor_square
20Construct an explicit witnessL26–26
Supply the displayed value, then prove that it has the required property.
- L26
exists x1
21Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
split
Original defined command ledger · 32 lines
- 0001
induction x - 0002
exists 0 - 0003
split - 0004
exists 0 - 0005
norm_num - 0006
exists 0 - 0007
norm_num - 0008
cases IH - 0009
cases IH_witness - 0010
have hsplit : S x = S x1 · S x1 ∨ Lt(S x,S x1 · S x1)Exact native replay line
have hsplit : S x = S x1 * S x1 \/ exists k. k + S (S x) = S x1 * S x1 - 0011
specialize le_eq_or_lt (S x) - 0012
specialize le_eq_or_lt (S x1 * S x1) - 0013
apply le_eq_or_lt - 0014
exact IH_witness_right - 0015
cases hsplit - 0016
exists S x1 - 0017
split - 0018
exists 0 - 0019
trans S x1 * S x1 - 0020
apply zero_add - 0021
symm - 0022
exact hsplit_left - 0023
specialize square_lt_successor_square (S x1) - 0024
rewrite hsplit_left - 0025
exact square_lt_successor_square - 0026
exists x1 - 0027
split - 0028
specialize le_succ (x1 * x1) - 0029
specialize le_succ x - 0030
apply le_succ - 0031
exact IH_witness_left - 0032
exact hsplit_right