Spectra is a general purpose planning system. It extends STRIPS-style planning by allowing arbitray first-order formulae for state descriptions and background knowledge rather than just predicates. This allows, for instance, handling domains with infinite or unbounded objects elegantly (among other things).
* Existing Planners are propositional
* Drawbacks:
* **Expressivity**: Cannot express arbitrary constraints. *“At every step make sure that no two blocks on the table have same color”*
* **Domain Size**: Scaling to large domains of arbitrary sizes poses difficulty.
1.**Procedural Attachments**: Special purpose procedural code that can bypass strict formal reasoning.
2.*μ*-**methods**: Written in denotational proof language. Preserves soundness by letting us write down commonly used patterns of reasoning (a bit unwieldy integration now than the first approach)
Roughly, a method has conditions that the goal and background + start state should satisfy. If the conditions are satisfied, a plan template is generated (note the variables).
The planner then verifies if the plan template works, if so it outputs the plan.