A tiny integer program can be understood as a filtered point table. This is CP-SAT-style exhaustive search on tiny data; real solvers use propagation and clause learning.
Search and Optimization
Example
A tiny integer program can be understood as a filtered point table. 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=3 x+y=3 2x+y=3 feasible=yes \begin{array}{c|c}\text{x=0 y=3}&\hlmath{\text{x+y=3 2x+y=3 feasible=yes}}\end{array} x=0 y=3 x+y=3 2x+y=3 feasible=yes
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=3 x+y=3 2x+y=3 feasible=yes x=1 y=1 x+y=2 2x+y=3 feasible=yes \begin{array}{c|c}\text{x=0 y=3}&\text{x+y=3 2x+y=3 feasible=yes}\\\text{x=1 y=1}&\hlmath{\text{x+y=2 2x+y=3 feasible=yes}}\end{array} x=0 y=3 x=1 y=1 x+y=3 2x+y=3 feasible=yes x+y=2 2x+y=3 feasible=yes
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=3 x+y=3 2x+y=3 feasible=yes x=1 y=1 x+y=2 2x+y=3 feasible=yes x=1 y=2 x+y=3 2x+y=4 feasible=yes \begin{array}{c|c}\text{x=0 y=3}&\text{x+y=3 2x+y=3 feasible=yes}\\\text{x=1 y=1}&\text{x+y=2 2x+y=3 feasible=yes}\\\text{x=1 y=2}&\hlmath{\text{x+y=3 2x+y=4 feasible=yes}}\end{array} x=0 y=3 x=1 y=1 x=1 y=2 x+y=3 2x+y=3 feasible=yes x+y=2 2x+y=3 feasible=yes x+y=3 2x+y=4 feasible=yes
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=3 x+y=3 2x+y=3 feasible=yes x=1 y=1 x+y=2 2x+y=3 feasible=yes x=1 y=2 x+y=3 2x+y=4 feasible=yes x=1 y=3 x+y=4 2x+y=5 feasible=yes \begin{array}{c|c}\text{x=0 y=3}&\text{x+y=3 2x+y=3 feasible=yes}\\\text{x=1 y=1}&\text{x+y=2 2x+y=3 feasible=yes}\\\text{x=1 y=2}&\text{x+y=3 2x+y=4 feasible=yes}\\\text{x=1 y=3}&\hlmath{\text{x+y=4 2x+y=5 feasible=yes}}\end{array} x=0 y=3 x=1 y=1 x=1 y=2 x=1 y=3 x+y=3 2x+y=3 feasible=yes x+y=2 2x+y=3 feasible=yes x+y=3 2x+y=4 feasible=yes x+y=4 2x+y=5 feasible=yes
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=3 x+y=3 2x+y=3 feasible=yes x=1 y=1 x+y=2 2x+y=3 feasible=yes x=1 y=2 x+y=3 2x+y=4 feasible=yes x=1 y=3 x+y=4 2x+y=5 feasible=yes x=2 y=0 x+y=2 2x+y=4 feasible=yes \begin{array}{c|c}\text{x=0 y=3}&\text{x+y=3 2x+y=3 feasible=yes}\\\text{x=1 y=1}&\text{x+y=2 2x+y=3 feasible=yes}\\\text{x=1 y=2}&\text{x+y=3 2x+y=4 feasible=yes}\\\text{x=1 y=3}&\text{x+y=4 2x+y=5 feasible=yes}\\\text{x=2 y=0}&\hlmath{\text{x+y=2 2x+y=4 feasible=yes}}\end{array} x=0 y=3 x=1 y=1 x=1 y=2 x=1 y=3 x=2 y=0 x+y=3 2x+y=3 feasible=yes x+y=2 2x+y=3 feasible=yes x+y=3 2x+y=4 feasible=yes x+y=4 2x+y=5 feasible=yes x+y=2 2x+y=4 feasible=yes
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=3 x+y=3 2x+y=3 feasible=yes x=1 y=1 x+y=2 2x+y=3 feasible=yes x=1 y=2 x+y=3 2x+y=4 feasible=yes x=1 y=3 x+y=4 2x+y=5 feasible=yes x=2 y=0 x+y=2 2x+y=4 feasible=yes x=2 y=1 x+y=3 2x+y=5 feasible=yes \begin{array}{c|c}\text{x=0 y=3}&\text{x+y=3 2x+y=3 feasible=yes}\\\text{x=1 y=1}&\text{x+y=2 2x+y=3 feasible=yes}\\\text{x=1 y=2}&\text{x+y=3 2x+y=4 feasible=yes}\\\text{x=1 y=3}&\text{x+y=4 2x+y=5 feasible=yes}\\\text{x=2 y=0}&\text{x+y=2 2x+y=4 feasible=yes}\\\text{x=2 y=1}&\hlmath{\text{x+y=3 2x+y=5 feasible=yes}}\end{array} x=0 y=3 x=1 y=1 x=1 y=2 x=1 y=3 x=2 y=0 x=2 y=1 x+y=3 2x+y=3 feasible=yes x+y=2 2x+y=3 feasible=yes x+y=3 2x+y=4 feasible=yes x+y=4 2x+y=5 feasible=yes x+y=2 2x+y=4 feasible=yes x+y=3 2x+y=5 feasible=yes
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=3 x+y=3 2x+y=3 feasible=yes x=1 y=1 x+y=2 2x+y=3 feasible=yes x=1 y=2 x+y=3 2x+y=4 feasible=yes x=1 y=3 x+y=4 2x+y=5 feasible=yes x=2 y=0 x+y=2 2x+y=4 feasible=yes x=2 y=1 x+y=3 2x+y=5 feasible=yes x=2 y=2 x+y=4 2x+y=6 feasible=yes \begin{array}{c|c}\text{x=0 y=3}&\text{x+y=3 2x+y=3 feasible=yes}\\\text{x=1 y=1}&\text{x+y=2 2x+y=3 feasible=yes}\\\text{x=1 y=2}&\text{x+y=3 2x+y=4 feasible=yes}\\\text{x=1 y=3}&\text{x+y=4 2x+y=5 feasible=yes}\\\text{x=2 y=0}&\text{x+y=2 2x+y=4 feasible=yes}\\\text{x=2 y=1}&\text{x+y=3 2x+y=5 feasible=yes}\\\text{x=2 y=2}&\hlmath{\text{x+y=4 2x+y=6 feasible=yes}}\end{array} x=0 y=3 x=1 y=1 x=1 y=2 x=1 y=3 x=2 y=0 x=2 y=1 x=2 y=2 x+y=3 2x+y=3 feasible=yes x+y=2 2x+y=3 feasible=yes x+y=3 2x+y=4 feasible=yes x+y=4 2x+y=5 feasible=yes x+y=2 2x+y=4 feasible=yes x+y=3 2x+y=5 feasible=yes x+y=4 2x+y=6 feasible=yes
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=3 x+y=3 2x+y=3 feasible=yes x=1 y=1 x+y=2 2x+y=3 feasible=yes x=1 y=2 x+y=3 2x+y=4 feasible=yes x=1 y=3 x+y=4 2x+y=5 feasible=yes x=2 y=0 x+y=2 2x+y=4 feasible=yes x=2 y=1 x+y=3 2x+y=5 feasible=yes x=2 y=2 x+y=4 2x+y=6 feasible=yes x=3 y=0 x+y=3 2x+y=6 feasible=yes \begin{array}{c|c}\text{x=0 y=3}&\text{x+y=3 2x+y=3 feasible=yes}\\\text{x=1 y=1}&\text{x+y=2 2x+y=3 feasible=yes}\\\text{x=1 y=2}&\text{x+y=3 2x+y=4 feasible=yes}\\\text{x=1 y=3}&\text{x+y=4 2x+y=5 feasible=yes}\\\text{x=2 y=0}&\text{x+y=2 2x+y=4 feasible=yes}\\\text{x=2 y=1}&\text{x+y=3 2x+y=5 feasible=yes}\\\text{x=2 y=2}&\text{x+y=4 2x+y=6 feasible=yes}\\\text{x=3 y=0}&\hlmath{\text{x+y=3 2x+y=6 feasible=yes}}\end{array} x=0 y=3 x=1 y=1 x=1 y=2 x=1 y=3 x=2 y=0 x=2 y=1 x=2 y=2 x=3 y=0 x+y=3 2x+y=3 feasible=yes x+y=2 2x+y=3 feasible=yes x+y=3 2x+y=4 feasible=yes x+y=4 2x+y=5 feasible=yes x+y=2 2x+y=4 feasible=yes x+y=3 2x+y=5 feasible=yes x+y=4 2x+y=6 feasible=yes x+y=3 2x+y=6 feasible=yes
Build the concrete table
Compute the highlighted logic-table value.
x=0 y=3 x+y=3 2x+y=3 feasible=yes x=1 y=1 x+y=2 2x+y=3 feasible=yes x=1 y=2 x+y=3 2x+y=4 feasible=yes x=1 y=3 x+y=4 2x+y=5 feasible=yes x=2 y=0 x+y=2 2x+y=4 feasible=yes x=2 y=1 x+y=3 2x+y=5 feasible=yes x=2 y=2 x+y=4 2x+y=6 feasible=yes x=3 y=0 x+y=3 2x+y=6 feasible=yes x=3 y=1 x+y=4 2x+y=7 feasible=yes \begin{array}{c|c}\text{x=0 y=3}&\text{x+y=3 2x+y=3 feasible=yes}\\\text{x=1 y=1}&\text{x+y=2 2x+y=3 feasible=yes}\\\text{x=1 y=2}&\text{x+y=3 2x+y=4 feasible=yes}\\\text{x=1 y=3}&\text{x+y=4 2x+y=5 feasible=yes}\\\text{x=2 y=0}&\text{x+y=2 2x+y=4 feasible=yes}\\\text{x=2 y=1}&\text{x+y=3 2x+y=5 feasible=yes}\\\text{x=2 y=2}&\text{x+y=4 2x+y=6 feasible=yes}\\\text{x=3 y=0}&\text{x+y=3 2x+y=6 feasible=yes}\\\text{x=3 y=1}&\hlmath{\text{x+y=4 2x+y=7 feasible=yes}}\end{array} x=0 y=3 x=1 y=1 x=1 y=2 x=1 y=3 x=2 y=0 x=2 y=1 x=2 y=2 x=3 y=0 x=3 y=1 x+y=3 2x+y=3 feasible=yes x+y=2 2x+y=3 feasible=yes x+y=3 2x+y=4 feasible=yes x+y=4 2x+y=5 feasible=yes x+y=2 2x+y=4 feasible=yes x+y=3 2x+y=5 feasible=yes x+y=4 2x+y=6 feasible=yes x+y=3 2x+y=6 feasible=yes x+y=4 2x+y=7 feasible=yes
Read the table verdict
Compute the highlighted logic-table value.
x=0 y=3 x+y=3 2x+y=3 feasible=yes x=1 y=1 x+y=2 2x+y=3 feasible=yes x=1 y=2 x+y=3 2x+y=4 feasible=yes x=1 y=3 x+y=4 2x+y=5 feasible=yes x=2 y=0 x+y=2 2x+y=4 feasible=yes x=2 y=1 x+y=3 2x+y=5 feasible=yes x=2 y=2 x+y=4 2x+y=6 feasible=yes x=3 y=0 x+y=3 2x+y=6 feasible=yes x=3 y=1 x+y=4 2x+y=7 feasible=yes verdict 9 feasible points \begin{array}{c|c}\text{x=0 y=3}&\text{x+y=3 2x+y=3 feasible=yes}\\\text{x=1 y=1}&\text{x+y=2 2x+y=3 feasible=yes}\\\text{x=1 y=2}&\text{x+y=3 2x+y=4 feasible=yes}\\\text{x=1 y=3}&\text{x+y=4 2x+y=5 feasible=yes}\\\text{x=2 y=0}&\text{x+y=2 2x+y=4 feasible=yes}\\\text{x=2 y=1}&\text{x+y=3 2x+y=5 feasible=yes}\\\text{x=2 y=2}&\text{x+y=4 2x+y=6 feasible=yes}\\\text{x=3 y=0}&\text{x+y=3 2x+y=6 feasible=yes}\\\text{x=3 y=1}&\text{x+y=4 2x+y=7 feasible=yes}\\\text{verdict}&\hlmath{\text{9 feasible points}}\end{array} x=0 y=3 x=1 y=1 x=1 y=2 x=1 y=3 x=2 y=0 x=2 y=1 x=2 y=2 x=3 y=0 x=3 y=1 verdict x+y=3 2x+y=3 feasible=yes x+y=2 2x+y=3 feasible=yes x+y=3 2x+y=4 feasible=yes x+y=4 2x+y=5 feasible=yes x+y=2 2x+y=4 feasible=yes x+y=3 2x+y=5 feasible=yes x+y=4 2x+y=6 feasible=yes x+y=3 2x+y=6 feasible=yes x+y=4 2x+y=7 feasible=yes 9 feasible points
logic-computation
Every row is intentionally ordered and pinned to the lesson specification.