Book VI · Proposition 21

VI.21

Figures which are similar to the same rectilineal figure are also similar to one another.Heath, 1908
ABCDEFHK
9 lines and circles drawn

Every step, checked

What it needs, and what needs it

Needs: nothing earlier.

Rests on: VI.Def.1

Depth: 0 steps of argument above the first principles. Parallel postulate: not needed.

What it takes on trust

Nothing. It draws no intersections and reads nothing off the picture.

The proposition as code

@proposition(
    "VI.21",
    THEOREM,
    sample=_similar_triangles,
)
def prop_VI_21(a: Point, b: Point, c: Point, d: Point, e: Point, f: Point) -> Out:
    """Two figures similar to the same figure are similar to one another."""
    hypothesis("neither triangle is degenerate",
               not collinear(a, b, c) and not collinear(d, e, f))
    hypothesis("the second is similar to the first", similar((a, b, c), (d, e, f)))
    outline(a, b, c)
    outline(d, e, f)

    # A third figure, similar to the first; similarity should carry across.
    third = [posit(Point(a.x + 2 * (point.x - a.x), a.y + 2 * (point.y - a.y)), name)
             for point, name in ((a, "G"), (b, "H"), (c, "K"))]
    outline(*third)

    claim("the third is similar to the first", "VI.Def.1", similar((a, b, c), tuple(third)))
    claim("so the second and third are similar to one another", "VI.Def.1",
          similar((d, e, f), tuple(third)))
    return Out()