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.

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=3x+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}

Build the concrete table

Compute the highlighted logic-table value.

x=0 y=3x+y=3 2x+y=3 feasible=yesx=1 y=1x+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}

Build the concrete table

Compute the highlighted logic-table value.

x=0 y=3x+y=3 2x+y=3 feasible=yesx=1 y=1x+y=2 2x+y=3 feasible=yesx=1 y=2x+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}

Build the concrete table

Compute the highlighted logic-table value.

x=0 y=3x+y=3 2x+y=3 feasible=yesx=1 y=1x+y=2 2x+y=3 feasible=yesx=1 y=2x+y=3 2x+y=4 feasible=yesx=1 y=3x+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}

Build the concrete table

Compute the highlighted logic-table value.

x=0 y=3x+y=3 2x+y=3 feasible=yesx=1 y=1x+y=2 2x+y=3 feasible=yesx=1 y=2x+y=3 2x+y=4 feasible=yesx=1 y=3x+y=4 2x+y=5 feasible=yesx=2 y=0x+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}

Build the concrete table

Compute the highlighted logic-table value.

x=0 y=3x+y=3 2x+y=3 feasible=yesx=1 y=1x+y=2 2x+y=3 feasible=yesx=1 y=2x+y=3 2x+y=4 feasible=yesx=1 y=3x+y=4 2x+y=5 feasible=yesx=2 y=0x+y=2 2x+y=4 feasible=yesx=2 y=1x+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}

Build the concrete table

Compute the highlighted logic-table value.

x=0 y=3x+y=3 2x+y=3 feasible=yesx=1 y=1x+y=2 2x+y=3 feasible=yesx=1 y=2x+y=3 2x+y=4 feasible=yesx=1 y=3x+y=4 2x+y=5 feasible=yesx=2 y=0x+y=2 2x+y=4 feasible=yesx=2 y=1x+y=3 2x+y=5 feasible=yesx=2 y=2x+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}

Build the concrete table

Compute the highlighted logic-table value.

x=0 y=3x+y=3 2x+y=3 feasible=yesx=1 y=1x+y=2 2x+y=3 feasible=yesx=1 y=2x+y=3 2x+y=4 feasible=yesx=1 y=3x+y=4 2x+y=5 feasible=yesx=2 y=0x+y=2 2x+y=4 feasible=yesx=2 y=1x+y=3 2x+y=5 feasible=yesx=2 y=2x+y=4 2x+y=6 feasible=yesx=3 y=0x+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}

Build the concrete table

Compute the highlighted logic-table value.

x=0 y=3x+y=3 2x+y=3 feasible=yesx=1 y=1x+y=2 2x+y=3 feasible=yesx=1 y=2x+y=3 2x+y=4 feasible=yesx=1 y=3x+y=4 2x+y=5 feasible=yesx=2 y=0x+y=2 2x+y=4 feasible=yesx=2 y=1x+y=3 2x+y=5 feasible=yesx=2 y=2x+y=4 2x+y=6 feasible=yesx=3 y=0x+y=3 2x+y=6 feasible=yesx=3 y=1x+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}

Read the table verdict

Compute the highlighted logic-table value.

x=0 y=3x+y=3 2x+y=3 feasible=yesx=1 y=1x+y=2 2x+y=3 feasible=yesx=1 y=2x+y=3 2x+y=4 feasible=yesx=1 y=3x+y=4 2x+y=5 feasible=yesx=2 y=0x+y=2 2x+y=4 feasible=yesx=2 y=1x+y=3 2x+y=5 feasible=yesx=2 y=2x+y=4 2x+y=6 feasible=yesx=3 y=0x+y=3 2x+y=6 feasible=yesx=3 y=1x+y=4 2x+y=7 feasible=yesverdict9 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}
logic-computation Every row is intentionally ordered and pinned to the lesson specification.