nice readme, rename M to MIU system

This commit is contained in:
hi 2025-08-12 05:21:15 +00:00
parent b28263fdc3
commit e46bcf6ddc
3 changed files with 50 additions and 14 deletions

View file

@ -1,18 +1,53 @@
Statement logic !!!
# statement logic !!!
# Compile it
things you can do with this:
### general things
- parse string -> statement
- parse L (the formal language) string -> statement
- serialize a statement to plaintext, LaTeX, L (the formal language)
### semantic things (statements have meaning I guess)
- evaluate statements
- from a statement generate a LaTeX truth table
- match/replace patterns in statements (e.g. logical laws)
- verify logical-law equivalence of statements (TODO)
- find logical-law equivalence of statements with breadth-first search
### syntactic things (statements are strings of symbols)
- implement formal languages (symbols, axioms schemas, and inference rules):
<https://en.wikipedia.org/wiki/Post_canonical_system>
- verify derivations in formal languages
### formal languages implemented
- the MIU system (from "Gödel, Escher, Bach")
- L
## Requirements
a haskell compiler e.g. GHC
## Compile it
```sh
make
```
# Usage
or look in `Makefile`
## Usage
only this has been implemented in the main function:
```sh
echo '((p->q)<->(!q->!p))' | ./logic
```
## Output
### Output
```
Iff (Implies (Atom "p") (Atom "q")) (Implies (Not (Atom "q")) (Not (Atom "p")))