Book I · Proposition 10
To bisect a given finite straight line.Heath, 1908
Used by: I.12 I.16 I.42 II.5 II.6 II.9 II.10 II.11 II.14 III.1 III.2 III.3 III.9 III.14 III.15 III.30 III.33 III.35 III.36 IV.5 IV.8 IV.9 IV.13 IV.16 VI.13 VI.27 VI.28 VI.29 XIII.1 XIII.3
Rests on: C.N.1, C.N.3, C.N.4, C.N.5, Def.15, Def.4
Depth: 7 steps of argument above the first principles. Parallel postulate: not needed.
@proposition(
"I.10",
CONSTRUCTION,
sample=samples.segment,
)
def prop_I_10(a: Point, b: Point) -> Out:
apex = posit(prop_I_1(a, b).apex, "C")
bisected = prop_I_9(a, apex, b)
middle = posit(meet_one(bisected.bisector, line(a, b)), "D")
# AC and BC are sides of the equilateral triangle, CD is common, and the
# angles at C were bisected: that is I.4's own hypothesis, so I.4 concludes.
because(prop_I_4, apex, a, middle, apex, b, middle)
claim("AD = DB: the line is bisected", "I.4", eq_len(a, middle, middle, b))
claim("D lies on AB", "Def.4", on_line(middle, Line.through(a, b)))
claim("D lies between A and B", "C.N.5", between(a, middle, b))
return Out(midpoint=middle)