SynaLemma

Reasoning you can truly audit, because the model does not do it.

Other agent systems rely on the language model to reason. SynaLemma is a harness built the other way round: the model translates your question into a rule, and a logic engine does the reasoning. It verifies the rule formally, derives the answer in the database you already run, and keeps the rule, so every step can be read and replayed.

Architecture

The model proposes. The logic engine reasons.

Most agent systems put the language model in the middle and let it reason its way to an answer. SynaLemma puts it at the edge. The model proposes a rule, and the engine performs every join, recursion and total. Nothing reaches your data or your answer without going through the engine.

Agent systems that rely on the model to reason
  1. Your question
  2. Language model
  3. SQL it guessed
  4. Your database
  5. Language model
  6. A plausible answer

The model reasons in text. Its “explanation” is written after the fact and is not a record of how the answer was computed, so there is nothing to replay.

The knowledge Semantic Layers Verified rules, as files in git.
Outside · replaceable Language model Local or hosted. It proposes rules; the engine decides.
↓ proposal ↑ constrained request
The agent Synalinks Drives the model step by step, holds its output to a schema, traces everything.
rule to verify → ← refusal and its reason, or rows
The logic · centre Synalog
  • verifies every rule
  • does the reasoning
  • compiles the rule to SQL
  • checks the result
rule kept → ← rule reused
↓ verified SQL ↑ rows
Outside · unchanged Your database Runs the SQL. Queried in place.
↑ question ↓ the figure and its rule
↓ every change is a commit
Outside · yours Your git repository History, review, restore.
Outside You, your team, your other agents The app, Slack or Teams, MCP and Agent2Agent.

The model translates your question into a rule and words the answer. Every inference in between is the engine's, and can be replayed.

Anatomy

Three engines and one product, all written by us.

Each layer has one job and passes the next layer something it can check. Three of them are open source; the fourth is the product that assembles them.

  1. The harness

    SynaLemma

    What your team uses: Lemma, the assistant; tables, concepts and rules you can read and edit; the graph of what depends on what; roles, history, and the channels you already talk in.

  2. The agent

    Synalinks

    Drives the model step by step: searches existing definitions, decomposes the question, writes rules, calls tools. Outputs are held to a schema, the model can be swapped, and every step is traced.

  3. The logic

    Synalog

    Verifies each rule before any SQL exists, compiles it to the SQL dialect of your database, and checks what its result must satisfy against your data.

  4. The knowledge

    Semantic Layers

    Where definitions live: one readable file per table, concept or rule, in a git repository. A layer is reviewed like code and can be installed in another project.

  5. Your database · tables unchanged, real names, nothing copied

Your model · local or hosted, replaceable

The product

What your team sees.

The loop

What happens between your question and the answer.

  1. 01

    Search

    The agent searches the layer for a definition that already answers the question. A layer of thousands of definitions never goes into the model's context whole: only what matches does.

  2. 02

    Write

    If none fits, it writes one, building on the concepts already there instead of starting from raw tables.

  3. 03

    Verify

    The rule goes through the formal verifier. If it does not check, it is refused with the reason, and nothing is saved unless the whole layer still holds together.

  4. 04

    Run

    The verified rule is compiled to SQL and executed in your database. Its assertions are checked on the same data.

  5. 05

    Answer

    Only then does the assistant answer, quoting the rows the run returned and citing the rule, which you can open.

  6. 06

    Keep

    The rule is committed to the layer with its author and date. The next question starts from it.

Verified by logic

Two checks. Neither is done by a model.

Asking a second model to check the first one only adds another opinion. SynaLemma checks with logic instead. It is the first and only AI system that writes its own rules, verifies them formally, and checks their results against mathematical statements.

1

The definition, before it runs

Synalog's formal verifier examines every rule before any SQL is generated, with no database involved: variables that are never bound, unsafe negation and aggregation, negation through recursion, recursion without a base case or a bound, unknown columns, functions and predicates. More than fifteen classes of error, all reported at once. A rule that does not check is never saved and never run.

