Book I · Proposition 1
On a given finite straight line to construct an equilateral triangle.Heath, 1908
Needs: nothing earlier.
Rests on: C.N.1, Def.15
Depth: 0 steps of argument above the first principles. Parallel postulate: not needed.
@proposition(
"I.1",
CONSTRUCTION,
sample=samples.segment,
)
def prop_I_1(a: Point, b: Point) -> Out:
"""The first construction in the *Elements*, and the first thing it takes
on faith: that the two circles meet at all."""
line(a, b, "the given line AB")
around_a = circle(a, b, "circle centre A through B")
around_b = circle(b, a, "circle centre B through A")
apex = posit(meet(around_a, around_b)[0], "C")
line(a, apex)
line(b, apex)
claim("CA = AB, both radii of the circle centre A", "Def.15", eq_len(apex, a, a, b))
claim("CB = BA, both radii of the circle centre B", "Def.15", eq_len(apex, b, b, a))
claim("therefore CA = CB", "C.N.1", eq_len(apex, a, apex, b))
return Out(apex=apex, triangle=(a, b, apex))