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. ∀ l. ArithTable(N,F) → Le(l,N) → ∃ x. DivisorMask(F,n,l,x)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 56 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 (4)
01Fix variables and assumptionsL1–4
02Induction on lL5–7
03Establish hzeroL8–10
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed table singleton.
- L8
have hzero : ∃ M. ArithTable(0,M) ∧ ArithAt(M,0,0)Definitions: ArithTable(0,M)ArithAt(M,0,0)Original native command in the exact edition - L9
specialize arithmetic_signed_table_singleton (0) - L10
apply arithmetic_signed_table_singleton
04Separate the logical casesL11–12
05Construct an explicit witnessL13–13
Supply the displayed value, then prove that it has the required property.
- L13
exists x
06Use earlier factsL14–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
07Fix variables and assumptionsL20–21
08Establish hlowL22–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
09Establish hprevL30–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L30
have hprev : ∃ M. DivisorMask(F,n,l,M)Definitions: DivisorMask(F,n,l,M)Original native command in the exact edition - L31
apply IH - L32
exact ht - L33
exact hlow
10Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
cases hprev
11Establish hzL35–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor mask entry exists.
- L35
have hz : ∃ z. DivisorMaskEntry(F,n,S l,z)Definitions: DivisorMaskEntry(F,n,S l,z)Original native command in the exact edition - L36
specialize divisor_mask_entry_exists (N) - L37
specialize divisor_mask_entry_exists (F) - L38
specialize divisor_mask_entry_exists (n) - L39
specialize divisor_mask_entry_exists (S l) - L40
apply divisor_mask_entry_exists - L41
exact ht - L42
exact hbound
12Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases hz
13Establish hnextL44–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor mask prefix append.
- L44
have hnext : ∃ G. DivisorMask(F,n,S l,G) ∧ ArithTableEqual(x,G,S l)Definitions: DivisorMask(F,n,S l,G)ArithTableEqual(x,G,S l)Original native command in the exact edition - L45
specialize divisor_mask_prefix_append (F) - L46
specialize divisor_mask_prefix_append (n) - L47
specialize divisor_mask_prefix_append (l) - L48
specialize divisor_mask_prefix_append (x) - L49
specialize divisor_mask_prefix_append (x1) - L50
apply divisor_mask_prefix_append - L51
exact hprev_witness - L52
exact hz_witness
14Separate the logical casesL53–54
15Construct an explicit witnessL55–55
Supply the displayed value, then prove that it has the required property.
- L55
exists x2
16Use earlier factsL56–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
exact hnext_witness_left
Original defined command ledger · 56 lines
- 0001
intro N - 0002
intro F - 0003
intro n - 0004
intro l - 0005
induction l - 0006
intro ht - 0007
intro hbound - 0008
have hzero : ∃ M. ArithTable(0,M) ∧ ArithAt(M,0,0) - 0009
specialize arithmetic_signed_table_singleton (0) - 0010
apply arithmetic_signed_table_singleton - 0011
cases hzero - 0012
cases hzero_witness - 0013
exists x - 0014
specialize divisor_mask_prefix_zero_constructor (F) - 0015
specialize divisor_mask_prefix_zero_constructor (n) - 0016
specialize divisor_mask_prefix_zero_constructor (x) - 0017
apply divisor_mask_prefix_zero_constructor - 0018
exact hzero_witness_left - 0019
exact hzero_witness_right - 0020
intro ht - 0021
intro hbound - 0022
have hlow : Le(l,N) - 0023
specialize le_trans (l) - 0024
specialize le_trans (S l) - 0025
specialize le_trans (N) - 0026
apply le_trans - 0027
specialize le_succ_self (l) - 0028
apply le_succ_self - 0029
exact hbound - 0030
have hprev : ∃ M. DivisorMask(F,n,l,M) - 0031
apply IH - 0032
exact ht - 0033
exact hlow - 0034
cases hprev - 0035
have hz : ∃ z. DivisorMaskEntry(F,n,S l,z) - 0036
specialize divisor_mask_entry_exists (N) - 0037
specialize divisor_mask_entry_exists (F) - 0038
specialize divisor_mask_entry_exists (n) - 0039
specialize divisor_mask_entry_exists (S l) - 0040
apply divisor_mask_entry_exists - 0041
exact ht - 0042
exact hbound - 0043
cases hz - 0044
have hnext : ∃ G. DivisorMask(F,n,S l,G) ∧ ArithTableEqual(x,G,S l) - 0045
specialize divisor_mask_prefix_append (F) - 0046
specialize divisor_mask_prefix_append (n) - 0047
specialize divisor_mask_prefix_append (l) - 0048
specialize divisor_mask_prefix_append (x) - 0049
specialize divisor_mask_prefix_append (x1) - 0050
apply divisor_mask_prefix_append - 0051
exact hprev_witness - 0052
exact hz_witness - 0053
cases hnext - 0054
cases hnext_witness - 0055
exists x2 - 0056
exact hnext_witness_left