2

Its result, against your data

An assertion states what a result must satisfy, independently of how it is computed: a part appears once, a stock is never negative, late deliveries never exceed deliveries. It is written in first-order logic (∀, ∃, →, sums and comparisons) as a Lean proposition, the notation of the Lean theorem prover. Synalog compiles a search for counterexamples to SQL and runs it on your database. In SynaLemma a broken assertion shows on the rule, with the rows that break it one click away.

A violated assertion names what breaks it: here, two suppliers under the agreed service level
counterexamples
✗ OnTimeDelivery.meets_service_level is violated:
  ∀ s r d t, OnTimeDelivery s r d t → t ≥ 0.6
  2 counterexamples:
+-------------------+------+----+-------+
| s                 | r    | d  | t     |
+-------------------+------+----+-------+
| Shenzhen VoltPack | high | 34 | 0.588 |
| Hsinchu Controls  | high | 47 | 0.553 |
+-------------------+------+----+-------+
Audit

Two audit trails: how the answer was derived, and how the rule came to be.

Auditing an AI usually means reading logs of what a model said. In SynaLemma you audit two exact records: the derivation, made by the logic engine, and the history of the rules, kept in git, the tool software teams already use to track every change.

01

From the answer to the rows

Each figure cites its rule and the row it came from. Each rule names the concepts it builds on, and each concept the tables it reads. Follow the chain, or run any link of it again.

02

From the rule to its history

A semantic layer is a git repository: one file per table, concept and rule. Every change is a commit attributed to its author, whether a person, Lemma or another agent, with the difference and a way back.

03

Reviewed like code

What was this definition on the day that figure was reported? Who changed it, and when? Compare two versions, restore one, or put a change through the same review as any other code.

The history records your definitions and how they changed, not your data: the rows stay in your database.

Your existing systems

Works on the systems you already run.

A classic semantic layer is a modelling project that takes months and is out of date soon after delivery. SynaLemma writes the layer as questions are asked, on top of your existing databases.

No ETL, no second warehouse

Rules compile to SQL and run where the data is. On a database you operate, SynaLemma declares the tables you choose and never changes them. A read-only account is enough.

Tables as they are

Old schemas keep their real table and column names, spaces and accents included. The layer gives them a meaning without touching them.

A knowledge graph, without a graph database

Entities and relationships are modelled over your relational tables. The graph is virtual: it compiles to SQL.

Questions SQL makes hard

Bills of materials through every level, reporting chains, “which assemblies stop if this supplier fails”: recursion to a depth you declare, so it always terminates, and reasoning over time.

Databases SynaLemma connects to
  • PostgreSQL
  • BigQuery
  • Databricks
  • Trino
  • Presto
  • DuckDB
  • SQLite

And your files: CSV, Excel, JSON, JSONL, Parquet.

In the product

Everything your team gets.

The layer belongs to you. Anything the assistant writes can be read, corrected and locked by a person.

Lemma, the assistant

Ask

  • Every figure cited with a clickable mention, down to the row it came from.
  • You watch her work, step by step: what she searched, wrote and ran.
  • Suggested questions drawn from your own layer.
  • Voice messages, transcribed on your server.
  • She proposes before acting on an open request, and asks when a question is ambiguous.
  • “Explain” and “Fix” on any rule, in one click.
Tables

Your data

  • Import CSV, Excel, JSON, JSONL, Parquet and SQLite files, by drag and drop.
  • Connect a database and choose which tables to expose.
  • Copy tables from another database in one go, writing nothing on the source.
  • A spreadsheet editor with typed columns, sort, search, undo and redo.
  • Export any table or result to CSV or Excel.
  • Lock a table's rows, or protect its structure.
Concepts, Rules, Memory

