ProofLab

TFCS Logic, Beautifully Solved.

A complete toolkit for automata simulation, logic resolution, and formula transformation — all powered by a Python backend.

scroll
0
Live Modules
0
In Roadmap
100%
Python Backend
<50ms
Avg Response
Modules

Three tools.
Live now.

Every module runs its algorithms entirely on the Python backend — the frontend only renders results. Five more modules are in the pipeline.

Module 01
Automata Simulator
Simulate DFA, NFA, and Pushdown Automata with step-by-step configuration tracing. Visualise state diagrams with Cytoscape.js — transitions, ε-closures, stack contents all rendered live.
DFA NFA PDA ε-closure Graph Viz
Module 03
⊢□
Resolution Solver
Convert any propositional formula to CNF, extract clauses, and apply resolution until the empty clause or saturation.
CNF Clauses SAT/UNSAT
Module 04
Formula Transformer
Transform any propositional formula to NNF, CNF, DNF with step-by-step rules. Truth table generated automatically.
NNF CNF DNF Truth Table
Algorithms that explain themselves — not just compute answers.
Every module shows its work: full derivation steps, proof traces, substitution maps, and state-by-state execution paths.
Automata Simulator

Three machine types. One interface.

Switch between DFA, NFA, and PDA with a single click. The Python backend handles all transition logic — ε-closures, stack operations, configuration BFS — and returns the full execution trace.

  • DFA deterministic step-by-step δ function tracing
  • NFA ε-closure via BFS over state sets
  • PDA configuration tracing with live stack display
  • Cytoscape.js graph auto-layout with state highlighting
q₀a
──▶
q₁b
──▶
q₂
step 0 │ q₀ input: "aab"
step 1 │ δ(q₀, 'a') = q₁
step 2 │ δ(q₁, 'a') = q₁
step 3 │ δ(q₁, 'b') = q₂
done │ ACCEPT ✓ — q₂ ∈ F
Resolution Solver

Full proof in seconds.

Enter any propositional formula. The solver automatically converts it to CNF, extracts the clause set, and applies resolution until it derives the empty clause (UNSAT) or saturates (SAT).

  • Complete tokenizer and recursive-descent parser
  • NNF → CNF via De Morgan + distribution laws
  • Step-by-step clause resolution with labels
  • Satisfiability conclusion with proof annotation
formula │ (p → q) ∧ ¬q ∧ p
CNF │ (¬p ∨ q) ∧ ¬q ∧ p

C1 │ {¬p, q} given
C2 │ {¬q} given
C3 │ {p} given
C4 │ {¬p} C1, C2
C5 │ C3, C4 → UNSAT
Formula Transformer

NNF. CNF. DNF.
All at once.

Three normal forms computed simultaneously from a single formula input, each with annotated transformation steps and the applicable equivalence law shown at every stage.

  • Eliminate ↔ then → before pushing negations inward
  • CNF: distribute ∨ over ∧ recursively
  • DNF: distribute ∧ over ∨ recursively
  • Truth table with tautology / contradiction classification
original │ p → q

step 1 │ elim →
¬p ∨ q

NNF │ ¬p ∨ q
CNF │ (¬p ∨ q) 1 clause
DNF │ ¬p ∨ q 2 terms

classify │ SATISFIABLE
Technology

Built on solid foundations.

Pure Python for every algorithm. JavaScript only for rendering.

🐍
Python 3.13+
All algorithms and computation
⚗️
Flask 3.1.3
REST API and routing
🕸️
Cytoscape.js
Automata graph visualization
🎨
CSS Variables
Full design system & theming
Vanilla JS
fetch API, DOM rendering
📐
Jinja2
Template inheritance
🔣
Syne + JetBrains Mono
Display + monospace fonts
🔐
Robinson's Algorithm
First-order unification (1965)
Roadmap

What's coming next.

The platform is actively growing. These modules are designed, scoped, and queued for development — each extending the formal-methods toolkit further.

Module 05
Unification Solver
Up Next

First-order unification via Robinson's Algorithm — already referenced in the tech stack. Input two terms; the solver computes the most general unifier (MGU) step-by-step, showing each substitution applied and the resulting unified term.

Robinson's Alg. MGU Derivation Substitution Maps Occur Check Unification Failure
In progress — 35%
⟨G⟩
Module 06
CFG Generator
Up Next

Context-Free Grammar designer and analyzer. Define productions in BNF notation, then derive strings step-by-step — both leftmost and rightmost. Detects ambiguity, computes FIRST/FOLLOW sets, and optionally converts to Chomsky Normal Form.

BNF Input Derivation Steps FIRST / FOLLOW CNF Conversion Ambiguity Check Parse Tree Viz
Design phase — 10%
Module 07
Semantic Tableaux
Planned

Analytic tableau method for propositional and first-order logic. Constructs the branching proof tree automatically, closes branches on contradictions, and classifies formulas as tautology, satisfiable, or unsatisfiable.

Branch Trees α / β Rules FOL Extension Tree Viz
Queued
Module 08
Turing Machine Sim
Planned

Visual Turing Machine simulator with tape rendering. Define states, alphabet, and transition function; watch the read/write head move step-by-step across the tape. Supports multi-step execution and halting detection.

Tape Visualization Step Execution Halting Detection δ Table Editor
Queued
Quick Start

Running in three commands.

bash — ProofLab

Ready to explore formal methods?

Jump straight into the platform. No setup required — everything runs locally with a single command.