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. ∀ U. ConstantOneTable(N,U) → ∃ x. ConstantOneTable(S N,x) ∧ (∀ y. ∀ z. ∀ n. Lt(y,S N) → ArithAt(U,y,z) → ArithAt(x,y,n) → z = n)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 71 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.
01Fix variables and assumptionsL1–3
02Separate the logical casesL4–4
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L4
cases hf
03Establish hxL5–10
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed table append.
- L5
have hx : ∃ G. ArithTable(S N,G) ∧ ((∀ x. ∀ y. ∀ z. Lt(x,S N) → ArithAt(F,x,y) → ArithAt(G,x,z) → y = z) ∧ ArithAt(G,S N,2))Definitions: ArithTable(S N,G)Lt(x,S N)ArithAt(F,x,y)ArithAt(G,x,z)ArithAt(G,S N,2)Original native command in the exact edition - L6
specialize arithmetic_signed_table_append (N) - L7
specialize arithmetic_signed_table_append (F) - L8
specialize arithmetic_signed_table_append (2) - L9
apply arithmetic_signed_table_append - L10
exact hf_left
04Separate the logical casesL11–13
05Construct an explicit witnessL14–14
Supply the displayed value, then prove that it has the required property.
- L14
exists x
06Separate the logical casesL15–16
07Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
exact hx_witness_left
08Fix variables and assumptionsL18–22
09Establish hcL23–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
10Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
cases hc
11Calculate and transport equalitiesL29–32
12Establish hvL33–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table at functional.
- L33
have hv : a=2 - L34
specialize divisor_signed_table_at_functional (x) - L35
specialize divisor_signed_table_at_functional (S N) - L36
specialize divisor_signed_table_at_functional (a) - L37
specialize divisor_signed_table_at_functional (2) - L38
apply divisor_signed_table_at_functional - L39
exact ha - L40
exact hx_witness_right_right - L41
exact hv
13Establish hibL42–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.
14Establish hvL47–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table lookup.
- L47
have hv : ∃ v. ArithAt(F,i,v)Definitions: ArithAt(F,i,v)Original native command in the exact edition - L48
specialize divisor_signed_table_lookup (N) - L49
specialize divisor_signed_table_lookup (F) - L50
specialize divisor_signed_table_lookup (i) - L51
apply divisor_signed_table_lookup - L52
exact hf_left - L53
exact hib
15Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
cases hv
16Establish heqL55–64
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hx witness right left.
Original defined command ledger · 71 lines
- 0001
intro N - 0002
intro F - 0003
intro hf - 0004
cases hf - 0005
have hx : ∃ G. ArithTable(S N,G) ∧ ((∀ x. ∀ y. ∀ z. Lt(x,S N) → ArithAt(F,x,y) → ArithAt(G,x,z) → y = z) ∧ ArithAt(G,S N,2)) - 0006
specialize arithmetic_signed_table_append (N) - 0007
specialize arithmetic_signed_table_append (F) - 0008
specialize arithmetic_signed_table_append (2) - 0009
apply arithmetic_signed_table_append - 0010
exact hf_left - 0011
cases hx - 0012
cases hx_witness - 0013
cases hx_witness_right - 0014
exists x - 0015
split - 0016
split - 0017
exact hx_witness_left - 0018
intro i - 0019
intro a - 0020
intro hi - 0021
intro hb - 0022
intro ha - 0023
have hc : i = S N ∨ Lt(i,S N) - 0024
specialize le_eq_or_lt (i) - 0025
specialize le_eq_or_lt (S N) - 0026
apply le_eq_or_lt - 0027
exact hb - 0028
cases hc - 0029
rewrite hc_left at ha - 0030
rewrite hc_left at ha - 0031
rewrite hc_left at ha - 0032
rewrite hc_left at ha - 0033
have hv : a=2 - 0034
specialize divisor_signed_table_at_functional (x) - 0035
specialize divisor_signed_table_at_functional (S N) - 0036
specialize divisor_signed_table_at_functional (a) - 0037
specialize divisor_signed_table_at_functional (2) - 0038
apply divisor_signed_table_at_functional - 0039
exact ha - 0040
exact hx_witness_right_right - 0041
exact hv - 0042
have hib : Le(i,N) - 0043
specialize le_of_succ_le_succ (i) - 0044
specialize le_of_succ_le_succ (N) - 0045
apply le_of_succ_le_succ - 0046
exact hc_right - 0047
have hv : ∃ v. ArithAt(F,i,v) - 0048
specialize divisor_signed_table_lookup (N) - 0049
specialize divisor_signed_table_lookup (F) - 0050
specialize divisor_signed_table_lookup (i) - 0051
apply divisor_signed_table_lookup - 0052
exact hf_left - 0053
exact hib - 0054
cases hv - 0055
have heq : x1=a - 0056
specialize hx_witness_right_left (i) - 0057
specialize hx_witness_right_left (x1) - 0058
specialize hx_witness_right_left (a) - 0059
apply hx_witness_right_left - 0060
exact hc_right - 0061
exact hv_witness - 0062
exact ha - 0063
rewrite heq at hv_witness - 0064
rewrite heq at hv_witness - 0065
specialize hf_right (i) - 0066
specialize hf_right (a) - 0067
apply hf_right - 0068
exact hi - 0069
exact hib - 0070
exact hv_witness - 0071
exact hx_witness_right_left