doc-src/IsarRef/Thy/document/ZF_Specific.tex
author wenzelm
Thu, 15 May 2008 17:39:20 +0200
changeset 26902 8db1e960d636
parent 26895 d066f9db833b
child 26907 75466ad27dd7
permissions -rw-r--r--
updated generated file;
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
\isanewline
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     7
\isanewline
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     8
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
     9
\endisadelimtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
    10
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
    11
\isatagtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
    12
\isacommand{theory}\isamarkupfalse%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
    13
\ ZF{\isacharunderscore}Specific\isanewline
26895
d066f9db833b updated generated file;
wenzelm
parents: 26854
diff changeset
    14
\isakeyword{imports}\ Main\isanewline
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    15
\isakeyword{begin}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    16
\endisatagtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    17
{\isafoldtheory}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    18
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    19
\isadelimtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    20
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    21
\endisadelimtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    22
%
26852
a31203f58b20 misc tuning;
wenzelm
parents: 26845
diff changeset
    23
\isamarkupchapter{Isabelle/ZF \label{ch:zf}%
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    24
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    25
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    26
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    27
\isamarkupsection{Type checking%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    28
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    29
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    30
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    31
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    32
The ZF logic is essentially untyped, so the concept of ``type
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    33
  checking'' is performed as logical reasoning about set-membership
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    34
  statements.  A special method assists users in this task; a version
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    35
  of this is already declared as a ``solver'' in the standard
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    36
  Simplifier setup.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    37
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    38
  \begin{matharray}{rcl}
26902
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
    39
    \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}} & : & \isarkeep{theory~|~proof} \\
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
    40
    \indexdef{ZF}{method}{typecheck}\hypertarget{method.ZF.typecheck}{\hyperlink{method.ZF.typecheck}{\mbox{\isa{typecheck}}}} & : & \isarmeth \\
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
    41
    \indexdef{ZF}{attribute}{TC}\hypertarget{attribute.ZF.TC}{\hyperlink{attribute.ZF.TC}{\mbox{\isa{TC}}}} & : & \isaratt \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    42
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    43
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    44
  \begin{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    45
    'TC' (() | 'add' | 'del')
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    46
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    47
  \end{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    48
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    49
  \begin{descr}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    50
  
26902
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
    51
  \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
    52
  typechecking rules of the current context.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    53
  
26902
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
    54
  \item [\hyperlink{method.ZF.typecheck}{\mbox{\isa{typecheck}}}] attempts to solve any pending
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    55
  type-checking problems in subgoals.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    56
  
26902
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
    57
  \item [\hyperlink{attribute.ZF.TC}{\mbox{\isa{TC}}}] adds or deletes type-checking rules
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    58
  from the context.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    59
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    60
  \end{descr}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    61
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    62
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    63
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    64
\isamarkupsection{(Co)Inductive sets and datatypes%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    65
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    66
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    67
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    68
\isamarkupsubsection{Set definitions%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    69
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    70
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    71
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    72
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    73
In ZF everything is a set.  The generic inductive package also
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    74
  provides a specific view for ``datatype'' specifications.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    75
  Coinductive definitions are available in both cases, too.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    76
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    77
  \begin{matharray}{rcl}
26902
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
    78
    \indexdef{ZF}{command}{inductive}\hypertarget{command.ZF.inductive}{\hyperlink{command.ZF.inductive}{\mbox{\isa{\isacommand{inductive}}}}} & : & \isartrans{theory}{theory} \\
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
    79
    \indexdef{ZF}{command}{coinductive}\hypertarget{command.ZF.coinductive}{\hyperlink{command.ZF.coinductive}{\mbox{\isa{\isacommand{coinductive}}}}} & : & \isartrans{theory}{theory} \\
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
    80
    \indexdef{ZF}{command}{datatype}\hypertarget{command.ZF.datatype}{\hyperlink{command.ZF.datatype}{\mbox{\isa{\isacommand{datatype}}}}} & : & \isartrans{theory}{theory} \\
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
    81
    \indexdef{ZF}{command}{codatatype}\hypertarget{command.ZF.codatatype}{\hyperlink{command.ZF.codatatype}{\mbox{\isa{\isacommand{codatatype}}}}} & : & \isartrans{theory}{theory} \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    82
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    83
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    84
  \begin{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    85
    ('inductive' | 'coinductive') domains intros hints
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    86
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    87
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    88
    domains: 'domains' (term + '+') ('<=' | subseteq) term
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    89
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    90
    intros: 'intros' (thmdecl? prop +)
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    91
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    92
    hints: monos? condefs? typeintros? typeelims?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    93
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    94
    monos: ('monos' thmrefs)?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    95
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    96
    condefs: ('con\_defs' thmrefs)?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    97
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    98
    typeintros: ('type\_intros' thmrefs)?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
    99
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   100
    typeelims: ('type\_elims' thmrefs)?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   101
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   102
  \end{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   103
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   104
  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
   105
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   106
  \begin{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   107
    ('datatype' | 'codatatype') domain? (dtspec + 'and') hints
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   108
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   109
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   110
    domain: ('<=' | subseteq) term
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   111
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   112
    dtspec: term '=' (con + '|')
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   113
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   114
    con: name ('(' (term ',' +) ')')?  
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   115
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   116
    hints: monos? typeintros? typeelims?
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   117
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   118
  \end{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   119
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   120
  See \cite{isabelle-ZF} for further information on inductive
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   121
  definitions in ZF, but note that this covers the old-style theory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   122
  format.%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   123
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   124
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   125
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   126
\isamarkupsubsection{Primitive recursive functions%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   127
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   128
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   129
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   130
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   131
\begin{matharray}{rcl}
26902
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
   132
    \indexdef{ZF}{command}{primrec}\hypertarget{command.ZF.primrec}{\hyperlink{command.ZF.primrec}{\mbox{\isa{\isacommand{primrec}}}}} & : & \isartrans{theory}{theory} \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   133
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   134
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   135
  \begin{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   136
    'primrec' (thmdecl? prop +)
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   137
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   138
  \end{rail}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   139
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   140
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   141
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   142
\isamarkupsubsection{Cases and induction: emulating tactic scripts%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   143
}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   144
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   145
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   146
\begin{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   147
The following important tactical tools of Isabelle/ZF have been
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   148
  ported to Isar.  These should not be used in proper proof texts.
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   149
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   150
  \begin{matharray}{rcl}
26902
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
   151
    \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}} & : & \isarmeth \\
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
   152
    \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}} & : & \isarmeth \\
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
   153
    \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}} & : & \isarmeth \\
8db1e960d636 updated generated file;
wenzelm
parents: 26895
diff changeset
   154
    \indexdef{ZF}{command}{inductive\_cases}\hypertarget{command.ZF.inductive_cases}{\hyperlink{command.ZF.inductive_cases}{\mbox{\isa{\isacommand{inductive{\isacharunderscore}cases}}}}} & : & \isartrans{theory}{theory} \\
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   155
  \end{matharray}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   156
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   157
  \begin{rail}
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   158
    ('case\_tac' | 'induct\_tac') goalspec? name
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   159
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   160
    indcases (prop +)
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   161
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   162
    inductivecases (thmdecl? (prop +) + 'and')
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   163
    ;
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   164
  \end{rail}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   165
\end{isamarkuptext}%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   166
\isamarkuptrue%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   167
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   168
\isadelimtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   169
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   170
\endisadelimtheory
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   171
%
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   172
\isatagtheory
26840
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   173
\isacommand{end}\isamarkupfalse%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   174
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   175
\endisatagtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   176
{\isafoldtheory}%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   177
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   178
\isadelimtheory
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   179
%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   180
\endisadelimtheory
26845
d86eb226ecba converted ZF specific elements;
wenzelm
parents: 26840
diff changeset
   181
\isanewline
26840
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   182
\end{isabellebody}%
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   183
%%% Local Variables:
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   184
%%% mode: latex
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   185
%%% TeX-master: "root"
ec46381f149d added logic-specific sessions;
wenzelm
parents:
diff changeset
   186
%%% End: