twee-lib-2.1.2: An equational theorem prover

Safe HaskellNone
LanguageHaskell2010

Twee.Join

Description

Tactics for joining critical pairs.

Documentation

step1 :: (Function f, Has a (Rule f), Has a (Lemma f)) => Config -> Index f (Equation f) -> RuleIndex f a -> CriticalPair f -> Maybe (CriticalPair f) Source #

step2 :: (Function f, Has a (Rule f), Has a (Lemma f)) => Config -> Index f (Equation f) -> RuleIndex f a -> CriticalPair f -> Maybe (CriticalPair f) Source #

step3 :: (Function f, Has a (Rule f), Has a (Lemma f)) => Config -> Index f (Equation f) -> RuleIndex f a -> CriticalPair f -> Maybe (CriticalPair f) Source #

allSteps :: (Function f, Has a (Rule f), Has a (Lemma f)) => Config -> Index f (Equation f) -> RuleIndex f a -> CriticalPair f -> Maybe (CriticalPair f) Source #

joinWith :: (Has a (Rule f), Has a (Lemma f)) => Index f (Equation f) -> RuleIndex f a -> (Term f -> Term f -> Resulting f) -> CriticalPair f -> Maybe (CriticalPair f) Source #

subsumed :: (Has a (Rule f), Has a (Lemma f)) => Index f (Equation f) -> RuleIndex f a -> Equation f -> Bool Source #

groundJoin :: (Function f, Has a (Rule f), Has a (Lemma f)) => Config -> Index f (Equation f) -> RuleIndex f a -> [Branch f] -> CriticalPair f -> Either (Model f) [CriticalPair f] Source #

groundJoinFrom :: (Function f, Has a (Rule f), Has a (Lemma f)) => Config -> Index f (Equation f) -> RuleIndex f a -> Model f -> [Branch f] -> CriticalPair f -> Either (Model f) [CriticalPair f] Source #

groundJoinFromMaybe :: (Function f, Has a (Rule f), Has a (Lemma f)) => Config -> Index f (Equation f) -> RuleIndex f a -> Maybe (Model f) -> [Branch f] -> CriticalPair f -> Either (Model f) [CriticalPair f] Source #

optimise :: a -> (a -> [a]) -> (a -> Bool) -> a Source #