927 | _ => "uu") |
927 | _ => "uu") |
928 in Abs (x, fastype_of v, abstract_over (v, t)) end; |
928 in Abs (x, fastype_of v, abstract_over (v, t)) end; |
929 |
929 |
930 (*Form an abstraction over a free variable.*) |
930 (*Form an abstraction over a free variable.*) |
931 fun absfree (a,T,body) = Abs (a, T, abstract_over (Free (a, T), body)); |
931 fun absfree (a,T,body) = Abs (a, T, abstract_over (Free (a, T), body)); |
932 fun absdummy (T, body) = Abs (Name.internal "x", T, body); |
932 fun absdummy (T, body) = Abs (Name.internal "uu", T, body); |
933 |
933 |
934 (*Abstraction over a list of free variables*) |
934 (*Abstraction over a list of free variables*) |
935 fun list_abs_free ([ ] , t) = t |
935 fun list_abs_free ([ ] , t) = t |
936 | list_abs_free ((a,T)::vars, t) = |
936 | list_abs_free ((a,T)::vars, t) = |
937 absfree(a, T, list_abs_free(vars,t)); |
937 absfree(a, T, list_abs_free(vars,t)); |