[BUGFIX: check for empty I/os when introducing auxiliary for HO
martin.hofmann@uni-bamberg.de**20091009080214] hunk ./src/RuleDevelopment/UniProp.hs 4
-import Data.Maybe (catMaybes, listToMaybe, fromJust, mapMaybe)
+import Data.Maybe (catMaybes, listToMaybe, fromJust, isJust,  mapMaybe)
hunk ./src/RuleDevelopment/UniProp.hs 14
+import Data.Util
hunk ./src/RuleDevelopment/UniProp.hs 77
-            if (not $ all lastArgConsed f) || (null $ on intersect (map lhs) fio tio) 
+            if (not $ all lastArgConsed f) || (null $ on intersect (map lhs) fio tio)
hunk ./src/RuleDevelopment/UniProp.hs 109
-    let ios = nub . (map mkMapIO) $ evi in 
+    let ios = nub . (maybe [] id) . (mapM mkMapIO) $ evi in 
hunk ./src/RuleDevelopment/UniProp.hs 112
-    if  (not $ all lastArgConsed ios) || (any hasFreeVars ios) 
+    if  (not $ all lastArgConsed ios) || (any hasFreeVars ios) || (null ios)
hunk ./src/RuleDevelopment/UniProp.hs 136
-    mkMapIO r = rule (init . lhs $ r) (head . subterms . rhs $  r)
+    mkMapIO r = liftM (rule (init . lhs $ r)) (headM . subterms . rhs $  r)