Book I · Proposition 41

I.41

If a parallelogram have the same base with a triangle and be in the same parallels, the parallelogram is double of the triangle.Heath, 1908
ABCDE
7 lines and circles drawn, of which 2 helper constructions drew the fainter ones

Every step, checked

What it needs, and what needs it

Needs: I.34 I.37

Used by: I.42 I.47 XI.39

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

Depth: 13 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(
    "I.41",
    THEOREM,
    sample=_parallelogram_and_triangle,
)
def prop_I_41(a: Point, b: Point, c: Point, d: Point, e: Point) -> Out:
    hypothesis("ABCD is a parallelogram",
               parallel(Line.through(a, b), Line.through(d, c))
               and parallel(Line.through(a, d), Line.through(b, c)))
    hypothesis("E lies on the parallel DC", collinear(d, c, e))
    outline(a, b, c, d)
    outline(a, b, e)

    # I.37 compares two triangles on the base by joining their apexes, so it has
    # nothing to join when they are the same point -- which happens when the
    # parallelogram's far corner is where the triangle's apex already stands.
    if e != c:
        because(prop_I_37, a, b, e, c)
    because(prop_I_34, a, b, c, d)

    claim("the triangle ABE equals the triangle ABC", "I.37", eq_area((a, b, e), (a, b, c)))
    claim("the diameter halves the parallelogram, so it is double the triangle", "I.34",
          _area(a, b, c, d) == 2 * _area(a, b, e))
    return Out()