> 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/comparison-models/orientation.md).

# Orientation

<table data-header-hidden><thead><tr><th width="229"></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Approach</strong> </td><td><strong>What is proved</strong> </td><td><p><strong>Where the dominant cost</strong> </p><p><strong>comes from</strong></p></td></tr><tr><td><p>zkVMs (RISC Zero, </p><p>SP1)</p></td><td>The execution of a machine running a program</td><td><p>Arithmetising the machine: every step of an instruction-set </p><p>interpreter enters the witness</p></td></tr><tr><td><p>Circuit languages </p><p>(Circom and kin)</p></td><td>A hand-authored constraint system</td><td><p>Authoring: the rule must be manually re-expressed as </p><p>circuits, per application</p></td></tr><tr><td>Mina </td><td>Validity of a succinct chain, per its recursive design</td><td>Proving inside an account model: state lookups sit on the critical path of every transition</td></tr><tr><td>Modulus </td><td>Satisfaction of a first-order predicate over a transition</td><td>The statement itself: connectives translate directly to polynomial operations</td></tr></tbody></table>
