- Support for multiple proof systems
- TFL (basic and derived rulesets)
- Modal logic (systems
$K$ ,$T$ ,$S_4$ , and$S_5$ )
- Cross-platform thanks to
egui; runs on all major operating systems and in the browser - Keyboard shortcuts and automatic checker execution
Deduct is available as a web app here. Use a laptop or desktop for the best experience.
Precompiled versions of Deduct are available for:
- Windows (note that, although unlikely, you may need to install the Microsoft Visual C/++ Redistributables)
- macOS
- Linux (compiled against
x86_64-unknown-linux-musl, which should Just Work™ on most distributions.)
All binaries can be found in the releases section.
Dependencies:
- The Rust programming language.
- A C/C++ toolchain (such as
gcc.)
Just use cargo install, and Deduct will be compiled and added to your PATH.
cargo install --locked --git https://github.com/Colonial-Dev/deduct deductI recommend you use the web version.
You can start a new proof by navigating to Proof > New... in the menu bar. Select which rulesets you'd like to enable, enter your premises (if any) and conclusion, and hit Create proof. If your sentences are well formed, the window will close and you can start working.
- If you would prefer light mode or a larger UI, both can be adjusted under
Preferencesin the menu bar. Your choices will be remembered even if you close and re-open Deduct. - You can review logical operator shorthands and proof rules in the sidebar.
- You can restart the proof and change your argument (if needed) under the
Proofdropdown in the menu bar.
- You can add and remove lines or subproofs by hovering over the relevant line and clicking the buttons that appear to the right of the citation field.
- All insertion actions also have keyboard shortcuts. The exact keys vary between platforms; look at
Help>Shortcutsin the menu bar to find yours. TABworks like you would expect, including inside the proof UI. (Example: while editing a sentence,TABwill move the cursor to its citation field.)- Whenever you edit a field or remove a line, the proof checker will automatically execute and display its output at the bottom of the window.
- (Adding a line or subproof does not trigger the checker.)
Thank you to:
- Dr. Sharon Berry, for inspiring me to do this project and an excellent semester in P251
- Keven Klement and the Open Logic Project, for their excellent textbook and proof checker
