local a = Const("a") local f = Const("f") local x = Var(0) assert(not f(a):has_free_var(0)) assert(f(a, x):has_free_var(0)) assert(not f(a, x):has_free_var(1, 3)) assert(f(a, Var(1)):has_free_var(1, 3)) assert(f(a, Var(2)):has_free_var(1, 3)) assert(not f(a, Var(3)):has_free_var(1, 3)) assert(not f(a, Var(4)):has_free_var(1, 3)) assert(f(a, Var(2)):lower_free_vars(2) == f(a, Var(0)))