]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_disambiguation/cicTextualParser2.ml
name specifications added for elim_intros, elim_intros_simpl and elim_type
[helm.git] / helm / ocaml / cic_disambiguation / cicTextualParser2.ml
index 59bb1bc81c92159024c6ac3abb4db919639e1d80..9ce70062f7c31dd843e96ac7d7191c7aaa4ba2fc 100644 (file)
@@ -398,11 +398,16 @@ EXTEND
         TacticAst.Decompose (loc, where)
     | IDENT "discriminate"; t = tactic_term ->
         TacticAst.Discriminate (loc, t)
-    | IDENT "elim"; t1 = tactic_term;
-      using = OPT [ "using"; using = tactic_term -> using ] ->
-        TacticAst.Elim (loc, t1, using)
-    | IDENT "elimType"; t = tactic_term ->
-        TacticAst.ElimType (loc, t)
+    | IDENT "elim"; what = tactic_term;
+      using = OPT [ "using"; using = tactic_term -> using ];  
+      OPT "names"; num = OPT [num = int -> num]; idents = OPT ident_list0 ->
+        let idents = match idents with None -> [] | Some idents -> idents in
+       TacticAst.Elim (loc, what, using, num, idents)
+    | IDENT "elimType"; what = tactic_term;
+      using = OPT [ "using"; using = tactic_term -> using ];  
+      OPT "names"; num = OPT [num = int -> num]; idents = OPT ident_list0 ->
+        let idents = match idents with None -> [] | Some idents -> idents in
+       TacticAst.ElimType (loc, what, using, num, idents)
     | IDENT "exact"; t = tactic_term ->
         TacticAst.Exact (loc, t)
     | IDENT "exists" ->