Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Every grid, slice, row sum and intermediate table is constructed. Retained cells have witnessed n=(a*e)*c and value F(a)*(H(e)*G(c)). The flat endpoint is unused. Table associativity includes N=0 and compares only positive values, not encodings. Full G009 remains broader.
Exact theorem in conservative defined notation
∀ F. ∀ G. ∀ H. ∀ n. ∀ a. ∀ q. ∀ u. ∀ e. ∀ v. ∀ z. ¬a = 0 → n = a · q → ArithAt(F,a,u) → DirichletEntry(H,G,q,e,v) → SignedMul(u,v,z) → DirichletGridEntry(F,G,H,n,a,e,z)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 89 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 (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–15
03Separate the logical casesL16–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
04Use earlier factsL24–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
specialize dirichlet_grid_entry_from_factorization (F) - L25
specialize dirichlet_grid_entry_from_factorization (G) - L26
specialize dirichlet_grid_entry_from_factorization (H) - L27
specialize dirichlet_grid_entry_from_factorization (n) - L28
specialize dirichlet_grid_entry_from_factorization (a) - L29
specialize dirichlet_grid_entry_from_factorization (e) - L30
specialize dirichlet_grid_entry_from_factorization (x) - L31
specialize dirichlet_grid_entry_from_factorization (u) - L32
specialize dirichlet_grid_entry_from_factorization (x1) - L33
specialize dirichlet_grid_entry_from_factorization (x2)
05Use earlier factsL34–38
06Calculate and transport equalitiesL39–39
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L39
trans a*q
07Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hq
08Calculate and transport equalitiesL41–42
09Use earlier factsL43–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
10Separate the logical casesL49–49
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L49
cases hv_right
11Calculate and transport equalitiesL50–51
12Establish hz0L52–61
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed mul functional.
13Calculate and transport equalitiesL62–63
14Use earlier factsL64–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
specialize dirichlet_grid_entry_omitted (F) - L65
specialize dirichlet_grid_entry_omitted (G) - L66
specialize dirichlet_grid_entry_omitted (H) - L67
specialize dirichlet_grid_entry_omitted (n) - L68
specialize dirichlet_grid_entry_omitted (a) - L69
specialize dirichlet_grid_entry_omitted (e) - L70
apply dirichlet_grid_entry_omitted
15Separate the logical casesL71–73
16Use earlier factsL74–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
exact hv_right_left_left
17Separate the logical casesL75–76
18Fix variables and assumptionsL77–77
Work with arbitrary variables or the premises of the current implication.
- L77
intro hdiv
19Separate the logical casesL78–78
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L78
cases hdiv
20Use earlier factsL79–79
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L79
apply hv_right_left_right
21Construct an explicit witnessL80–80
Supply the displayed value, then prove that it has the required property.
- L80
exists x
22Use earlier factsL81–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L81
specialize dirichlet_grid_middle_factor_equation (n) - L82
specialize dirichlet_grid_middle_factor_equation (a) - L83
specialize dirichlet_grid_middle_factor_equation (e) - L84
specialize dirichlet_grid_middle_factor_equation (x) - L85
specialize dirichlet_grid_middle_factor_equation (q) - L86
apply dirichlet_grid_middle_factor_equation - L87
exact ha - L88
exact hq - L89
exact hdiv_witness
Original defined command ledger · 89 lines
- 0001
intro F - 0002
intro G - 0003
intro H - 0004
intro n - 0005
intro a - 0006
intro q - 0007
intro u - 0008
intro e - 0009
intro v - 0010
intro z - 0011
intro ha - 0012
intro hq - 0013
intro hu - 0014
intro hv - 0015
intro hz - 0016
cases hv - 0017
cases hv_left - 0018
cases hv_left_right - 0019
cases hv_left_right_witness - 0020
cases hv_left_right_witness_witness - 0021
cases hv_left_right_witness_witness_witness - 0022
cases hv_left_right_witness_witness_witness_right - 0023
cases hv_left_right_witness_witness_witness_right_right - 0024
specialize dirichlet_grid_entry_from_factorization (F) - 0025
specialize dirichlet_grid_entry_from_factorization (G) - 0026
specialize dirichlet_grid_entry_from_factorization (H) - 0027
specialize dirichlet_grid_entry_from_factorization (n) - 0028
specialize dirichlet_grid_entry_from_factorization (a) - 0029
specialize dirichlet_grid_entry_from_factorization (e) - 0030
specialize dirichlet_grid_entry_from_factorization (x) - 0031
specialize dirichlet_grid_entry_from_factorization (u) - 0032
specialize dirichlet_grid_entry_from_factorization (x1) - 0033
specialize dirichlet_grid_entry_from_factorization (x2) - 0034
specialize dirichlet_grid_entry_from_factorization (v) - 0035
specialize dirichlet_grid_entry_from_factorization (z) - 0036
apply dirichlet_grid_entry_from_factorization - 0037
exact ha - 0038
exact hv_left_left - 0039
trans a*q - 0040
exact hq - 0041
rewrite hv_left_right_witness_witness_witness_left - 0042
symm - 0043
apply mul_assoc - 0044
exact hu - 0045
exact hv_left_right_witness_witness_witness_right_left - 0046
exact hv_left_right_witness_witness_witness_right_right_left - 0047
exact hv_left_right_witness_witness_witness_right_right_right - 0048
exact hz - 0049
cases hv_right - 0050
rewrite hv_right_right at hz - 0051
rewrite hv_right_right at hz - 0052
have hz0 : z=0 - 0053
specialize signed_mul_functional (u) - 0054
specialize signed_mul_functional (0) - 0055
specialize signed_mul_functional (z) - 0056
specialize signed_mul_functional (0) - 0057
apply signed_mul_functional - 0058
exact hz - 0059
specialize signed_mul_zero_right (u) - 0060
apply signed_mul_zero_right - 0061
rewrite hz0 - 0062
rewrite hz0 - 0063
rewrite hz0 - 0064
specialize dirichlet_grid_entry_omitted (F) - 0065
specialize dirichlet_grid_entry_omitted (G) - 0066
specialize dirichlet_grid_entry_omitted (H) - 0067
specialize dirichlet_grid_entry_omitted (n) - 0068
specialize dirichlet_grid_entry_omitted (a) - 0069
specialize dirichlet_grid_entry_omitted (e) - 0070
apply dirichlet_grid_entry_omitted - 0071
cases hv_right_left - 0072
right - 0073
left - 0074
exact hv_right_left_left - 0075
right - 0076
right - 0077
intro hdiv - 0078
cases hdiv - 0079
apply hv_right_left_right - 0080
exists x - 0081
specialize dirichlet_grid_middle_factor_equation (n) - 0082
specialize dirichlet_grid_middle_factor_equation (a) - 0083
specialize dirichlet_grid_middle_factor_equation (e) - 0084
specialize dirichlet_grid_middle_factor_equation (x) - 0085
specialize dirichlet_grid_middle_factor_equation (q) - 0086
apply dirichlet_grid_middle_factor_equation - 0087
exact ha - 0088
exact hq - 0089
exact hdiv_witness