// p(g(x)), q(x), p(f(a)), p(x), p(g(f(x))), q(f(a))
c = new Clause();
c.addPositiveLiteral((Predicate) parser.parse("P(G(x))"));
c.addPositiveLiteral((Predicate) parser.parse("Q(x)"));
c.addPositiveLiteral((Predicate) parser.parse("P(F(A))"));
c.addPositiveLiteral((Predicate) parser.parse("P(x)"));
c.addPositiveLiteral((Predicate) parser.parse("P(G(F(x)))"));
c.addPositiveLiteral((Predicate) parser.parse("Q(F(A))"));
Assert.assertEquals("[[P(F(A)), P(G(F(F(A)))), P(G(F(A))), Q(F(A))]]",
c.getNonTrivialFactors().toString());