@@ -14,6 +14,10 @@ module Kore.Step.Simplification.Application
1414
1515import Prelude.Kore
1616
17+ import Control.Monad.Catch
18+ ( MonadThrow
19+ )
20+
1721import qualified Kore.Internal.Conditional as Conditional
1822import qualified Kore.Internal.MultiOr as MultiOr
1923 ( fullCrossProduct
@@ -58,7 +62,10 @@ predicates ans substitutions, applying functions on the Application(terms),
5862then merging everything into an Pattern.
5963-}
6064simplify
61- :: (InternalVariable variable , MonadSimplify simplifier )
65+ :: ( InternalVariable variable
66+ , MonadSimplify simplifier
67+ , MonadThrow simplifier
68+ )
6269 => SideCondition variable
6370 -> Application Symbol (OrPattern variable )
6471 -> simplifier (OrPattern variable )
@@ -80,7 +87,10 @@ simplify sideCondition application = do
8087 childrenCrossProduct = MultiOr. fullCrossProduct children
8188
8289makeAndEvaluateApplications
83- :: (InternalVariable variable , MonadSimplify simplifier )
90+ :: ( InternalVariable variable
91+ , MonadSimplify simplifier
92+ , MonadThrow simplifier
93+ )
8494 => SideCondition variable
8595 -> Symbol
8696 -> [Pattern variable ]
@@ -89,7 +99,10 @@ makeAndEvaluateApplications =
8999 makeAndEvaluateSymbolApplications
90100
91101makeAndEvaluateSymbolApplications
92- :: (InternalVariable variable , MonadSimplify simplifier )
102+ :: ( InternalVariable variable
103+ , MonadSimplify simplifier
104+ , MonadThrow simplifier
105+ )
93106 => SideCondition variable
94107 -> Symbol
95108 -> [Pattern variable ]
@@ -105,7 +118,10 @@ makeAndEvaluateSymbolApplications sideCondition symbol children = do
105118 return (MultiOr. mergeAll orResults)
106119
107120evaluateApplicationFunction
108- :: (InternalVariable variable , MonadSimplify simplifier )
121+ :: ( InternalVariable variable
122+ , MonadSimplify simplifier
123+ , MonadThrow simplifier
124+ )
109125 => SideCondition variable
110126 -- ^ The predicate from the configuration
111127 -> ExpandedApplication variable
0 commit comments