You seem to be saying that circles are not subtypes of ellipses. That circleness is just a property of ellipses. If we accept that then the whole issue is moot, and substitutability is true by tautology.
A circle is a triple: (x,y,radius). An ellipse is a 5-tuple: (x,y,major,minor,angle).
Maybe we should be talking about angle instead? It can't be derived from a circle. What happens when you feed a circle to selectEllipsesByAngle()?
A circle is a triple: (x,y,radius). An ellipse is a 5-tuple: (x,y,major,minor,angle).
Maybe we should be talking about angle instead? It can't be derived from a circle. What happens when you feed a circle to selectEllipsesByAngle()?