equal
deleted
inserted
replaced
12 |
12 |
13 infix aeconv; |
13 infix aeconv; |
14 |
14 |
15 signature PATTERN = |
15 signature PATTERN = |
16 sig |
16 sig |
17 val trace_unify_fail: bool ref |
17 val trace_unify_fail: bool Unsynchronized.ref |
18 val aeconv: term * term -> bool |
18 val aeconv: term * term -> bool |
19 val eta_long: typ list -> term -> term |
19 val eta_long: typ list -> term -> term |
20 val match: theory -> term * term -> Type.tyenv * Envir.tenv -> Type.tyenv * Envir.tenv |
20 val match: theory -> term * term -> Type.tyenv * Envir.tenv -> Type.tyenv * Envir.tenv |
21 val first_order_match: theory -> term * term |
21 val first_order_match: theory -> term * term |
22 -> Type.tyenv * Envir.tenv -> Type.tyenv * Envir.tenv |
22 -> Type.tyenv * Envir.tenv -> Type.tyenv * Envir.tenv |
38 struct |
38 struct |
39 |
39 |
40 exception Unif; |
40 exception Unif; |
41 exception Pattern; |
41 exception Pattern; |
42 |
42 |
43 val trace_unify_fail = ref false; |
43 val trace_unify_fail = Unsynchronized.ref false; |
44 |
44 |
45 fun string_of_term thy env binders t = |
45 fun string_of_term thy env binders t = |
46 Syntax.string_of_term_global thy |
46 Syntax.string_of_term_global thy |
47 (Envir.norm_term env (subst_bounds (map Free binders, t))); |
47 (Envir.norm_term env (subst_bounds (map Free binders, t))); |
48 |
48 |