Three pigeons cannot fit into two holes with at most one per hole. This is CP-SAT-style exhaustive search on tiny data; real solvers use propagation and clause learning.
Search and Optimization
Example
Three pigeons cannot fit into two holes with at most one per hole. 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.
pigeons=(0, 0, 0) max_in_hole=3 ok=no \begin{array}{c|c}\text{pigeons=(0, 0, 0)}&\hlmath{\text{max\_in\_hole=3 ok=no}}\end{array} pigeons=(0, 0, 0) max_in_hole=3 ok=no
Build the concrete table
Compute the highlighted logic-table value.
pigeons=(0, 0, 0) max_in_hole=3 ok=no pigeons=(0, 0, 1) max_in_hole=2 ok=no \begin{array}{c|c}\text{pigeons=(0, 0, 0)}&\text{max\_in\_hole=3 ok=no}\\\text{pigeons=(0, 0, 1)}&\hlmath{\text{max\_in\_hole=2 ok=no}}\end{array} pigeons=(0, 0, 0) pigeons=(0, 0, 1) max_in_hole=3 ok=no max_in_hole=2 ok=no
Build the concrete table
Compute the highlighted logic-table value.
pigeons=(0, 0, 0) max_in_hole=3 ok=no pigeons=(0, 0, 1) max_in_hole=2 ok=no pigeons=(0, 1, 0) max_in_hole=2 ok=no \begin{array}{c|c}\text{pigeons=(0, 0, 0)}&\text{max\_in\_hole=3 ok=no}\\\text{pigeons=(0, 0, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 0)}&\hlmath{\text{max\_in\_hole=2 ok=no}}\end{array} pigeons=(0, 0, 0) pigeons=(0, 0, 1) pigeons=(0, 1, 0) max_in_hole=3 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no
Build the concrete table
Compute the highlighted logic-table value.
pigeons=(0, 0, 0) max_in_hole=3 ok=no pigeons=(0, 0, 1) max_in_hole=2 ok=no pigeons=(0, 1, 0) max_in_hole=2 ok=no pigeons=(0, 1, 1) max_in_hole=2 ok=no \begin{array}{c|c}\text{pigeons=(0, 0, 0)}&\text{max\_in\_hole=3 ok=no}\\\text{pigeons=(0, 0, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 1)}&\hlmath{\text{max\_in\_hole=2 ok=no}}\end{array} pigeons=(0, 0, 0) pigeons=(0, 0, 1) pigeons=(0, 1, 0) pigeons=(0, 1, 1) max_in_hole=3 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no
Build the concrete table
Compute the highlighted logic-table value.
pigeons=(0, 0, 0) max_in_hole=3 ok=no pigeons=(0, 0, 1) max_in_hole=2 ok=no pigeons=(0, 1, 0) max_in_hole=2 ok=no pigeons=(0, 1, 1) max_in_hole=2 ok=no pigeons=(1, 0, 0) max_in_hole=2 ok=no \begin{array}{c|c}\text{pigeons=(0, 0, 0)}&\text{max\_in\_hole=3 ok=no}\\\text{pigeons=(0, 0, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 0, 0)}&\hlmath{\text{max\_in\_hole=2 ok=no}}\end{array} pigeons=(0, 0, 0) pigeons=(0, 0, 1) pigeons=(0, 1, 0) pigeons=(0, 1, 1) pigeons=(1, 0, 0) max_in_hole=3 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no
Build the concrete table
Compute the highlighted logic-table value.
pigeons=(0, 0, 0) max_in_hole=3 ok=no pigeons=(0, 0, 1) max_in_hole=2 ok=no pigeons=(0, 1, 0) max_in_hole=2 ok=no pigeons=(0, 1, 1) max_in_hole=2 ok=no pigeons=(1, 0, 0) max_in_hole=2 ok=no pigeons=(1, 0, 1) max_in_hole=2 ok=no \begin{array}{c|c}\text{pigeons=(0, 0, 0)}&\text{max\_in\_hole=3 ok=no}\\\text{pigeons=(0, 0, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 0, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 0, 1)}&\hlmath{\text{max\_in\_hole=2 ok=no}}\end{array} pigeons=(0, 0, 0) pigeons=(0, 0, 1) pigeons=(0, 1, 0) pigeons=(0, 1, 1) pigeons=(1, 0, 0) pigeons=(1, 0, 1) max_in_hole=3 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no
Build the concrete table
Compute the highlighted logic-table value.
pigeons=(0, 0, 0) max_in_hole=3 ok=no pigeons=(0, 0, 1) max_in_hole=2 ok=no pigeons=(0, 1, 0) max_in_hole=2 ok=no pigeons=(0, 1, 1) max_in_hole=2 ok=no pigeons=(1, 0, 0) max_in_hole=2 ok=no pigeons=(1, 0, 1) max_in_hole=2 ok=no pigeons=(1, 1, 0) max_in_hole=2 ok=no \begin{array}{c|c}\text{pigeons=(0, 0, 0)}&\text{max\_in\_hole=3 ok=no}\\\text{pigeons=(0, 0, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 0, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 0, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 1, 0)}&\hlmath{\text{max\_in\_hole=2 ok=no}}\end{array} pigeons=(0, 0, 0) pigeons=(0, 0, 1) pigeons=(0, 1, 0) pigeons=(0, 1, 1) pigeons=(1, 0, 0) pigeons=(1, 0, 1) pigeons=(1, 1, 0) max_in_hole=3 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no
Build the concrete table
Compute the highlighted logic-table value.
pigeons=(0, 0, 0) max_in_hole=3 ok=no pigeons=(0, 0, 1) max_in_hole=2 ok=no pigeons=(0, 1, 0) max_in_hole=2 ok=no pigeons=(0, 1, 1) max_in_hole=2 ok=no pigeons=(1, 0, 0) max_in_hole=2 ok=no pigeons=(1, 0, 1) max_in_hole=2 ok=no pigeons=(1, 1, 0) max_in_hole=2 ok=no pigeons=(1, 1, 1) max_in_hole=3 ok=no \begin{array}{c|c}\text{pigeons=(0, 0, 0)}&\text{max\_in\_hole=3 ok=no}\\\text{pigeons=(0, 0, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 0, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 0, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 1, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 1, 1)}&\hlmath{\text{max\_in\_hole=3 ok=no}}\end{array} pigeons=(0, 0, 0) pigeons=(0, 0, 1) pigeons=(0, 1, 0) pigeons=(0, 1, 1) pigeons=(1, 0, 0) pigeons=(1, 0, 1) pigeons=(1, 1, 0) pigeons=(1, 1, 1) max_in_hole=3 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=3 ok=no
Read the table verdict
Compute the highlighted logic-table value.
pigeons=(0, 0, 0) max_in_hole=3 ok=no pigeons=(0, 0, 1) max_in_hole=2 ok=no pigeons=(0, 1, 0) max_in_hole=2 ok=no pigeons=(0, 1, 1) max_in_hole=2 ok=no pigeons=(1, 0, 0) max_in_hole=2 ok=no pigeons=(1, 0, 1) max_in_hole=2 ok=no pigeons=(1, 1, 0) max_in_hole=2 ok=no pigeons=(1, 1, 1) max_in_hole=3 ok=no verdict UNSAT: every row violates a hole capacity \begin{array}{c|c}\text{pigeons=(0, 0, 0)}&\text{max\_in\_hole=3 ok=no}\\\text{pigeons=(0, 0, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(0, 1, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 0, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 0, 1)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 1, 0)}&\text{max\_in\_hole=2 ok=no}\\\text{pigeons=(1, 1, 1)}&\text{max\_in\_hole=3 ok=no}\\\text{verdict}&\hlmath{\text{UNSAT: every row violates a hole capacity}}\end{array} pigeons=(0, 0, 0) pigeons=(0, 0, 1) pigeons=(0, 1, 0) pigeons=(0, 1, 1) pigeons=(1, 0, 0) pigeons=(1, 0, 1) pigeons=(1, 1, 0) pigeons=(1, 1, 1) verdict max_in_hole=3 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=2 ok=no max_in_hole=3 ok=no UNSAT: every row violates a hole capacity
logic-computation
Every row is intentionally ordered and pinned to the lesson specification.