Book I · Proposition 34

I.34

In parallelogrammic areas the opposite sides and angles are equal to one another, and the diameter bisects the areas.Heath, 1908
ABCD
5 lines and circles drawn, of which 3 helper constructions drew the fainter ones

Every step, checked

What it needs, and what needs it

Needs: I.4 I.26 I.29

Used by: I.35 I.37 I.38 I.41 I.43 I.46 IV.7 IV.8 IV.9 XI.24 XI.28

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: 10 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.34",
    THEOREM,
    sample=samples.parallelogram,
)
def prop_I_34(a: Point, b: Point, c: Point, d: 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)))
    outline(a, b, c, d)
    diameter = line(a, c, "the diameter AC")

    # BC falls across the parallels AB and DC, meeting each at an end of itself,
    # so each is named by points straddling the crossing. The triangles the
    # diameter makes then answer to I.26 on two angles and the side between,
    # and to I.4 on two sides and the angle between.
    beyond_b = Point(2 * b.x - a.x, 2 * b.y - a.y)
    beyond_c = Point(2 * c.x - d.x, 2 * c.y - d.y)
    because(prop_I_29, a, beyond_b, d, beyond_c, b, c)
    because(prop_I_26, a, b, c, c, d, a)
    because(prop_I_4, b, a, c, d, c, a)

    claim("the alternate angles ABC and CDA are equal", "I.29", eq_angle(a, b, c, c, d, a))
    claim("hence the triangles ABC and CDA are equal in every part", "I.26",
          eq_len(a, b, d, c) and eq_len(b, c, a, d))
    claim("the opposite angles are equal", "C.N.2", eq_angle(b, a, d, b, c, d))
    claim("and the diameter bisects the parallelogram", "I.4", eq_area((a, b, c), (a, c, d)))
    return Out(diameter=diameter)