]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/binaries/matex/kernel.ml
made executable again
[helm.git] / matita / components / binaries / matex / kernel.ml
index 17116677cf6efea62c523bc38709c426dcec9604..818ad07d9e9319c013e990f576f3f60ca1d5bb60 100644 (file)
@@ -46,9 +46,11 @@ let init () =
    let u1 = mk_type_universe "1" in
    E.add_lt_constraint ~acyclic:true u0 u1
 
-let fst_var = 1
+let fst_var = 1 (* first variable *)
 
-let snd_var = 2
+let snd_var = 2 (* second variable *)
+
+let fst_con = 1 (* first constructor *)
 
 let appl ts = C.Appl ts
 
@@ -116,7 +118,7 @@ let segments_of_uri u =
    let s = S.sub s (i+2) (l-i-2) in
    X.segments_of_string [] (l-i-2) s
 
-let name_of_reference ss = function
+let names_of_reference ss = function
    | C.Constant (_, name, _, _, _), R.Decl      ->
       ss, name
    | C.Constant (_, name, _, _, _), R.Def _     ->
@@ -136,3 +138,10 @@ let name_of_reference ss = function
       (name :: ss), name
    | _                                          ->
       failwith "name_of_reference"
+
+let resolve_reference = function
+   | R.Ref (u, r) ->
+      let ss = segments_of_uri u in
+      let _, _, _, _, obj = E.get_checked_obj G.status u in  
+      let ss, name = names_of_reference ss (obj, r) in
+      X.rev_map_concat X.id "." "type" ss, name