module AutoProof.Classical
(
Formula (Lit, Var, Not, Imp, Or, And, Iff),
subformulas,
substitute,
canonicalCNF,
getAnyVariable,
Context,
Judgement (Judgement, antecedents, succedent),
(|-),
weakenJudgement,
Proof
( Axiom,
FalseElim,
TrueIntr,
NotElim,
NotIntr,
ImpElim,
ImpIntr,
OrElim,
OrIntrL,
OrIntrR,
AndElimL,
AndElimR,
AndIntr,
IffElimL,
IffElimR,
IffIntr
),
isProvable,
isTautology,
TruthAssignment (evalVar, evalFormula),
(|=),
satSimple,
satDPLL,
satAssignmentSimple,
satAssignmentDPLL,
AST (Root, root, children, height, size),
subtrees,
properSubtrees,
parseFormula,
parseJudgement,
pretty,
prettyFormula,
prettyJudgement,
prettyProof,
)
where
import AutoProof.Internal.AST
( AST (Root, children, height, root, size),
properSubtrees,
subtrees,
)
import AutoProof.Internal.Classical.CNF (canonicalCNF)
import AutoProof.Internal.Classical.Proof
( isProvable,
isTautology,
)
import AutoProof.Internal.Classical.SAT
( TruthAssignment (evalFormula, evalVar),
satAssignmentDPLL,
satAssignmentSimple,
satDPLL,
satSimple,
(|=),
)
import AutoProof.Internal.Formula
( Formula (And, Iff, Imp, Lit, Not, Or, Var),
getAnyVariable,
prettyFormula,
subformulas,
substitute,
)
import AutoProof.Internal.Judgement
( Context,
Judgement (Judgement, antecedents, succedent),
prettyJudgement,
weakenJudgement,
(|-),
)
import AutoProof.Internal.Parser
( parseFormula,
parseJudgement,
)
import AutoProof.Internal.Proof
( Proof
( AndElimL,
AndElimR,
AndIntr,
Axiom,
FalseElim,
IffElimL,
IffElimR,
IffIntr,
ImpElim,
ImpIntr,
NotElim,
NotIntr,
OrElim,
OrIntrL,
OrIntrR,
TrueIntr
),
prettyProof,
)
import AutoProof.Internal.Utils.PrettyPrintable (PrettyPrintable (pretty))