Documentation

Documentation/Technology

Synthesis & equivalence

Protect the shape of important computations while checking that their intended results are preserved.

CEGISBit-vector semanticsSATTranslation validation

Reconstruct the computation itself#

Counterexample-Guided Inductive Synthesis, or CEGIS, searches for an alternative computation from behavior and counterexamples. In the engine’s eligible pure scalar regions, candidate expressions are constructed in a different Boolean-arithmetic basis and evaluation structure. This can change the expression graph rather than merely decorate its instructions.

A counterexample improves the next candidate#

A candidate is submitted to regional translation validation. If the validator finds an input on which the candidate diverges, that witness is fed back into synthesis. The next candidate must account for it. This creates a search-and-proof loop with explicit outcomes instead of accepting a formula because it happened to pass a handful of examples.

Only a proved regional rewrite is accepted#

The validator distinguishes PROVED, COUNTEREXAMPLE_FOUND, OUT_OF_SCOPE and UNKNOWN_BUDGET_EXCEEDED. Only PROVED is an acceptance result. Running out of solver budget does not become success, and a region outside the supported semantic model cannot borrow a proof from a different scope.

Regional acceptance gate

Explore the validator’s decision rules. This diagram does not run a solver.

Source regionR₀(x)
CandidateR₁(x)

Results + traps + entry preconditions

Accept

The candidate is accepted within the declared regional model and entry preconditions. The verdict concerns that rewrite, not the entire application.

The proof has a precise contract#

The regional model compares exact 32/64-bit results and trap behavior under declared entry preconditions and frame obligations. Signed widths, overflow and division by zero belong to that contract. The implementation has regression cases for missing preconditions, mismatching trap channels and inconclusive solver runs, including proof-cache behavior.

This is a scoped correctness property of an accepted region rewrite. It is not a proof that an entire application is bug-free, or that the protected program cannot be reverse engineered. Application validation and the security model remain separate responsibilities.

Contact the team