2 ||M|| This file is part of HELM, an Hypertextual, Electronic
3 ||A|| Library of Mathematics, developed at the Computer Science
4 ||T|| Department, University of Bologna, Italy.
6 ||T|| HELM is free software; you can redistribute it and/or
7 ||A|| modify it under the terms of the GNU General Public License
8 \ / version 2 or (at your option) any later version.
9 \ / This software is distributed as is, NO WARRANTY.
10 V_______________________________________________________________ *)
13 module E = BrgEnvironment
14 module R = BrgReduction
17 (* Interface functions ******************************************************)
19 let type_check f g = function
21 | Some ((_, _, B.Abst t) as obj)
22 | Some ((_, _, B.Abbr t) as obj) ->
23 let f tt obj = f (Some (tt, obj)) in
24 let f tt = E.set_obj (f tt) obj in
25 T.type_of f g R.empty_context t
26 | Some (_, _, B.Void) -> assert false