Book III · Proposition 21

III.21

In a circle the angles in the same segment are equal to one another.Heath, 1908

Angles in the same segment are equal -- the fact behind every 'the angle is fixed wherever you stand on the arc' argument in the book.

OABCD
6 lines and circles drawn, of which 2 helper constructions drew the fainter ones

Every step, checked

What it needs, and what needs it

Needs: III.20

Used by: III.22 III.23 III.24 III.32 III.33

Rests on: C.N.1, 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

The proposition as code

@proposition(
    "III.21",
    THEOREM,
    sample=_four_on_a_circle,
    note="Angles in the same segment are equal -- the fact behind every 'the "
    "angle is fixed wherever you stand on the arc' argument in the book.",
)
def prop_III_21(o: Point, a: Point, b: Point, c: Point, d: Point) -> Out:
    """AB is the base; C and D both stand on the same side of it."""
    hypothesis("the four points lie on the circle",
               all(eq_len(o, p, o, a) for p in (b, c, d)))
    hypothesis("C and D lie in the same segment",
               same_side(c, d, Line.through(a, b)) and c != d)
    circle(o, a, "the given circle")
    outline(a, c, b, close=False)
    outline(a, d, b, close=False)
    line(a, b, "the base AB")

    because(prop_III_20, o, a, c, b)
    because(prop_III_20, o, a, d, b)

    claim("each angle at the circumference is half the angle at the centre",
          "III.20", angle_at(a, c, b) == angle_at(a, d, b))
    claim("so the angles in the same segment are equal to one another", "III.20",
          eq_angle(a, c, b, a, d, b))
    return Out(angles=(angle_at(a, c, b), angle_at(a, d, b)))