X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fhelena%2Fsrc%2Fautomath%2FautCrg.ml;h=5ed896306dfcf0558d6858ad499f57398b3f94f0;hb=f7d7f2459b3b0409be5f168822be3b836ccc929b;hp=5a726ca9703b732041fe5a0f0f09ef5536de5890;hpb=586c361209ac14e8c2b1da3509041c0c82a86c92;p=helm.git diff --git a/helm/software/helena/src/automath/autCrg.ml b/helm/software/helena/src/automath/autCrg.ml index 5a726ca97..5ed896306 100644 --- a/helm/software/helena/src/automath/autCrg.ml +++ b/helm/software/helena/src/automath/autCrg.ml @@ -114,11 +114,17 @@ let get_cnt_relaxed f lst = let push_abst f y w lenv = let bw = D.Abst (false, N.infinity, w) in D.push_bind f E.empty_node y bw lenv - +(* +let rec set_name_y f = function + | D.ESort -> f D.ESort + | D.EBind (e, a, y, b) -> set_name_y (D.push_bind f a {y with E.b_name = Some ("Y", true)} b) e + | D.EAppl (e, x, v) -> set_name_y (D.push_appl f x v) e + | D.EProj (e, d) -> let f d = set_name_y (D.push_proj f d) e in set_name_y f d +*) let add_proj yt e t = match e with | D.ESort -> t | D.EBind (D.ESort, _, y, b) -> D.TBind (E.compose y yt, b, t) - | _ -> + | e -> D.TProj (D.set_attrs C.start yt e, t) (* this is not tail recursive in the GRef branch *) @@ -148,6 +154,7 @@ let rec xlate_term f st lst z lenv = function else N.infinity in let b = D.Abst (false, l, ww) in +(* let yt = {yt with E.b_name = Some ("P", true)} in *) f yt (D.TBind (yt, b, tt)) in let f lenv = xlate_term f st lst z lenv t in @@ -207,9 +214,6 @@ let xlate_entity err f st lst = function let y = attrs_for_decl yw in UH.add henv (uri_of_qid qid) (y, lenv); let t = add_proj yw lenv ww in -(* - print_newline (); CrgOutput.pp_term print_string t; -*) let na = E.node_attrs ~apix:lst.line () in let entity = E.empty_root, na, uri_of_qid qid, E.Abst t in IFDEF TRACE THEN @@ -226,12 +230,13 @@ ELSE () END; | A.Def (name, w, trans, v) -> let f lenv = let f qid = - let f _ ww = + let f yw ww = let f yv vv = UH.add henv (uri_of_qid qid) (yv, lenv); let t = add_proj yv lenv (D.TCast (ww, vv)) in (* - print_newline (); CrgOutput.pp_term print_string t; + let lenv0 = D.set_layer C.start N.one lenv in + let t = D.TCast (add_proj yw lenv0 ww, add_proj yv lenv vv) in *) let na = E.node_attrs ~apix:lst.line () in let ra = if trans then E.empty_root else E.root_attrs ~meta:[E.Private] () in