X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fcontent%2FnotationPp.ml;h=369a0fa281ac05e610f56d130b8cd477b4755724;hb=58ea181757dce19b875b2f5a224fe193b2263004;hp=baf92236c562122d5cd0b47ffa9d09fe1ed437b2;hpb=99d00e4b45463e5d3289103e91adddf7303479ea;p=helm.git diff --git a/matita/components/content/notationPp.ml b/matita/components/content/notationPp.ml index baf92236c..369a0fa28 100644 --- a/matita/components/content/notationPp.ml +++ b/matita/components/content/notationPp.ml @@ -281,7 +281,7 @@ let string_of_source = function | `Generated -> "generated " let pp_obj pp_term = function - | Ast.Inductive (params, types) -> + | Ast.Inductive (params, types, source) -> let pp_constructors constructors = String.concat "\n" (List.map (fun (name, typ) -> sprintf "| %s: %s" name (pp_term typ)) @@ -295,7 +295,8 @@ let pp_obj pp_term = function | [] -> assert false | (name, inductive, typ, constructors) :: tl -> let fst_typ_pp = - sprintf "%sinductive %s%s: %s \\def\n%s" + sprintf "%s%sinductive %s%s: %s \\def\n%s" + (string_of_source source) (if inductive then "" else "co") name (pp_params pp_term params) (pp_term typ) (pp_constructors constructors) in @@ -309,10 +310,11 @@ let pp_obj pp_term = function (match body with | None -> "" | Some body -> "\\def\n " ^ pp_term body) - | Ast.Record (params,name,ty,fields) -> + | Ast.Record (params,name,ty,fields, source) -> + string_of_source source ^ "record " ^ name ^ " " ^ pp_params pp_term params ^ ": " ^ pp_term ty ^ " \\def {" ^ pp_fields pp_term fields ^ "\n}" - | Ast.LetRec (kind, definitions, (source, _, _)) -> + | Ast.LetRec (kind, definitions, (source, flavour, _)) -> let rec get_guard i = function | [] -> assert false (* Ast.Implicit `JustOne *) | [term, _] when i = 1 -> term @@ -330,9 +332,10 @@ let pp_obj pp_term = function (pp_term (get_guard i params)) (pp_term typ) (pp_term body) in - sprintf "%slet %s %s" + sprintf "%s%s %s %s" (string_of_source source) (match kind with `Inductive -> "rec" | `CoInductive -> "corec") + (NCicPp.string_of_flavour flavour) (String.concat " and " (List.map map definitions)) let rec pp_value (status: #NCic.status) = function