First-order model checker

A structure interprets a language over a domain. Here the domain is {a, b, c}, with a unary predicate P and a binary relation R. Click a cell in the left column to toggle P(x); click a cell in the matrix to toggle R(x, y). The formulas on the right are re-evaluated live, showing which ones the current structure satisfies.

Structure — domain {a, b, c}

P holds of the element R(x, y) holds both
Toggle cells to change the interpretation and watch the truth values shift.

Formulas and their truth in this structure