Isabelle-extreme //free\\ «PLUS - 2024»

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.

If you have Isabelle installed (2023 or later), you can launch isabelle-extreme directly from the command line: isabelle-extreme

| 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 is the "assembly language" of the Isabelle

Beyond the Mainland: Exploring isabelle-extreme , the Minimalist Core of Interactive Theorem Proving ) lemma add_zero: "add 0 m = m"

(* Prove a simple property manually – no automation! ) lemma add_zero: "add 0 m = m" unfolding add_def by (rule fix_eq) ( primitive rule only *)

If you’ve ever wondered, “What is the absolute minimum logic needed to build an ITP?” – isabelle-extreme is your answer.

Notice: no simp , no induct . Every proof step must explicitly invoke a primitive inference rule.