(* Prove a simple property manually – no automation! ) lemma add_zero: "add 0 m = m" unfolding add_def by (rule fix_eq) ( primitive rule only *)
| Feature | isabelle-extreme | Isabelle/HOL | |---------|--------------------|---------------| | Logic | Minimal equational logic + fixed point | Higher-order logic | | Types | Simple types (no type classes) | Rich types with type classes | | Recursion | Via fixed point combinator ( fix ) | Primitive recursion, well-founded recursion | | Automation | None (manual rewriting only) | simp , auto , blast , sledgehammer | | Code generation | No | Yes (to ML, Scala, Haskell) | | Library | Empty | Thousands of theorems | isabelle-extreme
Beyond the Mainland: Exploring isabelle-extreme , the Minimalist Core of Interactive Theorem Proving (* Prove a simple property manually – no automation
end
Also known as (EXperimental TRansformational Equational Mathematics Engine), this is not a new front-end or library. It is a radically stripped-down meta-logic – the absolute minimal core needed to perform interactive proofs within the Isabelle framework. Most people in the formal verification community are
Most people in the formal verification community are familiar with – the powerful, mainstream interactive theorem prover used for everything from operating system kernels (seL4) to financial protocols. But lurking in the source tree and early development history is a hidden gem: isabelle-extreme .
isabelle-extreme is the "assembly language" of the Isabelle ecosystem – raw, unforgiving, and beautiful in its simplicity. While you will never ship a verified compiler written in it, exploring it offers a rare glimpse into the foundational bedrock on which massive proof developments rest.