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.
9090 -}
9191data Conditional variable child =
9292 Conditional
93- { term :: child
93+ { term :: ! child
9494 , predicate :: ! (Predicate variable )
9595 , substitution :: ! (Substitution variable )
9696 }
Original file line number Diff line number Diff line change @@ -40,6 +40,7 @@ import Control.Lens
4040 ( Lens'
4141 )
4242import qualified Control.Lens as Lens
43+ import qualified Control.Monad as Monad
4344import Control.Monad.Catch
4445 ( Exception (.. )
4546 , SomeException (.. )
@@ -604,6 +605,7 @@ simplify' lensClaimPattern claim = do
604605
605606 simplifyLeftHandSide =
606607 Lens. traverseOf (lensClaimPattern . field @ " left" ) $ \ config -> do
608+ Monad. guard (not . isBottom . Conditional. term $ config)
607609 let definedConfig =
608610 Pattern. andCondition (mkDefined <$> config)
609611 $ from $ makeCeilPredicate (Conditional. term config)
Original file line number Diff line number Diff line change @@ -658,6 +658,21 @@ test_proveClaims =
658658 [ mkTest " OnePath" simpleOnePathClaim
659659 , mkTest " AllPath" simpleAllPathClaim
660660 ]
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+ ]
661676 ]
662677
663678simpleAxiom
You can’t perform that action at this time.
0 commit comments