A constraint model starts as a finite list of candidate assignments. This is CP-SAT-style exhaustive search on tiny data; real solvers use propagation and clause learning.
Constraint Solving
Example
A constraint model starts as a finite list of candidate assignments. This is an exhaustive-search view on tiny data; unlike a real CP-SAT solver, it does not propagate constraints or learn clauses.
highlighted = computed this step
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=0 candidate assignment \begin{array}{c|c}\text{x=0 y=0}&\hlmath{\text{candidate assignment}}\end{array} x=0 y=0 candidate assignment
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=0 candidate assignment x=0 y=1 candidate assignment \begin{array}{c|c}\text{x=0 y=0}&\text{candidate assignment}\\\text{x=0 y=1}&\hlmath{\text{candidate assignment}}\end{array} x=0 y=0 x=0 y=1 candidate assignment candidate assignment
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=0 candidate assignment x=0 y=1 candidate assignment x=0 y=2 candidate assignment \begin{array}{c|c}\text{x=0 y=0}&\text{candidate assignment}\\\text{x=0 y=1}&\text{candidate assignment}\\\text{x=0 y=2}&\hlmath{\text{candidate assignment}}\end{array} x=0 y=0 x=0 y=1 x=0 y=2 candidate assignment candidate assignment candidate assignment
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=0 candidate assignment x=0 y=1 candidate assignment x=0 y=2 candidate assignment x=1 y=0 candidate assignment \begin{array}{c|c}\text{x=0 y=0}&\text{candidate assignment}\\\text{x=0 y=1}&\text{candidate assignment}\\\text{x=0 y=2}&\text{candidate assignment}\\\text{x=1 y=0}&\hlmath{\text{candidate assignment}}\end{array} x=0 y=0 x=0 y=1 x=0 y=2 x=1 y=0 candidate assignment candidate assignment candidate assignment candidate assignment
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=0 candidate assignment x=0 y=1 candidate assignment x=0 y=2 candidate assignment x=1 y=0 candidate assignment x=1 y=1 candidate assignment \begin{array}{c|c}\text{x=0 y=0}&\text{candidate assignment}\\\text{x=0 y=1}&\text{candidate assignment}\\\text{x=0 y=2}&\text{candidate assignment}\\\text{x=1 y=0}&\text{candidate assignment}\\\text{x=1 y=1}&\hlmath{\text{candidate assignment}}\end{array} x=0 y=0 x=0 y=1 x=0 y=2 x=1 y=0 x=1 y=1 candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=0 candidate assignment x=0 y=1 candidate assignment x=0 y=2 candidate assignment x=1 y=0 candidate assignment x=1 y=1 candidate assignment x=1 y=2 candidate assignment \begin{array}{c|c}\text{x=0 y=0}&\text{candidate assignment}\\\text{x=0 y=1}&\text{candidate assignment}\\\text{x=0 y=2}&\text{candidate assignment}\\\text{x=1 y=0}&\text{candidate assignment}\\\text{x=1 y=1}&\text{candidate assignment}\\\text{x=1 y=2}&\hlmath{\text{candidate assignment}}\end{array} x=0 y=0 x=0 y=1 x=0 y=2 x=1 y=0 x=1 y=1 x=1 y=2 candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=0 candidate assignment x=0 y=1 candidate assignment x=0 y=2 candidate assignment x=1 y=0 candidate assignment x=1 y=1 candidate assignment x=1 y=2 candidate assignment x=2 y=0 candidate assignment \begin{array}{c|c}\text{x=0 y=0}&\text{candidate assignment}\\\text{x=0 y=1}&\text{candidate assignment}\\\text{x=0 y=2}&\text{candidate assignment}\\\text{x=1 y=0}&\text{candidate assignment}\\\text{x=1 y=1}&\text{candidate assignment}\\\text{x=1 y=2}&\text{candidate assignment}\\\text{x=2 y=0}&\hlmath{\text{candidate assignment}}\end{array} x=0 y=0 x=0 y=1 x=0 y=2 x=1 y=0 x=1 y=1 x=1 y=2 x=2 y=0 candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=0 candidate assignment x=0 y=1 candidate assignment x=0 y=2 candidate assignment x=1 y=0 candidate assignment x=1 y=1 candidate assignment x=1 y=2 candidate assignment x=2 y=0 candidate assignment x=2 y=1 candidate assignment \begin{array}{c|c}\text{x=0 y=0}&\text{candidate assignment}\\\text{x=0 y=1}&\text{candidate assignment}\\\text{x=0 y=2}&\text{candidate assignment}\\\text{x=1 y=0}&\text{candidate assignment}\\\text{x=1 y=1}&\text{candidate assignment}\\\text{x=1 y=2}&\text{candidate assignment}\\\text{x=2 y=0}&\text{candidate assignment}\\\text{x=2 y=1}&\hlmath{\text{candidate assignment}}\end{array} x=0 y=0 x=0 y=1 x=0 y=2 x=1 y=0 x=1 y=1 x=1 y=2 x=2 y=0 x=2 y=1 candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=0 candidate assignment x=0 y=1 candidate assignment x=0 y=2 candidate assignment x=1 y=0 candidate assignment x=1 y=1 candidate assignment x=1 y=2 candidate assignment x=2 y=0 candidate assignment x=2 y=1 candidate assignment x=2 y=2 candidate assignment \begin{array}{c|c}\text{x=0 y=0}&\text{candidate assignment}\\\text{x=0 y=1}&\text{candidate assignment}\\\text{x=0 y=2}&\text{candidate assignment}\\\text{x=1 y=0}&\text{candidate assignment}\\\text{x=1 y=1}&\text{candidate assignment}\\\text{x=1 y=2}&\text{candidate assignment}\\\text{x=2 y=0}&\text{candidate assignment}\\\text{x=2 y=1}&\text{candidate assignment}\\\text{x=2 y=2}&\hlmath{\text{candidate assignment}}\end{array} x=0 y=0 x=0 y=1 x=0 y=2 x=1 y=0 x=1 y=1 x=1 y=2 x=2 y=0 x=2 y=1 x=2 y=2 candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment
Read the table verdict
Compute the highlighted logic-table value.
x=0 y=0 candidate assignment x=0 y=1 candidate assignment x=0 y=2 candidate assignment x=1 y=0 candidate assignment x=1 y=1 candidate assignment x=1 y=2 candidate assignment x=2 y=0 candidate assignment x=2 y=1 candidate assignment x=2 y=2 candidate assignment verdict 9 assignments before constraints \begin{array}{c|c}\text{x=0 y=0}&\text{candidate assignment}\\\text{x=0 y=1}&\text{candidate assignment}\\\text{x=0 y=2}&\text{candidate assignment}\\\text{x=1 y=0}&\text{candidate assignment}\\\text{x=1 y=1}&\text{candidate assignment}\\\text{x=1 y=2}&\text{candidate assignment}\\\text{x=2 y=0}&\text{candidate assignment}\\\text{x=2 y=1}&\text{candidate assignment}\\\text{x=2 y=2}&\text{candidate assignment}\\\text{verdict}&\hlmath{\text{9 assignments before constraints}}\end{array} x=0 y=0 x=0 y=1 x=0 y=2 x=1 y=0 x=1 y=1 x=1 y=2 x=2 y=0 x=2 y=1 x=2 y=2 verdict candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment candidate assignment 9 assignments before constraints
logic-computation
Every row is intentionally ordered and pinned to the lesson specification.