diff --git a/pldi2011-testcases/RedBlackTree.scala b/pldi2011-testcases/RedBlackTree.scala
index 7153bba2f453c01323a8fc60c86f646af27e8951..87d5788af0b78d8cf588a9b72ab5e9a5c291694a 100644
--- a/pldi2011-testcases/RedBlackTree.scala
+++ b/pldi2011-testcases/RedBlackTree.scala
@@ -66,14 +66,14 @@ object RedBlackTree {
     makeBlack(ins(x, t))
   } ensuring (res => content(res) == content(t) ++ Set(x) && redNodesHaveBlackChildren(res))
   
-//  def buggyAdd(x: Int, t: Tree): Tree = {
-//    require(redNodesHaveBlackChildren(t))
-//    // makeBlack(ins(x, t))
-//    ins(x, t)
-//  } ensuring (res => content(res) == content(t) ++ Set(x) && redNodesHaveBlackChildren(res))
+  def buggyAdd(x: Int, t: Tree): Tree = {
+    require(redNodesHaveBlackChildren(t))
+    // makeBlack(ins(x, t))
+    ins(x, t)
+  } ensuring (res => content(res) == content(t) ++ Set(x) && redNodesHaveBlackChildren(res))
   
   def balance(c: Color, a: Tree, x: Int, b: Tree): Tree = {
-    require(
+    /*require(
       Node(c,a,x,b) match {
         case Node(Black(),Node(Red(),Node(Red(),a,_,b),_,c),_,d) =>
           redNodesHaveBlackChildren(a) &&
@@ -97,7 +97,7 @@ object RedBlackTree {
           redNodesHaveBlackChildren(d)
         case t => redDescHaveBlackChildren(t)
       }
-    )
+    )*/
     Node(c,a,x,b) match {
       case Node(Black(),Node(Red(),Node(Red(),a,xV,b),yV,c),zV,d) => 
         Node(Red(),Node(Black(),a,xV,b),yV,Node(Black(),c,zV,d))
@@ -109,5 +109,19 @@ object RedBlackTree {
         Node(Red(),Node(Black(),a,xV,b),yV,Node(Black(),c,zV,d))
       case Node(c,a,xV,b) => Node(c,a,xV,b)
     }
-  } ensuring (res => content(res) == content(Node(c,a,x,b)) && redDescHaveBlackChildren(res))
+  } ensuring (res => content(res) == content(Node(c,a,x,b)) ) // && redDescHaveBlackChildren(res))
+  
+  def buggyBalance(c: Color, a: Tree, x: Int, b: Tree): Tree = {
+    Node(c,a,x,b) match {
+      case Node(Black(),Node(Red(),Node(Red(),a,xV,b),yV,c),zV,d) => 
+        Node(Red(),Node(Black(),a,xV,b),yV,Node(Black(),c,zV,d))
+      case Node(Black(),Node(Red(),a,xV,Node(Red(),b,yV,c)),zV,d) => 
+        Node(Red(),Node(Black(),a,xV,b),yV,Node(Black(),c,zV,d))
+      case Node(Black(),a,xV,Node(Red(),Node(Red(),b,yV,c),zV,d)) => 
+        Node(Red(),Node(Black(),a,xV,b),yV,Node(Black(),c,zV,d))
+      case Node(Black(),a,xV,Node(Red(),b,yV,Node(Red(),c,zV,d))) => 
+        Node(Red(),Node(Black(),a,xV,b),yV,Node(Black(),c,zV,d))
+    }
+  } ensuring (res => content(res) == content(Node(c,a,x,b)) ) // && redDescHaveBlackChildren(res))
+
 }
diff --git a/run-evaluation b/run-evaluation
index 030e8b4311c17578a90db5bda5fc9c154a93ccec..0100f4cc26758bbf5e3077e1beac172560fccb24 100755
--- a/run-evaluation
+++ b/run-evaluation
@@ -3,12 +3,15 @@
 ts=`date +%F-%R`
 pldi="pldi2011-testcases"
 files=( ${pldi}"/AssociativeList.scala" ${pldi}/"InsertionSort.scala" ${pldi}"/RedBlackTree.scala" ${pldi}"/PropositionalLogic.scala" "testcases/ListWithSize.scala")
+#files=( ${pldi}"/RedBlackTree.scala" )
 if [ "$#" -lt "1" ]
 then
   echo "Please provide an unrolling value"
   exit 1
 fi
 
+rm -rf summary
+
 for f in ${files[@]}
 do
   ./funcheck CAV $f
@@ -16,6 +19,13 @@ done
 
 mv summary summary-CAV-${ts}
 
+for f in ${files[@]}
+do
+  ./funcheck CAV prune $f
+done
+
+mv summary summary-CAV-prune-${ts}
+
 for f in ${files[@]}
 do
   ./funcheck PLDI unrolling=${1} $f
diff --git a/testcases/ListWithSize.scala b/testcases/ListWithSize.scala
index 33a4f7a3249771de172fc1bdb9ddf56c9c80927c..c74a21761a49811340510b7eb37d4ca168cfe0c9 100644
--- a/testcases/ListWithSize.scala
+++ b/testcases/ListWithSize.scala
@@ -97,12 +97,12 @@ object ListWithSize {
 
     def revAuxBroken(l1 : List, e : Int, l2 : List) : Boolean = {
       (append(reverse(l1), Cons(e,l2)) == reverse0(l1, l2))
-    } holds
+    } // holds
 
     @induct
     def reverse0exposed(l1 : List, l2 : List) : Boolean = {
       (reverse0(l1, l2) == append(reverse(l1), l2))
-    } holds
+    } // holds
 
     @induct
     def sizeAppend(l1 : List, l2 : List) : Boolean =