]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/content_pres/termContentPres.ml
improved check in delift for flexible lc entries.
[helm.git] / helm / software / components / content_pres / termContentPres.ml
index 2544adb5d0deaec128f9d842a0768176f0a61e30..3fae0f52b05a00ea529b3b3acc96e8b4f46ef2d1 100644 (file)
@@ -253,7 +253,8 @@ let pp_ast0 t k =
           ((hvbox false false
             (fst_row :: List.flatten tl_rows
              @ [ break; keyword "in"; break; k where ])))
-    | Ast.Implicit -> builtin_symbol "?"
+    | Ast.Implicit `JustOne -> builtin_symbol "?"
+    | Ast.Implicit `Vector -> builtin_symbol "…"
     | Ast.Meta (n, l) ->
         let local_context l =
             List.map (function None -> None | Some t -> Some (k t)) l
@@ -542,6 +543,8 @@ let head_names names env =
             aux ((name, (ty, v)) :: acc) tl
         | Env.TermType _, Env.TermValue _  ->
             aux ((name, (ty, v)) :: acc) tl
+        | Env.OptType _, Env.OptValue _ ->
+            aux ((name, (ty, v)) :: acc) tl
         | _ -> assert false)
     | _ :: tl -> aux acc tl
       (* base pattern may contain only meta names, thus we trash all others *)
@@ -557,6 +560,8 @@ let tail_names names env =
             aux ((name, (Env.ListType ty, Env.ListValue vtl)) :: acc) tl
         | Env.TermType _, Env.TermValue _  ->
             aux ((name, (ty, v)) :: acc) tl
+        | Env.OptType _, Env.OptValue _ ->
+            aux ((name, (ty, v)) :: acc) tl
         | _ -> assert false)
     | binding :: tl -> aux (binding :: acc) tl
     | [] -> acc
@@ -596,7 +601,7 @@ let instantiate_level2 env term =
         Ast.Ident (name, Some (aux_substs env substs))
     | Ast.Meta (index, substs) -> Ast.Meta (index, aux_meta_substs env substs)
 
-    | Ast.Implicit
+    | Ast.Implicit _
     | Ast.Ident _
     | Ast.Num _
     | Ast.Sort _