X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_omdoc%2Fcontent2cic.ml;h=2cc72933b884cbaca2eeea3ddc2b1d51ed625db3;hb=bb236c2ac110124de92fa2d0fb2882d273a7f7eb;hp=b1151c792400ea6f4986a82040b03eb65b965d5b;hpb=414dc18cdbc1f431758cfce79b0b7827e2419d39;p=helm.git diff --git a/helm/ocaml/cic_omdoc/content2cic.ml b/helm/ocaml/cic_omdoc/content2cic.ml index b1151c792..2cc72933b 100644 --- a/helm/ocaml/cic_omdoc/content2cic.ml +++ b/helm/ocaml/cic_omdoc/content2cic.ml @@ -149,10 +149,13 @@ let proof2cic deannotate p = (match conclude.Con.conclude_args with [Con.ArgProof p] -> proof2cic [] p (* empty! *) | _ -> prerr_endline "4"; assert false) - else if (conclude.Con.conclude_method = "ByInduction") then + else if (conclude.Con.conclude_method = "ByInduction" || + conclude.Con.conclude_method = "AndInd" || + conclude.Con.conclude_method = "Exists" || + conclude.Con.conclude_method = "FalseInd") then (match (List.tl conclude.Con.conclude_args) with - Con.Term (C.AAppl - id ((C.AConst(idc,uri,exp_named_subst))::params_and_IP))::args -> + Con.Term (C.AAppl ( + id,((C.AConst(idc,uri,exp_named_subst))::params_and_IP)))::args -> let subst = List.map (fun (u,t) -> (u, deannotate t)) exp_named_subst in let cargs = args2cic premise_env args in @@ -177,14 +180,14 @@ let proof2cic deannotate p = List.map (function Con.ArgProof p -> proof2cic [] p - | _ -> prerr_endline "7a"; assert false) patterns) + | _ -> prerr_endline "7a"; assert false) patterns) | Con.Aux(uri)::Con.Aux(notype)::Con.Term(ty)::Con.Term(te)::patterns -> C.MutCase (UriManager.uri_of_string uri, int_of_string notype, deannotate ty, deannotate te, List.map (function (Con.ArgProof p) -> proof2cic [] p - | _ -> prerr_endline "7a"; assert false) patterns) + | _ -> prerr_endline "7a"; assert false) patterns) | _ -> (prerr_endline "7"; assert false)) else if (conclude.Con.conclude_method = "Apply") then let cargs = (args2cic premise_env conclude.Con.conclude_args) in @@ -208,8 +211,10 @@ let proof2cic deannotate p = prerr_endline ("Not_found in arg2cic: premise " ^ (match prem.Con.premise_binder with None -> "previous" | Some p -> p) ^ ", xref=" ^ prem.Con.premise_xref); raise Not_found)) | Con.Lemma lemma -> - MQueryMisc.term_of_cic_textual_parser_uri - (MQueryMisc.cic_textual_parser_uri_of_string lemma.Con.lemma_uri) + MQueryMisc.term_of_cic_textual_parser_uri + (MQueryMisc.cic_textual_parser_uri_of_string + (MQueryMisc.wrong_xpointer_format_from_wrong_xpointer_format' + lemma.Con.lemma_uri)) | Con.Term t -> deannotate t | Con.ArgProof p -> @@ -236,22 +241,23 @@ let cobj2obj deannotate (id,params,metasenv,obj) = let canonical_context' = List.map (function - _,None -> None - | _,Some (`Declaration d) - | _,Some (`Hypothesis d) -> + None -> None + | Some (`Declaration d) + | Some (`Hypothesis d) -> (match d with {K.dec_name = Some n ; K.dec_type = t} -> Some (Cic.Name n, Cic.Decl (deannotate t)) | _ -> assert false) - | _,Some (`Definition d) -> + | Some (`Definition d) -> (match d with {K.def_name = Some n ; K.def_term = t} -> - Some (Cic.Name n, Cic.Def (deannotate t)) + Some (Cic.Name n, Cic.Def ((deannotate t),None)) | _ -> assert false) - | _,Some (`Proof d) -> + | Some (`Proof d) -> (match d with {K.proof_name = Some n } -> - Some (Cic.Name n, Cic.Def (proof2cic deannotate d)) + Some (Cic.Name n, + Cic.Def ((proof2cic deannotate d),None)) | _ -> assert false) ) canonical_context in