| C.Cast (v,t) -> pp v l
| C.Lambda (b,s,t) ->
"[" ^ string_of_name b ^ ":" ^ pp s l ^ "]" ^ pp t (b::l)
+ | C.LetIn (b,s,t) ->
+ "[" ^ string_of_name b ^ ":=" ^ pp s l ^ "]" ^ pp t (b::l)
| C.Appl li ->
"(" ^
(List.fold_right
) x "" ^ match i with "" -> "" | i' -> " " ^ i'
) params "" ^
"):\n" ^ pp ty []
- | C.Variable (name, ty) ->
- "Variable " ^ name ^ ":\n" ^ pp ty []
+ | C.Variable (name, bo, ty) ->
+ "Variable " ^ name ^ ":\n" ^ pp ty [] ^ "\n" ^
+ (match bo with None -> "" | Some bo -> ":= " ^ pp bo [])
| C.CurrentProof (name, conjectures, value, ty) ->
"Current Proof:\n" ^
List.fold_right