Your knowledge

  • Each rule shown as a flowchart for those who do not read code, and as code for those who do.
  • Edit a rule in place: it is verified on save, and a refusal says why.
  • Validated, not validated, locked: the state of every definition is visible.
  • Memory: the graph of what depends on what, across tables, concepts and rules.
  • Assertions with their status, and the rows that break them.
  • History with differences, and a restore to any version.
Reusable knowledge

Layers

  • Install a ready-made layer from a git repository or a zip. Nothing is kept unless it verifies against your database.
  • Work across several layers at once.
  • Export a layer as plain files: no connection, no secrets, no rows.
  • A layer is a folder that runs with the open-source Synalog tooling, with or without us.
Beyond the app

Agents and automation

  • An MCP server gives Claude Code, Codex, Cursor, VS Code Copilot or Windsurf the same tools Lemma uses.
  • An Agent2Agent endpoint lets another agent ask Lemma directly.
  • Slack, Microsoft Teams, Discord, Telegram or WhatsApp, through a bot you own.
  • Loops: the same question on a schedule, a Monday shortage review or a daily quality check, posted to a chat.
  • A plugin SDK to add your own pages and features.
Control

Administration

  • Four roles (admin, editor, analyst, viewer) and per-person permissions. Lemma is only given the tools the asking person's role allows.
  • Organisations, each with its own storage.
  • Pick the model from a catalogue, test the connection, switch at will. Local models: no API key, no per-token cost.
  • Every agent step, tool call and model call traced, on your side.
  • Credentials and tokens stored encrypted.
  • Interface in English, French, Dutch, Italian and Spanish.
Deployment

On your servers, with the model you choose.

SynaLemma is deployed on your infrastructure. With a local model, nothing leaves it. With a hosted model, your questions and the data excerpts needed to answer them go to the provider you chose, and nowhere else.

Your model

Open models on your own hardware (Ollama, vLLM, LM Studio) or the provider you already have a contract with. The rules do not depend on it.

Your data

Queried in place, through an account that only needs to read. Database credentials are stored encrypted. Voice messages recorded in the app are transcribed on your server.

Your rules

Plain files in an open language, on engines published under Apache-2.0. They also run with the open-source tooling alone.

Frequently asked

What we get asked first.

We have no AI expertise in house. Is that a problem?

No. SynaLemma comes with one or more dedicated forward-deployed engineers, depending on the size of your project, from the team that builds it. They work alongside your team to deploy it, handle your data, and write and verify your definitions with your experts.

Is the model not still reasoning when it writes the rule?

It decides what to ask the engine: which concepts to combine, and how. That decision is written down as a rule you can read, and the engine, not the model, derives every row from it. If the decision is wrong, it is wrong in a place you can see, correct once, and lock.

Is SynaLemma open source?

The three engines it is built on (Synalinks, Synalog, Semantic Layers) are open source under Apache-2.0. SynaLemma itself, the product that assembles them, is proprietary and sold under a commercial licence. Your rules are files in the open format, so they are never locked in.

Which databases does it work with?

PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB and SQLite, queried in place: your tables stay where they are. And files: CSV, Excel, JSON, JSONL and Parquet. One rule compiles to the SQL dialect of whichever engine it runs on.

Which language models?

Any model that supports tool calling, chosen from a catalogue in the settings: open models served locally through Ollama, vLLM or LM Studio, or hosted providers such as Mistral, Anthropic, OpenAI or Google. Changing model does not change the rules. Everything except the conversation itself works with no model at all.

What if the model writes a wrong rule?

A structurally wrong rule is refused by the verifier. A rule that contradicts an assertion is flagged with the rows that break it. And because the rule is readable, the person who owns the number can see it and correct it. That is not possible when the answer is a paragraph of prose.

Does it replace our dashboards?

No. SynaLemma draws no charts: answers are figures, tables and the rules behind them. It gives the definitions behind your dashboards one place to live, and lets people and agents ask questions in plain language against them.

See it run

Bring a question your teams disagree on.

In a free thirty-minute demo, we show you SynaLemma's answer and the rule it used.