Cylindrical Algebraic Decomposition I: The Basic Algorithm | Synapse