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 a b. a * b = 1 -> a = 1 /\ b = 1Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
0 occurrences
In local proof propositions
0 occurrences
Exact expanded native-PA statement
forall a b. a * b = 1 -> a = 1 /\ b = 1Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed 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 (3)
01Fix variables and assumptionsL1–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro a
02Induction on aL2–6
03Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
exfalso
04Use earlier factsL8–8
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L8
apply PA1
05Calculate and transport equalitiesL9–9
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L9
symm
06Use earlier factsL10–10
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L10
exact h
07Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro b
08Induction on bL12–14
09Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
exfalso
10Use earlier factsL16–16
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
apply PA1
11Calculate and transport equalitiesL17–17
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L17
symm
12Use earlier factsL18–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
exact h
13Fix variables and assumptionsL19–19
Work with arbitrary variables or the premises of the current implication.
- L19
intro h
14Calculate and transport equalitiesL20–21
15Establish hzL22–26
16Establish ha0L27–29
17Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
split
18Calculate and transport equalitiesL31–31
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L31
congr
19Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
exact ha0
20Calculate and transport equalitiesL33–35
21Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
specialize one_mul b
22Calculate and transport equalitiesL37–38
23Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hz
Original defined command ledger · 39 lines
- 0001
intro a - 0002
induction a - 0003
intro b - 0004
intro h - 0005
specialize mul_zero_left b - 0006
rewrite mul_zero_left at h - 0007
exfalso - 0008
apply PA1 - 0009
symm - 0010
exact h - 0011
intro b - 0012
induction b - 0013
intro h - 0014
rewrite PA5 at h - 0015
exfalso - 0016
apply PA1 - 0017
symm - 0018
exact h - 0019
intro h - 0020
rewrite PA6 at h - 0021
rewrite PA4 at h - 0022
have hz : S a * b + a = 0 - 0023
apply PA2 - 0024
exact h - 0025
specialize add_eq_zero_right (S a * b) - 0026
specialize add_eq_zero_right a - 0027
have ha0 : a = 0 - 0028
apply add_eq_zero_right - 0029
exact hz - 0030
split - 0031
congr - 0032
exact ha0 - 0033
rewrite ha0 at hz - 0034
rewrite ha0 at hz - 0035
rewrite PA3 at hz - 0036
specialize one_mul b - 0037
rewrite one_mul at hz - 0038
congr - 0039
exact hz