val1(const(1000000000), X). val1(plus(plus(const(3), const(4)), times(const(2), const(5))), V). val2(let(y, const(3), times(var(y), var(y))), nil, X). val2(let(x, const(1), plus(let(x, const(2), var(x)), var(x))), nil, V). val2(let(a,const(1),var(b)),nil,X). val3(let(y, const(1), let(y, const(2), var(y))), nil, X). val3(let(a, plus(const(3), const(4)), times(var(a), const(5))), nil, V). val3(apply(fn(x,times(var(x), var(x))), const(3)), nil, X). val3(let(x, const(1), let(f, fn(n, plus(var(n), var(x))), let(x, const(2), apply(var(f), const(0))))), nil, X). val3(let( f, fn(x, apply(var(f), var(x))), apply(var(f), const(1))), nil, X). val4(let(y, const(1), let(y, const(2), var(y))), nil, X). val4(let(a, plus(const(3), const(4)), times(var(a), const(5))), nil, V). val4(apply(fn(x,times(var(x), var(x))), const(3)), nil, X). val4(let(x, const(1), let(f, fn(n, plus(var(n), var(x))), let(x, const(2), apply(var(f), const(0))))), nil, X). val4(let(f,fn(x,let(g,fn(y,plus(var(y),var(x))), var(g))), apply(apply(var(f),const(1)),const(2))),nil, X). val4(let( f, fn(x, apply(var(f), var(x))), apply(var(f), const(1))), nil, X).