doc-src/Locales/Locales/document/Examples.tex
author ballarin
Sat, 28 Mar 2009 22:14:21 +0100
changeset 30780 c3f1e8a9e0b5
parent 30580 cc5a55d7a5be
child 30826 a53f4872400e
permissions -rw-r--r--
Default mode of qualifiers in locale commands.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     1
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     2
\begin{isabellebody}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     3
\def\isabellecontext{Examples}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     4
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     5
\isadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     6
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     7
\endisadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     8
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     9
\isatagtheory
27080
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    10
\isacommand{theory}\isamarkupfalse%
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    11
\ Examples\isanewline
27375
8d2c3d61c502 adjusted import
haftmann
parents: 27080
diff changeset
    12
\isakeyword{imports}\ Main\ GCD\isanewline
27080
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    13
\isakeyword{begin}%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    14
\endisatagtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    15
{\isafoldtheory}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    16
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    17
\isadelimtheory
27080
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    18
\isanewline
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    19
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    20
\endisadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    21
%
27080
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    22
\isadeliminvisible
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    23
\isanewline
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    24
%
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    25
\endisadeliminvisible
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    26
%
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    27
\isataginvisible
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    28
\isacommand{hide}\isamarkupfalse%
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    29
\ const\ Lattices{\isachardot}lattice\isanewline
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    30
\isacommand{pretty{\isacharunderscore}setmargin}\isamarkupfalse%
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    31
\ {\isadigit{6}}{\isadigit{5}}%
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    32
\endisataginvisible
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    33
{\isafoldinvisible}%
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    34
%
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    35
\isadeliminvisible
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    36
%
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    37
\endisadeliminvisible
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    38
%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    39
\isamarkupsection{Introduction%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    40
}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    41
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    42
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    43
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    44
Locales are based on contexts.  A \emph{context} can be seen as a
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    45
  formula schema
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    46
\[
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    47
  \isa{{\isasymAnd}x\isactrlsub {\isadigit{1}}{\isasymdots}x\isactrlsub n{\isachardot}\ {\isasymlbrakk}\ A\isactrlsub {\isadigit{1}}{\isacharsemicolon}\ {\isasymdots}\ {\isacharsemicolon}A\isactrlsub m\ {\isasymrbrakk}\ {\isasymLongrightarrow}\ {\isasymdots}}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    48
\]
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    49
  where variables \isa{x\isactrlsub {\isadigit{1}}}, \ldots, \isa{x\isactrlsub n} are called
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    50
  \emph{parameters} and the premises $\isa{A\isactrlsub {\isadigit{1}}}, \ldots,
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    51
  \isa{A\isactrlsub m}$ \emph{assumptions}.  A formula \isa{C}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    52
  is a \emph{theorem} in the context if it is a conclusion
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    53
\[
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    54
%\label{eq-fact-in-context}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    55
  \isa{{\isasymAnd}x\isactrlsub {\isadigit{1}}{\isasymdots}x\isactrlsub n{\isachardot}\ {\isasymlbrakk}\ A\isactrlsub {\isadigit{1}}{\isacharsemicolon}\ {\isasymdots}\ {\isacharsemicolon}A\isactrlsub m\ {\isasymrbrakk}\ {\isasymLongrightarrow}\ C}.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    56
\]
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    57
  Isabelle/Isar's notion of context goes beyond this logical view.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    58
  Its contexts record, in a consecutive order, proved
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    59
  conclusions along with attributes, which
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    60
  may control proof procedures.  Contexts also contain syntax information
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    61
  for parameters and for terms depending on them.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    62
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    63
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    64
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    65
\isamarkupsection{Simple Locales%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    66
}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    67
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    68
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    69
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    70
Locales can be seen as persistent contexts.  In its simplest form, a
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    71
  \emph{locale declaration} consists of a sequence of context elements
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    72
  declaring parameters (keyword \isakeyword{fixes}) and assumptions
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    73
  (keyword \isakeyword{assumes}).  The following is the specification of
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    74
  partial orders, as locale \isa{partial{\isacharunderscore}order}.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    75
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    76
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    77
\ \ \isacommand{locale}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    78
\ partial{\isacharunderscore}order\ {\isacharequal}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    79
\ \ \ \ \isakeyword{fixes}\ le\ {\isacharcolon}{\isacharcolon}\ {\isachardoublequoteopen}{\isacharprime}a\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ bool{\isachardoublequoteclose}\ {\isacharparenleft}\isakeyword{infixl}\ {\isachardoublequoteopen}{\isasymsqsubseteq}{\isachardoublequoteclose}\ {\isadigit{5}}{\isadigit{0}}{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    80
\ \ \ \ \isakeyword{assumes}\ refl\ {\isacharbrackleft}intro{\isacharcomma}\ simp{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    81
\ \ \ \ \ \ \isakeyword{and}\ anti{\isacharunderscore}sym\ {\isacharbrackleft}intro{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}{\isasymlbrakk}\ x\ {\isasymsqsubseteq}\ y{\isacharsemicolon}\ y\ {\isasymsqsubseteq}\ x\ {\isasymrbrakk}\ {\isasymLongrightarrow}\ x\ {\isacharequal}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    82
\ \ \ \ \ \ \isakeyword{and}\ trans\ {\isacharbrackleft}trans{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}{\isasymlbrakk}\ x\ {\isasymsqsubseteq}\ y{\isacharsemicolon}\ y\ {\isasymsqsubseteq}\ z\ {\isasymrbrakk}\ {\isasymLongrightarrow}\ x\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    83
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    84
The parameter of this locale is \isa{le}, with infix syntax
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    85
  \isa{{\isasymsqsubseteq}}.  There is an implicit type parameter \isa{{\isacharprime}a}.  It
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    86
  is not necessary to declare parameter types: most general types will
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    87
  be inferred from the context elements for all parameters.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    88
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    89
  The above declaration not only introduces the locale, it also
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    90
  defines the \emph{locale predicate} \isa{partial{\isacharunderscore}order} with
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    91
  definition \isa{partial{\isacharunderscore}order{\isacharunderscore}def}:
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    92
  \begin{isabelle}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    93
\ \ partial{\isacharunderscore}order\ {\isacharquery}le\ {\isasymequiv}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    94
\isaindent{\ \ }{\isacharparenleft}{\isasymforall}x{\isachardot}\ {\isacharquery}le\ x\ x{\isacharparenright}\ {\isasymand}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    95
\isaindent{\ \ }{\isacharparenleft}{\isasymforall}x\ y{\isachardot}\ {\isacharquery}le\ x\ y\ {\isasymlongrightarrow}\ {\isacharquery}le\ y\ x\ {\isasymlongrightarrow}\ x\ {\isacharequal}\ y{\isacharparenright}\ {\isasymand}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    96
\isaindent{\ \ }{\isacharparenleft}{\isasymforall}x\ y\ z{\isachardot}\ {\isacharquery}le\ x\ y\ {\isasymlongrightarrow}\ {\isacharquery}le\ y\ z\ {\isasymlongrightarrow}\ {\isacharquery}le\ x\ z{\isacharparenright}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    97
\end{isabelle}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    98
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    99
  The specification of a locale is fixed, but its list of conclusions
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   100
  may be extended through Isar commands that take a \emph{target} argument.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   101
  In the following, \isakeyword{definition} and 
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   102
  \isakeyword{theorem} are illustrated.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   103
  Table~\ref{tab:commands-with-target} lists Isar commands that accept
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   104
  a target.  There are various ways of specifying the target.  A
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   105
  target for a single command may be indicated with keyword
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   106
  \isakeyword{in} in the following way:
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   107
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   108
\begin{table}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   109
\hrule
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   110
\vspace{2ex}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   111
\begin{center}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   112
\begin{tabular}{ll}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   113
  \isakeyword{definition} & definition through an equation \\
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   114
  \isakeyword{inductive} & inductive definition \\
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   115
  \isakeyword{fun}, \isakeyword{function} & recursive function \\
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   116
  \isakeyword{abbreviation} & syntactic abbreviation \\
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   117
  \isakeyword{theorem}, etc.\ & theorem statement with proof \\
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   118
  \isakeyword{theorems}, etc.\ & redeclaration of theorems
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   119
\end{tabular}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   120
\end{center}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   121
\hrule
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   122
\caption{Isar commands that accept a target.}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   123
\label{tab:commands-with-target}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   124
\end{table}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   125
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   126
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   127
\ \ \isacommand{definition}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   128
\ {\isacharparenleft}\isakeyword{in}\ partial{\isacharunderscore}order{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   129
\ \ \ \ less\ {\isacharcolon}{\isacharcolon}\ {\isachardoublequoteopen}{\isacharprime}a\ {\isasymRightarrow}\ {\isacharprime}a\ {\isasymRightarrow}\ bool{\isachardoublequoteclose}\ {\isacharparenleft}\isakeyword{infixl}\ {\isachardoublequoteopen}{\isasymsqsubset}{\isachardoublequoteclose}\ {\isadigit{5}}{\isadigit{0}}{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   130
\ \ \ \ \isakeyword{where}\ {\isachardoublequoteopen}{\isacharparenleft}x\ {\isasymsqsubset}\ y{\isacharparenright}\ {\isacharequal}\ {\isacharparenleft}x\ {\isasymsqsubseteq}\ y\ {\isasymand}\ x\ {\isasymnoteq}\ y{\isacharparenright}{\isachardoublequoteclose}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   131
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   132
A definition in a locale depends on the locale parameters.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   133
  Here, a global constant \isa{partial{\isacharunderscore}order{\isachardot}less} is declared, which is lifted over the
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   134
  locale parameter \isa{le}.  Its definition is the global theorem
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   135
  \isa{partial{\isacharunderscore}order{\isachardot}less{\isacharunderscore}def}:
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   136
  \begin{isabelle}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   137
\ \ partial{\isacharunderscore}order\ {\isacharquery}le\ {\isasymLongrightarrow}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   138
\isaindent{\ \ }partial{\isacharunderscore}order{\isachardot}less\ {\isacharquery}le\ {\isacharquery}x\ {\isacharquery}y\ {\isacharequal}\ {\isacharparenleft}{\isacharquery}le\ {\isacharquery}x\ {\isacharquery}y\ {\isasymand}\ {\isacharquery}x\ {\isasymnoteq}\ {\isacharquery}y{\isacharparenright}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   139
\end{isabelle}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   140
  At the same time, the locale is extended by syntax information
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   141
  hiding this construction in the context of the locale.  That is,
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   142
  \isa{partial{\isacharunderscore}order{\isachardot}less\ le} is printed and parsed as infix
30393
aa6f42252bf6 replaced old locale option by proper "text (in locale)";
wenzelm
parents: 29567
diff changeset
   143
  \isa{{\isasymsqsubset}}.%
aa6f42252bf6 replaced old locale option by proper "text (in locale)";
wenzelm
parents: 29567
diff changeset
   144
\end{isamarkuptext}%
aa6f42252bf6 replaced old locale option by proper "text (in locale)";
wenzelm
parents: 29567
diff changeset
   145
\isamarkuptrue%
aa6f42252bf6 replaced old locale option by proper "text (in locale)";
wenzelm
parents: 29567
diff changeset
   146
%
aa6f42252bf6 replaced old locale option by proper "text (in locale)";
wenzelm
parents: 29567
diff changeset
   147
\begin{isamarkuptext}%
aa6f42252bf6 replaced old locale option by proper "text (in locale)";
wenzelm
parents: 29567
diff changeset
   148
Finally, the conclusion of the definition
aa6f42252bf6 replaced old locale option by proper "text (in locale)";
wenzelm
parents: 29567
diff changeset
   149
  is added to the locale, \isa{less{\isacharunderscore}def}:
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   150
  \begin{isabelle}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   151
\ \ {\isacharparenleft}{\isacharquery}x\ {\isasymsqsubset}\ {\isacharquery}y{\isacharparenright}\ {\isacharequal}\ {\isacharparenleft}{\isacharquery}x\ {\isasymsqsubseteq}\ {\isacharquery}y\ {\isasymand}\ {\isacharquery}x\ {\isasymnoteq}\ {\isacharquery}y{\isacharparenright}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   152
\end{isabelle}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   153
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   154
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   155
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   156
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   157
As an example of a theorem statement in the locale, here is the
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   158
  derivation of a transitivity law.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   159
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   160
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   161
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   162
\ {\isacharparenleft}\isakeyword{in}\ partial{\isacharunderscore}order{\isacharparenright}\ less{\isacharunderscore}le{\isacharunderscore}trans\ {\isacharbrackleft}trans{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   163
\ \ \ \ {\isachardoublequoteopen}{\isasymlbrakk}\ x\ {\isasymsqsubset}\ y{\isacharsemicolon}\ y\ {\isasymsqsubseteq}\ z\ {\isasymrbrakk}\ {\isasymLongrightarrow}\ x\ {\isasymsqsubset}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   164
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   165
\isadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   166
\ \ \ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   167
\endisadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   168
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   169
\isatagvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   170
\isacommand{unfolding}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   171
\ less{\isacharunderscore}def\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   172
\ {\isacharparenleft}blast\ intro{\isacharcolon}\ trans{\isacharparenright}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   173
\endisatagvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   174
{\isafoldvisible}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   175
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   176
\isadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   177
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   178
\endisadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   179
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   180
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   181
In the context of the proof, assumptions and theorems of the
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   182
  locale may be used.  Attributes are effective: \isa{anti{\isacharunderscore}sym} was
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   183
  declared as introduction rule, hence it is in the context's set of
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   184
  rules used by the classical reasoner by default.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   185
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   186
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   187
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   188
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   189
When working with locales, sequences of commands with the same
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   190
  target are frequent.  A block of commands, delimited by
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   191
  \isakeyword{begin} and \isakeyword{end}, makes a theory-like style
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   192
  of working possible.  All commands inside the block refer to the
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   193
  same target.  A block may immediately follow a locale
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   194
  declaration, which makes that locale the target.  Alternatively the
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   195
  target for a block may be given with the \isakeyword{context}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   196
  command.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   197
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   198
  This style of working is illustrated in the block below, where
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   199
  notions of infimum and supremum for partial orders are introduced,
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   200
  together with theorems.%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   201
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   202
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   203
\ \ \isacommand{context}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   204
\ partial{\isacharunderscore}order\ \isakeyword{begin}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   205
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   206
\ \ \isacommand{definition}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   207
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   208
\ \ \ \ is{\isacharunderscore}inf\ \isakeyword{where}\ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ i\ {\isacharequal}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   209
\ \ \ \ \ \ {\isacharparenleft}i\ {\isasymsqsubseteq}\ x\ {\isasymand}\ i\ {\isasymsqsubseteq}\ y\ {\isasymand}\ {\isacharparenleft}{\isasymforall}z{\isachardot}\ z\ {\isasymsqsubseteq}\ x\ {\isasymand}\ z\ {\isasymsqsubseteq}\ y\ {\isasymlongrightarrow}\ z\ {\isasymsqsubseteq}\ i{\isacharparenright}{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   210
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   211
\ \ \isacommand{definition}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   212
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   213
\ \ \ \ is{\isacharunderscore}sup\ \isakeyword{where}\ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ s\ {\isacharequal}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   214
\ \ \ \ \ \ {\isacharparenleft}x\ {\isasymsqsubseteq}\ s\ {\isasymand}\ y\ {\isasymsqsubseteq}\ s\ {\isasymand}\ {\isacharparenleft}{\isasymforall}z{\isachardot}\ x\ {\isasymsqsubseteq}\ z\ {\isasymand}\ y\ {\isasymsqsubseteq}\ z\ {\isasymlongrightarrow}\ s\ {\isasymsqsubseteq}\ z{\isacharparenright}{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   215
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   216
\isadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   217
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   218
\ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   219
\endisadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   220
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   221
\isataginvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   222
\isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   223
\ is{\isacharunderscore}infI\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}i\ {\isasymsqsubseteq}\ x\ {\isasymLongrightarrow}\ i\ {\isasymsqsubseteq}\ y\ {\isasymLongrightarrow}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   224
\ \ \ \ \ \ {\isacharparenleft}{\isasymAnd}z{\isachardot}\ z\ {\isasymsqsubseteq}\ x\ {\isasymLongrightarrow}\ z\ {\isasymsqsubseteq}\ y\ {\isasymLongrightarrow}\ z\ {\isasymsqsubseteq}\ i{\isacharparenright}\ {\isasymLongrightarrow}\ is{\isacharunderscore}inf\ x\ y\ i{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   225
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   226
\ {\isacharparenleft}unfold\ is{\isacharunderscore}inf{\isacharunderscore}def{\isacharparenright}\ blast\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   227
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   228
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   229
\ is{\isacharunderscore}inf{\isacharunderscore}lower\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   230
\ \ \ \ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ i\ {\isasymLongrightarrow}\ {\isacharparenleft}i\ {\isasymsqsubseteq}\ x\ {\isasymLongrightarrow}\ i\ {\isasymsqsubseteq}\ y\ {\isasymLongrightarrow}\ C{\isacharparenright}\ {\isasymLongrightarrow}\ C{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   231
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   232
\ {\isacharparenleft}unfold\ is{\isacharunderscore}inf{\isacharunderscore}def{\isacharparenright}\ blast\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   233
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   234
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   235
\ is{\isacharunderscore}inf{\isacharunderscore}greatest\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   236
\ \ \ \ \ \ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ i\ {\isasymLongrightarrow}\ z\ {\isasymsqsubseteq}\ x\ {\isasymLongrightarrow}\ z\ {\isasymsqsubseteq}\ y\ {\isasymLongrightarrow}\ z\ {\isasymsqsubseteq}\ i{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   237
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   238
\ {\isacharparenleft}unfold\ is{\isacharunderscore}inf{\isacharunderscore}def{\isacharparenright}\ blast%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   239
\endisataginvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   240
{\isafoldinvisible}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   241
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   242
\isadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   243
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   244
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   245
\endisadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   246
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   247
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   248
\ is{\isacharunderscore}inf{\isacharunderscore}uniq{\isacharcolon}\ {\isachardoublequoteopen}{\isasymlbrakk}is{\isacharunderscore}inf\ x\ y\ i{\isacharsemicolon}\ is{\isacharunderscore}inf\ x\ y\ i{\isacharprime}{\isasymrbrakk}\ {\isasymLongrightarrow}\ i\ {\isacharequal}\ i{\isacharprime}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   249
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   250
\isadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   251
\ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   252
\endisadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   253
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   254
\isatagproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   255
\isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   256
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   257
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   258
\ inf{\isacharcolon}\ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ i{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   259
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   260
\ inf{\isacharprime}{\isacharcolon}\ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ i{\isacharprime}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   261
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   262
\ {\isacharquery}thesis\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   263
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   264
\ {\isacharparenleft}rule\ anti{\isacharunderscore}sym{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   265
\ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   266
\ inf{\isacharprime}\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   267
\ {\isachardoublequoteopen}i\ {\isasymsqsubseteq}\ i{\isacharprime}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   268
\ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   269
\ {\isacharparenleft}rule\ is{\isacharunderscore}inf{\isacharunderscore}greatest{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   270
\ \ \ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   271
\ inf\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   272
\ {\isachardoublequoteopen}i\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   273
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   274
\ \ \ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   275
\ inf\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   276
\ {\isachardoublequoteopen}i\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   277
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   278
\ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   279
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   280
\ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   281
\ inf\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   282
\ {\isachardoublequoteopen}i{\isacharprime}\ {\isasymsqsubseteq}\ i{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   283
\ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   284
\ {\isacharparenleft}rule\ is{\isacharunderscore}inf{\isacharunderscore}greatest{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   285
\ \ \ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   286
\ inf{\isacharprime}\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   287
\ {\isachardoublequoteopen}i{\isacharprime}\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   288
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   289
\ \ \ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   290
\ inf{\isacharprime}\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   291
\ {\isachardoublequoteopen}i{\isacharprime}\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   292
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   293
\ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   294
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   295
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   296
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   297
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   298
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   299
\endisatagproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   300
{\isafoldproof}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   301
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   302
\isadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   303
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   304
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   305
\endisadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   306
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   307
\isadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   308
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   309
\ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   310
\endisadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   311
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   312
\isataginvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   313
\isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   314
\ is{\isacharunderscore}inf{\isacharunderscore}related\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y\ {\isasymLongrightarrow}\ is{\isacharunderscore}inf\ x\ y\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   315
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   316
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   317
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   318
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   319
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   320
\ {\isacharquery}thesis\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   321
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   322
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   323
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   324
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   325
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   326
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   327
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   328
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   329
\ \ \ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   330
\ z\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   331
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isakeyword{and}\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   332
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   333
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   334
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   335
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   336
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   337
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   338
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   339
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   340
\ is{\isacharunderscore}supI\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ s\ {\isasymLongrightarrow}\ y\ {\isasymsqsubseteq}\ s\ {\isasymLongrightarrow}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   341
\ \ \ \ \ \ {\isacharparenleft}{\isasymAnd}z{\isachardot}\ x\ {\isasymsqsubseteq}\ z\ {\isasymLongrightarrow}\ y\ {\isasymsqsubseteq}\ z\ {\isasymLongrightarrow}\ s\ {\isasymsqsubseteq}\ z{\isacharparenright}\ {\isasymLongrightarrow}\ is{\isacharunderscore}sup\ x\ y\ s{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   342
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   343
\ {\isacharparenleft}unfold\ is{\isacharunderscore}sup{\isacharunderscore}def{\isacharparenright}\ blast\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   344
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   345
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   346
\ is{\isacharunderscore}sup{\isacharunderscore}least\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   347
\ \ \ \ \ \ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ s\ {\isasymLongrightarrow}\ x\ {\isasymsqsubseteq}\ z\ {\isasymLongrightarrow}\ y\ {\isasymsqsubseteq}\ z\ {\isasymLongrightarrow}\ s\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   348
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   349
\ {\isacharparenleft}unfold\ is{\isacharunderscore}sup{\isacharunderscore}def{\isacharparenright}\ blast\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   350
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   351
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   352
\ is{\isacharunderscore}sup{\isacharunderscore}upper\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   353
\ \ \ \ \ \ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ s\ {\isasymLongrightarrow}\ {\isacharparenleft}x\ {\isasymsqsubseteq}\ s\ {\isasymLongrightarrow}\ y\ {\isasymsqsubseteq}\ s\ {\isasymLongrightarrow}\ C{\isacharparenright}\ {\isasymLongrightarrow}\ C{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   354
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   355
\ {\isacharparenleft}unfold\ is{\isacharunderscore}sup{\isacharunderscore}def{\isacharparenright}\ blast%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   356
\endisataginvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   357
{\isafoldinvisible}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   358
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   359
\isadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   360
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   361
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   362
\endisadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   363
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   364
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   365
\ is{\isacharunderscore}sup{\isacharunderscore}uniq{\isacharcolon}\ {\isachardoublequoteopen}{\isasymlbrakk}is{\isacharunderscore}sup\ x\ y\ s{\isacharsemicolon}\ is{\isacharunderscore}sup\ x\ y\ s{\isacharprime}{\isasymrbrakk}\ {\isasymLongrightarrow}\ s\ {\isacharequal}\ s{\isacharprime}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   366
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   367
\isadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   368
\ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   369
\endisadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   370
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   371
\isatagproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   372
\isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   373
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   374
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   375
\ sup{\isacharcolon}\ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ s{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   376
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   377
\ sup{\isacharprime}{\isacharcolon}\ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ s{\isacharprime}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   378
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   379
\ {\isacharquery}thesis\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   380
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   381
\ {\isacharparenleft}rule\ anti{\isacharunderscore}sym{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   382
\ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   383
\ sup\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   384
\ {\isachardoublequoteopen}s\ {\isasymsqsubseteq}\ s{\isacharprime}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   385
\ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   386
\ {\isacharparenleft}rule\ is{\isacharunderscore}sup{\isacharunderscore}least{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   387
\ \ \ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   388
\ sup{\isacharprime}\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   389
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ s{\isacharprime}{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   390
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   391
\ \ \ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   392
\ sup{\isacharprime}\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   393
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ s{\isacharprime}{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   394
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   395
\ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   396
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   397
\ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   398
\ sup{\isacharprime}\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   399
\ {\isachardoublequoteopen}s{\isacharprime}\ {\isasymsqsubseteq}\ s{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   400
\ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   401
\ {\isacharparenleft}rule\ is{\isacharunderscore}sup{\isacharunderscore}least{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   402
\ \ \ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   403
\ sup\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   404
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ s{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   405
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   406
\ \ \ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   407
\ sup\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   408
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ s{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   409
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   410
\ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   411
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   412
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   413
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   414
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   415
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   416
\endisatagproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   417
{\isafoldproof}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   418
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   419
\isadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   420
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   421
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   422
\endisadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   423
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   424
\isadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   425
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   426
\ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   427
\endisadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   428
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   429
\isataginvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   430
\isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   431
\ is{\isacharunderscore}sup{\isacharunderscore}related\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y\ {\isasymLongrightarrow}\ is{\isacharunderscore}sup\ x\ y\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   432
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   433
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   434
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   435
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   436
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   437
\ {\isacharquery}thesis\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   438
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   439
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   440
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   441
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   442
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   443
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   444
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   445
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   446
\ \ \ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   447
\ z\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   448
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\ \isakeyword{and}\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   449
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   450
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   451
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   452
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   453
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   454
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   455
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   456
\endisataginvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   457
{\isafoldinvisible}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   458
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   459
\isadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   460
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   461
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   462
\endisadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   463
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   464
\ \ \isacommand{end}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   465
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   466
\begin{isamarkuptext}%
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   467
The definitions of \isa{is{\isacharunderscore}inf} and \isa{is{\isacharunderscore}sup} look
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   468
  like ordinary definitions in theories.  Despite, what is going on
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   469
  behind the scenes is more complex.  The definition of \isa{is{\isacharunderscore}inf}, say, creates a constant \isa{partial{\isacharunderscore}order{\isachardot}is{\isacharunderscore}inf} where
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   470
  the locale parameters that occur in the definition of \isa{is{\isacharunderscore}inf}
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   471
  are additional arguments.  Writing \isa{is{\isacharunderscore}inf\ x\ y\ inf} is just
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   472
  a notational convenience for \isa{partial{\isacharunderscore}order{\isachardot}is{\isacharunderscore}inf\ op\ {\isasymsqsubseteq}\ x\ y\ inf}.%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   473
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   474
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   475
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   476
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   477
Two commands are provided to inspect locales:
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   478
  \isakeyword{print\_locales} lists the names of all locales of the
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   479
  current theory; \isakeyword{print\_locale}~$n$ prints the parameters
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   480
  and assumptions of locale $n$; \isakeyword{print\_locale!}~$n$
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   481
  additionally outputs the conclusions.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   482
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   483
  The syntax of the locale commands discussed in this tutorial is
30780
c3f1e8a9e0b5 Default mode of qualifiers in locale commands.
ballarin
parents: 30580
diff changeset
   484
  shown in Table~\ref{tab:commands}.  The grammer is complete with the
c3f1e8a9e0b5 Default mode of qualifiers in locale commands.
ballarin
parents: 30580
diff changeset
   485
  exception of additional context elements not discussed here.  See the
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   486
  Isabelle/Isar Reference Manual~\cite{IsarRef}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   487
  for full documentation.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   488
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   489
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   490
%
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   491
\isamarkupsection{Import \label{sec:import}%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   492
}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   493
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   494
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   495
\begin{isamarkuptext}%
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   496
Algebraic structures are commonly defined by adding operations and
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   497
  properties to existing structures.  For example, partial orders
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   498
  are extended to lattices and total orders.  Lattices are extended to
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   499
  distributive lattices.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   500
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   501
  With locales, this inheritance is achieved through \emph{import} of a
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   502
  locale.  The import comes before the context elements.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   503
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   504
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   505
\ \ \isacommand{locale}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   506
\ lattice\ {\isacharequal}\ partial{\isacharunderscore}order\ {\isacharplus}\isanewline
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   507
\ \ \ \ \isakeyword{assumes}\ ex{\isacharunderscore}inf{\isacharcolon}\ {\isachardoublequoteopen}{\isasymexists}inf{\isachardot}\ is{\isacharunderscore}inf\ x\ y\ inf{\isachardoublequoteclose}\isanewline
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   508
\ \ \ \ \ \ \isakeyword{and}\ ex{\isacharunderscore}sup{\isacharcolon}\ {\isachardoublequoteopen}{\isasymexists}sup{\isachardot}\ is{\isacharunderscore}sup\ x\ y\ sup{\isachardoublequoteclose}\isanewline
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   509
\ \ \isakeyword{begin}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   510
\begin{isamarkuptext}%
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
   511
These assumptions refer to the predicates for infimum
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   512
  and supremum defined in \isa{partial{\isacharunderscore}order}.  In the current
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   513
  implementation of locales, syntax from definitions of the imported
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   514
  locale is unavailable in the locale declaration, neither are their
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   515
  names.  Hence we refer to the constants of the theory.  The names
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   516
  and syntax is available below, in the context of the locale.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   517
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   518
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   519
\ \ \isacommand{definition}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   520
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   521
\ \ \ \ meet\ {\isacharparenleft}\isakeyword{infixl}\ {\isachardoublequoteopen}{\isasymsqinter}{\isachardoublequoteclose}\ {\isadigit{7}}{\isadigit{0}}{\isacharparenright}\ \isakeyword{where}\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ y\ {\isacharequal}\ {\isacharparenleft}THE\ inf{\isachardot}\ is{\isacharunderscore}inf\ x\ y\ inf{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   522
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   523
\ \ \isacommand{definition}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   524
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   525
\ \ \ \ join\ {\isacharparenleft}\isakeyword{infixl}\ {\isachardoublequoteopen}{\isasymsqunion}{\isachardoublequoteclose}\ {\isadigit{6}}{\isadigit{5}}{\isacharparenright}\ \isakeyword{where}\ {\isachardoublequoteopen}x\ {\isasymsqunion}\ y\ {\isacharequal}\ {\isacharparenleft}THE\ sup{\isachardot}\ is{\isacharunderscore}sup\ x\ y\ sup{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   526
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   527
\isadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   528
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   529
\ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   530
\endisadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   531
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   532
\isataginvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   533
\isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   534
\ meet{\isacharunderscore}equality\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ i\ {\isasymLongrightarrow}\ x\ {\isasymsqinter}\ y\ {\isacharequal}\ i{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   535
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   536
\ {\isacharparenleft}unfold\ meet{\isacharunderscore}def{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   537
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   538
\ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ i{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   539
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   540
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   541
\ {\isachardoublequoteopen}{\isacharparenleft}THE\ i{\isachardot}\ is{\isacharunderscore}inf\ x\ y\ i{\isacharparenright}\ {\isacharequal}\ i{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   542
\ \ \ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   543
\ {\isacharparenleft}rule\ the{\isacharunderscore}equality{\isacharparenright}\ {\isacharparenleft}rule\ is{\isacharunderscore}inf{\isacharunderscore}uniq\ {\isacharbrackleft}OF\ {\isacharunderscore}\ {\isacharbackquoteopen}is{\isacharunderscore}inf\ x\ y\ i{\isacharbackquoteclose}{\isacharbrackright}{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   544
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   545
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   546
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   547
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   548
\ meetI\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   549
\ \ \ \ \ \ {\isachardoublequoteopen}i\ {\isasymsqsubseteq}\ x\ {\isasymLongrightarrow}\ i\ {\isasymsqsubseteq}\ y\ {\isasymLongrightarrow}\ {\isacharparenleft}{\isasymAnd}z{\isachardot}\ z\ {\isasymsqsubseteq}\ x\ {\isasymLongrightarrow}\ z\ {\isasymsqsubseteq}\ y\ {\isasymLongrightarrow}\ z\ {\isasymsqsubseteq}\ i{\isacharparenright}\ {\isasymLongrightarrow}\ x\ {\isasymsqinter}\ y\ {\isacharequal}\ i{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   550
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   551
\ {\isacharparenleft}rule\ meet{\isacharunderscore}equality{\isacharcomma}\ rule\ is{\isacharunderscore}infI{\isacharparenright}\ blast{\isacharplus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   552
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   553
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   554
\ is{\isacharunderscore}inf{\isacharunderscore}meet\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ {\isacharparenleft}x\ {\isasymsqinter}\ y{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   555
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   556
\ {\isacharparenleft}unfold\ meet{\isacharunderscore}def{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   557
\ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   558
\ ex{\isacharunderscore}inf\ \isacommand{obtain}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   559
\ i\ \isakeyword{where}\ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ i{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   560
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   561
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   562
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   563
\ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ {\isacharparenleft}THE\ i{\isachardot}\ is{\isacharunderscore}inf\ x\ y\ i{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   564
\ \ \ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   565
\ {\isacharparenleft}rule\ theI{\isacharparenright}\ {\isacharparenleft}rule\ is{\isacharunderscore}inf{\isacharunderscore}uniq\ {\isacharbrackleft}OF\ {\isacharunderscore}\ {\isacharbackquoteopen}is{\isacharunderscore}inf\ x\ y\ i{\isacharbackquoteclose}{\isacharbrackright}{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   566
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   567
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   568
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   569
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   570
\ meet{\isacharunderscore}left\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   571
\ \ \ \ {\isachardoublequoteopen}x\ {\isasymsqinter}\ y\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   572
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   573
\ {\isacharparenleft}rule\ is{\isacharunderscore}inf{\isacharunderscore}lower{\isacharparenright}\ {\isacharparenleft}rule\ is{\isacharunderscore}inf{\isacharunderscore}meet{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   574
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   575
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   576
\ meet{\isacharunderscore}right\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   577
\ \ \ \ {\isachardoublequoteopen}x\ {\isasymsqinter}\ y\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   578
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   579
\ {\isacharparenleft}rule\ is{\isacharunderscore}inf{\isacharunderscore}lower{\isacharparenright}\ {\isacharparenleft}rule\ is{\isacharunderscore}inf{\isacharunderscore}meet{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   580
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   581
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   582
\ meet{\isacharunderscore}le\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   583
\ \ \ \ {\isachardoublequoteopen}{\isasymlbrakk}\ z\ {\isasymsqsubseteq}\ x{\isacharsemicolon}\ z\ {\isasymsqsubseteq}\ y\ {\isasymrbrakk}\ {\isasymLongrightarrow}\ z\ {\isasymsqsubseteq}\ x\ {\isasymsqinter}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   584
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   585
\ {\isacharparenleft}rule\ is{\isacharunderscore}inf{\isacharunderscore}greatest{\isacharparenright}\ {\isacharparenleft}rule\ is{\isacharunderscore}inf{\isacharunderscore}meet{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   586
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   587
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   588
\ join{\isacharunderscore}equality\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ s\ {\isasymLongrightarrow}\ x\ {\isasymsqunion}\ y\ {\isacharequal}\ s{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   589
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   590
\ {\isacharparenleft}unfold\ join{\isacharunderscore}def{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   591
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   592
\ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ s{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   593
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   594
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   595
\ {\isachardoublequoteopen}{\isacharparenleft}THE\ s{\isachardot}\ is{\isacharunderscore}sup\ x\ y\ s{\isacharparenright}\ {\isacharequal}\ s{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   596
\ \ \ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   597
\ {\isacharparenleft}rule\ the{\isacharunderscore}equality{\isacharparenright}\ {\isacharparenleft}rule\ is{\isacharunderscore}sup{\isacharunderscore}uniq\ {\isacharbrackleft}OF\ {\isacharunderscore}\ {\isacharbackquoteopen}is{\isacharunderscore}sup\ x\ y\ s{\isacharbackquoteclose}{\isacharbrackright}{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   598
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   599
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   600
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   601
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   602
\ joinI\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ s\ {\isasymLongrightarrow}\ y\ {\isasymsqsubseteq}\ s\ {\isasymLongrightarrow}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   603
\ \ \ \ \ \ {\isacharparenleft}{\isasymAnd}z{\isachardot}\ x\ {\isasymsqsubseteq}\ z\ {\isasymLongrightarrow}\ y\ {\isasymsqsubseteq}\ z\ {\isasymLongrightarrow}\ s\ {\isasymsqsubseteq}\ z{\isacharparenright}\ {\isasymLongrightarrow}\ x\ {\isasymsqunion}\ y\ {\isacharequal}\ s{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   604
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   605
\ {\isacharparenleft}rule\ join{\isacharunderscore}equality{\isacharcomma}\ rule\ is{\isacharunderscore}supI{\isacharparenright}\ blast{\isacharplus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   606
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   607
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   608
\ is{\isacharunderscore}sup{\isacharunderscore}join\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ {\isacharparenleft}x\ {\isasymsqunion}\ y{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   609
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   610
\ {\isacharparenleft}unfold\ join{\isacharunderscore}def{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   611
\ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   612
\ ex{\isacharunderscore}sup\ \isacommand{obtain}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   613
\ s\ \isakeyword{where}\ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ s{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   614
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   615
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   616
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   617
\ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ {\isacharparenleft}THE\ s{\isachardot}\ is{\isacharunderscore}sup\ x\ y\ s{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   618
\ \ \ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   619
\ {\isacharparenleft}rule\ theI{\isacharparenright}\ {\isacharparenleft}rule\ is{\isacharunderscore}sup{\isacharunderscore}uniq\ {\isacharbrackleft}OF\ {\isacharunderscore}\ {\isacharbackquoteopen}is{\isacharunderscore}sup\ x\ y\ s{\isacharbackquoteclose}{\isacharbrackright}{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   620
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   621
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   622
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   623
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   624
\ join{\isacharunderscore}left\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   625
\ \ \ \ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   626
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   627
\ {\isacharparenleft}rule\ is{\isacharunderscore}sup{\isacharunderscore}upper{\isacharparenright}\ {\isacharparenleft}rule\ is{\isacharunderscore}sup{\isacharunderscore}join{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   628
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   629
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   630
\ join{\isacharunderscore}right\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   631
\ \ \ \ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   632
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   633
\ {\isacharparenleft}rule\ is{\isacharunderscore}sup{\isacharunderscore}upper{\isacharparenright}\ {\isacharparenleft}rule\ is{\isacharunderscore}sup{\isacharunderscore}join{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   634
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   635
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   636
\ join{\isacharunderscore}le\ {\isacharbrackleft}intro{\isacharquery}{\isacharbrackright}{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   637
\ \ \ \ {\isachardoublequoteopen}{\isasymlbrakk}\ x\ {\isasymsqsubseteq}\ z{\isacharsemicolon}\ y\ {\isasymsqsubseteq}\ z\ {\isasymrbrakk}\ {\isasymLongrightarrow}\ x\ {\isasymsqunion}\ y\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   638
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   639
\ {\isacharparenleft}rule\ is{\isacharunderscore}sup{\isacharunderscore}least{\isacharparenright}\ {\isacharparenleft}rule\ is{\isacharunderscore}sup{\isacharunderscore}join{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   640
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   641
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   642
\ meet{\isacharunderscore}assoc{\isacharcolon}\ {\isachardoublequoteopen}{\isacharparenleft}x\ {\isasymsqinter}\ y{\isacharparenright}\ {\isasymsqinter}\ z\ {\isacharequal}\ x\ {\isasymsqinter}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   643
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   644
\ {\isacharparenleft}rule\ meetI{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   645
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   646
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}\ {\isasymsqsubseteq}\ x\ {\isasymsqinter}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   647
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   648
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   649
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   650
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   651
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   652
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   653
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   654
\ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   655
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   656
\ \ \ \ \ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   657
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}\ {\isasymsqsubseteq}\ y\ {\isasymsqinter}\ z{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   658
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   659
\ \ \ \ \ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   660
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   661
\ {\isachardoublequoteopen}{\isasymdots}\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   662
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   663
\ \ \ \ \ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   664
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   665
\ {\isacharquery}thesis\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   666
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   667
\ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   668
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   669
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   670
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   671
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   672
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   673
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   674
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   675
\ \ \ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   676
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}\ {\isasymsqsubseteq}\ y\ {\isasymsqinter}\ z{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   677
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   678
\ \ \ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   679
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   680
\ {\isachardoublequoteopen}{\isasymdots}\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   681
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   682
\ \ \ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   683
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   684
\ {\isacharquery}thesis\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   685
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   686
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   687
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   688
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   689
\ w\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   690
\ {\isachardoublequoteopen}w\ {\isasymsqsubseteq}\ x\ {\isasymsqinter}\ y{\isachardoublequoteclose}\ \isakeyword{and}\ {\isachardoublequoteopen}w\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   691
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   692
\ {\isachardoublequoteopen}w\ {\isasymsqsubseteq}\ x\ {\isasymsqinter}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   693
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   694
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   695
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   696
\ {\isachardoublequoteopen}w\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   697
\ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   698
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   699
\ \ \ \ \ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   700
\ {\isachardoublequoteopen}w\ {\isasymsqsubseteq}\ x\ {\isasymsqinter}\ y{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   701
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   702
\ \ \ \ \ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   703
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   704
\ {\isachardoublequoteopen}{\isasymdots}\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   705
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   706
\ \ \ \ \ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   707
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   708
\ {\isacharquery}thesis\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   709
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   710
\ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   711
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   712
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   713
\ {\isachardoublequoteopen}w\ {\isasymsqsubseteq}\ y\ {\isasymsqinter}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   714
\ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   715
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   716
\ \ \ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   717
\ {\isachardoublequoteopen}w\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   718
\ \ \ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   719
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   720
\ \ \ \ \ \ \ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   721
\ {\isachardoublequoteopen}w\ {\isasymsqsubseteq}\ x\ {\isasymsqinter}\ y{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   722
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   723
\ \ \ \ \ \ \ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   724
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   725
\ {\isachardoublequoteopen}{\isasymdots}\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   726
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   727
\ \ \ \ \ \ \ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   728
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   729
\ {\isacharquery}thesis\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   730
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   731
\ \ \ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   732
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   733
\ \ \ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   734
\ {\isachardoublequoteopen}w\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   735
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   736
\ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   737
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   738
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   739
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   740
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   741
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   742
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   743
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   744
\ meet{\isacharunderscore}commute{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ y\ {\isacharequal}\ y\ {\isasymsqinter}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   745
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   746
\ {\isacharparenleft}rule\ meetI{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   747
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   748
\ {\isachardoublequoteopen}y\ {\isasymsqinter}\ x\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   749
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   750
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   751
\ {\isachardoublequoteopen}y\ {\isasymsqinter}\ x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   752
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   753
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   754
\ z\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   755
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isakeyword{and}\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   756
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   757
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   758
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ y\ {\isasymsqinter}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   759
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   760
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   761
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   762
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   763
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   764
\ meet{\isacharunderscore}join{\isacharunderscore}absorb{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ {\isacharparenleft}x\ {\isasymsqunion}\ y{\isacharparenright}\ {\isacharequal}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   765
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   766
\ {\isacharparenleft}rule\ meetI{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   767
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   768
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   769
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   770
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   771
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   772
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   773
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   774
\ z\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   775
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isakeyword{and}\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   776
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   777
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   778
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   779
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   780
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   781
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   782
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   783
\ join{\isacharunderscore}assoc{\isacharcolon}\ {\isachardoublequoteopen}{\isacharparenleft}x\ {\isasymsqunion}\ y{\isacharparenright}\ {\isasymsqunion}\ z\ {\isacharequal}\ x\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqunion}\ z{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   784
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   785
\ {\isacharparenleft}rule\ joinI{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   786
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   787
\ {\isachardoublequoteopen}x\ {\isasymsqunion}\ y\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqunion}\ z{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   788
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   789
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   790
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   791
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqunion}\ z{\isacharparenright}{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   792
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   793
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   794
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqunion}\ z{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   795
\ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   796
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   797
\ \ \ \ \ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   798
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ y\ {\isasymsqunion}\ z{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   799
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   800
\ \ \ \ \ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   801
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   802
\ {\isachardoublequoteopen}{\isachardot}{\isachardot}{\isachardot}\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqunion}\ z{\isacharparenright}{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   803
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   804
\ \ \ \ \ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   805
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   806
\ {\isacharquery}thesis\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   807
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   808
\ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   809
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   810
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   811
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   812
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   813
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqunion}\ z{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   814
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   815
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   816
\ \ \ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   817
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ y\ {\isasymsqunion}\ z{\isachardoublequoteclose}\ \ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   818
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   819
\ \ \ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   820
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   821
\ {\isachardoublequoteopen}{\isachardot}{\isachardot}{\isachardot}\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqunion}\ z{\isacharparenright}{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   822
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   823
\ \ \ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   824
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   825
\ {\isacharquery}thesis\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   826
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   827
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   828
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   829
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   830
\ w\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   831
\ {\isachardoublequoteopen}x\ {\isasymsqunion}\ y\ {\isasymsqsubseteq}\ w{\isachardoublequoteclose}\ \isakeyword{and}\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ w{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   832
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   833
\ {\isachardoublequoteopen}x\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqunion}\ z{\isacharparenright}\ {\isasymsqsubseteq}\ w{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   834
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   835
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   836
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   837
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ w{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   838
\ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   839
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   840
\ \ \ \ \ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   841
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   842
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   843
\ \ \ \ \ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   844
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   845
\ {\isachardoublequoteopen}{\isasymdots}\ {\isasymsqsubseteq}\ w{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   846
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   847
\ \ \ \ \ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   848
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   849
\ {\isacharquery}thesis\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   850
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   851
\ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   852
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   853
\ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   854
\ {\isachardoublequoteopen}y\ {\isasymsqunion}\ z\ {\isasymsqsubseteq}\ w{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   855
\ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   856
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   857
\ \ \ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   858
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ w{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   859
\ \ \ \ \ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   860
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   861
\ \ \ \ \ \ \ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   862
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   863
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   864
\ \ \ \ \ \ \ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   865
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   866
\ {\isachardoublequoteopen}{\isachardot}{\isachardot}{\isachardot}\ {\isasymsqsubseteq}\ w{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   867
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   868
\ \ \ \ \ \ \ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   869
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   870
\ {\isacharquery}thesis\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   871
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   872
\ \ \ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   873
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   874
\ \ \ \ \ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   875
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ w{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   876
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   877
\ \ \ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   878
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   879
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   880
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   881
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   882
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   883
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   884
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   885
\ join{\isacharunderscore}commute{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqunion}\ y\ {\isacharequal}\ y\ {\isasymsqunion}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   886
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   887
\ {\isacharparenleft}rule\ joinI{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   888
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   889
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y\ {\isasymsqunion}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   890
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   891
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   892
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ y\ {\isasymsqunion}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   893
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   894
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   895
\ z\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   896
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\ \isakeyword{and}\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   897
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   898
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   899
\ {\isachardoublequoteopen}y\ {\isasymsqunion}\ x\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   900
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   901
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   902
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   903
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   904
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   905
\ join{\isacharunderscore}meet{\isacharunderscore}absorb{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqunion}\ {\isacharparenleft}x\ {\isasymsqinter}\ y{\isacharparenright}\ {\isacharequal}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   906
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   907
\ {\isacharparenleft}rule\ joinI{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   908
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   909
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   910
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   911
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   912
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ y\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   913
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   914
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   915
\ z\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   916
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\ \isakeyword{and}\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ y\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   917
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   918
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   919
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   920
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   921
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   922
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   923
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   924
\ meet{\isacharunderscore}idem{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ x\ {\isacharequal}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   925
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   926
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   927
\ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   928
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ {\isacharparenleft}x\ {\isasymsqunion}\ {\isacharparenleft}x\ {\isasymsqinter}\ x{\isacharparenright}{\isacharparenright}\ {\isacharequal}\ x{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   929
\ {\isacharparenleft}rule\ meet{\isacharunderscore}join{\isacharunderscore}absorb{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   930
\ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   931
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   932
\ {\isachardoublequoteopen}x\ {\isasymsqunion}\ {\isacharparenleft}x\ {\isasymsqinter}\ x{\isacharparenright}\ {\isacharequal}\ x{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   933
\ {\isacharparenleft}rule\ join{\isacharunderscore}meet{\isacharunderscore}absorb{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   934
\ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   935
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   936
\ {\isacharquery}thesis\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   937
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   938
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   939
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   940
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   941
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   942
\ meet{\isacharunderscore}related\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y\ {\isasymLongrightarrow}\ x\ {\isasymsqinter}\ y\ {\isacharequal}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   943
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   944
\ {\isacharparenleft}rule\ meetI{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   945
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   946
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   947
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   948
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   949
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   950
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   951
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   952
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   953
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   954
\ z\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   955
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isakeyword{and}\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   956
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   957
\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   958
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   959
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   960
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   961
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   962
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   963
\ meet{\isacharunderscore}related{\isadigit{2}}\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ x\ {\isasymLongrightarrow}\ x\ {\isasymsqinter}\ y\ {\isacharequal}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   964
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   965
\ {\isacharparenleft}drule\ meet{\isacharunderscore}related{\isacharparenright}\ {\isacharparenleft}simp\ add{\isacharcolon}\ meet{\isacharunderscore}commute{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   966
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   967
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   968
\ join{\isacharunderscore}related\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y\ {\isasymLongrightarrow}\ x\ {\isasymsqunion}\ y\ {\isacharequal}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   969
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   970
\ {\isacharparenleft}rule\ joinI{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   971
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   972
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   973
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   974
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   975
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   976
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   977
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   978
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   979
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   980
\ z\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   981
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\ \isakeyword{and}\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   982
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   983
\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   984
\ fact\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   985
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   986
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   987
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   988
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   989
\ join{\isacharunderscore}related{\isadigit{2}}\ {\isacharbrackleft}elim{\isacharquery}{\isacharbrackright}{\isacharcolon}\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ x\ {\isasymLongrightarrow}\ x\ {\isasymsqunion}\ y\ {\isacharequal}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   990
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   991
\ {\isacharparenleft}drule\ join{\isacharunderscore}related{\isacharparenright}\ {\isacharparenleft}simp\ add{\isacharcolon}\ join{\isacharunderscore}commute{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   992
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   993
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   994
\ meet{\isacharunderscore}connection{\isacharcolon}\ {\isachardoublequoteopen}{\isacharparenleft}x\ {\isasymsqsubseteq}\ y{\isacharparenright}\ {\isacharequal}\ {\isacharparenleft}x\ {\isasymsqinter}\ y\ {\isacharequal}\ x{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   995
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   996
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   997
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   998
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
   999
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1000
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1001
\ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1002
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1003
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1004
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1005
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ y\ {\isacharequal}\ x{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1006
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1007
\ \ \isacommand{next}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1008
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1009
\ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1010
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ y\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1011
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1012
\ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1013
\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1014
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ y\ {\isacharequal}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1015
\ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1016
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1017
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1018
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1019
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1020
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1021
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1022
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1023
\ join{\isacharunderscore}connection{\isacharcolon}\ {\isachardoublequoteopen}{\isacharparenleft}x\ {\isasymsqsubseteq}\ y{\isacharparenright}\ {\isacharequal}\ {\isacharparenleft}x\ {\isasymsqunion}\ y\ {\isacharequal}\ y{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1024
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1025
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1026
\ \ \ \ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1027
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1028
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1029
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1030
\ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1031
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1032
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1033
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1034
\ {\isachardoublequoteopen}x\ {\isasymsqunion}\ y\ {\isacharequal}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1035
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1036
\ \ \isacommand{next}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1037
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1038
\ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1039
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ x\ {\isasymsqunion}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1040
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1041
\ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1042
\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1043
\ {\isachardoublequoteopen}x\ {\isasymsqunion}\ y\ {\isacharequal}\ y{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1044
\ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1045
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1046
\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y{\isachardoublequoteclose}\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1047
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1048
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1049
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1050
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1051
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1052
\ meet{\isacharunderscore}connection{\isadigit{2}}{\isacharcolon}\ {\isachardoublequoteopen}{\isacharparenleft}x\ {\isasymsqsubseteq}\ y{\isacharparenright}\ {\isacharequal}\ {\isacharparenleft}y\ {\isasymsqinter}\ x\ {\isacharequal}\ x{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1053
\ \ \ \ \isacommand{using}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1054
\ meet{\isacharunderscore}commute\ meet{\isacharunderscore}connection\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1055
\ simp\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1056
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1057
\ \ \isacommand{theorem}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1058
\ join{\isacharunderscore}connection{\isadigit{2}}{\isacharcolon}\ {\isachardoublequoteopen}{\isacharparenleft}x\ {\isasymsqsubseteq}\ y{\isacharparenright}\ {\isacharequal}\ {\isacharparenleft}x\ {\isasymsqunion}\ y\ {\isacharequal}\ y{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1059
\ \ \ \ \isacommand{using}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1060
\ join{\isacharunderscore}commute\ join{\isacharunderscore}connection\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1061
\ simp%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1062
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1063
Naming according to Jacobson I, p.\ 459.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1064
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1065
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1066
\ \ \isacommand{lemmas}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1067
\ L{\isadigit{1}}\ {\isacharequal}\ join{\isacharunderscore}commute\ meet{\isacharunderscore}commute\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1068
\ \ \isacommand{lemmas}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1069
\ L{\isadigit{2}}\ {\isacharequal}\ join{\isacharunderscore}assoc\ meet{\isacharunderscore}assoc\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1070
\ \ \isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1071
\ \ \isacommand{lemmas}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1072
\ L{\isadigit{4}}\ {\isacharequal}\ join{\isacharunderscore}meet{\isacharunderscore}absorb\ meet{\isacharunderscore}join{\isacharunderscore}absorb%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1073
\endisataginvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1074
{\isafoldinvisible}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1075
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1076
\isadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1077
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1078
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1079
\endisadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1080
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1081
\ \ \isacommand{end}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1082
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1083
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1084
Locales for total orders and distributive lattices follow.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1085
  Each comes with an example theorem.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1086
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1087
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1088
\ \ \isacommand{locale}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1089
\ total{\isacharunderscore}order\ {\isacharequal}\ partial{\isacharunderscore}order\ {\isacharplus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1090
\ \ \ \ \isakeyword{assumes}\ total{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y\ {\isasymor}\ y\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1091
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1092
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1093
\ {\isacharparenleft}\isakeyword{in}\ total{\isacharunderscore}order{\isacharparenright}\ less{\isacharunderscore}total{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqsubset}\ y\ {\isasymor}\ x\ {\isacharequal}\ y\ {\isasymor}\ y\ {\isasymsqsubset}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1094
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1095
\isadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1096
\ \ \ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1097
\endisadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1098
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1099
\isatagproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1100
\isacommand{using}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1101
\ total\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1102
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1103
\ {\isacharparenleft}unfold\ less{\isacharunderscore}def{\isacharparenright}\ blast%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1104
\endisatagproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1105
{\isafoldproof}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1106
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1107
\isadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1108
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1109
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1110
\endisadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1111
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1112
\ \ \isacommand{locale}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1113
\ distrib{\isacharunderscore}lattice\ {\isacharequal}\ lattice\ {\isacharplus}\isanewline
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
  1114
\ \ \ \ \isakeyword{assumes}\ meet{\isacharunderscore}distr{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ {\isacharparenleft}y\ {\isasymsqunion}\ z{\isacharparenright}\ {\isacharequal}\ x\ {\isasymsqinter}\ y\ {\isasymsqunion}\ x\ {\isasymsqinter}\ z{\isachardoublequoteclose}\isanewline
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1115
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1116
\ \ \isacommand{lemma}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1117
\ {\isacharparenleft}\isakeyword{in}\ distrib{\isacharunderscore}lattice{\isacharparenright}\ join{\isacharunderscore}distr{\isacharcolon}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1118
\ \ \ \ {\isachardoublequoteopen}x\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}\ {\isacharequal}\ {\isacharparenleft}x\ {\isasymsqunion}\ y{\isacharparenright}\ {\isasymsqinter}\ {\isacharparenleft}x\ {\isasymsqunion}\ z{\isacharparenright}{\isachardoublequoteclose}\ \ \isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1119
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1120
\isadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1121
\ \ \ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1122
\endisadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1123
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1124
\isatagproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1125
\isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1126
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1127
\ \ \ \ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1128
\ {\isachardoublequoteopen}x\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}\ {\isacharequal}\ {\isacharparenleft}x\ {\isasymsqunion}\ {\isacharparenleft}x\ {\isasymsqinter}\ z{\isacharparenright}{\isacharparenright}\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1129
\ {\isacharparenleft}simp\ add{\isacharcolon}\ L{\isadigit{4}}{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1130
\ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1131
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1132
\ {\isachardoublequoteopen}{\isachardot}{\isachardot}{\isachardot}\ {\isacharequal}\ x\ {\isasymsqunion}\ {\isacharparenleft}{\isacharparenleft}x\ {\isasymsqinter}\ z{\isacharparenright}\ {\isasymsqunion}\ {\isacharparenleft}y\ {\isasymsqinter}\ z{\isacharparenright}{\isacharparenright}{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1133
\ {\isacharparenleft}simp\ add{\isacharcolon}\ L{\isadigit{2}}{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1134
\ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1135
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1136
\ {\isachardoublequoteopen}{\isachardot}{\isachardot}{\isachardot}\ {\isacharequal}\ x\ {\isasymsqunion}\ {\isacharparenleft}{\isacharparenleft}x\ {\isasymsqunion}\ y{\isacharparenright}\ {\isasymsqinter}\ z{\isacharparenright}{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1137
\ {\isacharparenleft}simp\ add{\isacharcolon}\ L{\isadigit{1}}\ meet{\isacharunderscore}distr{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1138
\ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1139
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1140
\ {\isachardoublequoteopen}{\isachardot}{\isachardot}{\isachardot}\ {\isacharequal}\ {\isacharparenleft}{\isacharparenleft}x\ {\isasymsqunion}\ y{\isacharparenright}\ {\isasymsqinter}\ x{\isacharparenright}\ {\isasymsqunion}\ {\isacharparenleft}{\isacharparenleft}x\ {\isasymsqunion}\ y{\isacharparenright}\ {\isasymsqinter}\ z{\isacharparenright}{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1141
\ {\isacharparenleft}simp\ add{\isacharcolon}\ L{\isadigit{1}}\ L{\isadigit{4}}{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1142
\ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1143
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1144
\ {\isachardoublequoteopen}{\isachardot}{\isachardot}{\isachardot}\ {\isacharequal}\ {\isacharparenleft}x\ {\isasymsqunion}\ y{\isacharparenright}\ {\isasymsqinter}\ {\isacharparenleft}x\ {\isasymsqunion}\ z{\isacharparenright}{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1145
\ {\isacharparenleft}simp\ add{\isacharcolon}\ meet{\isacharunderscore}distr{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1146
\ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1147
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1148
\ {\isacharquery}thesis\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1149
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1150
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1151
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1152
\endisatagproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1153
{\isafoldproof}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1154
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1155
\isadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1156
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1157
\endisadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1158
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1159
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1160
The locale hierachy obtained through these declarations is shown in Figure~\ref{fig:lattices}(a).
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1161
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1162
\begin{figure}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1163
\hrule \vspace{2ex}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1164
\begin{center}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1165
\subfigure[Declared hierachy]{
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1166
\begin{tikzpicture}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1167
  \node (po) at (0,0) {\isa{partial{\isacharunderscore}order}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1168
  \node (lat) at (-1.5,-1) {\isa{lattice}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1169
  \node (dlat) at (-1.5,-2) {\isa{distrib{\isacharunderscore}lattice}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1170
  \node (to) at (1.5,-1) {\isa{total{\isacharunderscore}order}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1171
  \draw (po) -- (lat);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1172
  \draw (lat) -- (dlat);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1173
  \draw (po) -- (to);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1174
%  \draw[->, dashed] (lat) -- (to);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1175
\end{tikzpicture}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1176
} \\
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1177
\subfigure[Total orders are lattices]{
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1178
\begin{tikzpicture}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1179
  \node (po) at (0,0) {\isa{partial{\isacharunderscore}order}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1180
  \node (lat) at (0,-1) {\isa{lattice}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1181
  \node (dlat) at (-1.5,-2) {\isa{distrib{\isacharunderscore}lattice}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1182
  \node (to) at (1.5,-2) {\isa{total{\isacharunderscore}order}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1183
  \draw (po) -- (lat);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1184
  \draw (lat) -- (dlat);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1185
  \draw (lat) -- (to);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1186
%  \draw[->, dashed] (dlat) -- (to);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1187
\end{tikzpicture}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1188
} \quad
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1189
\subfigure[Total orders are distributive lattices]{
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1190
\begin{tikzpicture}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1191
  \node (po) at (0,0) {\isa{partial{\isacharunderscore}order}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1192
  \node (lat) at (0,-1) {\isa{lattice}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1193
  \node (dlat) at (0,-2) {\isa{distrib{\isacharunderscore}lattice}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1194
  \node (to) at (0,-3) {\isa{total{\isacharunderscore}order}};
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1195
  \draw (po) -- (lat);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1196
  \draw (lat) -- (dlat);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1197
  \draw (dlat) -- (to);
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1198
\end{tikzpicture}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1199
}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1200
\end{center}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1201
\hrule
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1202
\caption{Hierarchy of Lattice Locales.}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1203
\label{fig:lattices}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1204
\end{figure}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1205
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1206
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1207
%
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
  1208
\isamarkupsection{Changing the Locale Hierarchy
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
  1209
  \label{sec:changing-the-hierarchy}%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1210
}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1211
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1212
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1213
\begin{isamarkuptext}%
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 30393
diff changeset
  1214
Total orders are lattices.  Hence, by deriving the lattice
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1215
  axioms for total orders, the hierarchy may be changed
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1216
  and \isa{lattice} be placed between \isa{partial{\isacharunderscore}order}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1217
  and \isa{total{\isacharunderscore}order}, as shown in Figure~\ref{fig:lattices}(b).
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1218
  Changes to the locale hierarchy may be declared
29566
937baa077df2 Fixed tutorial to compile with new locales; grammar of new locale commands.
ballarin
parents: 27375
diff changeset
  1219
  with the \isakeyword{sublocale} command.%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1220
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1221
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1222
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1223
\isadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1224
\ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1225
\endisadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1226
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1227
\isatagvisible
29566
937baa077df2 Fixed tutorial to compile with new locales; grammar of new locale commands.
ballarin
parents: 27375
diff changeset
  1228
\isacommand{sublocale}\isamarkupfalse%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1229
\ total{\isacharunderscore}order\ {\isasymsubseteq}\ lattice%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1230
\begin{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1231
This enters the context of locale \isa{total{\isacharunderscore}order}, in
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1232
  which the goal \begin{isabelle}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1233
\ {\isadigit{1}}{\isachardot}\ lattice\ op\ {\isasymsqsubseteq}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1234
\end{isabelle} must be shown.  First, the
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1235
  locale predicate needs to be unfolded --- for example using its
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1236
  definition or by introduction rules
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1237
  provided by the locale package.  The methods \isa{intro{\isacharunderscore}locales}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1238
  and \isa{unfold{\isacharunderscore}locales} automate this.  They are aware of the
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1239
  current context and dependencies between locales and automatically
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1240
  discharge goals implied by these.  While \isa{unfold{\isacharunderscore}locales}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1241
  always unfolds locale predicates to assumptions, \isa{intro{\isacharunderscore}locales} only unfolds definitions along the locale
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1242
  hierarchy, leaving a goal consisting of predicates defined by the
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1243
  locale package.  Occasionally the latter is of advantage since the goal
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1244
  is smaller.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1245
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1246
  For the current goal, we would like to get hold of
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1247
  the assumptions of \isa{lattice}, hence \isa{unfold{\isacharunderscore}locales}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1248
  is appropriate.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1249
\end{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1250
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1251
\ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1252
\ unfold{\isacharunderscore}locales%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1253
\begin{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1254
Since both \isa{lattice} and \isa{total{\isacharunderscore}order}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1255
  inherit \isa{partial{\isacharunderscore}order}, the assumptions of the latter are
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1256
  discharged, and the only subgoals that remain are the assumptions
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1257
  introduced in \isa{lattice} \begin{isabelle}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1258
\ {\isadigit{1}}{\isachardot}\ {\isasymAnd}x\ y{\isachardot}\ {\isasymexists}inf{\isachardot}\ is{\isacharunderscore}inf\ x\ y\ inf\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1259
\ {\isadigit{2}}{\isachardot}\ {\isasymAnd}x\ y{\isachardot}\ {\isasymexists}sup{\isachardot}\ is{\isacharunderscore}sup\ x\ y\ sup%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1260
\end{isabelle}
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1261
  The proof for the first subgoal is%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1262
\end{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1263
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1264
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1265
\ x\ y\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1266
\ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1267
\ total\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1268
\ {\isachardoublequoteopen}is{\isacharunderscore}inf\ x\ y\ {\isacharparenleft}if\ x\ {\isasymsqsubseteq}\ y\ then\ x\ else\ y{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1269
\ \ \ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1270
\ {\isacharparenleft}auto\ simp{\isacharcolon}\ is{\isacharunderscore}inf{\isacharunderscore}def{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1271
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1272
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1273
\ {\isachardoublequoteopen}{\isasymexists}inf{\isachardot}\ is{\isacharunderscore}inf\ x\ y\ inf{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1274
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1275
\begin{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1276
The proof for the second subgoal is analogous and not
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1277
  reproduced here.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1278
\end{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1279
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1280
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1281
\endisatagvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1282
{\isafoldvisible}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1283
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1284
\isadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1285
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1286
\endisadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1287
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1288
\isadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1289
\ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1290
\endisadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1291
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1292
\isataginvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1293
\isacommand{next}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1294
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1295
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1296
\ x\ y\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1297
\ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1298
\ total\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1299
\ {\isachardoublequoteopen}is{\isacharunderscore}sup\ x\ y\ {\isacharparenleft}if\ x\ {\isasymsqsubseteq}\ y\ then\ y\ else\ x{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1300
\ \ \ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1301
\ {\isacharparenleft}auto\ simp{\isacharcolon}\ is{\isacharunderscore}sup{\isacharunderscore}def{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1302
\ \ \ \ \isacommand{then}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1303
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1304
\ {\isachardoublequoteopen}{\isasymexists}sup{\isachardot}\ is{\isacharunderscore}sup\ x\ y\ sup{\isachardoublequoteclose}\ \isacommand{{\isachardot}{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1305
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1306
\endisataginvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1307
{\isafoldinvisible}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1308
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1309
\isadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1310
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1311
\endisadeliminvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1312
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1313
\isadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1314
\ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1315
\endisadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1316
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1317
\isatagvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1318
\isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1319
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1320
\endisatagvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1321
{\isafoldvisible}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1322
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1323
\isadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1324
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1325
\endisadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1326
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1327
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1328
Similarly, total orders are distributive lattices.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1329
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1330
\isamarkuptrue%
29566
937baa077df2 Fixed tutorial to compile with new locales; grammar of new locale commands.
ballarin
parents: 27375
diff changeset
  1331
\ \ \isacommand{sublocale}\isamarkupfalse%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1332
\ total{\isacharunderscore}order\ {\isasymsubseteq}\ distrib{\isacharunderscore}lattice\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1333
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1334
\isadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1335
\ \ %
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1336
\endisadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1337
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1338
\isatagproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1339
\isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1340
\ unfold{\isacharunderscore}locales\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1341
\ \ \ \ \isacommand{fix}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1342
\ x\ y\ z\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1343
\ \ \ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1344
\ {\isachardoublequoteopen}x\ {\isasymsqinter}\ {\isacharparenleft}y\ {\isasymsqunion}\ z{\isacharparenright}\ {\isacharequal}\ x\ {\isasymsqinter}\ y\ {\isasymsqunion}\ x\ {\isasymsqinter}\ z{\isachardoublequoteclose}\ {\isacharparenleft}\isakeyword{is}\ {\isachardoublequoteopen}{\isacharquery}l\ {\isacharequal}\ {\isacharquery}r{\isachardoublequoteclose}{\isacharparenright}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1345
\begin{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1346
Jacobson I, p.\ 462%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1347
\end{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1348
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1349
\ \ \ \ \isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1350
\ {\isacharminus}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1351
\ \ \ \ \ \ \isacommand{{\isacharbraceleft}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1352
\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1353
\ c{\isacharcolon}\ {\isachardoublequoteopen}y\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\ {\isachardoublequoteopen}z\ {\isasymsqsubseteq}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1354
\ \ \ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1355
\ c\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1356
\ {\isachardoublequoteopen}{\isacharquery}l\ {\isacharequal}\ y\ {\isasymsqunion}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1357
\ \ \ \ \ \ \ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1358
\ {\isacharparenleft}metis\ c\ join{\isacharunderscore}connection{\isadigit{2}}\ join{\isacharunderscore}related{\isadigit{2}}\ meet{\isacharunderscore}related{\isadigit{2}}\ total{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1359
\ \ \ \ \ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1360
\ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1361
\ c\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1362
\ {\isachardoublequoteopen}{\isachardot}{\isachardot}{\isachardot}\ {\isacharequal}\ {\isacharquery}r{\isachardoublequoteclose}\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1363
\ {\isacharparenleft}metis\ meet{\isacharunderscore}related{\isadigit{2}}{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1364
\ \ \ \ \ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1365
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1366
\ {\isachardoublequoteopen}{\isacharquery}l\ {\isacharequal}\ {\isacharquery}r{\isachardoublequoteclose}\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1367
\ \isacommand{{\isacharbraceright}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1368
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1369
\ \ \ \ \ \ \isacommand{moreover}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1370
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1371
\ \ \ \ \ \ \isacommand{{\isacharbraceleft}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1372
\ \isacommand{assume}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1373
\ c{\isacharcolon}\ {\isachardoublequoteopen}x\ {\isasymsqsubseteq}\ y\ {\isasymor}\ x\ {\isasymsqsubseteq}\ z{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1374
\ \ \ \ \ \ \ \ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1375
\ c\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1376
\ {\isachardoublequoteopen}{\isacharquery}l\ {\isacharequal}\ x{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1377
\ \ \ \ \ \ \ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1378
\ {\isacharparenleft}metis\ join{\isacharunderscore}connection{\isadigit{2}}\ join{\isacharunderscore}related{\isadigit{2}}\ meet{\isacharunderscore}connection\ total\ trans{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1379
\ \ \ \ \ \ \ \ \isacommand{also}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1380
\ \isacommand{from}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1381
\ c\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1382
\ {\isachardoublequoteopen}{\isachardot}{\isachardot}{\isachardot}\ {\isacharequal}\ {\isacharquery}r{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1383
\ \ \ \ \ \ \ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1384
\ {\isacharparenleft}metis\ join{\isacharunderscore}commute\ join{\isacharunderscore}related{\isadigit{2}}\ meet{\isacharunderscore}connection\ meet{\isacharunderscore}related{\isadigit{2}}\ total{\isacharparenright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1385
\ \ \ \ \ \ \ \ \isacommand{finally}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1386
\ \isacommand{have}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1387
\ {\isachardoublequoteopen}{\isacharquery}l\ {\isacharequal}\ {\isacharquery}r{\isachardoublequoteclose}\ \isacommand{{\isachardot}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1388
\ \isacommand{{\isacharbraceright}}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1389
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1390
\ \ \ \ \ \ \isacommand{moreover}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1391
\ \isacommand{note}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1392
\ total\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1393
\ \ \ \ \ \ \isacommand{ultimately}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1394
\ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1395
\ {\isacharquery}thesis\ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1396
\ blast\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1397
\ \ \ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1398
\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1399
\ \ \isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1400
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1401
\endisatagproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1402
{\isafoldproof}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1403
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1404
\isadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1405
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1406
\endisadelimproof
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1407
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1408
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1409
The locale hierarchy is now as shown in Figure~\ref{fig:lattices}(c).%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1410
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1411
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1412
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1413
\isadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1414
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1415
\endisadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1416
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1417
\isatagtheory
27080
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
  1418
\isacommand{end}\isamarkupfalse%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1419
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1420
\endisatagtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1421
{\isafoldtheory}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1422
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1423
\isadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1424
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1425
\endisadelimtheory
27080
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
  1426
\isanewline
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1427
\end{isabellebody}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1428
%%% Local Variables:
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1429
%%% mode: latex
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1430
%%% TeX-master: "root"
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
  1431
%%% End: