let kind',depth = !!kind in
(match depth with
None -> [],[],[]
- | Some d -> [],[kind',d],[])
+ | Some d -> [],[kind',Some d],[])
| C.Sort s ->
(match kind with
Backbone _
let s' =
match s with
Cic.Prop ->
- "http://www.cs.unibo.it/helm/schemas/schema-helm#Prod"
+ "http://www.cs.unibo.it/helm/schemas/schema-helm#Prop"
| Cic.Set ->
"http://www.cs.unibo.it/helm/schemas/schema-helm#Set"
| Cic.Type ->
let kind',depth = !!kind in
(match depth with
None -> assert false
- | Some d -> [],[],[kind',d,s'])
+ | Some d -> [],[],[kind',Some d,s'])
| _ -> [],[],[])
| C.Meta _
| C.Implicit -> assert false
(fun i (_,t) -> i @@ (process_type_aux (soften_classification kind) t))
([],[],[])
in
- process_type_aux (Backbone 0) (CicMiniReduction.letin_nf term),
- (None,None,None)
+ let obj_constraints,rel_constraints,sort_constraints =
+ process_type_aux (Backbone 0) (CicMiniReduction.letin_nf term)
+ in
+ (obj_constraints,rel_constraints,sort_constraints)
;;
(*CSC: Debugging only *)
let get_constraints term =
let res = get_constraints term in
- let ((objs,rels,sorts),can) = res in
+ let (objs,rels,sorts) = res in
prerr_endline "Constraints on objs:" ;
List.iter
(function (s1,s2,n) ->
prerr_endline "Constraints on Rels:" ;
List.iter
(function (s,n) ->
- prerr_endline (s ^ " " ^ string_of_int n)) rels ;
+ prerr_endline
+ (s ^ " " ^ (match n with Some n' -> string_of_int n' | None -> "NULL"))
+ ) rels ;
prerr_endline "Constraints on Sorts:" ;
List.iter
(function (s1,n,s2) ->
- prerr_endline (s1 ^ " " ^ string_of_int n ^ " " ^ s2)) sorts ;
+ prerr_endline
+ (s1 ^ " " ^ (match n with Some n' -> string_of_int n' | None -> "NULL") ^
+ " " ^ s2)
+ ) sorts ;
res
;;