doc-src/IsarImplementation/Thy/Logic.thy
changeset 42510 b9c106763325
parent 42401 9bfaf6819291
child 42517 b68e1c27709a
equal deleted inserted replaced
42509:9d107a52b634 42510:b9c106763325
   195   @{ML_antiquotation_def "type_abbrev"} & : & @{text ML_antiquotation} \\
   195   @{ML_antiquotation_def "type_abbrev"} & : & @{text ML_antiquotation} \\
   196   @{ML_antiquotation_def "nonterminal"} & : & @{text ML_antiquotation} \\
   196   @{ML_antiquotation_def "nonterminal"} & : & @{text ML_antiquotation} \\
   197   @{ML_antiquotation_def "typ"} & : & @{text ML_antiquotation} \\
   197   @{ML_antiquotation_def "typ"} & : & @{text ML_antiquotation} \\
   198   \end{matharray}
   198   \end{matharray}
   199 
   199 
   200   \begin{rail}
   200   @{rail "
   201   'class' nameref
   201   @@{ML_antiquotation class} nameref
   202   ;
   202   ;
   203   'sort' sort
   203   @@{ML_antiquotation sort} sort
   204   ;
   204   ;
   205   ('type_name' | 'type_abbrev' | 'nonterminal') nameref
   205   (@@{ML_antiquotation type_name} |
       
   206    @@{ML_antiquotation type_abbrev} |
       
   207    @@{ML_antiquotation nonterminal}) nameref
   206   ;
   208   ;
   207   'typ' type
   209   @@{ML_antiquotation typ} type
   208   ;
   210   "}
   209   \end{rail}
       
   210 
   211 
   211   \begin{description}
   212   \begin{description}
   212 
   213 
   213   \item @{text "@{class c}"} inlines the internalized class @{text
   214   \item @{text "@{class c}"} inlines the internalized class @{text
   214   "c"} --- as @{ML_type string} literal.
   215   "c"} --- as @{ML_type string} literal.
   434   @{ML_antiquotation_def "const"} & : & @{text ML_antiquotation} \\
   435   @{ML_antiquotation_def "const"} & : & @{text ML_antiquotation} \\
   435   @{ML_antiquotation_def "term"} & : & @{text ML_antiquotation} \\
   436   @{ML_antiquotation_def "term"} & : & @{text ML_antiquotation} \\
   436   @{ML_antiquotation_def "prop"} & : & @{text ML_antiquotation} \\
   437   @{ML_antiquotation_def "prop"} & : & @{text ML_antiquotation} \\
   437   \end{matharray}
   438   \end{matharray}
   438 
   439 
   439   \begin{rail}
   440   @{rail "
   440   ('const_name' | 'const_abbrev') nameref
   441   (@@{ML_antiquotation const_name} |
       
   442    @@{ML_antiquotation const_abbrev}) nameref
   441   ;
   443   ;
   442   'const' ('(' (type + ',') ')')?
   444   @@{ML_antiquotation const} ('(' (type + ',') ')')?
   443   ;
   445   ;
   444   'term' term
   446   @@{ML_antiquotation term} term
   445   ;
   447   ;
   446   'prop' prop
   448   @@{ML_antiquotation prop} prop
   447   ;
   449   "}
   448   \end{rail}
       
   449 
   450 
   450   \begin{description}
   451   \begin{description}
   451 
   452 
   452   \item @{text "@{const_name c}"} inlines the internalized logical
   453   \item @{text "@{const_name c}"} inlines the internalized logical
   453   constant name @{text "c"} --- as @{ML_type string} literal.
   454   constant name @{text "c"} --- as @{ML_type string} literal.
   731   @{ML_antiquotation_def "thm"} & : & @{text ML_antiquotation} \\
   732   @{ML_antiquotation_def "thm"} & : & @{text ML_antiquotation} \\
   732   @{ML_antiquotation_def "thms"} & : & @{text ML_antiquotation} \\
   733   @{ML_antiquotation_def "thms"} & : & @{text ML_antiquotation} \\
   733   @{ML_antiquotation_def "lemma"} & : & @{text ML_antiquotation} \\
   734   @{ML_antiquotation_def "lemma"} & : & @{text ML_antiquotation} \\
   734   \end{matharray}
   735   \end{matharray}
   735 
   736 
   736   \begin{rail}
   737   @{rail "
   737   'ctyp' typ
   738   @@{ML_antiquotation ctyp} typ
   738   ;
   739   ;
   739   'cterm' term
   740   @@{ML_antiquotation cterm} term
   740   ;
   741   ;
   741   'cprop' prop
   742   @@{ML_antiquotation cprop} prop
   742   ;
   743   ;
   743   'thm' thmref
   744   @@{ML_antiquotation thm} thmref
   744   ;
   745   ;
   745   'thms' thmrefs
   746   @@{ML_antiquotation thms} thmrefs
   746   ;
   747   ;
   747   'lemma' ('(open)')? ((prop +) + 'and') \\ 'by' method method?
   748   @@{ML_antiquotation lemma} ('(' @@{keyword \"open\"} ')')? ((prop +) + @@{keyword \"and\"}) \\
   748   \end{rail}
   749     @@{keyword \"by\"} method method?
       
   750   "}
   749 
   751 
   750   \begin{description}
   752   \begin{description}
   751 
   753 
   752   \item @{text "@{ctyp \<tau>}"} produces a certified type wrt.\ the
   754   \item @{text "@{ctyp \<tau>}"} produces a certified type wrt.\ the
   753   current background theory --- as abstract value of type @{ML_type
   755   current background theory --- as abstract value of type @{ML_type