Expected IN-list facts are assertions only.

highlighted = computed this step

Honest by construction

Expected IN-list facts are assertions only.

compiler is source of truth\text{compiler is source of truth}

Render checked rows

The guarded IN-list filter renders 3 output rows after recomputation.

checked rows=3\text{checked rows}=3

IN-list examples are tiny finite WHERE-style filters with SQL-style TRUE/FALSE/UNKNOWN behavior; subqueries, type coercion, optimizer behavior, indexes, dialect details, and product claims are out of scope.

Honest by construction: base rowsidcolor1red2blue3green4NULL5red IN-list evaluationsourcevaluevaluesmodeinTruthtruthkeptreason0red[red, blue]inTRUETRUEyesmatched literal1blue[red, blue]inTRUETRUEyesmatched literal2green[red, blue]inFALSEFALSEnono match3NULL[red, blue]inUNKNOWNUNKNOWNnotested NULL4red[red, blue]inTRUETRUEyesmatched literal IN-list output rowsidcolor1red2blue5red IN-list factsfactvalueinputRowCount5listLength2outputRowCount3trueRows3falseRows1unknownRows1testedNullRows1nullListNoMatchRows0modeinrowOrdersource_order

Try to tamper

Wrong expected facts, derived sidecars, missing columns, empty lists, bad modes, bools, floats, and unsupported keys fail closed.

tamper rejected\text{tamper rejected}

Summary

The book shows exact finite IN-list behavior only; product SQL behavior is outside the model.

scoped IN-list model\text{scoped IN-list model}