hyperbole

A = Intersect(xAxis, yAxis)
C = (4, 0)
ac = Line(A, C)
AC = Segment(A, C)
ay = OrthogonalLine(A, ac)
P = Mirror(A, C)
O = Rotate(Midpoint[A, C], 90°, A)
c = Circle(O, P)
M = Intersect(c, ay, 1)
M' = Intersect(c, ay, 2)
d = Circle(A, P)
e = Circle(C, Segment[A, M])
B = Intersect(d, e, 1)
f = Segment(A, B)
g = Segment(B, C)
D = Mirror(B, LineBisector[A, C])
h = Segment(D, A)
i = Segment(D, C)
j = Segment(D, B)
k = Circle(A, C, B)
p = Circle(C, Segment[A, M'])
B' = Intersect(d, p, 1)
l = Segment(B', A)
m = Segment(B', C)
B'' = Dilate(B', -0.5, C)
n = Segment(C, B'')
α = Angle(B'', C, A)
a = false
S = Dilate(C, 2 / 3, A)
F = Dilate(A, 4 / 3, C)
q = Hyperbola(F, C, A)