Lesson 1: Finite Circles
The first object is the finite circle C_n: a loop of n reusable addresses.
Lesson Goal
Learn how a finite circle names positions by reducing addresses modulo n. After this lesson, you should be able to say which node an integer address lands on.
The Idea
Think of C_n as a clock with n labels. If the clock has 12 labels, then address 14 lands on node 2: one full turn is discarded and the remainder is kept.
The drawing can be circular, but the rule is arithmetic:
Definition In Words
C_n is a finite cyclic address space. Its nodes are the possible remainders after division by n.
address i on C_n -> node i mod n
This is the smallest building block for the rest of the book. Rotation, coils, period, primes, winding, and the higher-dimensional pages all return to this first move: reduce an address into a finite set of positions.
In v0, circles are finite cyclic address spaces. They are not Euclidean metric circles, and the widget below is an explanation rather than a proof.
What This Relearns From Ordinary Math
This lesson is modular arithmetic, but taught as naming positions. The ordinary remainder calculation is still there. The book adds a visual habit: the quotient counts completed turns and the remainder tells you the visible node.
Diagram
Use the widget to change the circle size and selected address.
Worked Example
On C_12, the addresses 2, 14, and 26 land on the same node.
2 = 0*12 + 2
14 = 1*12 + 2
26 = 2*12 + 2
The quotient changes, but the remainder is always 2.
Common Mistake
Do not say that 14 and 2 are the same integer. They are different integers that name the same node after the address has been reduced in C_12.
Try It
Set n to 10, then move the selected node past 9. The displayed label should wrap back through 0. Repeat with n = 7 and selected node 15; the node label should be the same as 1.
Checkpoint
Explain, in one sentence, why the addresses 2, 14, and 26 all name the same node in C_12.
Looking Ahead: This Circle Lives Inside The Real Circle
C_n is not just an analogy for a “real” circle — it is a piece of one. Sending node j to the point j/n on the circle ℝ/ℤ (going 1/n of the way around for each step) embeds C_n faithfully into the actual continuous circle, and it respects rotation. Even better, the finite circles nest: every node of C_n is also a node of C_{2n}, C_{3n}, and so on, so as n grows the finite circles fill the real circle more and more finely. That nesting — proved as S1C-T0006 below — is the precise sense in which the finite circle approximates the smooth one. (Whether the union is fully dense is the next step on the roadmap.)
Source Trail
The cards below are the audit path for this lesson. Read the explanation first; use these when you want the project vocabulary and source files.
Python reference model:
from circle_math.finite import Circle
C = Circle(12)
C.node(14) # 2Paper source: Circle Calculus I