A: (1, 0.5)
f: y = 0
g: y = 1
h = Segment((0, 0), (0, 1))
i = Segment((10, 0), (10, 1))
a = 20 (slider from 0 to 20, step 0.01)
c = Circle(A, a)
B, C = Intersect(c, g)
D, E = Intersect(c, f)
p: y = 2
F, G = Intersect(c, p)
d = Mirror(CircleArc[A, G, F], p)
H, I = Intersect(d, g)
J = Point(d)
e = Circle(H, I, J)
K = Center(e)
k = CircleArc(K, H, I)
l1 = Sequence(Mirror[A, y = k], k, -55, 55)
l2 = Sequence(Sequence[Circle[Element[l1, k], j], k, 1, Length[l1]], j, 1, 20)