Book IX · Proposition 7

IX.7

If a composite number by multiplying any number make some number, the product will be solid.Heath, 1908

Every step, checked

What it needs, and what needs it

Needs: nothing earlier.

Rests on: Def.VII.13, Def.VII.17

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.7",
    THEOREM,
    sample=lambda rng: (rng.randint(2, 10) * rng.randint(2, 10), rng.randint(2, 20)),
)
def prop_IX_7(composite: int, other: int) -> Out:
    """A composite number multiplied by any number makes a solid number.

    The composite is given, and its two sides are found rather than handed over.
    Given the sides and multiplying them out, the conclusion compared the
    product with the expression it had just been built from.
    """
    hypothesis("the first is composite", composite > 1 and not is_prime(composite))
    hypothesis("the second is a number", other > 1, guard=True)
    a = next(d for d in range(2, composite) if measures(d, composite))
    b = composite // a
    solid = composite * other
    claim("the composite is measured by some number, and so has two sides",
          "Def.VII.13", a > 1 and b > 1 and a * b == composite)
    claim("its product with any number is solid, having three sides", "Def.VII.17",
          a > 1 and b > 1 and other > 1 and a * b * other == solid)
    return Out(solid=solid, sides=(a, b, other))