diff --git a/CarneadesDSL.cabal b/CarneadesDSL.cabal
--- a/CarneadesDSL.cabal
+++ b/CarneadesDSL.cabal
@@ -1,6 +1,6 @@
 name:          CarneadesDSL
 category:      Argumentation, Embedded, AI
-version:       1.0
+version:       1.1
 license:       BSD3
 cabal-version: >= 1.2
 license-file:  LICENSE
@@ -14,15 +14,15 @@
                argumentation model. See Haskell Gets Argumentative in the 
                Proceedings of Symposium on Trends in Functional Programming 
                (TFP 2012) by Bas van Gijzel and Henrik Nilsson or the 
-               package's homepage. 
+               package's homepage. Thanks to Stefan Sabev for providing initial
+               code for the cyclicity check. 
 build-type:    Simple
 
 Library
   build-depends:
     base                   >= 4        && < 5,
     containers             >= 0.3      && < 0.6,
-    fgl                    >= 5.4.2.4  && < 5.5, 
-    Graphalyze             >= 0.13.0.1 && < 0.14
+    fgl                    >= 5.4.2.4  && < 5.5
     
 
   exposed-modules:
diff --git a/Language/Carneades/CarneadesDSL.lhs b/Language/Carneades/CarneadesDSL.lhs
--- a/Language/Carneades/CarneadesDSL.lhs
+++ b/Language/Carneades/CarneadesDSL.lhs
@@ -3,9 +3,11 @@
 \begin{code}
 module Language.Carneades.CarneadesDSL where
 
+import Language.Carneades.Cyclic
+
 import Prelude hiding (negate)
+
 import Data.Graph.Inductive
-import Data.Graph.Analysis
 import Data.Map (Map)
 import Data.List(nub)
 import qualified Data.Set as Set
@@ -477,7 +479,9 @@
 propsToNodes ps n = zip [n..] (map (\ p -> (p, [])) ps)
 
 checkCycle :: AGraph -> Bool
-checkCycle = not . null . cyclesIn
+checkCycle = cyclic
+-- Old definition using Graphalyze
+-- not . null . cyclesIn
 
 mkProp :: String -> PropLiteral
 mkProp ('-':s)  = mapFst not (mkProp s)
