diff --git a/src/main/java/edu/washington/cs/knowitall/commonlib/logic/LogicExpression.java b/src/main/java/edu/washington/cs/knowitall/commonlib/logic/LogicExpression.java
index <HASH>..<HASH> 100644
--- a/src/main/java/edu/washington/cs/knowitall/commonlib/logic/LogicExpression.java
+++ b/src/main/java/edu/washington/cs/knowitall/commonlib/logic/LogicExpression.java
@@ -50,9 +50,17 @@ public class LogicExpression<E> implements Predicate<E> {
         List<Tok> tokens = tokenize(input, factory);
         expression = compile(tokens);
     }
+    
+    public boolean isEmpty() {
+        return this.expression.size() == 0;
+    }
 
     @SuppressWarnings("unchecked")
     public boolean apply(E target) {
+        if (this.isEmpty()) {
+            return true;
+        }
+        
         Stack<Tok> stack = new Stack<Tok>();
         for (Tok tok : expression) {
             if (tok instanceof Tok.Arg<?>) {
Added LogicExpression.isEmpty and made is so when empty LogicExpressions are applied the result is true.