Ordered argument occurrences of CSP instances #
An occurrence is a constraint position together with a position in its scope. Neither repeated
constraints nor repeated variables are identified. Local labelings read scopes in argument order;
consistency requires equal labels at all occurrences of a variable. A consistent local labeling
reconstructs a global assignment, using an explicitly supplied value for nonoccurring variables.
These definitions use the existing CSP and its arbitrary-domain semantics.
Main definitions #
Cslib.Logic.PL.CSP.Occurrence: dependent indices into the existing instance.Cslib.Logic.PL.CSP.occurrences: executable records in constraint-then-scope order.Cslib.Logic.PL.CSP.ValidLabeling,Cslib.Logic.PL.CSP.ConsistentLabeling: local validity and agreement on variables.Cslib.Logic.PL.CSP.EdgeInstance: every occurring variable has precisely two occurrences, in distinct constraint positions.
References #
The Boolean specialization of EdgeInstance matches [KKR18], Section 2,
Definition 3 (arXiv v6, p. 3). That source uses set scopes; the distinct-position and exactly-two
requirements here explicitly enforce its no-repeat convention without normalizing input scopes.
Local validity and agreement specialize Section 5.1, Definition 20. The occurrence enumeration
and reconstruction proofs are original, and impose no planarity or arity bound.
Relation symbol at this occurrence's constraint position.
Instances For
Ordered scope at this occurrence's constraint position.
Instances For
Variable at this argument position, retaining repeated occurrences.
Instances For
Executable record: constraint index, scope index, variable.
Instances For
The two position indices identify an occurrence independently of variable names.
Every named variable is an occurring variable of the original CSP.
Every position record occurs exactly once, even if its variable or constraint is repeated.
The number of argument occurrences is the sum of the scope lengths.
The tuple at a constraint reads its argument labels in their original order.
Instances For
Every constraint accepts its own ordered tuple of occurrence labels.
Instances For
All occurrences of the same variable have the same label.
Instances For
Restrict a global assignment to the ordered argument occurrences.
Instances For
Global assignments always induce consistent labels.
Restricting an assignment preserves each constraint's ordered tuple.
Recover an assignment by choosing one occurrence of each occurring variable; outside is
the value on every variable absent from the instance.
Instances For
The reconstructed assignment has precisely the supplied value off the occurring variables.
Consistency makes reconstruction independent of the chosen representative occurrence.
A consistent valid local labeling reconstructs a model of the original CSP.
Consistent occurrence labels are exactly restrictions of global assignments.
The other occurrence of an edge variable.
Instances For
An edge's two occurrences belong to different constraint positions.
Both ends of an edge name the same variable.
The partner is a genuinely different argument occurrence.
A variable has no occurrences beyond these two ends.
Each of the two constraint scopes contains the variable only once.
Taking the other end twice returns the original argument occurrence.
The two endpoint labels agree on each edge variable.
Instances For
For edge instances, agreement of the two endpoint labels is exactly global consistency.
A model exists iff there is a valid local labeling with agreeing endpoints on every edge. This includes the empty instance and retains nullary constraints.