Compilation to CSP
Variables: Propositions (In-A-1, In-B-1, ..At-R-E-0 …)
Domains: Actions supporting that proposition in the plan
In-A-1 : { Load-A-1, #} At-R-E-1: {P-At-R-E-1, #}
Constraints: Mutual exclusion
~[ ( In-A-1 = Load-A-1) & (At-R-M-1 = Fly-R-1)] ; etc..
In-A-1 != # & In-B-1 != # (Goals must have action assignments)
In-A-1 = Load-A-1 => At-R-E-0 != # , At-A-E-0 != #
(subgoal activation constraints)
CSP: Given a set of discrete variables,
the domains of the variables, and constraints
on the specific values a set of variables can take
in combination, FIND an assignment of values to
all the variables which respects all constraints