]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_kernel/nCicPp.ml
Added initial support for inversion principles in Matita NG.
[helm.git] / helm / software / components / ng_kernel / nCicPp.ml
index e7cc53a47b8de4030032bd1858afdf63c08584e5..ddecb4dfb9ba75c299211307787ce68e27363de3 100644 (file)
@@ -51,13 +51,13 @@ let r2s pp_fix_name r =
   | NCicEnvironment.ObjectNotFound _ 
   | Failure "nth" 
   | Invalid_argument "List.nth" -> R.string_of_reference r
-
 ;;
 
 let string_of_implicit_annotation = function
   | `Closed -> "▪"
   | `Type -> ""
   | `Hole -> "□"
+  | `Tagged s -> "[\"" ^ s ^ "\"]"
   | `Term -> "Term"
   | `Typeof x -> "Ty("^string_of_int x^")"
   | `Vector -> "…"
@@ -135,8 +135,14 @@ let ppterm ~formatter:f ~context ~subst ~metasenv:_ ?(inside_fix=false) t =
             2 (List.tl pl));
         end;
      F.fprintf f "]@] @]";
-  | C.Appl [] | C.Appl [_] | C.Appl (C.Appl _::_) -> 
-      F.fprintf f "BAD APPLICATION"
+  | C.Appl [] -> 
+      F.fprintf f "BAD APPLICATION: empty list"
+  | C.Appl [x] ->
+      F.fprintf f "BAD APPLICATION: just the head: ";
+      aux ctx x
+  | C.Appl (C.Appl _ as x::_) -> 
+      F.fprintf f "BAD APPLICATION: appl of appl with head: ";
+      aux ctx x
   | C.Appl (C.Meta (n,lc) :: args) when List.mem_assoc n subst -> 
       let _,_,t,_ = List.assoc n subst in
       let hd = NCicSubstitution.subst_meta lc t in
@@ -168,16 +174,7 @@ let ppterm ~formatter:f ~context ~subst ~metasenv:_ ?(inside_fix=false) t =
             (List.map (NCicSubstitution.lift shift) (List.tl l));
          end;
        F.fprintf f "])"
-  | C.Sort C.Prop -> F.fprintf f "Prop"
-  | C.Sort (C.Type []) -> F.fprintf f "Type0"
-  | C.Sort (C.Type [false, u]) -> F.fprintf f "%s" (NUri.name_of_uri u)
-  | C.Sort (C.Type [true, u]) -> F.fprintf f "S(%s)" (NUri.name_of_uri u)
-  | C.Sort (C.Type l) -> 
-      F.fprintf f "Max(";
-      aux ctx (C.Sort (C.Type [List.hd l]));
-      List.iter (fun x -> F.fprintf f ",";aux ctx (C.Sort (C.Type [x])))
-       (List.tl l);
-      F.fprintf f ")"
+  | C.Sort s -> NCicEnvironment.ppsort f s
  in 
   aux ~toplevel:true (List.map fst context) t
 ;;