A method of establishing a sufficiency of a path planner to avoid a plurality of obstacles in planning a path from a starting location to a destination location, the method comprising: iterating, until a stopping condition of a plurality of predetermined stopping conditions occurs: obtaining, from the path planner, a path from the starting location to the destination location; partitioning a space between the starting location and the destination location into a plurality of partially overlapping parts; and representing the obstacles as a subset of the plurality of partially overlapping parts, representing the path from the starting location to the destination location as a disjunction of logical terms, wherein each of the logical terms corresponds to a part of the plurality of partially overlapping parts; conjoining the disjunction of terms to a conjunction of terms representing previously considered paths from the starting location to the destination location; determining a satisfiability condition of the conjunction of terms; and for a positive satisfiability condition, adding at least one corresponding obstacle of the plurality of obstacles to the path planner; and providing an indication of sufficiency of the path planner to avoid the obstacles in planning a path from the starting location to the destination location based on the stopping condition, wherein the plurality of predetermined stopping conditions comprise: a stopping condition comprising that the satisfiability condition of the conjunction of terms is negative at some stage in the iterating; and a stopping condition comprising that the path planner fails to provide a path at some stage in the iterating. iterating, until a stopping condition of a plurality of predetermined stopping conditions occurs: obtaining, from the path planner, a path from the starting location to the destination location; partitioning a space between the starting location and the destination location into a plurality of partially overlapping parts; and representing the obstacles as a subset of the plurality of partially overlapping parts, representing the path from the starting location to the destination location as a disjunction of logical terms, wherein each of the logical terms corresponds to a part of the plurality of partially overlapping parts; conjoining the disjunction of terms to a conjunction of terms representing previously considered paths from the starting location to the destination location; determining a satisfiability condition of the conjunction of terms; and for a positive satisfiability condition, adding at least one corresponding obstacle of the plurality of obstacles to the path planner; and obtaining, from the path planner, a path from the starting location to the destination location; partitioning a space between the starting location and the destination location into a plurality of partially overlapping parts; and representing the obstacles as a subset of the plurality of partially overlapping parts, representing the path from the starting location to the destination location as a disjunction of logical terms, wherein each of the logical terms corresponds to a part of the plurality of partially overlapping parts; conjoining the disjunction of terms to a conjunction of terms representing previously considered paths from the starting location to the destination location; determining a satisfiability condition of the conjunction of terms; and for a positive satisfiability condition, adding at least one corresponding obstacle of the plurality of obstacles to the path planner; and providing an indication of sufficiency of the path planner to avoid the obstacles in planning a path from the starting location to the destination location based on the stopping condition, wherein the plurality of predetermined stopping conditions comprise: a stopping condition comprising that the satisfiability condition of the conjunction of terms is negative at some stage in the iterating; and a stopping condition comprising that the path planner fails to provide a path at some stage in the iterating. a stopping condition comprising that the satisfiability condition of the conjunction of terms is negative at some stage in the iterating; and a stopping condition comprising that the path planner fails to provide a path at some stage in the iterating.