Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Signed one is code 2. Positive-only table graphs preserve arbitrary zeroth values, including N=0. The unit and divisor-sum identities are proved, never embedded in definitions. The separate inverse family proves the general unit-at-one criterion; multiplicative-function closure remains open.
Exact theorem in conservative defined notation
∀ N. ∀ w. ∃ U. ConstantOneTable(N,U) ∧ ArithAt(U,0,w)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 57 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay 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 (1)
01Fix variables and assumptionsL1–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro N
02Induction on NL2–3
03Establish hzL4–6
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed table singleton.
- L4
have hz : ∃ F. ArithTable(0,F) ∧ ArithAt(F,0,w)Definitions: ArithTable(0,F)ArithAt(F,0,w)Original native command in the exact edition - L5
specialize arithmetic_signed_table_singleton (w) - L6
apply arithmetic_signed_table_singleton
04Separate the logical casesL7–8
05Construct an explicit witnessL9–9
Supply the displayed value, then prove that it has the required property.
- L9
exists x
06Separate the logical casesL10–11
07Use earlier factsL12–12
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L12
exact hz_witness_left
08Fix variables and assumptionsL13–17
09Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
exfalso
10Use earlier factsL19–23
11Fix variables and assumptionsL24–24
Work with arbitrary variables or the premises of the current implication.
- L24
intro w
12Establish hpL25–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L25
have hp : ∃ F. ConstantOneTable(N,F) ∧ ArithAt(F,0,w)Definitions: ConstantOneTable(N,F)ArithAt(F,0,w)Original native command in the exact edition - L26
specialize IH (w) - L27
apply IH
13Separate the logical casesL28–29
14Establish heL30–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply dirichlet constant one table append.
- L30
have he : ∃ G. ConstantOneTable(S N,G) ∧ (∀ y. ∀ z. ∀ n. Lt(y,S N) → ArithAt(x,y,z) → ArithAt(G,y,n) → z = n)Definitions: ConstantOneTable(S N,G)Lt(y,S N)ArithAt(x,y,z)ArithAt(G,y,n)Original native command in the exact edition - L31
specialize dirichlet_constant_one_table_append (N) - L32
specialize dirichlet_constant_one_table_append (x) - L33
apply dirichlet_constant_one_table_append - L34
exact hp_witness_left
15Separate the logical casesL35–37
16Construct an explicit witnessL38–38
Supply the displayed value, then prove that it has the required property.
- L38
exists x1
17Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
split
18Use earlier factsL40–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact he_witness_left - L41
specialize arithmetic_signed_table_equal_entry_transport (S N) - L42
specialize arithmetic_signed_table_equal_entry_transport (x) - L43
specialize arithmetic_signed_table_equal_entry_transport (x1) - L44
specialize arithmetic_signed_table_equal_entry_transport (S N) - L45
specialize arithmetic_signed_table_equal_entry_transport (0) - L46
specialize arithmetic_signed_table_equal_entry_transport (w) - L47
apply arithmetic_signed_table_equal_entry_transport - L48
exact he_witness_left_left - L49
exact he_witness_right
Original defined command ledger · 57 lines
- 0001
intro N - 0002
induction N - 0003
intro w - 0004
have hz : ∃ F. ArithTable(0,F) ∧ ArithAt(F,0,w) - 0005
specialize arithmetic_signed_table_singleton (w) - 0006
apply arithmetic_signed_table_singleton - 0007
cases hz - 0008
cases hz_witness - 0009
exists x - 0010
split - 0011
split - 0012
exact hz_witness_left - 0013
intro i - 0014
intro z - 0015
intro hi - 0016
intro hb - 0017
intro he - 0018
exfalso - 0019
apply hi - 0020
specialize le_zero (i) - 0021
apply le_zero - 0022
exact hb - 0023
exact hz_witness_right - 0024
intro w - 0025
have hp : ∃ F. ConstantOneTable(N,F) ∧ ArithAt(F,0,w) - 0026
specialize IH (w) - 0027
apply IH - 0028
cases hp - 0029
cases hp_witness - 0030
have he : ∃ G. ConstantOneTable(S N,G) ∧ (∀ y. ∀ z. ∀ n. Lt(y,S N) → ArithAt(x,y,z) → ArithAt(G,y,n) → z = n) - 0031
specialize dirichlet_constant_one_table_append (N) - 0032
specialize dirichlet_constant_one_table_append (x) - 0033
apply dirichlet_constant_one_table_append - 0034
exact hp_witness_left - 0035
cases he - 0036
cases he_witness - 0037
cases he_witness_left - 0038
exists x1 - 0039
split - 0040
exact he_witness_left - 0041
specialize arithmetic_signed_table_equal_entry_transport (S N) - 0042
specialize arithmetic_signed_table_equal_entry_transport (x) - 0043
specialize arithmetic_signed_table_equal_entry_transport (x1) - 0044
specialize arithmetic_signed_table_equal_entry_transport (S N) - 0045
specialize arithmetic_signed_table_equal_entry_transport (0) - 0046
specialize arithmetic_signed_table_equal_entry_transport (w) - 0047
apply arithmetic_signed_table_equal_entry_transport - 0048
exact he_witness_left_left - 0049
exact he_witness_right - 0050
specialize zero_le (S N) - 0051
apply zero_le - 0052
specialize succ_le_succ (0) - 0053
specialize succ_le_succ (N) - 0054
apply succ_le_succ - 0055
specialize zero_le (N) - 0056
apply zero_le - 0057
exact hp_witness_right