Skip to content

Commit 16f6342

Browse files
authored
Merge branch 'master' into no-simplify-lhs
2 parents b395875 + acc9463 commit 16f6342

File tree

19 files changed

+193
-299
lines changed

19 files changed

+193
-299
lines changed

deps/k_release

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v5.0.0-7888200
1+
v5.0.0-6e054d6

docker/run.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
#!/usr/bin/env bash
22
# Run command in Docker
3-
docker run --rm --mount src=$(pwd),target=/home/user/kore,type=bind --workdir=/home/user/kore kore "$@"
3+
# Usage: ./docker/run.sh make test
4+
docker run --rm --mount src=$(pwd),target=/home/user/kore,type=bind --workdir=/home/user/kore kore "$@"

kore/kore.cabal

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ cabal-version: 2.2
44
--
55
-- see: https://github.com/sol/hpack
66
--
7-
-- hash: c7335f234ff802f2b2d42c8970fd41a6fa133676b9afa09d411e6222e1120d42
7+
-- hash: 999e1c394d84530678f479451e3ecface6622df87771c72c3aa313a406716b15
88

99
name: kore
1010
version: 0.39.0.0
@@ -376,7 +376,6 @@ library
376376
Kore.Unification.Procedure
377377
Kore.Unification.SubstitutionNormalization
378378
Kore.Unification.SubstitutionSimplifier
379-
Kore.Unification.UnificationProcedure
380379
Kore.Unification.UnifierT
381380
Kore.Unification.Unify
382381
Kore.Unparser

kore/src/Kore/Equation/Registry.hs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ import Kore.Syntax.Sentence
5151
( SentenceAxiom (..)
5252
)
5353
import qualified Kore.Verified as Verified
54+
import qualified Pretty
5455

5556
{- | Create a mapping from symbol identifiers to their defining axioms.
5657
@@ -154,8 +155,13 @@ ignoreEquation Equation { attributes }
154155
{- | Should we ignore the 'EqualityRule' for evaluating function definitions?
155156
-}
156157
ignoreDefinition :: Equation VariableName -> Bool
157-
ignoreDefinition Equation { left } =
158-
assert isLeftFunctionLike False
158+
ignoreDefinition Equation { attributes, left }
159+
| isLeftFunctionLike = False
160+
| otherwise = (error . show . Pretty.vsep)
161+
[ "left-hand side of equation was not function-like at:"
162+
, Pretty.indent 4 $ Pretty.pretty sourceLocation
163+
]
159164
where
165+
Attribute.Axiom { sourceLocation } = attributes
160166
isLeftFunctionLike =
161167
(Pattern.isFunction . Pattern.function) (extractAttributes left)

kore/src/Kore/ModelChecker/Step.hs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ import Kore.Syntax.Variable
6363
( VariableName
6464
)
6565
import Kore.TopBottom
66-
import qualified Kore.Unification.Procedure as Unification
6766
import qualified Pretty
6867

6968
data Prim patt rewrite =
@@ -212,8 +211,6 @@ transitionRule
212211
transitionComputeWeakNext _ (GoalRemLHS _)
213212
= return (GoalLHS Pattern.bottom)
214213

215-
unificationProcedure = Unification.unificationProcedure
216-
217214
transitionComputeWeakNextHelper
218215
:: [RewriteRule VariableName]
219216
-> Pattern VariableName
@@ -223,7 +220,6 @@ transitionRule
223220
transitionComputeWeakNextHelper rules config = do
224221
results <-
225222
Step.applyRewriteRulesParallel
226-
unificationProcedure
227223
(mkRewritingRule <$> rules)
228224
(mkRewritingPattern config)
229225
& lift . lift

kore/src/Kore/Reachability/Claim.hs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,6 @@ import Kore.Syntax.Variable
148148
import Kore.TopBottom
149149
( TopBottom (..)
150150
)
151-
import qualified Kore.Unification.Procedure as Unification
152151
import Kore.Unparser
153152
( Unparse (..)
154153
)
@@ -280,7 +279,6 @@ deriveSeqClaim lensClaimPattern mkClaim claims claim =
280279
results <-
281280
Step.applyClaimsSequence
282281
mkClaim
283-
Unification.unificationProcedure
284282
config
285283
(Lens.view lensClaimPattern <$> claims)
286284
& lift
@@ -650,8 +648,7 @@ derivePar'
650648
-> claim
651649
-> Strategy.TransitionT (AppliedRule claim) m (ApplyResult claim)
652650
derivePar' lensRulePattern mkRule =
653-
deriveWith lensRulePattern mkRule
654-
$ Step.applyRewriteRulesParallel Unification.unificationProcedure
651+
deriveWith lensRulePattern mkRule Step.applyRewriteRulesParallel
655652

656653
type Deriver monad =
657654
[RewriteRule RewritingVariableName]
@@ -694,8 +691,7 @@ deriveSeq'
694691
-> claim
695692
-> Strategy.TransitionT (AppliedRule claim) m (ApplyResult claim)
696693
deriveSeq' lensRulePattern mkRule =
697-
deriveWith lensRulePattern mkRule . flip
698-
$ Step.applyRewriteRulesSequence Unification.unificationProcedure
694+
deriveWith lensRulePattern mkRule $ flip Step.applyRewriteRulesSequence
699695

700696
deriveResults
701697
:: Step.UnifyingRuleVariable representation ~ RewritingVariableName

kore/src/Kore/Repl.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ import Prof
8888
)
8989

