doc-src/IsarRef/Thy/Inner_Syntax.thy
changeset 46288 8a2c5dc0b00e
parent 46287 0bb3d8ee5d25
child 46289 d0199d9f9c5b
equal deleted inserted replaced
46287:0bb3d8ee5d25 46288:8a2c5dc0b00e
   455     @{command_def "notation"} & : & @{text "local_theory \<rightarrow> local_theory"} \\
   455     @{command_def "notation"} & : & @{text "local_theory \<rightarrow> local_theory"} \\
   456     @{command_def "no_notation"} & : & @{text "local_theory \<rightarrow> local_theory"} \\
   456     @{command_def "no_notation"} & : & @{text "local_theory \<rightarrow> local_theory"} \\
   457     @{command_def "write"} & : & @{text "proof(state) \<rightarrow> proof(state)"} \\
   457     @{command_def "write"} & : & @{text "proof(state) \<rightarrow> proof(state)"} \\
   458   \end{matharray}
   458   \end{matharray}
   459 
   459 
       
   460   Commands that introduce new logical entities (terms or types)
       
   461   usually allow to provide mixfix annotations on the spot, which is
       
   462   convenient for default notation.  Nonetheless, the syntax may be
       
   463   modified later on by declarations for explicit notation.  This
       
   464   allows to add or delete mixfix annotations for of existing logical
       
   465   entities within the current context.
       
   466 
   460   @{rail "
   467   @{rail "
   461     (@@{command type_notation} | @@{command no_type_notation}) @{syntax target}?
   468     (@@{command type_notation} | @@{command no_type_notation}) @{syntax target}?
   462       @{syntax mode}? \\ (@{syntax nameref} @{syntax mixfix} + @'and')
   469       @{syntax mode}? \\ (@{syntax nameref} @{syntax mixfix} + @'and')
   463     ;
   470     ;
   464     (@@{command notation} | @@{command no_notation}) @{syntax target}? @{syntax mode}? \\
   471     (@@{command notation} | @@{command no_notation}) @{syntax target}? @{syntax mode}? \\