@ names in
let outtype = pp rels outtype in
let outtype= CicNotationPt.Binder (`Lambda, (arg, Some arg_ty), outtype) in
- CicNotationPt.Binder
- (`Lambda, (arg,Some arg_ty),
- CicNotationPt.Case (arg,None,Some outtype,[branch]))
+ [arg, Some arg_ty], CicNotationPt.Case (arg,None,Some outtype,[branch])
| _,NCic.Prod (name,_,t) ->
let name = mk_id name in
- CicNotationPt.Binder
- (`Lambda, (name,None), aux (name::names) t (leftno - 1))
+ let params,body = aux (name::names) t (leftno - 1) in
+ (name,None)::params, body
| _,_ -> assert false
in
- let res = aux [] consty leftno in
+ let params,bo = aux [] consty leftno in
+ let pprojname = mk_id projname in
+ let res =
+ CicNotationPt.LetRec (`Inductive,
+ [params, (pprojname,None), bo, leftno], pprojname) in
(* prerr_endline
(BoxPp.render_to_string
~map_unicode_to_tex:false