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