Example #1
0
 protected CAF(IPredicate predicate, ITT arguments)
 {
     Debug.Assert(predicate.argumentTypes.Count() == arguments.Count());
     Debug.Assert(predicate.argumentTypes.Zip(arguments, (at, a) => at.isEquivalent(a.type)).All(x => x));
     Debug.Assert(arguments.All(t => (!(t is GT) || (t as GT).rep != null)));
     this.predicate = predicate;
     this.itt       = arguments;
 }