doc-src/IsarRef/Thy/document/ZF_Specific.tex
author blanchet
Tue, 20 Mar 2012 10:06:35 +0100
changeset 47039 1b36a05a070d
parent 42705 528a2ba8fa74
permissions -rw-r--r--
added "metis_advisory_simp" option to orient as many equations as possible in Metis the right way (cf. "More SPASS with Isabelle")
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26840
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     1
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     2
\begin{isabellebody}%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
     3
\def\isabellecontext{ZF{\isaliteral{5F}{\isacharunderscore}}Specific}%
26840
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     4
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     5
\isadelimtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     6
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     7
\endisadelimtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     8
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     9
\isatagtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
    10
\isacommand{theory}\isamarkupfalse%
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    11
\ ZF{\isaliteral{5F}{\isacharunderscore}}Specific\isanewline
42651
e3fdb7c96be5 formal Base theory;
wenzelm
parents: 42596
diff changeset
    12
\isakeyword{imports}\ Base\ Main\isanewline
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    13
\isakeyword{begin}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    14
\endisatagtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    15
{\isafoldtheory}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    16
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    17
\isadelimtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    18
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    19
\endisadelimtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    20
%
26852
a31203f58b20 misc tuning;
wenzelm
parents: 26845
diff changeset
    21
\isamarkupchapter{Isabelle/ZF \label{ch:zf}%
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    22
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    23
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    24
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    25
\isamarkupsection{Type checking%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    26
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    27
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    28
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    29
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    30
The ZF logic is essentially untyped, so the concept of ``type
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    31
  checking'' is performed as logical reasoning about set-membership
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    32
  statements.  A special method assists users in this task; a version
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    33
  of this is already declared as a ``solver'' in the standard
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    34
  Simplifier setup.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    35
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    36
  \begin{matharray}{rcl}
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    37
    \indexdef{ZF}{command}{print\_tcset}\hypertarget{command.ZF.print-tcset}{\hyperlink{command.ZF.print-tcset}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}tcset}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    38
    \indexdef{ZF}{method}{typecheck}\hypertarget{method.ZF.typecheck}{\hyperlink{method.ZF.typecheck}{\mbox{\isa{typecheck}}}} & : & \isa{method} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    39
    \indexdef{ZF}{attribute}{TC}\hypertarget{attribute.ZF.TC}{\hyperlink{attribute.ZF.TC}{\mbox{\isa{TC}}}} & : & \isa{attribute} \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    40
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    41
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    42
  \begin{railoutput}
42662
2080fe35abea updated generated files;
wenzelm
parents: 42651
diff changeset
    43
\rail@begin{3}{}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    44
\rail@term{\hyperlink{attribute.ZF.TC}{\mbox{\isa{TC}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    45
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    46
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    47
\rail@term{\isa{add}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    48
\rail@nextbar{2}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    49
\rail@term{\isa{del}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    50
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    51
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    52
\end{railoutput}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    53
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    54
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    55
  \begin{description}
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    56
  
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    57
  \item \hyperlink{command.ZF.print-tcset}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}tcset}}}} prints the collection of
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    58
  typechecking rules of the current context.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    59
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    60
  \item \hyperlink{method.ZF.typecheck}{\mbox{\isa{typecheck}}} attempts to solve any pending
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    61
  type-checking problems in subgoals.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    62
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    63
  \item \hyperlink{attribute.ZF.TC}{\mbox{\isa{TC}}} adds or deletes type-checking rules from
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    64
  the context.
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    65
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    66
  \end{description}%
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    67
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    68
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    69
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    70
\isamarkupsection{(Co)Inductive sets and datatypes%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    71
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    72
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    73
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    74
\isamarkupsubsection{Set definitions%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    75
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    76
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    77
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    78
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    79
In ZF everything is a set.  The generic inductive package also
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    80
  provides a specific view for ``datatype'' specifications.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    81
  Coinductive definitions are available in both cases, too.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    82
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    83
  \begin{matharray}{rcl}
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    84
    \indexdef{ZF}{command}{inductive}\hypertarget{command.ZF.inductive}{\hyperlink{command.ZF.inductive}{\mbox{\isa{\isacommand{inductive}}}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}theory\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}\ theory{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    85
    \indexdef{ZF}{command}{coinductive}\hypertarget{command.ZF.coinductive}{\hyperlink{command.ZF.coinductive}{\mbox{\isa{\isacommand{coinductive}}}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}theory\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}\ theory{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    86
    \indexdef{ZF}{command}{datatype}\hypertarget{command.ZF.datatype}{\hyperlink{command.ZF.datatype}{\mbox{\isa{\isacommand{datatype}}}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}theory\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}\ theory{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    87
    \indexdef{ZF}{command}{codatatype}\hypertarget{command.ZF.codatatype}{\hyperlink{command.ZF.codatatype}{\mbox{\isa{\isacommand{codatatype}}}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}theory\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}\ theory{\isaliteral{22}{\isachardoublequote}}} \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    88
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    89
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    90
  \begin{railoutput}
42662
2080fe35abea updated generated files;
wenzelm
parents: 42651
diff changeset
    91
\rail@begin{2}{}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    92
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    93
\rail@term{\hyperlink{command.ZF.inductive}{\mbox{\isa{\isacommand{inductive}}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    94
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    95
\rail@term{\hyperlink{command.ZF.coinductive}{\mbox{\isa{\isacommand{coinductive}}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    96
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    97
\rail@nont{\isa{domains}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    98
\rail@nont{\isa{intros}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
    99
\rail@nont{\isa{hints}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   100
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   101
\rail@begin{2}{\isa{domains}}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   102
\rail@term{\isa{\isakeyword{domains}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   103
\rail@plus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   104
\rail@nont{\hyperlink{syntax.term}{\mbox{\isa{term}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   105
\rail@nextplus{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   106
\rail@cterm{\isa{{\isaliteral{2B}{\isacharplus}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   107
\rail@endplus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   108
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   109
\rail@term{\isa{{\isaliteral{3C}{\isacharless}}{\isaliteral{3D}{\isacharequal}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   110
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   111
\rail@term{\isa{{\isaliteral{5C3C73756273657465713E}{\isasymsubseteq}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   112
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   113
\rail@nont{\hyperlink{syntax.term}{\mbox{\isa{term}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   114
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   115
\rail@begin{3}{\isa{intros}}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   116
\rail@term{\isa{\isakeyword{intros}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   117
\rail@plus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   118
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   119
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   120
\rail@nont{\hyperlink{syntax.thmdecl}{\mbox{\isa{thmdecl}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   121
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   122
\rail@nont{\hyperlink{syntax.prop}{\mbox{\isa{prop}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   123
\rail@nextplus{2}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   124
\rail@endplus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   125
\rail@end
42704
3f19e324ff59 tuned rail diagrams and layout;
wenzelm
parents: 42662
diff changeset
   126
\rail@begin{5}{\isa{hints}}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   127
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   128
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   129
\rail@nont{\hyperlink{syntax.ZF.monos}{\mbox{\isa{monos}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   130
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   131
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   132
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   133
\rail@nont{\isa{condefs}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   134
\rail@endbar
42704
3f19e324ff59 tuned rail diagrams and layout;
wenzelm
parents: 42662
diff changeset
   135
\rail@cr{3}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   136
\rail@bar
42704
3f19e324ff59 tuned rail diagrams and layout;
wenzelm
parents: 42662
diff changeset
   137
\rail@nextbar{4}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   138
\rail@nont{\hyperlink{syntax.ZF.typeintros}{\mbox{\isa{typeintros}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   139
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   140
\rail@bar
42704
3f19e324ff59 tuned rail diagrams and layout;
wenzelm
parents: 42662
diff changeset
   141
\rail@nextbar{4}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   142
\rail@nont{\hyperlink{syntax.ZF.typeelims}{\mbox{\isa{typeelims}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   143
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   144
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   145
\rail@begin{1}{\indexdef{ZF}{syntax}{monos}\hypertarget{syntax.ZF.monos}{\hyperlink{syntax.ZF.monos}{\mbox{\isa{monos}}}}}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   146
\rail@term{\isa{\isakeyword{monos}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   147
\rail@nont{\hyperlink{syntax.thmrefs}{\mbox{\isa{thmrefs}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   148
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   149
\rail@begin{1}{\isa{condefs}}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   150
\rail@term{\isa{\isakeyword{con{\isaliteral{5F}{\isacharunderscore}}defs}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   151
\rail@nont{\hyperlink{syntax.thmrefs}{\mbox{\isa{thmrefs}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   152
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   153
\rail@begin{1}{\indexdef{ZF}{syntax}{typeintros}\hypertarget{syntax.ZF.typeintros}{\hyperlink{syntax.ZF.typeintros}{\mbox{\isa{typeintros}}}}}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   154
\rail@term{\isa{\isakeyword{type{\isaliteral{5F}{\isacharunderscore}}intros}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   155
\rail@nont{\hyperlink{syntax.thmrefs}{\mbox{\isa{thmrefs}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   156
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   157
\rail@begin{1}{\indexdef{ZF}{syntax}{typeelims}\hypertarget{syntax.ZF.typeelims}{\hyperlink{syntax.ZF.typeelims}{\mbox{\isa{typeelims}}}}}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   158
\rail@term{\isa{\isakeyword{type{\isaliteral{5F}{\isacharunderscore}}elims}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   159
\rail@nont{\hyperlink{syntax.thmrefs}{\mbox{\isa{thmrefs}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   160
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   161
\end{railoutput}
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   162
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   163
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   164
  In the following syntax specification \isa{{\isaliteral{22}{\isachardoublequote}}monos{\isaliteral{22}{\isachardoublequote}}}, \isa{typeintros}, and \isa{typeelims} are the same as above.
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   165
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   166
  \begin{railoutput}
42662
2080fe35abea updated generated files;
wenzelm
parents: 42651
diff changeset
   167
\rail@begin{2}{}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   168
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   169
\rail@term{\hyperlink{command.ZF.datatype}{\mbox{\isa{\isacommand{datatype}}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   170
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   171
\rail@term{\hyperlink{command.ZF.codatatype}{\mbox{\isa{\isacommand{codatatype}}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   172
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   173
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   174
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   175
\rail@nont{\isa{domain}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   176
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   177
\rail@plus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   178
\rail@nont{\isa{dtspec}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   179
\rail@nextplus{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   180
\rail@cterm{\isa{\isakeyword{and}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   181
\rail@endplus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   182
\rail@nont{\isa{hints}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   183
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   184
\rail@begin{2}{\isa{domain}}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   185
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   186
\rail@term{\isa{{\isaliteral{3C}{\isacharless}}{\isaliteral{3D}{\isacharequal}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   187
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   188
\rail@term{\isa{{\isaliteral{5C3C73756273657465713E}{\isasymsubseteq}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   189
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   190
\rail@nont{\hyperlink{syntax.term}{\mbox{\isa{term}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   191
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   192
\rail@begin{2}{\isa{dtspec}}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   193
\rail@nont{\hyperlink{syntax.term}{\mbox{\isa{term}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   194
\rail@term{\isa{{\isaliteral{3D}{\isacharequal}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   195
\rail@plus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   196
\rail@nont{\isa{con}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   197
\rail@nextplus{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   198
\rail@cterm{\isa{{\isaliteral{7C}{\isacharbar}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   199
\rail@endplus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   200
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   201
\rail@begin{3}{\isa{con}}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   202
\rail@nont{\hyperlink{syntax.name}{\mbox{\isa{name}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   203
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   204
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   205
\rail@term{\isa{{\isaliteral{28}{\isacharparenleft}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   206
\rail@plus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   207
\rail@nont{\hyperlink{syntax.term}{\mbox{\isa{term}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   208
\rail@term{\isa{{\isaliteral{2C}{\isacharcomma}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   209
\rail@nextplus{2}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   210
\rail@endplus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   211
\rail@term{\isa{{\isaliteral{29}{\isacharparenright}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   212
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   213
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   214
\rail@begin{2}{\isa{hints}}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   215
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   216
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   217
\rail@nont{\hyperlink{syntax.ZF.monos}{\mbox{\isa{monos}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   218
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   219
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   220
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   221
\rail@nont{\hyperlink{syntax.ZF.typeintros}{\mbox{\isa{typeintros}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   222
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   223
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   224
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   225
\rail@nont{\hyperlink{syntax.ZF.typeelims}{\mbox{\isa{typeelims}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   226
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   227
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   228
\end{railoutput}
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   229
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   230
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   231
  See \cite{isabelle-ZF} for further information on inductive
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   232
  definitions in ZF, but note that this covers the old-style theory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   233
  format.%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   234
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   235
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   236
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   237
\isamarkupsubsection{Primitive recursive functions%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   238
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   239
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   240
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   241
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   242
\begin{matharray}{rcl}
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   243
    \indexdef{ZF}{command}{primrec}\hypertarget{command.ZF.primrec}{\hyperlink{command.ZF.primrec}{\mbox{\isa{\isacommand{primrec}}}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}theory\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}\ theory{\isaliteral{22}{\isachardoublequote}}} \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   244
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   245
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   246
  \begin{railoutput}
42662
2080fe35abea updated generated files;
wenzelm
parents: 42651
diff changeset
   247
\rail@begin{3}{}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   248
\rail@term{\hyperlink{command.ZF.primrec}{\mbox{\isa{\isacommand{primrec}}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   249
\rail@plus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   250
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   251
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   252
\rail@nont{\hyperlink{syntax.thmdecl}{\mbox{\isa{thmdecl}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   253
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   254
\rail@nont{\hyperlink{syntax.prop}{\mbox{\isa{prop}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   255
\rail@nextplus{2}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   256
\rail@endplus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   257
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   258
\end{railoutput}%
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   259
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   260
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   261
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   262
\isamarkupsubsection{Cases and induction: emulating tactic scripts%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   263
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   264
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   265
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   266
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   267
The following important tactical tools of Isabelle/ZF have been
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   268
  ported to Isar.  These should not be used in proper proof texts.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   269
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   270
  \begin{matharray}{rcl}
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   271
    \indexdef{ZF}{method}{case\_tac}\hypertarget{method.ZF.case-tac}{\hyperlink{method.ZF.case-tac}{\mbox{\isa{case{\isaliteral{5F}{\isacharunderscore}}tac}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{method} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   272
    \indexdef{ZF}{method}{induct\_tac}\hypertarget{method.ZF.induct-tac}{\hyperlink{method.ZF.induct-tac}{\mbox{\isa{induct{\isaliteral{5F}{\isacharunderscore}}tac}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{method} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   273
    \indexdef{ZF}{method}{ind\_cases}\hypertarget{method.ZF.ind-cases}{\hyperlink{method.ZF.ind-cases}{\mbox{\isa{ind{\isaliteral{5F}{\isacharunderscore}}cases}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{method} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   274
    \indexdef{ZF}{command}{inductive\_cases}\hypertarget{command.ZF.inductive-cases}{\hyperlink{command.ZF.inductive-cases}{\mbox{\isa{\isacommand{inductive{\isaliteral{5F}{\isacharunderscore}}cases}}}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}theory\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}\ theory{\isaliteral{22}{\isachardoublequote}}} \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   275
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   276
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   277
  \begin{railoutput}
42662
2080fe35abea updated generated files;
wenzelm
parents: 42651
diff changeset
   278
\rail@begin{2}{}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   279
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   280
\rail@term{\hyperlink{method.ZF.case-tac}{\mbox{\isa{case{\isaliteral{5F}{\isacharunderscore}}tac}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   281
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   282
\rail@term{\hyperlink{method.ZF.induct-tac}{\mbox{\isa{induct{\isaliteral{5F}{\isacharunderscore}}tac}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   283
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   284
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   285
\rail@nextbar{1}
42705
528a2ba8fa74 tuned some syntax names;
wenzelm
parents: 42704
diff changeset
   286
\rail@nont{\hyperlink{syntax.goal-spec}{\mbox{\isa{goal{\isaliteral{5F}{\isacharunderscore}}spec}}}}[]
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   287
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   288
\rail@nont{\hyperlink{syntax.name}{\mbox{\isa{name}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   289
\rail@end
42662
2080fe35abea updated generated files;
wenzelm
parents: 42651
diff changeset
   290
\rail@begin{2}{}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   291
\rail@term{\hyperlink{method.ZF.ind-cases}{\mbox{\isa{ind{\isaliteral{5F}{\isacharunderscore}}cases}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   292
\rail@plus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   293
\rail@nont{\hyperlink{syntax.prop}{\mbox{\isa{prop}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   294
\rail@nextplus{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   295
\rail@endplus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   296
\rail@end
42662
2080fe35abea updated generated files;
wenzelm
parents: 42651
diff changeset
   297
\rail@begin{3}{}
42596
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   298
\rail@term{\hyperlink{command.ZF.inductive-cases}{\mbox{\isa{\isacommand{inductive{\isaliteral{5F}{\isacharunderscore}}cases}}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   299
\rail@plus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   300
\rail@bar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   301
\rail@nextbar{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   302
\rail@nont{\hyperlink{syntax.thmdecl}{\mbox{\isa{thmdecl}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   303
\rail@endbar
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   304
\rail@plus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   305
\rail@nont{\hyperlink{syntax.prop}{\mbox{\isa{prop}}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   306
\rail@nextplus{1}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   307
\rail@endplus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   308
\rail@nextplus{2}
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   309
\rail@cterm{\isa{\isakeyword{and}}}[]
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   310
\rail@endplus
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   311
\rail@end
6c621a9d612a modernized rail diagrams using @{rail} antiquotation;
wenzelm
parents: 40406
diff changeset
   312
\end{railoutput}%
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   313
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   314
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   315
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   316
\isadelimtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   317
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   318
\endisadelimtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   319
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   320
\isatagtheory
26840
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   321
\isacommand{end}\isamarkupfalse%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   322
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   323
\endisatagtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   324
{\isafoldtheory}%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   325
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   326
\isadelimtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   327
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   328
\endisadelimtheory
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   329
\isanewline
26840
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   330
\end{isabellebody}%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   331
%%% Local Variables:
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   332
%%% mode: latex
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   333
%%% TeX-master: "root"
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   334
%%% End: