Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
A genuine divisor mask has S n entries, indexed zero through n, and forces its zeroth entry to zero regardless of F(0). Möbius values remain positive-domain only. This family constructs divisor sums and Möbius tables; cancellation and the full G007 endpoint are separately proved later in the same release.
Exact theorem in conservative defined notation
∀ N. ∀ F. ∀ n. ∀ d. ArithTable(N,F) → Le(d,N) → ∃ x. DivisorMaskEntry(F,n,d,x)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 54 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–6
02Establish hcL7–10
03Separate the logical casesL11–11
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L11
cases hc
04Construct an explicit witnessL12–12
Supply the displayed value, then prove that it has the required property.
- L12
exists 0
05Calculate and transport equalitiesL13–20
06Use earlier factsL21–23
07Establish hdivL24–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply multiple decidable nonzero.
08Separate the logical casesL29–30
09Establish hzL31–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table lookup.
- L31
have hz : ∃ z. ArithAt(F,d,z)Definitions: ArithAt(F,d,z)Original native command in the exact edition - L32
specialize divisor_signed_table_lookup (N) - L33
specialize divisor_signed_table_lookup (F) - L34
specialize divisor_signed_table_lookup (d) - L35
apply divisor_signed_table_lookup - L36
exact ht - L37
exact hbound
10Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
cases hz
11Construct an explicit witnessL39–39
Supply the displayed value, then prove that it has the required property.
- L39
exists x1
12Use earlier factsL40–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
specialize divisor_mask_entry_from_quotient (F) - L41
specialize divisor_mask_entry_from_quotient (n) - L42
specialize divisor_mask_entry_from_quotient (d) - L43
specialize divisor_mask_entry_from_quotient (x) - L44
specialize divisor_mask_entry_from_quotient (x1) - L45
apply divisor_mask_entry_from_quotient - L46
exact hc_right - L47
exact hdiv_left_witness - L48
exact hz_witness
13Construct an explicit witnessL49–49
Supply the displayed value, then prove that it has the required property.
- L49
exists 0
14Use earlier factsL50–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 54 lines
- 0001
intro N - 0002
intro F - 0003
intro n - 0004
intro d - 0005
intro ht - 0006
intro hbound - 0007
have hc : d=0 \/ ~(d=0) - 0008
specialize eq_decidable (d) - 0009
specialize eq_decidable (0) - 0010
apply eq_decidable - 0011
cases hc - 0012
exists 0 - 0013
rewrite hc_left - 0014
rewrite hc_left - 0015
rewrite hc_left - 0016
rewrite hc_left - 0017
rewrite hc_left - 0018
rewrite hc_left - 0019
rewrite hc_left - 0020
rewrite hc_left - 0021
specialize divisor_mask_entry_zero (F) - 0022
specialize divisor_mask_entry_zero (n) - 0023
apply divisor_mask_entry_zero - 0024
have hdiv : Dvd(d,n) ∨ ¬Dvd(d,n) - 0025
specialize multiple_decidable_nonzero (d) - 0026
specialize multiple_decidable_nonzero (n) - 0027
apply multiple_decidable_nonzero - 0028
exact hc_right - 0029
cases hdiv - 0030
cases hdiv_left - 0031
have hz : ∃ z. ArithAt(F,d,z) - 0032
specialize divisor_signed_table_lookup (N) - 0033
specialize divisor_signed_table_lookup (F) - 0034
specialize divisor_signed_table_lookup (d) - 0035
apply divisor_signed_table_lookup - 0036
exact ht - 0037
exact hbound - 0038
cases hz - 0039
exists x1 - 0040
specialize divisor_mask_entry_from_quotient (F) - 0041
specialize divisor_mask_entry_from_quotient (n) - 0042
specialize divisor_mask_entry_from_quotient (d) - 0043
specialize divisor_mask_entry_from_quotient (x) - 0044
specialize divisor_mask_entry_from_quotient (x1) - 0045
apply divisor_mask_entry_from_quotient - 0046
exact hc_right - 0047
exact hdiv_left_witness - 0048
exact hz_witness - 0049
exists 0 - 0050
specialize divisor_mask_entry_from_nondivisor (F) - 0051
specialize divisor_mask_entry_from_nondivisor (n) - 0052
specialize divisor_mask_entry_from_nondivisor (d) - 0053
apply divisor_mask_entry_from_nondivisor - 0054
exact hdiv_right