List.flatten
(List.rev_map (fun (_,ty,_,_) -> domain_rev_of_term [] ty) fields) in
let dom =
- List.fold_left
- (fun dom (_,ty) ->
+ List.fold_right
+ (fun (_,ty) dom ->
match ty with
None -> dom
- | Some ty -> domain_rev_of_term [] ty @ dom
- ) (dom @ domain_rev_of_term [] ty) params
+ | Some ty -> dom @ domain_rev_of_term [] ty
+ ) params (dom @ domain_rev_of_term [] ty)
in
List.filter
(fun (_,name) ->
match item with
| Id id -> choices_of_id dbd id
| Symbol (symb, _) ->
- List.map DisambiguateChoices.mk_choice
+ (try
+ List.map DisambiguateChoices.mk_choice
(TermAcicContent.lookup_interpretations symb)
+ with
+ TermAcicContent.Interpretation_not_found -> [])
| Num instance ->
DisambiguateChoices.lookup_num_choices ()
in
in
filter base_univ choices
in
+ let aux' aliases diff lookup_in_todo_dom todo_dom base_univ =
+ match test_env aliases todo_dom base_univ with
+ | Ok _,_
+ | Uncertain _,_ ->
+ aux aliases diff lookup_in_todo_dom todo_dom base_univ
+ | Ko (loc,msg),_ -> ([],[aliases,diff,loc,msg]) in
let base_univ = initial_ugraph in
try
let res =
- match aux aliases [] None todo_dom base_univ with
+ match aux' aliases [] None todo_dom base_univ with
| [],errors ->
let errors =
List.map