Monogate

Research operating system

Verified mathematics.
Verified software.
Verified hardware.

Build once. Prove once. Run everywhere.

Most systems stop at code. Monogate carries evidence — from mathematics, to software, to hardware.

1 Source EML
0 Targets C · Rust · GPU · FPGA · Lean …
Machine-checked every step

The pipeline

One source, carried to hardware — proven at every step.

  1. EMLone source
  2. Forgecompile
  3. Leanproof ✓
  4. MachLibmath
  5. RTLsynthesis
  6. FPGAon silicon ◦
  7. ESP32byte-identical ◦
  8. Evidencepacket · replay

Hover a stage to trace the flow. Lean is machine-checked proof (formal). FPGA / ESP32 are measured — byte-identical output on real silicon, not formal equivalence.

Four ways in

Where do you want to start?

Live from CI

The verification skyline

Numbers that can go down. Emitted by the build, not by marketing.

@verify obligations
Discharged
Core sorries
Modules built

Loading status.json from machlib CI. No CI figure is shown until it arrives.

“Discharged” is the share of Forge @verify obligations whose MachLib counterpart already carries a proof, as machlib’s CI measures it. machlib.org reports a different figure (how often Forge’s automatic tactics close the obligations that compile), and Forge’s contract census covers only its example kernels, so the three percentages are not meant to match.

The evidence

See it. Don’t take our word.

Real reproduction-zoo artifacts — a proof, a 32-target emit, and hardware evidence you can inspect.

Lean @verify(pid_step_bounded)
theorem pid_step_bounded
    (error prev_error integral kp ki kd dt : ℝ)
    (h : dt > 0) :
    OUT_MIN ≤ pid_step error prev_error integral kp ki kd dt ∧
    pid_step error prev_error integral kp ki kd dt ≤ OUT_MAX := by
  unfold pid_step
  exact ⟨clamp_ge_lower _ _ _, clamp_le_upper _ _ _⟩
✓ no sorryaxioms: MachLib.Real base
EML the one source · control.eml
fn pid_step(error, prev_error, integral,
            kp, ki, kd, dt: Real) -> Real
  where   chain_order <= 0
  requires (dt > 0.0)
  ensures  (result >= OUT_MIN)
  ensures  (result <= OUT_MAX)
{
  clamp((kp*error) + (ki*integral)
      + (kd*(error - prev_error))/dt, OUT_MIN, OUT_MAX)
}
chain_order ≤ 02 refinements→ 32 targets
RC step measured on a real ESP32 breadboard
τ = R·C = 1 msVin = 5 Vsettles within 0.68% at 5τ ✓
Proof re-derived from source · 2026-07-02
0 sorry / classical axiomsτ = R·C proven exactly
One source32 targets · rc_filter.eml
32 targets · all ok7 categories
efrog existing code → EML → run Lean
$ python -m efrog.lean_corpus
# decompile every example to EML, emit the Lean
# proofs, then actually run `lake env lean`:
  Efrog.sigmoid_eml_consistent   ✓ verified (clean)
  Efrog.while_sum_chain_order    ✓ verified (clean)
  …
  verified 32/32 theorems — Lean-checked, sorryAx-free
32 / 32 sorryAx-freePython + C · loopsruns Lean — not a guess

These are real artifacts. pid_step and rc_filter re-derive inside the Forge repository with make verify-proof, and the efrog tile with python -m efrog.lean_corpus. Both repositories are private for now, so the published evidence — 32 targets, proofs, hardware captures — lives in the reproduction zoo →

Auditable by design

Every number here can go down. We publish what we retract.

Evidence & claims ledger