{
  "controller": "rc",
  "name": "RC low-pass filter (\u03c4 = R\u00b7C, step response)",
  "kind": "controller",
  "label": "",
  "source": {
    "eml": "examples/rc_filter.eml",
    "sha256": "ed5acb7a4025d3f1"
  },
  "emitted": [
    {
      "target": "c",
      "category": "software",
      "file": "emit/rc_filter.c",
      "lines": 83,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "cpp",
      "category": "software",
      "file": "emit/rc_filter.cpp",
      "lines": 89,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "csharp",
      "category": "software",
      "file": "emit/RcFilter.cs",
      "lines": 107,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "gdscript",
      "category": "software",
      "file": "emit/rc_filter.gd",
      "lines": 46,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "go",
      "category": "software",
      "file": "emit/rc_filter.go",
      "lines": 65,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "java",
      "category": "software",
      "file": "emit/RcFilter.java",
      "lines": 93,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "javascript",
      "category": "software",
      "file": "emit/rc_filter.mjs",
      "lines": 91,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "kotlin",
      "category": "software",
      "file": "emit/rc_filter.kt",
      "lines": 75,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "luau",
      "category": "software",
      "file": "emit/rc_filter.luau",
      "lines": 67,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "matlab",
      "category": "software",
      "file": "emit/rc_filter.m",
      "lines": 68,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "python",
      "category": "software",
      "file": "emit/rc_filter.py",
      "lines": 45,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "rust",
      "category": "software",
      "file": "emit/rc_filter.rs",
      "lines": 67,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "swift",
      "category": "software",
      "file": "emit/rc_filter.swift",
      "lines": 65,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "wasm",
      "category": "software",
      "file": "emit/rc_filter.wasm.ll",
      "lines": 91,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "glsl",
      "category": "gpu shader",
      "file": "emit/rc_filter.glsl",
      "lines": 77,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "glsl-es",
      "category": "gpu shader",
      "file": "emit/rc_filter.glsles",
      "lines": 79,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "hlsl",
      "category": "gpu shader",
      "file": "emit/rc_filter.hlsl",
      "lines": 90,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "metal",
      "category": "gpu shader",
      "file": "emit/rc_filter.metal",
      "lines": 90,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "wgsl",
      "category": "gpu shader",
      "file": "emit/rc_filter.wgsl",
      "lines": 70,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "llvm",
      "category": "compiler IR",
      "file": "emit/rc_filter.ll",
      "lines": 90,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "coq",
      "category": "proof",
      "file": "emit/rc_filter.v",
      "lines": 71,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "isabelle",
      "category": "proof",
      "file": "emit/rc_filter.thy",
      "lines": 64,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "lean",
      "category": "proof",
      "file": "emit/rc_filter.lean",
      "lines": 100,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "aadl",
      "category": "safety-critical",
      "file": "emit/rc_filter.aadl",
      "lines": 111,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "ada/spark",
      "category": "safety-critical",
      "file": "emit/rc_filter.adb",
      "lines": 48,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "autosar",
      "category": "safety-critical",
      "file": "emit/rc_filter.autosar.c",
      "lines": 110,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "ros2",
      "category": "safety-critical",
      "file": "emit/rc_filter_pkg",
      "lines": 0,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "solidity",
      "category": "blockchain",
      "file": "emit/rc_filter.sol",
      "lines": 77,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "zkproof",
      "category": "blockchain",
      "file": "emit/rc_filter.zk.json",
      "lines": 309,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "jlcpcb",
      "category": "circuit/fab",
      "file": "emit/rc_filter_jlcpcb",
      "lines": 0,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "kicad",
      "category": "circuit/fab",
      "file": "emit/rc_filter.kicad_sch",
      "lines": 192,
      "ok": true,
      "tier": "LOCAL"
    },
    {
      "target": "spice",
      "category": "circuit/fab",
      "file": "emit/rc_filter.spice",
      "lines": 16,
      "ok": true,
      "tier": "LOCAL"
    }
  ],
  "proof": {
    "theorem": "rc_time_constant_def",
    "claim": "the filter time constant is exactly \u03c4 = R\u00b7C",
    "trail_file": "proof/rc_time_constant_def.axioms.txt",
    "clean": true,
    "forbidden_axioms_found": [],
    "rederived": "2026-07-02T04:37:24Z",
    "source_artifact": "examples/rc_filter.eml  ->  eml-compile --target lean   (the artifact the zoo ships; NOT a probe)",
    "reverify": "make verify-proof",
    "tier": "REPLAY (re-derive: TOOLCHAIN \u2014 Lean)"
  },
  "sim": {
    "circuit": "R=1k\u03a9, C=1\u00b5F \u21d2 \u03c4=R\u00b7C=1.0 ms",
    "vin": 5.0,
    "tau_s": 0.001,
    "samples": 500,
    "trace_csv": "trace.csv",
    "plot_png": "rc_step.png",
    "check": {
      "quantity": "|vout(5\u03c4) \u2212 Vin|/Vin",
      "value": 0.0068,
      "relation": "\u2264",
      "bound": 0.01,
      "holds": true,
      "context": "settles to Vin within 5\u03c4"
    },
    "tier": "LOCAL"
  },
  "hardware": {
    "tier": "replay",
    "note": "the same RC (R\u22481k\u03a9, C\u22481\u00b5F) was driven and measured on a real ESP32 DAC\u2192R\u2192C breadboard \u2014 genuinely analog (783 sample-to-sample reversals) \u2014 replayed from capture",
    "evidence_ref": "monogate-research/electronics_intake (real RC plant)"
  }
}