thmref: selection syntax;
authorwenzelm
Sat, 09 Apr 2005 15:36:02 +0200
changeset 15687 8fa8872cdc49
parent 15686 406a98ee8027
child 15688 adf0ba6353f3
thmref: selection syntax;
doc-src/IsarRef/syntax.tex
--- a/doc-src/IsarRef/syntax.tex	Sat Apr 09 15:35:37 2005 +0200
+++ b/doc-src/IsarRef/syntax.tex	Sat Apr 09 15:36:02 2005 +0200
@@ -338,14 +338,17 @@
 \railnonterm{thmdecl} usually refer to axioms, assumptions or results of goal
 statements, while \railnonterm{thmdef} collects lists of existing theorems.
 Existing theorems are given by \railnonterm{thmref} and \railnonterm{thmrefs},
-the former requires an actual singleton result.  Any of these theorem
-specifications may include lists of attributes both on the left and right hand
-sides; attributes are applied to any immediately preceding fact.  If names are
-omitted, the theorems are not stored within the theorem database of the theory
-or proof context; any given attributes are still applied, though.
+the former requires an actual singleton result.  An optional index selection
+specifies the individual theorems to be picked out of a given fact list.  Any
+kind of theorem specification may include lists of attributes both on the left
+and right hand sides; attributes are applied to any immediately preceding
+fact.  If names are omitted, the theorems are not stored within the theorem
+database of the theory or proof context, but any given attributes are applied
+nonetheless.
 
-\indexouternonterm{thmdecl}\indexouternonterm{axmdecl}
-\indexouternonterm{thmdef}\indexouternonterm{thmrefs}
+\indexouternonterm{axmdecl}\indexouternonterm{thmdecl}
+\indexouternonterm{thmdef}\indexouternonterm{thmref}
+\indexouternonterm{thmrefs}\indexouternonterm{selection}
 \begin{rail}
   axmdecl: name attributes? ':'
   ;
@@ -353,13 +356,15 @@
   ;
   thmdef: thmbind '='
   ;
-  thmref: nameref attributes?
+  thmref: nameref selection? attributes?
   ;
   thmrefs: thmref +
   ;
 
   thmbind: name attributes | name | attributes
   ;
+  selection: '(' ((nat | nat '-' nat?) + ',') ')'
+  ;
 \end{rail}