let unopt = function Some x -> x | None -> assert false
let incr_depth = function
- | `MainConclusion (Some depth) -> `MainConclusion (Some (depth + 1))
- | `MainHypothesis (Some depth) -> `MainHypothesis (Some (depth + 1))
+ | `MainConclusion (Some (Eq depth)) -> `MainConclusion (Some (Eq (depth + 1)))
+ | `MainHypothesis (Some (Eq depth)) -> `MainHypothesis (Some (Eq (depth + 1)))
| _ -> assert false
let var_has_body uri =
| Cic.Prod (_, source, target) ->
(match pos with
| `MainConclusion _ ->
- let set = aux (`MainHypothesis (Some 0)) set source in
+ let set = aux (`MainHypothesis (Some (Eq 0))) set source in
aux (incr_depth pos) set target
| `MainHypothesis _ ->
let set = aux `InHypothesis set source in
List.flatten
(List.map (compute_var (next_pos pos)) params) in
(match pos with
- | `MainHypothesis (Some 0) ->
- let pos = `MainHypothesis (Some (depth_offset params)) in
+ | `MainHypothesis (Some (Eq 0)) ->
+ let pos = `MainHypothesis (Some (Eq (depth_offset params))) in
(compute pos ~body:None ~ty)@metadata_of_vars
| `InHypothesis ->
(compute pos ~body:None ~ty)@metadata_of_vars
match o with
| Cic.Variable (_, body, ty, params, _)
| Cic.Constant (_, body, ty, params, _) ->
- let pos = `MainConclusion (Some (depth_offset params)) in
+ let pos = `MainConclusion (Some (Eq (depth_offset params))) in
let metadata = compute pos ~body ~ty
in
let metadata_of_vars =
List.flatten
- (List.map (compute_var (`MainHypothesis (Some 0))) params)
+ (List.map (compute_var (`MainHypothesis (Some (Eq 0)))) params)
in
[UriManager.string_of_uri uri,
UriManager.name_of_uri uri,metadata @ metadata_of_vars]
| Cic.InductiveDefinition (types, params, _, _) ->
- let pos = `MainConclusion(Some (depth_offset params)) in
+ let pos = `MainConclusion(Some (Eq (depth_offset params))) in
let metadata_of_vars =
List.flatten
- (List.map (compute_var (`MainHypothesis (Some 0))) params) in
+ (List.map (compute_var (`MainHypothesis (Some (Eq 0)))) params) in
let metadata = compute_ind pos ~uri ~types in
List.map (fun (uri,name,md) -> (uri,name,md@metadata_of_vars)) metadata
| Cic.CurrentProof _ -> assert false
-let compute ~body ~ty = compute (`MainConclusion (Some 0)) ~body ~ty
+let compute ~body ~ty = compute (`MainConclusion (Some (Eq 0))) ~body ~ty