exception ToDo;;
let content2pres term2pres (id,params,metasenv,obj) =
- let module Con = Content in
+ let module K = Content in
let module P = Mpresentation in
match obj with
- `Def (Con.Const,thesis,`Proof p) ->
+ `Def (K.Const,thesis,`Proof p) ->
P.Mtable
[None,"align","baseline 1";
None,"equalrows","false";
None,"columnalign","left";
None,"helm:xref","id"]
- [(*P.Mtr []
- [P.Mtd []
- (P.Mrow []
- [P.Mtext [] ("UNFINISHED PROOF" ^ id ^"(" ^ params ^ ")")])] ;
-*)
+ ([P.Mtr []
+ [P.Mtd []
+ (P.Mrow []
+ [P.Mtext []
+ ("UNFINISHED PROOF" ^ id ^"(" ^
+ String.concat " ; " (List.map UriManager.string_of_uri params)^
+ ")")])] ;
P.Mtr []
[P.Mtd []
(P.Mrow []
(P.Mrow []
[P.Mphantom []
(P.Mtext [] "__") ;
- term2pres thesis])] ;
- P.Mtr []
+ term2pres thesis])]] @
+ (match metasenv with
+ None -> []
+ | Some metasenv' ->
+ (P.Mtr []
+ [P.Mtd []
+ (P.Mrow []
+ [P.Mtext [] "CONJECTURES:"])]) ::
+ List.map
+ (function
+ (id,n,context,ty) ->
+ P.Mtr []
+ [P.Mtd []
+ (P.Mrow []
+ (List.map
+ (function
+ (_,None) ->
+ P.Mrow []
+ [ P.Mi [] "_" ;
+ P.Mo [] ":?" ;
+ P.Mi [] "_"]
+ | (_,Some (`Declaration d))
+ | (_,Some (`Hypothesis d)) ->
+ let
+ { K.dec_name = dec_name ;
+ K.dec_type = ty } = d
+ in
+ P.Mrow []
+ [ P.Mi []
+ (match dec_name with
+ None -> "_"
+ | Some n -> n) ;
+ P.Mo [] ":" ;
+ term2pres ty]
+ | (_,Some (`Definition d)) ->
+ let
+ { K.def_name = def_name ;
+ K.def_term = bo } = d
+ in
+ P.Mrow []
+ [ P.Mi []
+ (match def_name with
+ None -> "_"
+ | Some n -> n) ;
+ P.Mo [] ":=" ;
+ term2pres bo]
+ | (_,Some (`Proof p)) ->
+ let proof_name = p.K.proof_name in
+ P.Mrow []
+ [ P.Mi []
+ (match proof_name with
+ None -> "_"
+ | Some n -> n) ;
+ P.Mo [] ":=" ;
+ proof2pres term2pres p]
+ ) context @
+ [ P.Mo [] "|-" ] @
+ [ P.Mi [] (string_of_int n) ;
+ P.Mo [] ":" ;
+ term2pres ty ]
+ ))
+ ]
+ ) metasenv'
+ ) @
+ [P.Mtr []
[P.Mtd []
(P.Mrow []
- [proof2pres term2pres p])]]
+ [proof2pres term2pres p])]])
| _ -> raise ToDo
;;