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
∀ w. ∀ i. ∀ j. ∀ k. k = w · i + j → Lt(k,w · w) → Lt(i,w)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 w i j k. k = w * i + j -> (exists ftcn_strict_row_source. ftcn_strict_row_source + S (k) = (w * w)) -> (exists ftcn_strict_row_result. ftcn_strict_row_result + S (i) = (w))Proof neighborhood
Direct theorem prerequisites
TS001E flat_square_index_row_not_at_least_width le_total · Stable closed le_eq_or_lt · Stable closed zero_add · 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 (1)
01Fix variables and assumptionsL1–6
02Establish hnotL7–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply flat square index row not at least width.
- L7
- L8
intro hbad - L9
specialize flat_square_index_row_not_at_least_width w - L10
specialize flat_square_index_row_not_at_least_width i - L11
specialize flat_square_index_row_not_at_least_width j - L12
specialize flat_square_index_row_not_at_least_width k - L13
apply flat_square_index_row_not_at_least_width - L14
exact hindex - L15
exact hbound - L16
exact hbad
03Use earlier factsL17–18
04Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
cases le_total
05Establish hsplitL20–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
06Separate the logical casesL25–26
07Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
apply hnot
08Construct an explicit witnessL28–28
Supply the displayed value, then prove that it has the required property.
- L28
exists 0
09Calculate and transport equalitiesL29–29
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L29
rewrite hsplit_left
10Use earlier factsL30–31
11Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
exfalso
Original defined command ledger · 34 lines
- 0001
intro w - 0002
intro i - 0003
intro j - 0004
intro k - 0005
intro hindex - 0006
intro hbound - 0007
have hnot : ¬Le(w,i)Exact native replay line
have hnot : ~(exists ftcn_bound_row_not. ftcn_bound_row_not + (w) = (i)) - 0008
intro hbad - 0009
specialize flat_square_index_row_not_at_least_width w - 0010
specialize flat_square_index_row_not_at_least_width i - 0011
specialize flat_square_index_row_not_at_least_width j - 0012
specialize flat_square_index_row_not_at_least_width k - 0013
apply flat_square_index_row_not_at_least_width - 0014
exact hindex - 0015
exact hbound - 0016
exact hbad - 0017
specialize le_total i - 0018
specialize le_total w - 0019
cases le_total - 0020
have hsplit : i = w ∨ Lt(i,w)Exact native replay line
have hsplit : i = w \/ (exists ftcn_strict_row_split. ftcn_strict_row_split + S (i) = (w)) - 0021
specialize le_eq_or_lt i - 0022
specialize le_eq_or_lt w - 0023
apply le_eq_or_lt - 0024
exact le_total_left - 0025
cases hsplit - 0026
exfalso - 0027
apply hnot - 0028
exists 0 - 0029
rewrite hsplit_left - 0030
apply zero_add - 0031
exact hsplit_right - 0032
exfalso - 0033
apply hnot - 0034
exact le_total_right