X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fbinaries%2Fmatex%2Fkernel.ml;h=818ad07d9e9319c013e990f576f3f60ca1d5bb60;hb=HEAD;hp=17116677cf6efea62c523bc38709c426dcec9604;hpb=2fa001c86e37c76c840122655cb4ffba8bb30cad;p=helm.git diff --git a/matita/components/binaries/matex/kernel.ml b/matita/components/binaries/matex/kernel.ml index 17116677c..818ad07d9 100644 --- a/matita/components/binaries/matex/kernel.ml +++ b/matita/components/binaries/matex/kernel.ml @@ -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