Book IX · Proposition 5

IX.5

If a cube number by multiplying any number make a cube number, the multiplied number will also be cube.Heath, 1908

Every step, checked

What it needs, and what needs it

Needs: nothing earlier.

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(
    "IX.5",
    THEOREM,
    sample=lambda rng: (rng.randint(2, 8), rng.randint(2, 8)),
)
def prop_IX_5(a: int, b: int) -> Out:
    hypothesis("the numbers are genuine", a > 1 and b > 1, guard=True)
    cube, other = a ** 3, b ** 3
    hypothesis("the product is cube", is_cube(cube * other))
    claim("the multiplied number is cube", "IX.5", is_cube(other))
    # The content is that nothing but a cube will do, so every multiplier is
    # tried and none is found that makes a cube of the product without being one.
    claim("and no other multiplier makes the product cube", "IX.5",
          all(is_cube(n) for n in range(1, 200) if is_cube(cube * n)))
    return Out()