Natural deduction proof generator & checker
Project description
ND-Prover
A Fitch-style natural deduction proof generator and checker, implemented in Python.
Supports propositional, first-order, and modal logics (K, T, S4, S5).
Installation
ND-Prover can be installed using pip:
pip install nd-prover
or by directly cloning the git repository:
git clone https://github.com/daniyal1249/nd-prover.git
and running the following in the cloned repo:
pip install .
Example Usage
$ nd-prover
Select logic (TFL, FOL, MLK, MLT, MLS4, MLS5, FOMLK, FOMLT, FOMLS4, FOMLS5): TFL
Enter premises (separated by ";"), or "NA" if none: P -> Q; P
Enter conclusion: Q
1 │ P → Q PR
│
2 │ P PR
├───
1 - Add a new line
2 - Begin a new subproof
3 - End the current subproof
4 - End the current subproof and begin a new one
5 - Delete the last line
Select edit: 1
Enter line: Q ; ->E, 1,2
1 │ P → Q PR
│
2 │ P PR
├───
3 │ Q →E, 1,2
Proof complete! 🎉
A proof of the law of excluded middle (LEM) using ND-Prover:
Proof of ∴ P ∨ ¬P
──────────────────
1 │ │ ¬(P ∨ ¬P) AS
│ ├───────────
2 │ │ │ P AS
│ │ ├───
3 │ │ │ P ∨ ¬P ∨I, 2
│ │ │
4 │ │ │ ⊥ ¬E, 1,3
│ │
5 │ │ ¬P ¬I, 2-4
│ │
6 │ │ P ∨ ¬P ∨I, 5
│ │
7 │ │ ⊥ ¬E, 1,6
│
8 │ P ∨ ¬P IP, 1-7
Proof complete! 🎉
A proof that identity is symmetric:
Proof of ∴ ∀x∀y(x = y → y = x)
───────────────────────────────
1 │ │ a = b AS
│ ├───────
2 │ │ a = a =I
│ │
3 │ │ b = a =E, 1,2
│
4 │ a = b → b = a →I, 1-3
│
5 │ ∀y(a = y → y = a) ∀I, 4
│
6 │ ∀x∀y(x = y → y = x) ∀I, 5
Proof complete! 🎉
A proof in modal logic S5:
Proof of ♢□A ∴ □A
─────────────────
1 │ ♢□A PR
├─────
2 │ ¬□¬□A Def♢, 1
│
3 │ │ ¬□A AS
│ ├─────
4 │ │ │ □ AS
│ │ ├───
5 │ │ │ ¬□A R5, 3
│ │
6 │ │ □¬□A □I, 4-5
│ │
7 │ │ ⊥ ¬E, 2,6
│
8 │ □A IP, 3-7
Proof complete! 🎉
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nd_prover-2.0.0.tar.gz.
File metadata
- Download URL: nd_prover-2.0.0.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3503b092a93d15dab5968605be87316e53c13c616e6cb0b0632d9e4b63c0818
|
|
| MD5 |
55545d968b03a801cc7b852118575bdd
|
|
| BLAKE2b-256 |
b877e7e257c356f10bd7f6ac6e1938c878b231820e4dbd7bbbde17be37ce8ba4
|
File details
Details for the file nd_prover-2.0.0-py3-none-any.whl.
File metadata
- Download URL: nd_prover-2.0.0-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
940d855f12b494c7acfebb5deefdc0a532131d64e2b9874e434d7b6ad31b32f3
|
|
| MD5 |
43175ad2c37f3ff08b4d3f376f1e93fb
|
|
| BLAKE2b-256 |
bde4acd024bb3b5169de1fff2343b718619d21e0b452a8b09e386ecb84c6d46c
|