public LambdaTerm(string i, Term term) { Contract.Requires(term != null); Ident = i; Term = term; }
public AppTerm(Term func, IEnumerable<Term> args) { Contract.Requires(func != null); Contract.Requires(args != null); Func = func; Args = args.ToList().AsReadOnly(); }
public LetTerm(string i, Term rhs, Term body) { Contract.Requires(rhs != null); Contract.Requires(body != null); Ident = i; Rhs = rhs; Body = body; }