Practal

Practal — Designing (with) Precise Abstractions

A foundation for mathematics that works the way you think

Abstraction logic unifies the single mathematical universe of first-order logic with the general variable binding of higher-order logics — yielding a complete logic with elementary semantics. Practal is the proof assistant that brings it to life.

Try Practal Zero Learn More

Coming soon

Practal Zero runs entirely in your browser

No installation, no backend, no accounts. Declare or define abstractions, state axioms, and prove theorems — all in abstraction logic.

Practal is under active development. Practal Code and Practal Zero will launch here soon.


AI-Assisted Proving

Collaborate with AI

Practal doesn't lock AI into a chatbox. Instead, Practal Zero syncs with your local theory files. An AI agent like Claude Code works on the same files from the command line — reading your declarations, understanding your goals, and writing proof steps. The work of the AI is checked in the same way as yours is.

1
You write in Practal Zero's structured editor — declaring abstractions, stating axioms, sketching the outline of a theory.
2
The AI reads the same theory file via Practal Code. It sees your declarations, your goals, and dedicated AI interaction blocks that provide context and specify what needs to be proved.
3
The AI writes proof steps and more into the file. Practal Zero picks up the changes and syncs the editor state with them.
4
You continue — refining, redirecting, or going deeper. The AI is a collaborator on your files, not a black box.

This works because abstraction logic is unusually AI-friendly, and therefore no large prior corpus of Practal theories is needed. The barrier to entry for an AI is as low as it is for a human.

Live file sync requires Chrome (File System Access API). Other browsers can use Practal Zero as a standalone editor with manual import/export.


The Idea

Why another foundation?

Traditional logics force a choice. First-order logic gives you a single universe of mathematical objects but no way to bind variables beyond simple quantification. Higher-order logics give you general variable binding but split the universe into an infinite tower of types. Abstraction logic refuses the trade-off.

Logic Single Universe General Binders
First-Order Yes No
Second-Order No No
Higher-Order No Yes
Abstraction Yes Yes

The key insight is that just like in first-order logic, but unlike in higher-order logic, operations need not be mathematical objects. An operation takes values from the universe and returns a value. Crucially, an operator takes operations and returns a value. This avoids inconsistency by sidestepping Cantor's theorem without sacrificing expressiveness. The resulting semantics is elementary and based on abstraction algebras with a logical order and a valuation space.

Expressive

Classical, intuitionistic, modal, paraconsistent and quantum logics; lambda calculus; dependent type theory; algebraic effects — these are all expressible as abstraction logics.

Complete

Every abstraction logic based only on pure deduction is complete with respect to general models, and even with respect to classical models.

Simple

The syntax and semantics of abstraction logic are simple and elementary. This gives working with it a similar feel as computer algebra.

Open

The logic is open and welcomes scrutiny. Practal Code is open source, and Practal Zero is free.


What can it express?

One logic, many theories

In abstraction logic, you don't switch systems to work with a different logic. Abstraction logic can adapt to many different logical paradigms and fits many mathematical situations. You declare or define abstractions, state axioms as needed, and reason within the resulting theory. There is no distinction between logical and mathematical constants, everything is just an abstraction.


The Software

One logic, three tools

Practal is built in layers. Practal Code is open source and free for anyone to use, embed and build on. Practal Zero is free to use. The cloud platform adds collaboration and scale.

Coming soon
Practal Code
Apache 2.0 License

The abstraction logic kernel. Processes theory files from the command line. Designed to be embedded in editors, CI pipelines, and AI agent workflows.

  • Full proof rules and substitution engine
  • Reads and checks plain-text theory files
  • Integrates with Claude Code, Codex, and other AI agents
  • Embed in any tool or workflow
For tool builders, AI researchers, and power users
Coming later
Practal Cloud
Commercial SaaS

A collaborative platform for teams and institutions. Shared theory libraries, persistent workspaces, and AI-assisted proving without local setup.

  • Collaborative editing and shared workspaces
  • Public registry of importable theories
  • Cloud-hosted AI proving with managed compute
  • Team management and access control
For teams, institutions, and professional users

Updates

Latest work

Papers, releases, notes, and project milestones.

2025-01-25 Extended Abstract Abstraction Logic Is All You Need
2024-01-22 Text Format Recursive teXt

Check back soon, or subscribe via RSS.

Support This Work

Help build the foundation

Practal is an independently funded project. The logic is open, Practal Code is open source, and Practal Zero is free. If you find the ideas compelling, you can support continued development through GitHub Sponsors. Every contribution helps move the work forward.

Sponsor on GitHub Get the Book