X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fgrafite_parser%2FgrafiteDisambiguate.ml;h=73e71c815f764e2f9a3f79933d4300c9c13da102;hb=c5e31e8a90f46df4ae760b6ee3440c6c70164726;hp=516c4af20301e1a6946995cbe44c60fd05491448;hpb=5649890273cf8e660bba744e84ce5fee1e5efe69;p=helm.git diff --git a/helm/software/components/grafite_parser/grafiteDisambiguate.ml b/helm/software/components/grafite_parser/grafiteDisambiguate.ml index 516c4af20..73e71c815 100644 --- a/helm/software/components/grafite_parser/grafiteDisambiguate.ml +++ b/helm/software/components/grafite_parser/grafiteDisambiguate.ml @@ -120,6 +120,18 @@ let disambiguate_auto_params metasenv, (terms, params) ;; +let disambiguate_just disambiguate_term context metasenv = + function + `Term t -> + let metasenv,t = disambiguate_term context metasenv t in + metasenv, `Term t + | `Auto params -> + let metasenv,params = disambiguate_auto_params disambiguate_term metasenv + context params + in + metasenv, `Auto params +;; + let rec disambiguate_tactic lexicon_status_ref context metasenv (text,prefix_len,tactic) = @@ -339,14 +351,11 @@ let rec disambiguate_tactic let metasenv,t = disambiguate_term context metasenv t in metasenv,Some t in metasenv,GrafiteAst.Suppose (loc, cic, id, cic') - | GrafiteAst.Bydone (loc,term) -> - let metasenv,cic = - match term with - None -> metasenv,None - |Some t -> - let metasenv,t = disambiguate_term context metasenv t in - metasenv,Some t in - metasenv,GrafiteAst.Bydone (loc, cic) + | GrafiteAst.Bydone (loc,just) -> + let metasenv,just = + disambiguate_just disambiguate_term context metasenv just + in + metasenv,GrafiteAst.Bydone (loc, just) | GrafiteAst.We_need_to_prove (loc,term,id,term') -> let metasenv,cic = disambiguate_term context metasenv term in let metasenv,cic' = @@ -356,13 +365,9 @@ let rec disambiguate_tactic let metasenv,t = disambiguate_term context metasenv t in metasenv,Some t in metasenv,GrafiteAst.We_need_to_prove (loc,cic,id,cic') - | GrafiteAst.By_term_we_proved (loc,term,term',id,term'') -> - let metasenv,cic = - match term with - None -> metasenv,None - | Some t -> - let metasenv,t = disambiguate_term context metasenv t in - metasenv,Some t in + | GrafiteAst.By_just_we_proved (loc,just,term',id,term'') -> + let metasenv,just = + disambiguate_just disambiguate_term context metasenv just in let metasenv,cic' = disambiguate_term context metasenv term' in let metasenv,cic'' = match term'' with @@ -370,7 +375,7 @@ let rec disambiguate_tactic | Some t -> let metasenv,t = disambiguate_term context metasenv t in metasenv,Some t in - metasenv,GrafiteAst.By_term_we_proved (loc,cic,cic',id,cic'') + metasenv,GrafiteAst.By_just_we_proved (loc,just,cic',id,cic'') | GrafiteAst.We_proceed_by_cases_on (loc, term, term') -> let metasenv,cic = disambiguate_term context metasenv term in let metasenv,cic' = disambiguate_term context metasenv term' in @@ -385,21 +390,18 @@ let rec disambiguate_tactic | GrafiteAst.Thesisbecomes (loc, term) -> let metasenv,cic = disambiguate_term context metasenv term in metasenv,GrafiteAst.Thesisbecomes (loc, cic) - | GrafiteAst.ExistsElim (loc, term, id1, term1, id2, term2) -> - let metasenv,cic = - match term with - None -> metasenv,None - | Some t -> - let metasenv,t = disambiguate_term context metasenv t in - metasenv,Some t in + | GrafiteAst.ExistsElim (loc, just, id1, term1, id2, term2) -> + let metasenv,just = + disambiguate_just disambiguate_term context metasenv just in let metasenv,cic' = disambiguate_term context metasenv term1 in let cic''= disambiguate_lazy_term term2 in - metasenv,GrafiteAst.ExistsElim(loc, cic, id1, cic', id2, cic'') - | GrafiteAst.AndElim (loc, term, id, term1, id1, term2) -> - let metasenv,cic = disambiguate_term context metasenv term in + metasenv,GrafiteAst.ExistsElim(loc, just, id1, cic', id2, cic'') + | GrafiteAst.AndElim (loc, just, id, term1, id1, term2) -> + let metasenv,just = + disambiguate_just disambiguate_term context metasenv just in let metasenv,cic'= disambiguate_term context metasenv term1 in let metasenv,cic''= disambiguate_term context metasenv term2 in - metasenv,GrafiteAst.AndElim(loc, cic, id, cic', id1, cic'') + metasenv,GrafiteAst.AndElim(loc, just, id, cic', id1, cic'') | GrafiteAst.Case (loc, id, params) -> let metasenv,params' = List.fold_right