From c344be1bea166a8fb76aa8bc32e57053e2e4cf5a Mon Sep 17 00:00:00 2001 From: hi Date: Fri, 8 Aug 2025 04:39:55 +0000 Subject: [PATCH] readme --- Main.hs | 2 ++ readme.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 readme.md diff --git a/Main.hs b/Main.hs index 20e5aeb..f3effef 100644 --- a/Main.hs +++ b/Main.hs @@ -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) = diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..d841c09 --- /dev/null +++ b/readme.md @@ -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} +```