Skip to content

Commit bc72188

Browse files
committed
Remove dead code
1 parent 598c8a4 commit bc72188

File tree

1 file changed

+5
-21
lines changed

1 file changed

+5
-21
lines changed

booster/library/Booster/Pattern/Substitution.hs

+5-21
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,27 @@ This module is intended to be imported qualified.
88
-}
99
module Booster.Pattern.Substitution (
1010
mkEq,
11-
destructEq,
1211
asEquations,
13-
partitionPredicates,
1412
compose,
1513
substituteInPredicate,
1614
substituteInTerm,
1715
) where
1816

1917
import Data.Bifunctor (bimap)
2018
import Data.Coerce (coerce)
21-
import Data.List (partition)
2219
import Data.Map.Strict (Map)
2320
import Data.Map.Strict qualified as Map
24-
import Data.Maybe (fromMaybe, isJust, mapMaybe)
21+
import Data.Maybe (fromMaybe)
2522
import Data.Set qualified as Set
2623

2724
import Booster.Pattern.Base
2825
import Booster.Pattern.Bool
2926
import Booster.Pattern.Util (sortOfTerm)
3027

28+
{- | Compose substitutions:
29+
- apply the left one to the assignments in the right one
30+
- merge left with the result of above, left takes priority
31+
-}
3132
compose :: Substitution -> Substitution -> Substitution
3233
compose newSubst oldSubst =
3334
let substitutedOldSubst = Map.map (substituteInTerm newSubst) oldSubst
@@ -40,27 +41,10 @@ mkEq x t = Predicate $ case sortOfTerm t of
4041
SortBool -> EqualsBool (Var x) t
4142
otherSort -> EqualsK (KSeq otherSort (Var x)) (KSeq otherSort t)
4243

43-
{- | Pattern match on an equality predicate and try extracting a variable assignment.
44-
This is a partial inverse of @'mkEq'@
45-
-}
46-
destructEq :: Predicate -> Maybe (Variable, Term)
47-
destructEq = \case
48-
Predicate (EqualsInt (Var x) t) -> Just (x, t)
49-
Predicate (EqualsBool (Var x) t) -> Just (x, t)
50-
Predicate
51-
(EqualsK (KSeq _lhsSort (Var x)) (KSeq _rhsSort t)) -> Just (x, t)
52-
_ -> Nothing
53-
5444
-- | turns a substitution into a list of equations
5545
asEquations :: Map Variable Term -> [Predicate]
5646
asEquations = map (uncurry mkEq) . Map.assocs
5747

58-
-- | Extract substitution items from a list of generic predicates. Return empty substitution if none are found
59-
partitionPredicates :: [Predicate] -> (Map Variable Term, [Predicate])
60-
partitionPredicates ps =
61-
let (substItems, normalPreds) = partition (isJust . destructEq) ps
62-
in (Map.fromList . mapMaybe destructEq $ substItems, normalPreds)
63-
6448
substituteInTerm :: Substitution -> Term -> Term
6549
substituteInTerm substitution = goSubst
6650
where

0 commit comments

Comments
 (0)