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. ∀ F. ∀ E. ∀ n. ∀ a. ∀ z. KroneckerDeltaTable(N,E) → Le(n,N) → ArithAt(F,n,a) → DirichletSum(F,E,n,z) → z = a
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 77 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 (2)
01Fix variables and assumptionsL1–10
02Separate the logical casesL11–13
03Establish hzeroL14–23
Establish this local claim before using it. It is not an additional assumption.
- L14
have hzero : SignedZeroWindow(x,0,n)Definitions: SignedZeroWindow(x,0,n)Original native command in the exact edition - L15
intro i - L16
intro v - L17
intro hi - L18
intro hib - L19
intro hv - L20
specialize dirichlet_delta_right_entry_before_input (N) - L21
specialize dirichlet_delta_right_entry_before_input (F) - L22
specialize dirichlet_delta_right_entry_before_input (E) - L23
specialize dirichlet_delta_right_entry_before_input (n)
04Use earlier factsL24–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
specialize dirichlet_delta_right_entry_before_input (i) - L25
specialize dirichlet_delta_right_entry_before_input (v) - L26
apply dirichlet_delta_right_entry_before_input - L27
exact hd - L28
exact hc_left - L29
exact hb - L30
exact hib - L31
specialize dirichlet_convolution_prefix_lookup (F) - L32
specialize dirichlet_convolution_prefix_lookup (E) - L33
specialize dirichlet_convolution_prefix_lookup (n)
05Use earlier factsL34–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
specialize dirichlet_convolution_prefix_lookup (n) - L35
specialize dirichlet_convolution_prefix_lookup (x) - L36
specialize dirichlet_convolution_prefix_lookup (i) - L37
specialize dirichlet_convolution_prefix_lookup (v) - L38
apply dirichlet_convolution_prefix_lookup - L39
exact hc_right_witness_left - L40
specialize le_trans (i) - L41
specialize le_trans (S i) - L42
specialize le_trans (n) - L43
apply le_trans
06Use earlier factsL44–47
07Establish hlastL48–57
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply dirichlet convolution prefix value from entry.
- L48
- L49
specialize dirichlet_convolution_prefix_value_from_entry (F) - L50
specialize dirichlet_convolution_prefix_value_from_entry (E) - L51
specialize dirichlet_convolution_prefix_value_from_entry (n) - L52
specialize dirichlet_convolution_prefix_value_from_entry (n) - L53
specialize dirichlet_convolution_prefix_value_from_entry (x) - L54
specialize dirichlet_convolution_prefix_value_from_entry (n) - L55
specialize dirichlet_convolution_prefix_value_from_entry (a) - L56
apply dirichlet_convolution_prefix_value_from_entry - L57
exact hc_right_witness_left
08Use earlier factsL58–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L58
specialize le_refl (n) - L59
apply le_refl - L60
specialize dirichlet_delta_right_last_entry (N) - L61
specialize dirichlet_delta_right_last_entry (F) - L62
specialize dirichlet_delta_right_last_entry (E) - L63
specialize dirichlet_delta_right_last_entry (n) - L64
specialize dirichlet_delta_right_last_entry (a) - L65
apply dirichlet_delta_right_last_entry - L66
exact hd - L67
exact hc_left
09Use earlier factsL68–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hb - L69
exact ha - L70
specialize signed_prefix_sum_last_value (x) - L71
specialize signed_prefix_sum_last_value (n) - L72
specialize signed_prefix_sum_last_value (a) - L73
specialize signed_prefix_sum_last_value (z) - L74
apply signed_prefix_sum_last_value - L75
exact hzero - L76
exact hlast - L77
exact hc_right_witness_right
Original defined command ledger · 77 lines
- 0001
intro N - 0002
intro F - 0003
intro E - 0004
intro n - 0005
intro a - 0006
intro z - 0007
intro hd - 0008
intro hb - 0009
intro ha - 0010
intro hc - 0011
cases hc - 0012
cases hc_right - 0013
cases hc_right_witness - 0014
have hzero : SignedZeroWindow(x,0,n) - 0015
intro i - 0016
intro v - 0017
intro hi - 0018
intro hib - 0019
intro hv - 0020
specialize dirichlet_delta_right_entry_before_input (N) - 0021
specialize dirichlet_delta_right_entry_before_input (F) - 0022
specialize dirichlet_delta_right_entry_before_input (E) - 0023
specialize dirichlet_delta_right_entry_before_input (n) - 0024
specialize dirichlet_delta_right_entry_before_input (i) - 0025
specialize dirichlet_delta_right_entry_before_input (v) - 0026
apply dirichlet_delta_right_entry_before_input - 0027
exact hd - 0028
exact hc_left - 0029
exact hb - 0030
exact hib - 0031
specialize dirichlet_convolution_prefix_lookup (F) - 0032
specialize dirichlet_convolution_prefix_lookup (E) - 0033
specialize dirichlet_convolution_prefix_lookup (n) - 0034
specialize dirichlet_convolution_prefix_lookup (n) - 0035
specialize dirichlet_convolution_prefix_lookup (x) - 0036
specialize dirichlet_convolution_prefix_lookup (i) - 0037
specialize dirichlet_convolution_prefix_lookup (v) - 0038
apply dirichlet_convolution_prefix_lookup - 0039
exact hc_right_witness_left - 0040
specialize le_trans (i) - 0041
specialize le_trans (S i) - 0042
specialize le_trans (n) - 0043
apply le_trans - 0044
specialize le_succ_self (i) - 0045
apply le_succ_self - 0046
exact hib - 0047
exact hv - 0048
have hlast : ArithAt(x,n,a) - 0049
specialize dirichlet_convolution_prefix_value_from_entry (F) - 0050
specialize dirichlet_convolution_prefix_value_from_entry (E) - 0051
specialize dirichlet_convolution_prefix_value_from_entry (n) - 0052
specialize dirichlet_convolution_prefix_value_from_entry (n) - 0053
specialize dirichlet_convolution_prefix_value_from_entry (x) - 0054
specialize dirichlet_convolution_prefix_value_from_entry (n) - 0055
specialize dirichlet_convolution_prefix_value_from_entry (a) - 0056
apply dirichlet_convolution_prefix_value_from_entry - 0057
exact hc_right_witness_left - 0058
specialize le_refl (n) - 0059
apply le_refl - 0060
specialize dirichlet_delta_right_last_entry (N) - 0061
specialize dirichlet_delta_right_last_entry (F) - 0062
specialize dirichlet_delta_right_last_entry (E) - 0063
specialize dirichlet_delta_right_last_entry (n) - 0064
specialize dirichlet_delta_right_last_entry (a) - 0065
apply dirichlet_delta_right_last_entry - 0066
exact hd - 0067
exact hc_left - 0068
exact hb - 0069
exact ha - 0070
specialize signed_prefix_sum_last_value (x) - 0071
specialize signed_prefix_sum_last_value (n) - 0072
specialize signed_prefix_sum_last_value (a) - 0073
specialize signed_prefix_sum_last_value (z) - 0074
apply signed_prefix_sum_last_value - 0075
exact hzero - 0076
exact hlast - 0077
exact hc_right_witness_right