logic/lib/Logic/readme.md
hi dff5b9f365 cabal
only doing this because Data.Set is not in the stdlib
2025-08-15 13:10:36 +00:00

58 lines
1.4 KiB
Markdown

things that are in here:
## general things
### [Logic.Parse](Parse.hs)
- generic sequence parser
### [Logic.Graph](Graph.hs)
- generic breadth-first search
- verify graph paths reach the goal and have all extant edges
## statement things
### [Logic.Statement.Parse](Statement/Serialize.hs)
- parse string -> statement
- serialize a statement -> plaintext, LaTeX
### [Logic.Language.Impl.L](Language/Impl/L.hs)
- serialize a statement -> L (the formal language)
- parse L (the formal language) string -> statement
## semantic statement things
### [Logic.Statement.Eval](Statement/Eval.hs)
- assign truth values and evaluate statements
- determine tautology, contradiction, or contingent
### [Logic.Statement.Serialize](Statement/Serialize.hs)
- generate a LaTeX truth table from a statement
## syntactic things
### [Logic.Statements.Laws](Statements/Laws.hs)
- match/replace patterns in statements (e.g. logical laws)
- verify logical-law equivalence of statements
- find logical-law equivalence of statements with breadth-first search (slow)
### [Logic.Language](Language.hs)
- implement formal languages (symbols, axioms schemas, and inference rules)
with a clunky api, see also
<https://en.wikipedia.org/wiki/Post_canonical_system>
### [Logic.Language.Derivation](Language/Derivation.hs)
- verify derivations in formal languages
### formal languages
- [the MIU system](Language/Impl/MIU.hs) (from "Gödel, Escher, Bach")
- [L](Language/Impl/L.hs)