[BUGFIX: wrong order for llg of rules caused trouble with EQVs
martin.hofmann@uni-bamberg.de**20100104142643] hunk ./src/Igor2/Data/Rules.hs 191
---        (r:l) <- mapM antiunify (rhss:tlhss)
-        r <-  lift . lift . lift $  lggL (rhss:tlhss)
-        return $ rule (tail r)(head r)
+        -- ATTENTION: 
+        -- The rhss may contain existentially quantified variables (EQVs)!
+        -- According to Igor's matching policy, they may be replaced by a term
+        -- occuring in another AU-image which is identical except the EQVs.
+        -- Example:
+        -- let cx, be a constant, vx a variable, and ex an EQV.
+        -- If the image [c1, v1, c2] is replaced by v2, so is [c1,v2,e1] , 
+        -- because the context of e1 is the same as of c2 modulo variable 
+        -- renaming. 
+        -- Since EQVs occur only on rhss, we need to antiunify the lhss first.
+        r <-  lift . lift . lift $  lggL (tlhss++[rhss])
+        return $ rule (init r)(last r)
hunk ./src/Igor2/RuleDevelopment/Cata.hs 111
-abduceIOs i crs = mapM (abduceIO i) crs >>=  addIO . rules
+abduceIOs i crs = mapM (abduceIO i) crs >>= addIO . rules