doc-src/Locales/Locales/document/Examples2.tex
author ballarin
Sat, 28 Mar 2009 22:14:21 +0100
changeset 30780 c3f1e8a9e0b5
parent 30580 cc5a55d7a5be
child 30826 a53f4872400e
permissions -rw-r--r--
Default mode of qualifiers in locale commands.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     1
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     2
\begin{isabellebody}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     3
\def\isabellecontext{Examples{\isadigit{2}}}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     4
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     5
\isadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     6
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     7
\endisadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     8
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
     9
\isatagtheory
27080
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    10
\isacommand{theory}\isamarkupfalse%
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    11
\ Examples{\isadigit{2}}\isanewline
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    12
\isakeyword{imports}\ Examples\isanewline
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    13
\isakeyword{begin}%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    14
\endisatagtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    15
{\isafoldtheory}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    16
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    17
\isadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    18
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    19
\endisadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    20
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    21
\begin{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    22
This is achieved by unfolding suitable equations during
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    23
  interpretation.  These equations are given after the keyword
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 29297
diff changeset
    24
  \isakeyword{where} and require proofs.  The revised command
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 29297
diff changeset
    25
  that replaces \isa{{\isasymsqsubset}} by \isa{{\isacharless}}, is:%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    26
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    27
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    28
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    29
\isadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    30
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    31
\endisadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    32
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    33
\isatagvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    34
\isacommand{interpretation}\isamarkupfalse%
30780
c3f1e8a9e0b5 Default mode of qualifiers in locale commands.
ballarin
parents: 30580
diff changeset
    35
\ nat{\isacharcolon}\ partial{\isacharunderscore}order\ {\isachardoublequoteopen}op\ {\isasymle}\ {\isacharcolon}{\isacharcolon}\ {\isacharbrackleft}nat{\isacharcomma}\ nat{\isacharbrackright}\ {\isasymRightarrow}\ bool{\isachardoublequoteclose}\isanewline
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    36
\ \ \isakeyword{where}\ {\isachardoublequoteopen}partial{\isacharunderscore}order{\isachardot}less\ op\ {\isasymle}\ {\isacharparenleft}x{\isacharcolon}{\isacharcolon}nat{\isacharparenright}\ y\ {\isacharequal}\ {\isacharparenleft}x\ {\isacharless}\ y{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    37
\isacommand{proof}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    38
\ {\isacharminus}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    39
\begin{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    40
The goals are \begin{isabelle}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    41
\ {\isadigit{1}}{\isachardot}\ partial{\isacharunderscore}order\ op\ {\isasymle}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    42
\ {\isadigit{2}}{\isachardot}\ partial{\isacharunderscore}order{\isachardot}less\ op\ {\isasymle}\ x\ y\ {\isacharequal}\ {\isacharparenleft}x\ {\isacharless}\ y{\isacharparenright}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    43
\end{isabelle}
30580
cc5a55d7a5be Updated chapters 1-5 to locale reimplementation.
ballarin
parents: 29297
diff changeset
    44
    The proof that \isa{{\isasymle}} is a partial order is as above.%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    45
\end{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    46
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    47
\ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    48
\ {\isachardoublequoteopen}partial{\isacharunderscore}order\ {\isacharparenleft}op\ {\isasymle}\ {\isacharcolon}{\isacharcolon}\ nat\ {\isasymRightarrow}\ nat\ {\isasymRightarrow}\ bool{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    49
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    50
\ unfold{\isacharunderscore}locales\ auto%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    51
\begin{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    52
The second goal is shown by unfolding the
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    53
    definition of \isa{partial{\isacharunderscore}order{\isachardot}less}.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    54
\end{isamarkuptxt}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    55
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    56
\ \ \isacommand{show}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    57
\ {\isachardoublequoteopen}partial{\isacharunderscore}order{\isachardot}less\ op\ {\isasymle}\ {\isacharparenleft}x{\isacharcolon}{\isacharcolon}nat{\isacharparenright}\ y\ {\isacharequal}\ {\isacharparenleft}x\ {\isacharless}\ y{\isacharparenright}{\isachardoublequoteclose}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    58
\ \ \ \ \isacommand{unfolding}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    59
\ partial{\isacharunderscore}order{\isachardot}less{\isacharunderscore}def\ {\isacharbrackleft}OF\ {\isacharbackquoteopen}partial{\isacharunderscore}order\ op\ {\isasymle}{\isacharbackquoteclose}{\isacharbrackright}\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    60
\ \ \ \ \isacommand{by}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    61
\ auto\isanewline
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    62
\isacommand{qed}\isamarkupfalse%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    63
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    64
\endisatagvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    65
{\isafoldvisible}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    66
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    67
\isadelimvisible
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    68
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    69
\endisadelimvisible
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
Note that the above proof is not in the context of a locale.
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    73
  Hence, the correct interpretation of \isa{partial{\isacharunderscore}order{\isachardot}less{\isacharunderscore}def} is obtained manually with \isa{OF}.%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    74
\end{isamarkuptext}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    75
\isamarkuptrue%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    76
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    77
\isadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    78
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    79
\endisadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    80
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    81
\isatagtheory
27080
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    82
\isacommand{end}\isamarkupfalse%
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    83
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    84
\endisatagtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    85
{\isafoldtheory}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    86
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    87
\isadelimtheory
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    88
%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    89
\endisadelimtheory
27080
0ee385433247 updated generated file;
wenzelm
parents: 27063
diff changeset
    90
\isanewline
27063
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    91
\end{isabellebody}%
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    92
%%% Local Variables:
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    93
%%% mode: latex
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    94
%%% TeX-master: "root"
d1d35284542f New version covering interpretation.
ballarin
parents:
diff changeset
    95
%%% End: