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.
Exact expanded PA statement
forall a b. a * b = 1 -> a = 1 /\ b = 1Structural proof guide
Generated structural guide
A product is one only when both natural factors are one.
Use the direct prerequisites mul_zero_left, add_eq_zero_right, one_mul as previously established PA formulas.
The proof proceeds by structural induction (2), intermediate claims (2), equality transport (8).
Referenced ingredients
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Stable checked-use theorem is independently kernel-checked when replayed.
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 exact 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