replaced {{ }} by { };
authorwenzelm
Sun, 21 May 2000 14:33:46 +0200
changeset 8896 c80aba8c1d5e
parent 8895 2913a54e64cf
child 8897 fb1436ca3b2e
replaced {{ }} by { };
doc-src/IsarRef/isar-ref.tex
doc-src/IsarRef/pure.tex
doc-src/IsarRef/syntax.tex
src/Pure/Isar/args.ML
src/Pure/Isar/isar_syn.ML
src/Pure/Thy/latex.ML
--- a/doc-src/IsarRef/isar-ref.tex	Sun May 21 14:32:47 2000 +0200
+++ b/doc-src/IsarRef/isar-ref.tex	Sun May 21 14:33:46 2000 +0200
@@ -9,7 +9,7 @@
 
 \makeindex
 
-\railterm{percent,ppercent,underscore,lbrace,rbrace,llbrace,rrbrace}
+\railterm{percent,ppercent,underscore}
 \railterm{ident,longident,symident,var,textvar,typefree,typevar,nat,string,verbatim,keyword}
 \railterm{name,nameref,text,type,term,prop,atom}
 
--- a/doc-src/IsarRef/pure.tex	Sun May 21 14:32:47 2000 +0200
+++ b/doc-src/IsarRef/pure.tex	Sun May 21 14:33:46 2000 +0200
@@ -911,7 +911,7 @@
 
 \subsection{Block structure}
 
-\indexisarcmd{next}\indexisarcmd{\{\{}\indexisarcmd{\}\}}
+\indexisarcmd{next}\indexisarcmd{\{}\indexisarcmd{\}}
 \begin{matharray}{rcl}
   \NEXT & : & \isartrans{proof(state)}{proof(state)} \\
   \BG & : & \isartrans{proof(state)}{proof(state)} \\
@@ -933,9 +933,8 @@
 \begin{descr}
 \item [$\NEXT$] switches to a fresh block within a sub-proof, resetting the
   local context to the initial one.
-\item [$\isarkeyword{\{\{}$ and $\isarkeyword{\}\}}$] explicitly open and
-  close blocks.  Any current facts pass through ``$\isarkeyword{\{\{}$''
-  unchanged, while ``$\isarkeyword{\}\}}$'' causes any result to be
+\item [$\BG$ and $\EN$] explicitly open and close blocks.  Any current facts
+  pass through ``$\BG$'' unchanged, while ``$\EN$'' causes any result to be
   \emph{exported} into the enclosing context.  Thus fixed variables are
   generalized, assumptions discharged, and local definitions unfolded (cf.\ 
   \S\ref{sec:proof-context}).  There is no difference of $\ASSUMENAME$ and
--- a/doc-src/IsarRef/syntax.tex	Sun May 21 14:32:47 2000 +0200
+++ b/doc-src/IsarRef/syntax.tex	Sun May 21 14:33:46 2000 +0200
@@ -139,15 +139,17 @@
 
 \subsection{Type classes, sorts and arities}
 
-The syntax of sorts and arities is given directly at the outer level.  Note
-that this is in contrast to types and terms (see \ref{sec:types-terms}).
+Classes are specified by plain names.  Sorts have a very simple inner syntax,
+which is either a single class name $c$ or a list $\{c@1, \dots, c@n\}$
+referring to the intersection of these classes.  The syntax of type arities is
+given directly at the outer level.
 
 \indexouternonterm{sort}\indexouternonterm{arity}\indexouternonterm{simplearity}
 \indexouternonterm{classdecl}
 \begin{rail}
   classdecl: name ('<' (nameref + ','))?
   ;
-  sort: nameref | lbrace (nameref * ',') rbrace
+  sort: nameref
   ;
   arity: ('(' (sort + ',') ')')? sort
   ;
@@ -252,7 +254,7 @@
 \begin{rail}
   atom: nameref | typefree | typevar | var | nat | keyword
   ;
-  arg: atom | '(' args ')' | '[' args ']' | lbrace args rbrace
+  arg: atom | '(' args ')' | '[' args ']'
   ;
   args: arg *
   ;
--- a/src/Pure/Isar/args.ML	Sun May 21 14:32:47 2000 +0200
+++ b/src/Pure/Isar/args.ML	Sun May 21 14:33:46 2000 +0200
@@ -181,7 +181,6 @@
   ((Scan.repeat1
     (Scan.repeat1 (atom_arg blk) ||
       paren_args "(" ")" args ||
-      paren_args "{" "}" args ||
       paren_args "[" "]" args)) >> flat) x;
 
 
--- a/src/Pure/Isar/isar_syn.ML	Sun May 21 14:32:47 2000 +0200
+++ b/src/Pure/Isar/isar_syn.ML	Sun May 21 14:33:46 2000 +0200
@@ -348,11 +348,11 @@
 (* proof structure *)
 
 val beginP =
-  OuterSyntax.command "{{" "begin explicit proof block" K.prf_block
+  OuterSyntax.command "{" "begin explicit proof block" K.prf_block
     (Scan.succeed (Toplevel.print o Toplevel.proof IsarThy.begin_block));
 
 val endP =
-  OuterSyntax.command "}}" "end explicit proof block" K.prf_block
+  OuterSyntax.command "}" "end explicit proof block" K.prf_block
     (Scan.succeed (Toplevel.print o Toplevel.proof IsarThy.end_block));
 
 val nextP =
@@ -630,7 +630,7 @@
 val keywords =
  ["!", "!!", "%", "%%", "(", ")", "+", ",", "--", ":", "::", ";", "<",
   "<=", "=", "==", "=>", "?", "[", "]", "and", "binder", "concl",
-  "files", "in", "infixl", "infixr", "is", "output", "{", "|", "}"];
+  "files", "in", "infixl", "infixr", "is", "output", "|"];
 
 val parsers = [
   (*theory structure*)
--- a/src/Pure/Thy/latex.ML	Sun May 21 14:32:47 2000 +0200
+++ b/src/Pure/Thy/latex.ML	Sun May 21 14:33:46 2000 +0200
@@ -76,8 +76,8 @@
       let val s = T.val_of tok in
         if invisible_token tok then ""
         else if T.is_kind T.Command tok then
-          if s = "{{" then "{\\isabeginblock}"
-          else if s = "}}" then "{\\isaendblock}"
+          if s = "{" then "{\\isabeginblock}"
+          else if s = "}" then "{\\isaendblock}"
           else "\\isacommand{" ^ output_syms s ^ "}"
         else if T.is_kind T.Keyword tok andalso Syntax.is_identifier s then
           "\\isakeyword{" ^ output_syms s ^ "}"