Expected NULL-test facts are assertions only.

highlighted = computed this step

Honest by construction

Expected NULL-test facts are assertions only.

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

Render checked rows

The guarded NULL test renders 2 TRUE output rows after recomputation.

checked rows=2\text{checked rows}=2

NULL-test examples are tiny finite-table transforms for IS NULL and IS NOT NULL; SQL dialect completeness, optimizer behavior, indexing, and product claims are out of scope.

Honest by construction: base rowsidnamecityscore1AnnAustin102BoNULL203CyBostonNULL4DiNULL305EliDenver40 NULL test result per rowsourcetestedValueisNulltruthoutputRole0AustinnoFALSEdropped1NULLyesTRUEkept2BostonnoFALSEdropped3NULLyesTRUEkept4DenvernoFALSEdropped WHERE-style TRUE-only output rowsidnamecityscore2BoNULL204DiNULL30 NULL-test factsfactvalueinputRowCount5nullCount2presentCount3trueCount2falseCount3unknownCount0outputRowCount2droppedRowCount3negatednowhereKeepsTRUE_only_source_order

Try to tamper

Wrong expected facts, derived sidecars, missing columns, unsupported predicates, bools, and floats fail closed.

tamper rejected\text{tamper rejected}

Summary

The book shows exact finite IS NULL and IS NOT NULL behavior only; product SQL behavior is outside the model.

scoped NULL test model\text{scoped NULL test model}