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