Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
The complementary quotient is witnessed by n=d*q at positive divisors. The actual permutation covers indices zero through n, fixing zero and nondivisors. This is the involution foundation for the separate cancellation and full G007 inversion proofs, not an assumed divisor bijection.
Exact theorem in conservative defined notation
∀ n. ∀ b. ∀ c. ∀ i. ∀ q. ¬n = 0 → DivisorComplementPrefix(n,b,c,S n) → Le(i,n) → BetaAt(b,c,i,q) → BetaAt(b,c,q,i)
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–9
02Establish hcompL10–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor complement prefix lookup.
- L10
have hcomp : DivisorComplement(n,i,q)Definitions: DivisorComplement(n,i,q)Original native command in the exact edition - L11
specialize divisor_complement_prefix_lookup (n) - L12
specialize divisor_complement_prefix_lookup (b) - L13
specialize divisor_complement_prefix_lookup (c) - L14
specialize divisor_complement_prefix_lookup (S n) - L15
specialize divisor_complement_prefix_lookup (i) - L16
specialize divisor_complement_prefix_lookup (q) - L17
apply divisor_complement_prefix_lookup - L18
exact hp - L19
specialize succ_le_succ (i)
03Use earlier factsL20–23
04Establish hqL24–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor complement bounded.
05Establish hnextL32–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hp.
- L32
have hnext : ∃ r. BetaAt(b,c,q,r) ∧ DivisorComplement(n,q,r)Definitions: BetaAt(b,c,q,r)DivisorComplement(n,q,r)Original native command in the exact edition - L33
specialize hp (q) - L34
apply hp - L35
specialize succ_le_succ (q) - L36
specialize succ_le_succ (n) - L37
apply succ_le_succ - L38
exact hq
06Separate the logical casesL39–40
07Establish heqL41–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor complement functional.
- L41
have heq : x=i - L42
specialize divisor_complement_functional (n) - L43
specialize divisor_complement_functional (q) - L44
specialize divisor_complement_functional (x) - L45
specialize divisor_complement_functional (i) - L46
apply divisor_complement_functional - L47
exact hnext_witness_right - L48
specialize divisor_complement_symmetric (n) - L49
specialize divisor_complement_symmetric (i) - L50
specialize divisor_complement_symmetric (q)
08Use earlier factsL51–53
09Calculate and transport equalitiesL54–55
10Use 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 b - 0003
intro c - 0004
intro i - 0005
intro q - 0006
intro hn - 0007
intro hp - 0008
intro hi - 0009
intro hat - 0010
have hcomp : DivisorComplement(n,i,q) - 0011
specialize divisor_complement_prefix_lookup (n) - 0012
specialize divisor_complement_prefix_lookup (b) - 0013
specialize divisor_complement_prefix_lookup (c) - 0014
specialize divisor_complement_prefix_lookup (S n) - 0015
specialize divisor_complement_prefix_lookup (i) - 0016
specialize divisor_complement_prefix_lookup (q) - 0017
apply divisor_complement_prefix_lookup - 0018
exact hp - 0019
specialize succ_le_succ (i) - 0020
specialize succ_le_succ (n) - 0021
apply succ_le_succ - 0022
exact hi - 0023
exact hat - 0024
have hq : Le(q,n) - 0025
specialize divisor_complement_bounded (n) - 0026
specialize divisor_complement_bounded (i) - 0027
specialize divisor_complement_bounded (q) - 0028
apply divisor_complement_bounded - 0029
exact hn - 0030
exact hi - 0031
exact hcomp - 0032
have hnext : ∃ r. BetaAt(b,c,q,r) ∧ DivisorComplement(n,q,r) - 0033
specialize hp (q) - 0034
apply hp - 0035
specialize succ_le_succ (q) - 0036
specialize succ_le_succ (n) - 0037
apply succ_le_succ - 0038
exact hq - 0039
cases hnext - 0040
cases hnext_witness - 0041
have heq : x=i - 0042
specialize divisor_complement_functional (n) - 0043
specialize divisor_complement_functional (q) - 0044
specialize divisor_complement_functional (x) - 0045
specialize divisor_complement_functional (i) - 0046
apply divisor_complement_functional - 0047
exact hnext_witness_right - 0048
specialize divisor_complement_symmetric (n) - 0049
specialize divisor_complement_symmetric (i) - 0050
specialize divisor_complement_symmetric (q) - 0051
apply divisor_complement_symmetric - 0052
exact hn - 0053
exact hcomp - 0054
rewrite heq at hnext_witness_left - 0055
rewrite heq at hnext_witness_left - 0056
exact hnext_witness_left