{
  "slug": "k-framework",
  "name": "K framework and KEVM",
  "tagline": "Executable semantics for the EVM and zkVM equivalence work",
  "maintainer": "Runtime Verification",
  "url": "https://kframework.org",
  "category": "provers",
  "targets": [
    "EVM (KEVM)",
    "zkevm-harness",
    "Lean backend for K"
  ],
  "approach": "Rewriting-based semantics from which interpreters, symbolic executors and provers are derived",
  "license": "Open source",
  "status": "Active, mature",
  "summary": "K is a semantics framework in which KEVM defines the EVM executably. Runtime Verification uses it in the Verified zkEVM program for the zkevm-harness and for proving equivalence between KEVM and Nethermind's Lean EvmYul model.",
  "details": [
    "For zkEVMs, the K semantics is the reference against which circuit behaviour is compared, making it part of the specification layer rather than the proof layer."
  ],
  "strengths": [
    "Executable and provable from one definition.",
    "KEVM is battle tested.",
    "Lean backend bridges to the ZK ecosystem."
  ],
  "limits": [
    "Specialist tooling.",
    "Not a circuit verifier.",
    "Heavy for small projects."
  ],
  "fit": [
    "Use K when you need an executable, provable ISA or VM specification."
  ],
  "references": [
    [
      "K framework",
      "https://kframework.org"
    ],
    [
      "Verified zkEVM overview",
      "https://github.com/Verified-zkEVM/Overview"
    ]
  ],
  "category_name": "Proof assistants and general verifiers",
  "page": "https://sorryfree.com/frameworks/k-framework/",
  "updated": "2026-09-13"
}