Book XI · Proposition 34
In equal parallelepipedal solids the bases are reciprocally proportional to the heights; and those parallelepipedal solids in which the bases are reciprocally proportional to the heights are equal.Heath, 1908
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.10, XI.Def.3, XI.Def.8
Depth: 16 steps of argument above the first principles. Parallel postulate: needed.
Nothing. It draws no intersections and reads nothing off the picture.
@proposition("XI.34", THEOREM, sample=samples3.corner_and_arms)
def prop_XI_34(o: Point3, a: Point3, b: Point3, c: Point3) -> Out:
"""In equal parallelepipeds the bases are reciprocally proportional to the
heights, and conversely."""
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"))
# A second solid equal to the first, its base twice as wide and its height
# halved: the reciprocation the proposition is about, made rather than found.
wider = posit3(_along(o, a, Fraction(2)), "P")
lower = posit3(_along(o, c, Fraction(1, 2)), "R")
second = _built(parallelepiped(o, wider, b, lower, "the second solid"))
because(prop_XI_32, o, a, b, c)
bases = (_base_area(o, a, b), _base_area(o, wider, b))
heights = (height_over(c, first.face_plane(0)),
height_over(lower, second.face_plane(0)))
claim("the two solids are equal", "XI.31", content(first) == content(second))
claim("so as the base is to the base, so is the height to the height "
"reciprocally", "XI.34",
bases[0] * heights[0] == bases[1] * heights[1])
# The converse is the same equation read the other way, and Euclid states
# both halves, so both are checked.
claim("and solids whose bases are reciprocally proportional to their "
"heights are equal", "XI.34",
content(first) == bases[0] * heights[0]
and content(second) == bases[1] * heights[1])
return Out(solids=(first, second), bases=bases, heights=heights)