Skip to content

Commit c400256

Browse files
int-indexana-pantiliegithub-actionsrv-jenkins
authored
Remove a few unused definitions (#3159)
* Remove a few unused definitions * liftConditionSimplifier is dead code * simplifyRewriteRule is dead code * TestSimplifier is dead code * simplifyRulePattern is used in tests but not the app * simplifyPatternId is a no-op wrapper around fromPattern * Apply suggestions from code review * Format with fourmolu Co-authored-by: ana-pantilie <45069775+ana-pantilie@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> Co-authored-by: rv-jenkins <admin@runtimeverification.com>
1 parent 317c55a commit c400256

File tree

4 files changed

+18
-309
lines changed

4 files changed

+18
-309
lines changed

kore/src/Kore/Rewrite/Rule/Simplify.hs

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ License : BSD-3-Clause
55
module Kore.Rewrite.Rule.Simplify (
66
SimplifyRuleLHS (..),
77
simplifyClaimPattern,
8-
simplifyRewriteRule,
9-
simplifyRulePattern,
108
) where
119

1210
import Kore.Internal.Condition qualified as Condition
@@ -26,7 +24,6 @@ import Kore.Internal.Predicate (
2624
makeAndPredicate,
2725
pattern PredicateTrue,
2826
)
29-
import Kore.Internal.Predicate qualified as Predicate
3027
import Kore.Internal.SideCondition qualified as SideCondition
3128
import Kore.Internal.Substitution qualified as Substitution
3229
import Kore.Internal.TermLike as TermLike
@@ -35,7 +32,6 @@ import Kore.Reachability (
3532
OnePathClaim (..),
3633
SomeClaim (..),
3734
)
38-
import Kore.Rewrite.AntiLeft qualified as AntiLeft
3935
import Kore.Rewrite.ClaimPattern (
4036
ClaimPattern (..),
4137
)
@@ -47,11 +43,9 @@ import Kore.Rewrite.RulePattern (
4743
RewriteRule (..),
4844
RulePattern (RulePattern),
4945
)
50-
import Kore.Rewrite.RulePattern qualified as OLD
5146
import Kore.Rewrite.RulePattern qualified as RulePattern (
5247
RulePattern (..),
5348
applySubstitution,
54-
rhsForgetSimplified,
5549
)
5650
import Kore.Rewrite.SMT.Evaluator qualified as SMT.Evaluator
5751
import Kore.Simplify.Pattern qualified as Pattern
@@ -153,62 +147,6 @@ simplifyClaimRule claimPattern = fmap MultiAnd.make $
153147
Just False -> empty
154148
_ -> return conditional
155149

156-
{- | Simplify a 'Rule' using only matching logic rules.
157-
158-
See also: 'simplifyRulePattern'
159-
-}
160-
simplifyRewriteRule ::
161-
MonadSimplify simplifier =>
162-
RewriteRule RewritingVariableName ->
163-
simplifier (RewriteRule RewritingVariableName)
164-
simplifyRewriteRule (RewriteRule rule) =
165-
RewriteRule <$> simplifyRulePattern rule
166-
167-
{- | Simplify a 'RulePattern' using only matching logic rules.
168-
169-
The original rule is returned unless the simplification result matches certain
170-
narrowly-defined criteria.
171-
-}
172-
simplifyRulePattern ::
173-
MonadSimplify simplifier =>
174-
RulePattern RewritingVariableName ->
175-
simplifier (RulePattern RewritingVariableName)
176-
simplifyRulePattern rule = do
177-
let RulePattern{left} = rule
178-
simplifiedLeft <- simplifyPattern' left
179-
case OrPattern.toPatterns simplifiedLeft of
180-
[Conditional{term, predicate, substitution}]
181-
| PredicateTrue <- predicate -> do
182-
-- TODO (virgil): Dropping the substitution for equations
183-
-- and for rewrite rules where the substituted variables occur
184-
-- in the RHS is wrong because those variables are not
185-
-- existentially quantified.
186-
let subst = Substitution.toMap substitution
187-
left' = substitute subst term
188-
antiLeft' = substitute subst <$> antiLeft
189-
where
190-
RulePattern{antiLeft} = rule
191-
requires' = substitute subst requires
192-
where
193-
RulePattern{requires} = rule
194-
rhs' = substitute subst rhs
195-
where
196-
RulePattern{rhs} = rule
197-
RulePattern{attributes} = rule
198-
return
199-
RulePattern
200-
{ left = TermLike.forgetSimplified left'
201-
, antiLeft = AntiLeft.forgetSimplified <$> antiLeft'
202-
, requires = Predicate.forgetSimplified requires'
203-
, rhs = RulePattern.rhsForgetSimplified rhs'
204-
, attributes = attributes
205-
}
206-
_ ->
207-
-- Unable to simplify the given rule pattern, so we return the
208-
-- original pattern in the hope that we can do something with it
209-
-- later.
210-
return rule
211-
212150
{- | Simplify a 'ClaimPattern' using only matching logic rules.
213151
214152
The original rule is returned unless the simplification result matches certain

kore/src/Kore/Simplify/Simplify.hs

Lines changed: 17 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -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

5554
import Control.Monad qualified as Monad
5655
import Control.Monad.Counter
57-
import Control.Monad.Morph (
58-
MFunctor,
59-
)
56+
import Control.Monad.Morph (MFunctor)
6057
import Control.Monad.Morph qualified as Monad.Morph
61-
import Control.Monad.RWS.Strict (
62-
RWST,
63-
)
58+
import Control.Monad.RWS.Strict (RWST)
6459
import Control.Monad.State.Strict qualified as Strict
6560
import Control.Monad.Trans.Accum
6661
import Control.Monad.Trans.Except
@@ -71,41 +66,25 @@ import Data.Functor.Foldable qualified as Recursive
7166
import Data.HashMap.Strict (HashMap)
7267
import Data.HashMap.Strict qualified as HashMap
7368
import Data.Map.Strict qualified as Map
74-
import Data.Text (
75-
Text,
76-
)
69+
import Data.Text (Text)
7770
import GHC.Generics qualified as GHC
7871
import Generics.SOP qualified as SOP
7972
import Kore.Attribute.Symbol qualified as Attribute
8073
import Kore.Debug
8174
import Kore.Equation.DebugEquation (AttemptEquationError)
8275
import Kore.Equation.Equation (Equation)
83-
import Kore.IndexedModule.MetadataTools (
84-
SmtMetadataTools,
85-
)
76+
import Kore.IndexedModule.MetadataTools (SmtMetadataTools)
8677
import Kore.Internal.Condition qualified as Condition
87-
import Kore.Internal.Conditional (
88-
Conditional,
89-
)
78+
import Kore.Internal.Conditional (Conditional)
9079
import Kore.Internal.MultiOr qualified as MultiOr
91-
import Kore.Internal.OrCondition (
92-
OrCondition,
93-
)
80+
import Kore.Internal.OrCondition (OrCondition)
9481
import Kore.Internal.OrCondition qualified as OrCondition
95-
import Kore.Internal.OrPattern (
96-
OrPattern,
97-
fromPattern,
98-
)
82+
import Kore.Internal.OrPattern (OrPattern, fromPattern)
9983
import Kore.Internal.OrPattern qualified as OrPattern
100-
import Kore.Internal.Pattern (
101-
Pattern,
102-
)
84+
import Kore.Internal.Pattern (Pattern)
10385
import Kore.Internal.Pattern qualified as Pattern
10486
import Kore.Internal.Predicate qualified as Predicate
105-
import Kore.Internal.SideCondition (
106-
SideCondition,
107-
toRepresentation,
108-
)
87+
import Kore.Internal.SideCondition (SideCondition, toRepresentation)
10988
import 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 (..))
129102
import Kore.Rewrite.Axiom.Identifier qualified as Axiom.Identifier
130103
import 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 (..))
140107
import Kore.Syntax.Application
141108
import Kore.Unparser
142109
import Log
143110
import Logic
144111
import Prelude.Kore
145-
import Pretty (
146-
(<+>),
147-
)
112+
import Pretty ((<+>))
148113
import Pretty qualified
149-
import SMT (
150-
MonadSMT (..),
151-
)
114+
import SMT (MonadSMT (..))
152115

153116
type TermSimplifier variable m =
154117
TermLike variable -> TermLike variable -> m (Pattern variable)
@@ -343,16 +306,6 @@ emptyConditionSimplifier :: ConditionSimplifier monad
343306
emptyConditionSimplifier =
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

Comments
 (0)