Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Each retained summand has a witnessed n=d*q and actual signed multiplication. Zero and nondivisors contribute zero. Input and output values at zero are unrestricted; uniqueness is for positive represented values. The separate inverse family proves the unit-at-one criterion. Full G009 multiplicative-function closure is now admitted in the separate Alpha-v32 multiplicative-convolution family.
Exact theorem in conservative defined notation
∀ F. ∀ G. ∀ n. ∀ d. ∀ q. ∀ z. ¬n = 0 → DivisorComplement(n,d,q) → DirichletEntry(F,G,n,q,z) → DirichletEntry(G,F,n,d,z)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 92 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–9
02Separate the logical casesL10–11
03Establish hqL12–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply factor nonzero right.
04Separate the logical casesL21–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
05Establish hrL29–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul left cancel nonzero.
06Use earlier factsL39–40
07Calculate and transport equalitiesL41–44
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
08Use earlier factsL45–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
specialize dirichlet_convolution_entry_from_quotient (G) - L46
specialize dirichlet_convolution_entry_from_quotient (F) - L47
specialize dirichlet_convolution_entry_from_quotient (n) - L48
specialize dirichlet_convolution_entry_from_quotient (d) - L49
specialize dirichlet_convolution_entry_from_quotient (q) - L50
specialize dirichlet_convolution_entry_from_quotient (x2) - L51
specialize dirichlet_convolution_entry_from_quotient (x1) - L52
specialize dirichlet_convolution_entry_from_quotient (z) - L53
apply dirichlet_convolution_entry_from_quotient - L54
exact hc_left_left
09Use earlier factsL55–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact hc_left_right - L56
exact he_left_right_witness_witness_witness_right_right_left - L57
exact he_left_right_witness_witness_witness_right_left - L58
specialize signed_mul_commutative (x1) - L59
specialize signed_mul_commutative (x2) - L60
specialize signed_mul_commutative (z) - L61
apply signed_mul_commutative - L62
exact he_left_right_witness_witness_witness_right_right_right
10Separate the logical casesL63–65
11Use earlier factsL66–68
12Construct an explicit witnessL69–69
Supply the displayed value, then prove that it has the required property.
- L69
exists d
13Calculate and transport equalitiesL70–70
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L70
trans d*q
14Use earlier factsL71–72
15Separate the logical casesL73–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L73
cases hc_right
16Calculate and transport equalitiesL74–81
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
17Separate the logical casesL82–83
18Use earlier factsL84–92
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L84
exact hc_right_left - L85
specialize dirichlet_convolution_entry_omitted_value (F) - L86
specialize dirichlet_convolution_entry_omitted_value (G) - L87
specialize dirichlet_convolution_entry_omitted_value (n) - L88
specialize dirichlet_convolution_entry_omitted_value (d) - L89
specialize dirichlet_convolution_entry_omitted_value (z) - L90
apply dirichlet_convolution_entry_omitted_value - L91
exact hc_right_left - L92
exact he
Original defined command ledger · 92 lines
- 0001
intro F - 0002
intro G - 0003
intro n - 0004
intro d - 0005
intro q - 0006
intro z - 0007
intro hn - 0008
intro hc - 0009
intro he - 0010
cases hc - 0011
cases hc_left - 0012
have hq : ~(q=0) - 0013
intro hqzero - 0014
specialize factor_nonzero_right (n) - 0015
specialize factor_nonzero_right (d) - 0016
specialize factor_nonzero_right (q) - 0017
apply factor_nonzero_right - 0018
exact hn - 0019
exact hc_left_right - 0020
exact hqzero - 0021
cases he - 0022
cases he_left - 0023
cases he_left_right - 0024
cases he_left_right_witness - 0025
cases he_left_right_witness_witness - 0026
cases he_left_right_witness_witness_witness - 0027
cases he_left_right_witness_witness_witness_right - 0028
cases he_left_right_witness_witness_witness_right_right - 0029
have hr : x=d - 0030
specialize mul_left_cancel_nonzero (q) - 0031
specialize mul_left_cancel_nonzero (x) - 0032
specialize mul_left_cancel_nonzero (d) - 0033
apply mul_left_cancel_nonzero - 0034
exact hq - 0035
trans n - 0036
symm - 0037
exact he_left_right_witness_witness_witness_left - 0038
trans d*q - 0039
exact hc_left_right - 0040
apply mul_comm - 0041
rewrite hr at he_left_right_witness_witness_witness_right_right_left - 0042
rewrite hr at he_left_right_witness_witness_witness_right_right_left - 0043
rewrite hr at he_left_right_witness_witness_witness_right_right_left - 0044
rewrite hr at he_left_right_witness_witness_witness_right_right_left - 0045
specialize dirichlet_convolution_entry_from_quotient (G) - 0046
specialize dirichlet_convolution_entry_from_quotient (F) - 0047
specialize dirichlet_convolution_entry_from_quotient (n) - 0048
specialize dirichlet_convolution_entry_from_quotient (d) - 0049
specialize dirichlet_convolution_entry_from_quotient (q) - 0050
specialize dirichlet_convolution_entry_from_quotient (x2) - 0051
specialize dirichlet_convolution_entry_from_quotient (x1) - 0052
specialize dirichlet_convolution_entry_from_quotient (z) - 0053
apply dirichlet_convolution_entry_from_quotient - 0054
exact hc_left_left - 0055
exact hc_left_right - 0056
exact he_left_right_witness_witness_witness_right_right_left - 0057
exact he_left_right_witness_witness_witness_right_left - 0058
specialize signed_mul_commutative (x1) - 0059
specialize signed_mul_commutative (x2) - 0060
specialize signed_mul_commutative (z) - 0061
apply signed_mul_commutative - 0062
exact he_left_right_witness_witness_witness_right_right_right - 0063
cases he_right - 0064
exfalso - 0065
cases he_right_left - 0066
apply hq - 0067
exact he_right_left_left - 0068
apply he_right_left_right - 0069
exists d - 0070
trans d*q - 0071
exact hc_left_right - 0072
apply mul_comm - 0073
cases hc_right - 0074
rewrite hc_right_right at he - 0075
rewrite hc_right_right at he - 0076
rewrite hc_right_right at he - 0077
rewrite hc_right_right at he - 0078
rewrite hc_right_right at he - 0079
rewrite hc_right_right at he - 0080
rewrite hc_right_right at he - 0081
rewrite hc_right_right at he - 0082
right - 0083
split - 0084
exact hc_right_left - 0085
specialize dirichlet_convolution_entry_omitted_value (F) - 0086
specialize dirichlet_convolution_entry_omitted_value (G) - 0087
specialize dirichlet_convolution_entry_omitted_value (n) - 0088
specialize dirichlet_convolution_entry_omitted_value (d) - 0089
specialize dirichlet_convolution_entry_omitted_value (z) - 0090
apply dirichlet_convolution_entry_omitted_value - 0091
exact hc_right_left - 0092
exact he