> For the complete documentation index, see [llms.txt](https://docs.moduluszk.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.moduluszk.io/core-concepts/the-surface-today.md).

# The surface today

The language ships and runs; a user guide and a standard library are forthcoming rather than present, which is why this documentation carries no code. The relations built in today are equality, addition and multiplication, order comparison, a naturality predicate, and distinctness over a collection. Richer structure is expressed as user-defined relations in the language itself: the public benchmark definitions slice a grid into rows, columns and boxes as relations, with nothing added to the language to do it. Signature verification and hash checks are not yet provided as built-in relations; they are the gate on the developer documentation, and this set

says so rather than assuming them. Whether a predicate may constrain the state that succeeds it, the family of designs known elsewhere as covenants or continuing outputs, is an open design decision; the worked examples take one successor link as a flagged assumption, and no page in this set assumes the general answer.&#x20;

One capability deserves stating here because the public benchmarks demonstrate it: relations run in both directions. The same predicate that checks an answer can derive one, so a 9x9 sudoku is solved from its clues by the very predicate that validates a finished grid, and the resulting proof discloses nothing of the solution. Checking and solving are one artifact too.&#x20;

Two familiar designs rendered this way, a constant-product market and an over-collateralised loan, are worked through on the predicates-in-practice page.
