public LFSFLTrigger(FL fl, int index) : base(fl, index) { Debug.Assert(index >= 0 && index < fl.faf.ftt.Count()); Debug.Assert(term is FFA); functionApplication = term as FFA; }
protected TermTrigger(FL atom, int index) { Debug.Assert(index >= 0 && index < atom.faf.ftt.Count()); this.literal = atom; this.index = index; term = atom.faf.ftt[index]; stringNCache = makeKey(atom, index); hashCache = stringNCache.GetHashCode(); }
public FAF(IPredicate predicate, FTT arguments) : base(predicate, arguments) { Debug.Assert(arguments.Any(a => a.freeVariables.Any())); foreach (var b in new[] { false, true }) { fAtoms[b] = new FL(this, b); } ftt = arguments; #if DEBUG index = count; count++; #endif }
public VariableTermTrigger(FL atom, int index) : base(atom, index) { Debug.Assert(atom.faf.ftt[index] is FVT); variable = (atom.faf.ftt[index] as FVT).variable; }
internal static string makeKey(FL atom, int i) { return(atom.ToStringN() + "|" + i + "|"); }