(get_sort_type paramty)
(Cic.Sort Cic.Prop)) != 0)
+exception EqualityNotDefinedYet
let private_inversion_tac ~term =
let module T = CicTypeChecker in
let module R = CicReduction in
(*DEBUG*) debug_print (lazy ("private inversion begins"));
let (_,metasenv,_,_) = proof in
- let uri_of_eq = LibraryObjects.eq_URI () in
+ let uri_of_eq =
+ match LibraryObjects.eq_URI () with
+ None -> raise EqualityNotDefinedYet
+ | Some uri -> uri
+ in
let (_,context,goalty) = CicUtil.lookup_meta goal metasenv in
let termty,_ = T.type_of_aux' metasenv context term CicUniv.empty_ugraph in
let uri = baseuri_of_term termty in
(List.map
(fun t -> (
match (T.type_of_aux' metasenv context t CicUniv.empty_ugraph) with
- (term,graph) -> term
- |_ -> assert false))
+ (term,graph) -> term))
parameters)
in
let consno = List.length cons_list in