This commit is contained in:
hi 2025-08-08 04:39:55 +00:00
parent d781334419
commit c344be1bea
2 changed files with 30 additions and 0 deletions

View file

@ -2,6 +2,7 @@ module Main where
import Logic.Parse (eof, mkInput, ParseError(..))
import Logic.Statement.Parse (stmt)
import Logic.Statement.Eval (bucket)
import Logic.Statement.Serialize (serializeLatexTruthTable)
main :: IO ()
@ -11,6 +12,7 @@ main = do
Left err -> fail err
Right statement -> do
putStrLn $ show statement
putStrLn $ show $ bucket statement
putStr $ serializeLatexTruthTable statement
where
fail err@(ParseError pos message) =

28
readme.md Normal file
View file

@ -0,0 +1,28 @@
Statement logic !!!
# Compile it
```sh
make
```
# Usage
```sh
echo '((p->q)<->(!q->!p))' | ./logic
```
## Output
```
Iff (Implies (Atom "p") (Atom "q")) (Implies (Not (Atom "q")) (Not (Atom "p")))
Tautology
\begin{tabular}{cc||cccccc|c|cccccccc}
$p$ & $q$ & $($ & $($ & $p$ & $\to $ & $q$ & $)$ & $\leftrightarrow $ & $($ & $\neg $ & $q$ & $\to $ & $\neg $ & $p$ & $)$ & $)$ \\
\hline
0 & 0 & & & 0 & 1 & 0 & & \textbf 1 & & 1 & 0 & 1 & 1 & 0 & & \\
0 & 1 & & & 1 & 0 & 0 & & \textbf 1 & & 1 & 0 & 0 & 0 & 1 & & \\
1 & 0 & & & 0 & 1 & 1 & & \textbf 1 & & 0 & 1 & 1 & 1 & 0 & & \\
1 & 1 & & & 1 & 1 & 1 & & \textbf 1 & & 0 & 1 & 1 & 0 & 1 & & \\
\end{tabular}
```