Evaluate the given expression by rewriting it with the s strategy.
Evaluate the given expression by rewriting it with the s strategy.
Generate a fresh variable name.
Generate a fresh variable name. Prefix the name with an underscore to avoid the potential for clashes with user-level variables (which must start with a letter).
Counter used to generate fresh names.
Counter used to generate fresh names.
Whether this mechanism evaluates inside lambdas.
Whether this mechanism evaluates inside lambdas. Used for testing. Default: false.
Capture-free substitution of free occurrences of x in e1 with e2.
Capture-free substitution of free occurrences of x in e1 with e2.
Interface for an individual rewriting-based lambda2 evaluator.