Book I · Proposition 37

I.37

Triangles which are on the same base and in the same parallels are equal to one another.Heath, 1908
ABCD
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.35

Used by: I.39 I.41 VI.2

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: 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(
    "I.37",
    THEOREM,
    sample=samples.triangles_same_base,
)
def prop_I_37(a: Point, b: Point, c: Point, d: Point) -> Out:
    hypothesis("C and D lie on one parallel to AB",
               parallel(Line.through(a, b), Line.through(c, d)))
    outline(a, b, c)
    outline(a, b, d)
    line(c, d, "the parallel through the apexes")

    top_c, top_d = _fourth_vertex(b, a, c), _fourth_vertex(b, a, d)
    because(prop_I_35, a, b, c, top_c, d, top_d)
    because(prop_I_34, a, b, c, top_c)

    claim("completing the parallelograms on AB, they are equal", "I.35",
          eq_polygon_area(
              [a, b, c, _fourth_vertex(b, a, c)], [a, b, d, _fourth_vertex(b, a, d)]))
    claim("each triangle is half its parallelogram, so the triangles are equal", "I.34",
          eq_area((a, b, c), (a, b, d)))
    return Out()