Build a world of cubes, tetrahedra and dodecahedra, write first-order sentences about it, and watch each one come out true or false. When a sentence fails, the piece that breaks it lights up. It runs in the browser, for free, with no sign-up.
A blocks world is a small, exact model for first-order logic. The domain is the pieces on a board. The predicates are facts you can see: a piece’s shape, its size and where it sits. Every sentence is true or false in a world, and you can check it by looking.
The world builder lets you place, move, resize and name pieces on an 8 by 8 board, type sentences with a symbol keyboard, and see every sentence evaluated as you go. A false “for every” sentence shows its counterexample. A true “there is” sentence shows its witness. Save a world in your browser or share it as a link.
Many logic courses use the blocks language from Language, Proof and Logic. The builder uses the same predicate names and the same reading of each one, so a sentence from class means the same thing here.
| Write | True when |
|---|---|
| Tet(a) | a is a tetrahedron |
| Cube(a) | a is a cube |
| Dodec(a) | a is a dodecahedron |
| Small(a) | a is small |
| Medium(a) | a is medium |
| Large(a) | a is large |
| SameSize(a, b) | a and b are the same size |
| SameShape(a, b) | a and b are the same shape |
| Larger(a, b) | a is larger than b |
| Smaller(a, b) | a is smaller than b |
| SameCol(a, b) | a and b are in the same column |
| SameRow(a, b) | a and b are in the same row |
| Adjoins(a, b) | a and b are on squares that share a side (not a corner) |
| LeftOf(a, b) | a is closer to the left edge than b |
| RightOf(a, b) | a is closer to the right edge than b |
| FrontOf(a, b) | a is closer to the front than b |
| BackOf(a, b) | a is closer to the back than b |
| Between(a, b, c) | a, b and c are in one row, column or diagonal, and a is between b and c |
| a= | a and b are the same piece |
| a≠ | a and b are different pieces |
| Symbol | Read it as | Or type |
|---|---|---|
| ∀ | for every | forall |
| ∃ | there is | exists |
| ¬ | not | ~ |
| ∧ | and | & |
| ∨ | or | | |
| → | if … then | -> |
| ↔ | if and only if | <-> |
| ≠ | is not | != |
Yes. The world builder, the lessons and classes are free to use, with no sign-up.
No. It is a separate, free practice tool that uses the same blocks language, so it works well alongside a course. It does not open that software’s files and it has no proof checker.
No. A student types the class code and a display name. The teacher sees that name and how many practice questions the student got right in each assigned lesson, and nothing else. Students can leave a class at any time, which deletes their row.
Course pages and syllabi are welcome to link here. This page explains the tool to students; the builder and lessons stand on their own.
https://logicpuzzleclub.pages.dev/learn/blocks-world/Logic Puzzle Club is not affiliated with or endorsed by the authors or publisher of Language, Proof and Logic, or by the makers of the software sold with it. The book is named here only to describe the language this site uses.