Isabelle-extreme [2021] May 2026
theory Scratch imports Main begin (* Define addition via fixed point *) definition add :: "nat ⇒ nat ⇒ nat" where "add ≡ fix (λadd n m. if n = 0 then m else add (n-1) (m+1))"
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.
(* Prove a simple property manually – no automation! ) lemma add_zero: "add 0 m = m" unfolding add_def by (rule fix_eq) ( primitive rule only *) isabelle-extreme
end
If you have Isabelle installed (2023 or later), you can launch isabelle-extreme directly from the command line: theory Scratch imports Main begin (* Define addition
Notice: no simp , no induct . Every proof step must explicitly invoke a primitive inference rule.
isabelle extreme This opens a theory file with the extension .ext . Here’s a minimal example: (* Prove a simple property manually – no automation
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 .