src/Doc/Isar_Ref/Spec.thy
changeset 63182 b065b4833092
parent 63180 ddfd021884b4
child 63272 6d8a67a77bad
equal deleted inserted replaced
63181:ee1c9de4e03a 63182:b065b4833092
   291     ;
   291     ;
   292     @@{command print_abbrevs} ('!'?)
   292     @@{command print_abbrevs} ('!'?)
   293     ;
   293     ;
   294     decl: @{syntax name} ('::' @{syntax type})? @{syntax mixfix}? @'where'
   294     decl: @{syntax name} ('::' @{syntax type})? @{syntax mixfix}? @'where'
   295     ;
   295     ;
   296     definition: @{syntax thmdecl}? @{syntax prop} prems @{syntax for_fixes}
   296     definition: @{syntax thmdecl}? @{syntax prop}
   297     ;
   297       @{syntax spec_prems} @{syntax for_fixes}
   298     prems: (@'if' ((@{syntax prop}+) + @'and'))?
       
   299     ;
   298     ;
   300     abbreviation: @{syntax prop} @{syntax for_fixes}
   299     abbreviation: @{syntax prop} @{syntax for_fixes}
   301   \<close>}
   300   \<close>}
   302 
   301 
   303   \<^descr> \<^theory_text>\<open>definition c where eq\<close> produces an internal definition \<open>c \<equiv> t\<close> according
   302   \<^descr> \<^theory_text>\<open>definition c where eq\<close> produces an internal definition \<open>c \<equiv> t\<close> according
   343 
   342 
   344   @{rail \<open>
   343   @{rail \<open>
   345     @@{command axiomatization} @{syntax "fixes"}? (@'where' axiomatization)?
   344     @@{command axiomatization} @{syntax "fixes"}? (@'where' axiomatization)?
   346     ;
   345     ;
   347     axiomatization: (@{syntax thmdecl} @{syntax prop} + @'and')
   346     axiomatization: (@{syntax thmdecl} @{syntax prop} + @'and')
   348       prems @{syntax for_fixes}
   347       @{syntax spec_prems} @{syntax for_fixes}
   349     ;
       
   350     prems: (@'if' ((@{syntax prop}+) + @'and'))?
       
   351   \<close>}
   348   \<close>}
   352 
   349 
   353   \<^descr> \<^theory_text>\<open>axiomatization c\<^sub>1 \<dots> c\<^sub>m where \<phi>\<^sub>1 \<dots> \<phi>\<^sub>n\<close> introduces several constants
   350   \<^descr> \<^theory_text>\<open>axiomatization c\<^sub>1 \<dots> c\<^sub>m where \<phi>\<^sub>1 \<dots> \<phi>\<^sub>n\<close> introduces several constants
   354   simultaneously and states axiomatic properties for these. The constants are
   351   simultaneously and states axiomatic properties for these. The constants are
   355   marked as being specified once and for all, which prevents additional
   352   marked as being specified once and for all, which prevents additional