Isabelle Elixir bindings and more
Elixir bindings and utilities for the Isabelle proof assistant
isabelle_elixir lets you drive Isabelle’s resident server from Elixir code: start/stop the JVM server, launch logic sessions, compile & check theories, stream build progress, and retrieve generated artefacts – all with familiar Elixir APIs.
✨ Features
- Zero-pain server control – start, list, kill Isabelle servers programmatically.
- TCP client – synchronous helpers for every core server command (
session_start,use_theories, …). - Streaming status – follow
NOTE/FINISHED/FAILEDmessages and extract results. - Stateless by design – works in scripts, Mix tasks, GenServers or LiveBooks.
- Pure Elixir – no NIFs.
📦 Installation
Add the dependency to your mix.exs and fetch it:
defp deps do
[
{:isabelle_elixir, "~> 0.1"}
]
end