Book XI · Proposition 29

XI.29

Parallelepipedal solids which are on the same base and of the same height, and in which the extremities of the sides which stand up are on the same straight lines, are equal to one another.Heath, 1908

Every step, checked

What it needs, and what needs it

Needs: XI.14 XI.24

Used by: XI.30

Rests on: C.N.1, C.N.2, C.N.3, C.N.4, C.N.5, Def.10, Def.15, Def.4, Post.5, XI.Def.3, XI.Def.8

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

What it takes on trust

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

The proposition as code

@proposition("XI.29", THEOREM, sample=samples3.corner_and_arms)
def prop_XI_29(o: Point3, a: Point3, b: Point3, c: Point3) -> Out:
    """Parallelepipeds on the same base and of the same height, whose standing
    sides end on the same straight lines, are equal."""
    hypothesis("the three arms are not in one plane", not coplanar(o, a, b, c))
    first = _built(parallelepiped(o, a, b, c, "the first solid"))
    # The second stands on the same base and reaches the same plane, its top
    # slid along the line the first solid's top edge lies in. That is what "the
    # extremities of the sides which stand up are on the same straight lines"
    # says, and it is the only freedom the figure has.
    slide = vector_between(o, a)
    leaned = posit3(Point3(c.x + slide[0], c.y + slide[1], c.z + slide[2]), "M")
    second = _built(parallelepiped(o, a, b, leaned, "the second solid"))
    line3(c, leaned, "the line the tops end on")

    claim("the two solids stand on the same base", "XI.24",
          _same_figure(first.face_points(0), second.face_points(0)))
    claim("their tops are in one plane, so they are of the same height", "XI.14",
          parallel_planes(first.face_plane(1), first.face_plane(0))
          and second.face_plane(1) == first.face_plane(1))
    claim("and the solids are equal to one another", "XI.29",
          content(first) == content(second))
    return Out(solids=(first, second))