@@ -11,7 +11,6 @@ module Kore.Simplify.Simplify (
1111 -- * Condition simplifiers
1212 ConditionSimplifier (.. ),
1313 emptyConditionSimplifier ,
14- liftConditionSimplifier ,
1514
1615 -- * Builtin and axiom simplifiers
1716 SimplifierCache (attemptedEquationsCache ),
@@ -54,13 +53,9 @@ module Kore.Simplify.Simplify (
5453
5554import Control.Monad qualified as Monad
5655import Control.Monad.Counter
57- import Control.Monad.Morph (
58- MFunctor ,
59- )
56+ import Control.Monad.Morph (MFunctor )
6057import Control.Monad.Morph qualified as Monad.Morph
61- import Control.Monad.RWS.Strict (
62- RWST ,
63- )
58+ import Control.Monad.RWS.Strict (RWST )
6459import Control.Monad.State.Strict qualified as Strict
6560import Control.Monad.Trans.Accum
6661import Control.Monad.Trans.Except
@@ -71,41 +66,25 @@ import Data.Functor.Foldable qualified as Recursive
7166import Data.HashMap.Strict (HashMap )
7267import Data.HashMap.Strict qualified as HashMap
7368import Data.Map.Strict qualified as Map
74- import Data.Text (
75- Text ,
76- )
69+ import Data.Text (Text )
7770import GHC.Generics qualified as GHC
7871import Generics.SOP qualified as SOP
7972import Kore.Attribute.Symbol qualified as Attribute
8073import Kore.Debug
8174import Kore.Equation.DebugEquation (AttemptEquationError )
8275import Kore.Equation.Equation (Equation )
83- import Kore.IndexedModule.MetadataTools (
84- SmtMetadataTools ,
85- )
76+ import Kore.IndexedModule.MetadataTools (SmtMetadataTools )
8677import Kore.Internal.Condition qualified as Condition
87- import Kore.Internal.Conditional (
88- Conditional ,
89- )
78+ import Kore.Internal.Conditional (Conditional )
9079import Kore.Internal.MultiOr qualified as MultiOr
91- import Kore.Internal.OrCondition (
92- OrCondition ,
93- )
80+ import Kore.Internal.OrCondition (OrCondition )
9481import Kore.Internal.OrCondition qualified as OrCondition
95- import Kore.Internal.OrPattern (
96- OrPattern ,
97- fromPattern ,
98- )
82+ import Kore.Internal.OrPattern (OrPattern , fromPattern )
9983import Kore.Internal.OrPattern qualified as OrPattern
100- import Kore.Internal.Pattern (
101- Pattern ,
102- )
84+ import Kore.Internal.Pattern (Pattern )
10385import Kore.Internal.Pattern qualified as Pattern
10486import Kore.Internal.Predicate qualified as Predicate
105- import Kore.Internal.SideCondition (
106- SideCondition ,
107- toRepresentation ,
108- )
87+ import Kore.Internal.SideCondition (SideCondition , toRepresentation )
10988import Kore.Internal.SideCondition.SideCondition qualified as SideCondition (
11089 Representation ,
11190 )
@@ -117,38 +96,22 @@ import Kore.Internal.TermLike (
11796 TermLikeF (.. ),
11897 pattern App_ ,
11998 )
120- import Kore.Internal.Variable (
121- InternalVariable ,
122- )
123- import Kore.Log.WarnFunctionWithoutEvaluators (
124- warnFunctionWithoutEvaluators ,
125- )
126- import Kore.Rewrite.Axiom.Identifier (
127- AxiomIdentifier (.. ),
128- )
99+ import Kore.Internal.Variable (InternalVariable )
100+ import Kore.Log.WarnFunctionWithoutEvaluators (warnFunctionWithoutEvaluators )
101+ import Kore.Rewrite.Axiom.Identifier (AxiomIdentifier (.. ))
129102import Kore.Rewrite.Axiom.Identifier qualified as Axiom.Identifier
130103import Kore.Rewrite.Function.Memo qualified as Memo
131- import Kore.Rewrite.RewritingVariable (
132- RewritingVariableName ,
133- )
134- import Kore.Simplify.InjSimplifier (
135- InjSimplifier ,
136- )
137- import Kore.Simplify.OverloadSimplifier (
138- OverloadSimplifier (.. ),
139- )
104+ import Kore.Rewrite.RewritingVariable (RewritingVariableName )
105+ import Kore.Simplify.InjSimplifier (InjSimplifier )
106+ import Kore.Simplify.OverloadSimplifier (OverloadSimplifier (.. ))
140107import Kore.Syntax.Application
141108import Kore.Unparser
142109import Log
143110import Logic
144111import Prelude.Kore
145- import Pretty (
146- (<+>) ,
147- )
112+ import Pretty ((<+>) )
148113import Pretty qualified
149- import SMT (
150- MonadSMT (.. ),
151- )
114+ import SMT (MonadSMT (.. ))
152115
153116type TermSimplifier variable m =
154117 TermLike variable -> TermLike variable -> m (Pattern variable )
@@ -343,16 +306,6 @@ emptyConditionSimplifier :: ConditionSimplifier monad
343306emptyConditionSimplifier =
344307 ConditionSimplifier (\ _ predicate -> return predicate)
345308
346- liftConditionSimplifier ::
347- (Monad monad , MonadTrans trans , Monad (trans monad )) =>
348- ConditionSimplifier monad ->
349- ConditionSimplifier (trans monad )
350- liftConditionSimplifier (ConditionSimplifier simplifier) =
351- ConditionSimplifier $ \ sideCondition predicate -> do
352- results <-
353- lift . lift $
354- observeAllT $ simplifier sideCondition predicate
355- scatter results
356309-- * Builtin and axiom simplifiers
357310
358311{- | Used for keeping track of already attempted equations which failed to
0 commit comments