9090
import Kore.Unification.Procedure
91-
( unificationProcedureWorker
91+
( unificationProcedure
9292
)
9393
import Kore.Unparser
9494
( unparseToString
@@ -208,7 +208,7 @@ runRepl
208208
config =
209209
Config
210210
{ stepper = stepper0
211-
, unifier = unificationProcedureWorker
211+
, unifier = unificationProcedure
212212
, logger
213213
, outputFile
214214
, mainModuleName

kore/src/Kore/Step.hs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ import Kore.Step.Strategy hiding
7070
( transitionRule
7171
)
7272
import qualified Kore.Step.Strategy as Strategy
73-
import qualified Kore.Unification.Procedure as Unification
7473

7574
{- | The program's state during symbolic execution.
7675
-}
@@ -192,7 +191,6 @@ transitionRule rewriteGroups = transitionRuleWorker
192191
transitionRewrite' applied rewrites
193192
| Just config' <- retractRemaining applied =
194193
Step.applyRewriteRulesParallel
195-
Unification.unificationProcedure
196194
rewrites
197195
config'
198196
& lift
@@ -207,7 +205,6 @@ transitionRule rewriteGroups = transitionRuleWorker
207205
let rules = concat rewriteGroups
208206
results <-
209207
Step.applyRewriteRulesSequence
210-
Unification.unificationProcedure
211208
config
212209
rules
213210
deriveResults results

kore/src/Kore/Step/RewriteStep.hs

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ import Kore.Step.Simplification.Simplify
6868
import Kore.Step.Step
6969
( Result
7070
, Results
71-
, UnificationProcedure (..)
7271
, UnifiedRule
7372
, applyInitialConditions
7473
, applyRemainder
@@ -284,14 +283,13 @@ applyWithFinalizer
284283
=> Rule.UnifyingRuleVariable rule ~ RewritingVariableName
285284
=> From rule SourceLocation
286285
=> Finalizer rule simplifier
287-
-> UnificationProcedure simplifier
288286
-> [rule]
289287
-- ^ Rewrite rules
290288
-> Pattern RewritingVariableName
291289
-- ^ Configuration being rewritten
292290
-> simplifier (Results rule)
293-
applyWithFinalizer finalize unificationProcedure rules initial = do
294-
results <- unifyRules unificationProcedure initial rules
291+
applyWithFinalizer finalize rules initial = do
292+
results <- unifyRules initial rules
295293
debugAppliedRewriteRules initial (locations <$> results)
296294
let initialVariables = freeVariables initial
297295
finalize initialVariables initial results
@@ -307,8 +305,7 @@ See also: 'applyRewriteRule'
307305
applyRulesParallel
308306
:: forall simplifier
309307
. MonadSimplify simplifier
310-
=> UnificationProcedure simplifier
311-
-> [RulePattern RewritingVariableName]
308+
=> [RulePattern RewritingVariableName]
312309
-- ^ Rewrite rules
313310
-> Pattern RewritingVariableName
314311
-- ^ Configuration being rewritten
@@ -323,18 +320,16 @@ See also: 'applyRewriteRule'
323320
applyRewriteRulesParallel
324321
:: forall simplifier
325322
. MonadSimplify simplifier
326-
=> UnificationProcedure simplifier
327-
-> [RewriteRule RewritingVariableName]
323+
=> [RewriteRule RewritingVariableName]
328324
-- ^ Rewrite rules
329325
-> Pattern RewritingVariableName
330326
-- ^ Configuration being rewritten
331327
-> simplifier (Results (RulePattern RewritingVariableName))
332328
applyRewriteRulesParallel
333-
unificationProcedure
334329
(map getRewriteRule -> rules)
335330
initial
336331
= do
337-
results <- applyRulesParallel unificationProcedure rules initial
332+
results <- applyRulesParallel rules initial
338333
assertFunctionLikeResults (term initial) results
339334
return results
340335

@@ -347,8 +342,7 @@ See also: 'applyRewriteRule'
347342
applyRulesSequence
348343
:: forall simplifier
349344
. MonadSimplify simplifier
350-
=> UnificationProcedure simplifier
351-
-> [RulePattern RewritingVariableName]
345+
=> [RulePattern RewritingVariableName]
352346
-- ^ Rewrite rules
353347
-> Pattern RewritingVariableName
354348
-- ^ Configuration being rewritten
@@ -363,18 +357,16 @@ See also: 'applyRewriteRulesParallel'
363357
applyRewriteRulesSequence
364358
:: forall simplifier
365359
. MonadSimplify simplifier
366-
=> UnificationProcedure simplifier
367-
-> Pattern RewritingVariableName
360+
=> Pattern RewritingVariableName
368361
-- ^ Configuration being rewritten
369362
-> [RewriteRule RewritingVariableName]
370363
-- ^ Rewrite rules
371364
-> simplifier (Results (RulePattern RewritingVariableName))
372365
applyRewriteRulesSequence
373-
unificationProcedure
374366
initialConfig
375367
(map getRewriteRule -> rules)
376368
= do
377-
results <- applyRulesSequence unificationProcedure rules initialConfig
369+
results <- applyRulesSequence rules initialConfig
378370
assertFunctionLikeResults (term initialConfig) results
379371
return results
380372

@@ -383,17 +375,15 @@ applyClaimsSequence
383375
. MonadSimplify simplifier
384376
=> UnifyingRuleWithRepresentation ClaimPattern goal
385377
=> (ClaimPattern -> goal)
386-
-> UnificationProcedure simplifier
387378
-> Pattern RewritingVariableName
388379
-- ^ Configuration being rewritten
389380
-> [ClaimPattern]
390381
-- ^ Rewrite rules
391382
-> simplifier (Results ClaimPattern)
392-
applyClaimsSequence mkClaim unificationProcedure initialConfig claims = do
383+
applyClaimsSequence mkClaim initialConfig claims = do
393384
results <-
394385
applyWithFinalizer
395386
(finalizeSequence mkClaim finalizeAppliedClaim)
396-
unificationProcedure
397387
claims
398388
initialConfig
399389
assertFunctionLikeResults (term initialConfig) results

kore/src/Kore/Step/Search.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ import Kore.Step.Substitution
5555
)
5656
import Kore.TopBottom
5757
import Kore.Unification.Procedure
58-
( unificationProcedureWorker
58+
( unificationProcedure
5959
)
6060
import qualified Kore.Unification.UnifierT as Unifier
6161
import Logic
@@ -133,7 +133,7 @@ matchWith
133133
matchWith sideCondition e1 e2 = do
134134
unifiers <-
135135
lift $ Unifier.runUnifierT Not.notSimplifier
136-
$ unificationProcedureWorker sideCondition t1 t2
136+
$ unificationProcedure sideCondition t1 t2
137137
let
138138
mergeAndEvaluate
139139
:: Condition variable

0 commit comments

Comments
 (0)