autoproof-0.0.0.0: Propositional logic library
Copyright(c) Artem Mavrin 2021
LicenseBSD3
Maintainerartemvmavrin@gmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellSafe
LanguageHaskell2010

AutoProof.Internal.Intuitionistic.Proof.Provability

Description

Provability checking in intuitionistic propositional logic.

Synopsis

Documentation

isProvable :: Ord a => Judgement a -> Bool Source #

Determine whether a judgement is intuitionistically valid.

Examples

Expand
>>> isProvable $ [Var "a", Var "b"] |- And (Var "a") (Var "b")
True
>>> isProvable $ [] |- Or (Var "a") (Not (Var "a"))
False

isTautology :: Ord a => Formula a -> Bool Source #

Determine whether a formula is an intuitionistic tautology.

Examples

Expand
>>> isTautology $ Imp (And (Var 'a') (Var 'b')) (Var 'a')
True
>>> isTautology $ Or (Var 'a') (Not (Var 'a'))
False
>>> isTautology $ Not (Not (Or (Var 'a') (Not (Var 'a'))))
True