aux i [] t
in
let rec get_guard i = function
- | [] -> assert false
+ | [] -> (*assert false*) Ast.Implicit
| [term, _] when i = 1 -> term
| _ :: tl -> get_guard (pred i) tl
in
let pvars, pbody = strip i typ in
let _, bbody = strip i body in
term, pvars, pbody, bbody
- | _ -> assert false
+ | term, None ->
+ let pbody = Ast.Implicit in
+ let pvars, bbody = strip i body in
+ term, pvars, pbody, bbody
in
sprintf "%s %s on %s: %s \\def %s"
(pp_term ~pp_parens:false term)