public override IL substitute(GroundSubstitutionEC s)
        {
            var result = s.universe.makeIL(faf.substitute(s), polarity, s.isGoal);

#if DEBUG
            if (result is GL)
            {
                var ga = result as GL;
                Debug.Assert(s.universe.getGTTGAF(ga.gtt, ga.predicate).gLiteral(result.polarity) == result);
            }
#endif
            return(result);
        }