let fields' =
snd (
List.fold_left
- (fun (context,res) (name,ty) ->
+ (fun (context,res) (name,ty,_coercion) ->
let context' = Cic.Name name :: context in
context',(name,interpretate_term context env None false ty)::res
) (context,[]) fields) in
concl fields' in
let con' = add_params con in
let tyl = [name,true,ty',["mk_" ^ name,con']] in
- let field_names = List.map fst fields in
+ let field_names = List.map (fun (x,_,y) -> x,y) fields in
Cic.InductiveDefinition
(tyl,[],List.length params,[`Class (`Record field_names)])
| CicNotationPt.Theorem (flavour, name, ty, bo) ->
| CicNotationPt.Record (params,_,ty,fields) ->
let dom =
List.flatten
- (List.rev_map (fun (_,ty) -> domain_rev_of_term [] ty) fields) in
+ (List.rev_map (fun (_,ty,_) -> domain_rev_of_term [] ty) fields) in
let dom =
List.filter
(fun name->
not ( List.exists (fun (name',_) -> name = Id name') params
- || List.exists (fun (name',_) -> name = Id name') fields)
+ || List.exists (fun (name',_,_) -> name = Id name') fields)
) dom
in
List.fold_left