]> matita.cs.unibo.it Git - fireball-separation.git/commitdiff
Failure in case of empty problem, to be fixed
authoracondolu <andrea.condoluci@unibo.it>
Fri, 14 Jul 2017 17:39:21 +0000 (19:39 +0200)
committeracondolu <andrea.condoluci@unibo.it>
Mon, 28 May 2018 09:08:57 +0000 (11:08 +0200)
(cherry picked from commit 605ae9159149e42a17f044bbfad94f7dc2de79c2)

ocaml/lambda4.ml

index 4108ea57af1773e71c84ff8e25861f82a73e43f7..a8899bcbebc2bb31d20b14b6834c94eb449e50fb 100644 (file)
@@ -757,14 +757,14 @@ let tmp (label, div, conv, nums, var_names) =
 
  (* TODO: *)
  (* replace div with bottom in problem??? *)
- let special_k =
-  let all_tms = (match div with None -> [] | Some div -> [(div :> i_n_var)]) @ nums @ conv in
-  compute_special_k (Listx.from_list (all_tms :> nf list)) in (* compute initial special K *)
+ let all_tms = (match div with None -> [] | Some div -> [(div :> i_n_var)]) @ nums @ conv in
+ if all_tms = [] then failwith "FIXME: empty problem";
+ let initialSpecialK = compute_special_k (Listx.from_list (all_tms :> nf list)) in
  let freshno = List.length var_names in
  let deltas =
   let dummy = `Var (max_int / 2, -666) in
    [ ref (Array.to_list (Array.init (List.length ps) (fun i -> i, dummy))) ] in
- {freshno; div; conv; ps; sigma=[]; deltas; initialSpecialK=special_k; var_names; label}
+ {freshno; div; conv; ps; sigma=[]; deltas; initialSpecialK; var_names; label}
 ;;
 
 let problem_of ~div ~conv ~nums =