-
Notifications
You must be signed in to change notification settings - Fork 45
Not simplifier dependency inversion #1772
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
91c6427
be19564
f8d13f1
80b9f5f
e663933
e95961d
0961fba
7734c81
a4dcb4a
c2a1362
439042b
62de1dc
bb8c735
db7b34d
eb8e3d0
2cc4ad6
f48efef
75298d8
cc5b659
6ef6bf7
404fbbe
4c859a6
6653664
7e2ca0b
b4bbbd1
4f9b9fa
f0fb54d
d35c660
8599de5
a612075
23557be
7ab36ba
6dfcb4c
b9c76dc
700f267
35fbef6
cdc421f
a41fe55
334630e
db6d22b
91d1b36
ef956b5
aeed1f9
3873059
5eed3ad
b208a45
1221789
d6cef3f
29d2bb3
a86b55b
d13b79f
5165153
2e8e67f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -88,8 +88,9 @@ import Kore.Profiler.Data | |
| ( MonadProfiler | ||
| ) | ||
| import Kore.Step.Simplification.Data | ||
| ( MonadSimplify | ||
| ( MonadSimplify (..) | ||
| ) | ||
| import qualified Kore.Step.Simplification.Not as Not | ||
| import qualified Kore.Step.Strategy as Strategy | ||
| import Kore.Strategies.Goal | ||
| import Kore.Strategies.Verification | ||
|
|
@@ -494,14 +495,24 @@ deriving instance MonadSMT m => MonadSMT (UnifierWithExplanation m) | |
|
|
||
| deriving instance MonadProfiler m => MonadProfiler (UnifierWithExplanation m) | ||
|
|
||
| instance MonadTrans UnifierWithExplanation where | ||
| lift = UnifierWithExplanation . lift . lift | ||
| {-# INLINE lift #-} | ||
|
|
||
| instance MonadLog m => MonadLog (UnifierWithExplanation m) where | ||
| logEntry entry = UnifierWithExplanation $ logEntry entry | ||
| {-# INLINE logEntry #-} | ||
| logWhile entry ma = | ||
| UnifierWithExplanation $ logWhile entry (getUnifierWithExplanation ma) | ||
| {-# INLINE logWhile #-} | ||
|
|
||
| deriving instance MonadSimplify m => MonadSimplify (UnifierWithExplanation m) | ||
| instance MonadSimplify m => MonadSimplify (UnifierWithExplanation m) where | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why can't we use the default implementations anymore?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When trying to derive the implementation, the compiler error is: Do you know how this could be fixed? I can post the entire error if needed. |
||
| localSimplifierTermLike locally (UnifierWithExplanation unifierT) = | ||
| UnifierWithExplanation | ||
| $ localSimplifierTermLike locally unifierT | ||
| localSimplifierAxioms locally (UnifierWithExplanation unifierT) = | ||
| UnifierWithExplanation | ||
| $ localSimplifierAxioms locally unifierT | ||
|
|
||
| instance MonadSimplify m => MonadUnify (UnifierWithExplanation m) where | ||
| throwUnificationError = | ||
|
|
@@ -570,7 +581,7 @@ runUnifierWithExplanation (UnifierWithExplanation unifier) = | |
| unificationResults = | ||
| fmap (\(r, ex) -> flip (,) ex <$> r) | ||
| . flip runAccumT mempty | ||
| . Monad.Unify.runUnifierT | ||
| . Monad.Unify.runUnifierT Not.notSimplifier | ||
| $ unifier | ||
| explainError = Left . makeAuxReplOutput . show . Pretty.pretty | ||
| failWithExplanation | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.