doc-src/IsarRef/Thy/document/ZF_Specific.tex
author wenzelm
Wed, 15 Apr 2009 11:14:48 +0200
changeset 30895 bad26d8f0adf
parent 30172 afdf7808cfd0
child 40255 9ffbc25e1606
permissions -rw-r--r--
updated for Isabelle2009;
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}%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     3
\def\isabellecontext{ZF{\isacharunderscore}Specific}%
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%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
    11
\ ZF{\isacharunderscore}Specific\isanewline
26895
d066f9db833b updated generated file;
wenzelm
parents: 26854
diff changeset
    12
\isakeyword{imports}\ 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}
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    37
    \indexdef{ZF}{command}{print\_tcset}\hypertarget{command.ZF.print-tcset}{\hyperlink{command.ZF.print-tcset}{\mbox{\isa{\isacommand{print{\isacharunderscore}tcset}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}context\ {\isasymrightarrow}{\isachardoublequote}} \\
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
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    42
  \begin{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    43
    'TC' (() | 'add' | 'del')
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    44
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    45
  \end{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    46
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    47
  \begin{description}
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    48
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    49
  \item \hyperlink{command.ZF.print-tcset}{\mbox{\isa{\isacommand{print{\isacharunderscore}tcset}}}} prints the collection of
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    50
  typechecking rules of the current context.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    51
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    52
  \item \hyperlink{method.ZF.typecheck}{\mbox{\isa{typecheck}}} attempts to solve any pending
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    53
  type-checking problems in subgoals.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    54
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    55
  \item \hyperlink{attribute.ZF.TC}{\mbox{\isa{TC}}} adds or deletes type-checking rules from
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    56
  the context.
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    57
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    58
  \end{description}%
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    59
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    60
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    61
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    62
\isamarkupsection{(Co)Inductive sets and datatypes%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    63
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    64
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    65
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    66
\isamarkupsubsection{Set definitions%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    67
}
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
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    71
In ZF everything is a set.  The generic inductive package also
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    72
  provides a specific view for ``datatype'' specifications.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    73
  Coinductive definitions are available in both cases, too.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    74
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    75
  \begin{matharray}{rcl}
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    76
    \indexdef{ZF}{command}{inductive}\hypertarget{command.ZF.inductive}{\hyperlink{command.ZF.inductive}{\mbox{\isa{\isacommand{inductive}}}}} & : & \isa{{\isachardoublequote}theory\ {\isasymrightarrow}\ theory{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    77
    \indexdef{ZF}{command}{coinductive}\hypertarget{command.ZF.coinductive}{\hyperlink{command.ZF.coinductive}{\mbox{\isa{\isacommand{coinductive}}}}} & : & \isa{{\isachardoublequote}theory\ {\isasymrightarrow}\ theory{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    78
    \indexdef{ZF}{command}{datatype}\hypertarget{command.ZF.datatype}{\hyperlink{command.ZF.datatype}{\mbox{\isa{\isacommand{datatype}}}}} & : & \isa{{\isachardoublequote}theory\ {\isasymrightarrow}\ theory{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
    79
    \indexdef{ZF}{command}{codatatype}\hypertarget{command.ZF.codatatype}{\hyperlink{command.ZF.codatatype}{\mbox{\isa{\isacommand{codatatype}}}}} & : & \isa{{\isachardoublequote}theory\ {\isasymrightarrow}\ theory{\isachardoublequote}} \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    80
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    81
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    82
  \begin{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    83
    ('inductive' | 'coinductive') domains intros hints
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    84
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    85
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    86
    domains: 'domains' (term + '+') ('<=' | subseteq) term
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    87
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    88
    intros: 'intros' (thmdecl? prop +)
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    89
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    90
    hints: monos? condefs? typeintros? typeelims?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    91
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    92
    monos: ('monos' thmrefs)?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    93
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    94
    condefs: ('con\_defs' thmrefs)?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    95
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    96
    typeintros: ('type\_intros' thmrefs)?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    97
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    98
    typeelims: ('type\_elims' thmrefs)?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    99
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   100
  \end{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   101
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   102
  In the following syntax specification \isa{{\isachardoublequote}monos{\isachardoublequote}}, \isa{typeintros}, and \isa{typeelims} are the same as above.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   103
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   104
  \begin{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   105
    ('datatype' | 'codatatype') domain? (dtspec + 'and') hints
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   106
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   107
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   108
    domain: ('<=' | subseteq) term
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   109
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   110
    dtspec: term '=' (con + '|')
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   111
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   112
    con: name ('(' (term ',' +) ')')?  
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   113
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   114
    hints: monos? typeintros? typeelims?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   115
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   116
  \end{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   117
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   118
  See \cite{isabelle-ZF} for further information on inductive
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   119
  definitions in ZF, but note that this covers the old-style theory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   120
  format.%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   121
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   122
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   123
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   124
\isamarkupsubsection{Primitive recursive functions%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   125
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   126
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   127
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   128
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   129
\begin{matharray}{rcl}
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
   130
    \indexdef{ZF}{command}{primrec}\hypertarget{command.ZF.primrec}{\hyperlink{command.ZF.primrec}{\mbox{\isa{\isacommand{primrec}}}}} & : & \isa{{\isachardoublequote}theory\ {\isasymrightarrow}\ theory{\isachardoublequote}} \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   131
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   132
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   133
  \begin{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   134
    'primrec' (thmdecl? prop +)
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   135
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   136
  \end{rail}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   137
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   138
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   139
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   140
\isamarkupsubsection{Cases and induction: emulating tactic scripts%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   141
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   142
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   143
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   144
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   145
The following important tactical tools of Isabelle/ZF have been
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   146
  ported to Isar.  These should not be used in proper proof texts.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   147
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   148
  \begin{matharray}{rcl}
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
   149
    \indexdef{ZF}{method}{case\_tac}\hypertarget{method.ZF.case-tac}{\hyperlink{method.ZF.case-tac}{\mbox{\isa{case{\isacharunderscore}tac}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{method} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
   150
    \indexdef{ZF}{method}{induct\_tac}\hypertarget{method.ZF.induct-tac}{\hyperlink{method.ZF.induct-tac}{\mbox{\isa{induct{\isacharunderscore}tac}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{method} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
   151
    \indexdef{ZF}{method}{ind\_cases}\hypertarget{method.ZF.ind-cases}{\hyperlink{method.ZF.ind-cases}{\mbox{\isa{ind{\isacharunderscore}cases}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{method} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 26907
diff changeset
   152
    \indexdef{ZF}{command}{inductive\_cases}\hypertarget{command.ZF.inductive-cases}{\hyperlink{command.ZF.inductive-cases}{\mbox{\isa{\isacommand{inductive{\isacharunderscore}cases}}}}} & : & \isa{{\isachardoublequote}theory\ {\isasymrightarrow}\ theory{\isachardoublequote}} \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   153
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   154
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   155
  \begin{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   156
    ('case\_tac' | 'induct\_tac') goalspec? name
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   157
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   158
    indcases (prop +)
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   159
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   160
    inductivecases (thmdecl? (prop +) + 'and')
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   161
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   162
  \end{rail}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   163
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   164
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   165
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   166
\isadelimtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   167
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   168
\endisadelimtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   169
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   170
\isatagtheory
26840
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   171
\isacommand{end}\isamarkupfalse%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   172
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   173
\endisatagtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   174
{\isafoldtheory}%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   175
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   176
\isadelimtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   177
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   178
\endisadelimtheory
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   179
\isanewline
26840
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   180
\end{isabellebody}%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   181
%%% Local Variables:
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   182
%%% mode: latex
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   183
%%% TeX-master: "root"
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   184
%%% End: