+(* 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;;
let head_of_term = function
| Cic.Appl (hd::tl) -> hd
-(* | Cic.Meta _ -> Cic.Implicit None *)
| term -> 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
;;
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
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