Book IX · Proposition 12

IX.12

If as many numbers as we please beginning from an unit be in continued proportion, by however many prime numbers the last is measured, the next to the unit will also be measured by the same.Heath, 1908

Every step, checked

What it needs, and what needs it

Needs: VII.30

Used by: IX.13

Depth: 1 steps of argument above the first principles. Parallel postulate: not needed.

What it takes on trust

Nothing. It draws no intersections and reads nothing off the picture.

The proposition as code

@proposition(
    "IX.12",
    THEOREM,
    sample=_from_a_unit,
)
def prop_IX_12(ratio: int, count: int) -> Out:
    hypothesis("the progression is genuine", ratio > 1 and count >= 4, guard=True)
    terms = [ratio ** k for k in range(count)]
    last_primes = sorted(set(prime_factors(terms[-1])))
    # The last is the second taken as often as the progression is long, so a
    # prime measuring it measures a product of the second with the rest, and
    # VII.30 puts it into one of the two.
    for _p in last_primes:
        because(prop_VII_30, _p, terms[1], terms[-1] // terms[1])

    claim("every prime measuring the last measures the number next the unit also",
          "IX.12", all(measures(p, terms[1]) for p in last_primes))
    claim("and they are the same primes", "VII.30",
          last_primes == sorted(set(prime_factors(terms[1]))))
    return Out(primes=last_primes)