X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fparamodulation%2Fdiscrimination_tree.ml;h=d73eb9c3a2bac8f9cab0c8dfa767309c26c76981;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=dc87e750398a9ea647c48683ad4f559e5bac8097;hpb=e701ae61ea78b5bcbc8919ccb51f4f2ada8c5f23;p=helm.git diff --git a/helm/ocaml/paramodulation/discrimination_tree.ml b/helm/ocaml/paramodulation/discrimination_tree.ml index dc87e7503..d73eb9c3a 100644 --- a/helm/ocaml/paramodulation/discrimination_tree.ml +++ b/helm/ocaml/paramodulation/discrimination_tree.ml @@ -1,3 +1,28 @@ +(* Copyright (C) 2005, HELM Team. + * + * This file is part of HELM, an Hypertextual, Electronic + * Library of Mathematics, developed at the Computer Science + * Department, University of Bologna, Italy. + * + * HELM is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * HELM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with HELM; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + * + * For details, see the HELM World-Wide-Web page, + * http://cs.unibo.it/helm/. + *) + type path_string_elem = Cic.term;; type path_string = path_string_elem list;; @@ -134,7 +159,6 @@ let in_index tree equality = let head_of_term = function | Cic.Appl (hd::tl) -> hd -(* | Cic.Meta _ -> Cic.Implicit None *) | term -> term ;; @@ -145,7 +169,8 @@ let rec subterm_at_pos pos term = | index::pos -> match term with | Cic.Appl l -> - (try subterm_at_pos pos (List.nth l index) with _ -> raise Not_found) + (try subterm_at_pos pos (List.nth l index) + with Failure _ -> raise Not_found) | _ -> raise Not_found ;; @@ -198,7 +223,7 @@ let retrieve_generalizations tree term = in try let n = PSMap.find (Cic.Implicit None) map in - let newpos = try after_t pos term with _ -> [-1] in + let newpos = try after_t pos term with Not_found -> [-1] in if newpos = [-1] then match n with | DiscriminationTree.Node (Some s, _) -> PosEqSet.union s res @@ -264,7 +289,7 @@ let retrieve_unifiables tree term = in try let n = PSMap.find (Cic.Implicit None) map in - let newpos = try after_t pos term with _ -> [-1] in + let newpos = try after_t pos term with Not_found -> [-1] in if newpos = [-1] then match n with | DiscriminationTree.Node (Some s, _) -> PosEqSet.union s res