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
forall p r i j q i2 j2 q2 t. r * i + j = p * q + t -> r * i2 + j2 = p * q2 + t -> (r * i + j) + p * q2 = (r * i2 + j2) + p * qEvery 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 p r i j q i2 j2 q2 t. r * i + j = p * q + t -> r * i2 + j2 = p * q2 + t -> (r * i + j) + p * q2 = (r * i2 + j2) + p * qProof neighborhood
Direct theorem prerequisites
Direct 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hsecond
03Calculate and transport equalitiesL12–13
04Use earlier factsL14–17
05Calculate and transport equalitiesL18–19
06Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
exact add_permute_outer
Original defined command ledger · 20 lines
- 0001
intro p - 0002
intro r - 0003
intro i - 0004
intro j - 0005
intro q - 0006
intro i2 - 0007
intro j2 - 0008
intro q2 - 0009
intro t - 0010
intro hfirst - 0011
intro hsecond - 0012
rewrite hfirst - 0013
rewrite hsecond - 0014
specialize add_permute_outer (p * q) - 0015
specialize add_permute_outer t - 0016
specialize add_permute_outer (p * q2) - 0017
specialize add_permute_outer 0 - 0018
rewrite PA3 at add_permute_outer - 0019
rewrite PA3 at add_permute_outer - 0020
exact add_permute_outer