Book VII · Proposition 30

VII.30

If two numbers by multiplying one another make some number, and any prime number measure the product, it will also measure one of the original numbers.Heath, 1908

Euclid's lemma, and the reason factorisation into primes is unique. It is the deepest thing in Book VII.

Every step, checked

What it needs, and what needs it

Needs: nothing earlier.

Used by: IX.12 IX.14

Depth: 0 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(
    "VII.30",
    THEOREM,
    sample=lambda rng: (rng.choice([p for p in range(2, 40) if is_prime(p)]),
                        rng.randint(2, 60), rng.randint(2, 60)),
    note="Euclid's lemma, and the reason factorisation into primes is unique. "
    "It is the deepest thing in Book VII.",
)
def prop_VII_30(p: int, a: int, b: int) -> Out:
    hypothesis("the first is prime", is_prime(p))
    hypothesis("it measures the product", measures(p, a * b))
    claim("then it measures one of the two", "VII.30",
          measures(p, a) or measures(p, b))
    return Out()