Got disjointness and subsumption working properly with inference rule approach. Still rather hacky, left some TODO comments in the addCurve method