File tree Expand file tree Collapse file tree 3 files changed +18
-1
lines changed
test/Test/Kore/Reachability Expand file tree Collapse file tree 3 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -90,7 +90,7 @@ quadratic complexity.
90
90
-}
91
91
data Conditional variable child =
92
92
Conditional
93
- { term :: child
93
+ { term :: ! child
94
94
, predicate :: ! (Predicate variable )
95
95
, substitution :: ! (Substitution variable )
96
96
}
Original file line number Diff line number Diff line change @@ -40,6 +40,7 @@ import Control.Lens
40
40
( Lens'
41
41
)
42
42
import qualified Control.Lens as Lens
43
+ import qualified Control.Monad as Monad
43
44
import Control.Monad.Catch
44
45
( Exception (.. )
45
46
, SomeException (.. )
@@ -604,6 +605,7 @@ simplify' lensClaimPattern claim = do
604
605
605
606
simplifyLeftHandSide =
606
607
Lens. traverseOf (lensClaimPattern . field @ " left" ) $ \ config -> do
608
+ Monad. guard (not . isBottom . Conditional. term $ config)
607
609
let definedConfig =
608
610
Pattern. andCondition (mkDefined <$> config)
609
611
$ from $ makeCeilPredicate (Conditional. term config)
Original file line number Diff line number Diff line change @@ -658,6 +658,21 @@ test_proveClaims =
658
658
[ mkTest " OnePath" simpleOnePathClaim
659
659
, mkTest " AllPath" simpleAllPathClaim
660
660
]
661
+ , testGroup " LHS is undefined" $
662
+ let mkTest name mkSimpleClaim =
663
+ testCase name $ do
664
+ let claims = [mkSimpleClaim mkBottom_ Mock. a]
665
+ actual <- proveClaims_
666
+ Unlimited
667
+ Unlimited
668
+ []
669
+ claims
670
+ []
671
+ assertEqual " Result is \\ top" MultiAnd. top actual
672
+ in
673
+ [ mkTest " OnePath" simpleOnePathClaim
674
+ , mkTest " AllPath" simpleAllPathClaim
675
+ ]
661
676
]
662
677
663
678
simpleAxiom
You can’t perform that action at this time.
0 commit comments