public Proposition makeGround() { PropositionImpl ground = (PropositionImpl) this.clone(); for (Term term : ground.getTerms()) { if (term.isVar() && !term.isGround()) { Term t = new Atom(term.toString().toLowerCase()); jason.asSemantics.Unifier un = new jason.asSemantics.Unifier(); if (un.unifies(t, term)) { term.apply(un); } } } return ground; }