module Elab.Eval.Formula where
|
|
|
|
import Syntax
|
|
import Data.Map.Strict (Map)
|
|
import Data.Set (Set)
|
|
|
|
toDnf :: Value -> Maybe Value
|
|
|
|
type Nf = Set (Set Value)
|
|
|
|
normalise :: Value -> Nf
|
|
compareDNFs :: Value -> Value -> Bool
|
|
|
|
swap :: Ord b => b -> b -> (b, b)
|
|
|
|
possible :: Map Head Bool -> Value -> (Bool, Map Head Bool)
|
|
|
|
truthAssignments :: NFEndp -> Map Name (NFType, NFEndp) -> [Map Name (NFType, NFEndp)]
|