@@ -271,4 +271,16 @@ toUpper x with (strM x)
271271 strToLower "" | StrNil = ""
272272 strToLower (strCons c cs) | (StrCons c cs) =
273273 strCons (toUpper c) (toUpper (assert_smaller (strCons c cs) cs ))
274+
275+--------------------------------------------------------------------------------
276+-- Predicates
277+--------------------------------------------------------------------------------
274278
279+isPrefixOf : String -> String -> Bool
280+isPrefixOf a b = isPrefixOf (unpack a) (unpack b)
281+
282+isSuffixOf : String -> String -> Bool
283+isSuffixOf a b = isSuffixOf (unpack a) (unpack b)
284+
285+isInfixOf : String -> String -> Bool
286+isInfixOf a b = isInfixOf (unpack a) (unpack b)