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
∀ m. ∀ a. ∀ b. Lt(a,m) → Lt(b,m) → ModEq(m,a,b) → a = bEvery 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
3 occurrences
In local proof propositions
0 occurrences
Exact expanded native-PA statement
forall m a b. (exists ha. ha + S a = m) -> (exists hb. hb + S b = m) -> (exists u v. a + m * u = b + m * v) -> a = bProof 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 (2)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–8
03Establish hdaL9–10
04Establish hdbL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add comm.
- L11
have hdb : a + m * x = m * x1 + b - L12
trans b + m * x1 - L13
exact hab_witness_witness - L14
apply add_comm - L15
specialize division_remainder_unique m - L16
specialize division_remainder_unique (a + m * x) - L17
specialize division_remainder_unique x - L18
specialize division_remainder_unique a - L19
specialize division_remainder_unique x1 - L20
specialize division_remainder_unique b
05Establish huniqL21–26
06Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
cases huniq
07Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
exact huniq_right
Original defined command ledger · 28 lines
- 0001
intro m - 0002
intro a - 0003
intro b - 0004
intro ha - 0005
intro hb - 0006
intro hab - 0007
cases hab - 0008
cases hab_witness - 0009
have hda : a + m * x = m * x + a - 0010
apply add_comm - 0011
have hdb : a + m * x = m * x1 + b - 0012
trans b + m * x1 - 0013
exact hab_witness_witness - 0014
apply add_comm - 0015
specialize division_remainder_unique m - 0016
specialize division_remainder_unique (a + m * x) - 0017
specialize division_remainder_unique x - 0018
specialize division_remainder_unique a - 0019
specialize division_remainder_unique x1 - 0020
specialize division_remainder_unique b - 0021
have huniq : x = x1 /\ a = b - 0022
apply division_remainder_unique - 0023
exact hda - 0024
exact ha - 0025
exact hdb - 0026
exact hb - 0027
cases huniq - 0028
exact huniq_right