logic/lib/Logic/Predicate/Illegal.hs
2025-08-29 12:55:42 +00:00

20 lines
429 B
Haskell

module Logic.Predicate.Illegal where
-- some illegal states are representable
-- e.g. a function with arity 2 having 3 arguments
data Formula
= Not Formula
| Or Formula Formula
| And Formula Formula
| Implies Formula Formula
| Iff Formula Formula
| Forall String Formula
| Exists String Formula
| Predicate String [Term]
deriving Show
data Term
= Variable String
| Function String [Term]
deriving Show