doc-src/IsarRef/isar-ref.tex
author chaieb
Wed, 19 May 2004 11:23:59 +0200
changeset 14758 af3b71a46a1c
parent 13048 8b2eb3b78cc3
child 18021 99d170aebb6e
permissions -rw-r--r--
A new implementation for presburger arithmetic following the one suggested in technical report Chaieb Amine and Tobias Nipkow. It is generic an smaller. the tactic has also changed and allows the abstaction over fuction occurences whose type is nat or int.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
     1
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
     2
%% $Id$
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
     3
7836
7a9270282fd3 a4paper;
wenzelm
parents: 7532
diff changeset
     4
\documentclass[12pt,a4paper,fleqn]{report}
9695
ec7d7f877712 proper setup of iman.sty/extra.sty/ttbox.sty;
wenzelm
parents: 9658
diff changeset
     5
\usepackage{latexsym,graphicx,../iman,../extra,../ttbox,../proof,../rail,../railsetup,../isar,../pdfsetup}
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
     6
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
     7
\title{\includegraphics[scale=0.5]{isabelle_isar} \\[4ex] The Isabelle/Isar Reference Manual}
7050
c70d3402fef5 checkpoint;
wenzelm
parents: 7046
diff changeset
     8
\author{\emph{Markus Wenzel} \\ TU M\"unchen}
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
     9
7050
c70d3402fef5 checkpoint;
wenzelm
parents: 7046
diff changeset
    10
\makeindex
c70d3402fef5 checkpoint;
wenzelm
parents: 7046
diff changeset
    11
9658
97d6d0a72d35 tuned \isastyle;
wenzelm
parents: 9600
diff changeset
    12
\newcommand{\isastyle}{\small\tt\slshape}
97d6d0a72d35 tuned \isastyle;
wenzelm
parents: 9600
diff changeset
    13
\newcommand{\isa}[1]{\emph{\isastyle #1}}
10208
2b284ef75049 tuned syms;
wenzelm
parents: 10160
diff changeset
    14
\newcommand{\isamath}[1]{\emph{$#1$}}
2b284ef75049 tuned syms;
wenzelm
parents: 10160
diff changeset
    15
\newcommand{\isasymColon}{\isamath{\mathrel{::}}}
2b284ef75049 tuned syms;
wenzelm
parents: 10160
diff changeset
    16
\newcommand{\isasymRightarrow}{\isamath{\Rightarrow}}
10639
f902346264e9 harpoons;
wenzelm
parents: 10240
diff changeset
    17
\newcommand{\isasymleftharpoondown}{\isamath{\leftharpoondown}}
f902346264e9 harpoons;
wenzelm
parents: 10240
diff changeset
    18
\newcommand{\isasymrightharpoonup}{\isamath{\rightharpoonup}}
f902346264e9 harpoons;
wenzelm
parents: 10240
diff changeset
    19
\newcommand{\isasymrightleftharpoons}{\isamath{\rightleftharpoons}}
10685
8cb1d80f10de \isasymequiv;
wenzelm
parents: 10639
diff changeset
    20
\newcommand{\isasymequiv}{\isamath{\equiv}}
11100
34d58b1818f4 \<subseteq> syntax for classes/classrel/axclass/instance;
wenzelm
parents: 10858
diff changeset
    21
\newcommand{\isasymsubseteq}{\isamath{\subseteq}}
9204
e865dda0313e tuned rail setup;
wenzelm
parents: 8896
diff changeset
    22
e865dda0313e tuned rail setup;
wenzelm
parents: 8896
diff changeset
    23
\railterm{percent,ppercent,underscore,lbrace,rbrace,atsign}
7167
wenzelm
parents: 7135
diff changeset
    24
\railterm{ident,longident,symident,var,textvar,typefree,typevar,nat,string,verbatim,keyword}
8596
wenzelm
parents: 8594
diff changeset
    25
\railterm{name,nameref,text,type,term,prop,atom}
7134
320b412e5800 more stuff;
wenzelm
parents: 7050
diff changeset
    26
13048
wenzelm
parents: 12879
diff changeset
    27
\railalias{ident}{\railtok{ident}}
wenzelm
parents: 12879
diff changeset
    28
\railalias{longident}{\railtok{longident}}
wenzelm
parents: 12879
diff changeset
    29
\railalias{symident}{\railtok{symident}}
wenzelm
parents: 12879
diff changeset
    30
\railalias{var}{\railtok{var}}
wenzelm
parents: 12879
diff changeset
    31
\railalias{textvar}{\railtok{textvar}}
wenzelm
parents: 12879
diff changeset
    32
\railalias{typefree}{\railtok{typefree}}
wenzelm
parents: 12879
diff changeset
    33
\railalias{typevar}{\railtok{typevar}}
wenzelm
parents: 12879
diff changeset
    34
\railalias{nat}{\railtok{nat}}
wenzelm
parents: 12879
diff changeset
    35
\railalias{string}{\railtok{string}}
wenzelm
parents: 12879
diff changeset
    36
\railalias{verbatim}{\railtok{verbatim}}
wenzelm
parents: 12879
diff changeset
    37
\railalias{keyword}{\railtok{keyword}}
8594
d2e2a3df6871 rail token vs. terminal;
wenzelm
parents: 8547
diff changeset
    38
13048
wenzelm
parents: 12879
diff changeset
    39
\railalias{name}{\railqtok{name}}
wenzelm
parents: 12879
diff changeset
    40
\railalias{nameref}{\railqtok{nameref}}
wenzelm
parents: 12879
diff changeset
    41
\railalias{text}{\railqtok{text}}
wenzelm
parents: 12879
diff changeset
    42
\railalias{type}{\railqtok{type}}
wenzelm
parents: 12879
diff changeset
    43
\railalias{term}{\railqtok{term}}
wenzelm
parents: 12879
diff changeset
    44
\railalias{prop}{\railqtok{prop}}
wenzelm
parents: 12879
diff changeset
    45
\railalias{atom}{\railqtok{atom}}
7134
320b412e5800 more stuff;
wenzelm
parents: 7050
diff changeset
    46
7895
7c492d8bc8e3 updated;
wenzelm
parents: 7836
diff changeset
    47
\newcommand{\drv}{\mathrel{\vdash}}
7c492d8bc8e3 updated;
wenzelm
parents: 7836
diff changeset
    48
\newcommand{\edrv}{\mathop{\drv}\nolimits}
7974
34245feb6e82 improved;
wenzelm
parents: 7895
diff changeset
    49
\newcommand{\Or}{\mathrel{\;|\;}}
7895
7c492d8bc8e3 updated;
wenzelm
parents: 7836
diff changeset
    50
10858
wenzelm
parents: 10685
diff changeset
    51
\renewcommand{\vec}[1]{\overline{#1}}
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    52
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    53
\setcounter{secnumdepth}{2} \setcounter{tocdepth}{2}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    54
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    55
\pagestyle{headings}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    56
\sloppy
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    57
\binperiod     %%%treat . like a binary operator
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    58
7134
320b412e5800 more stuff;
wenzelm
parents: 7050
diff changeset
    59
\renewcommand{\phi}{\varphi}
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    60
10240
wenzelm
parents: 10208
diff changeset
    61
%\includeonly{}
7895
7c492d8bc8e3 updated;
wenzelm
parents: 7836
diff changeset
    62
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    63
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    64
\begin{document}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    65
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    66
\underscoreoff
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    67
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    68
\maketitle 
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    69
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    70
\pagenumbering{roman} \tableofcontents \clearfirst
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    71
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    72
\include{intro}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    73
\include{basics}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    74
\include{syntax}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    75
\include{pure}
7135
wenzelm
parents: 7134
diff changeset
    76
\include{generic}
12621
48cafea0684b next round of updates;
wenzelm
parents: 12618
diff changeset
    77
\include{logics}
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    78
7895
7c492d8bc8e3 updated;
wenzelm
parents: 7836
diff changeset
    79
\appendix
7c492d8bc8e3 updated;
wenzelm
parents: 7836
diff changeset
    80
\include{refcard}
9600
a585662e6490 some more refs;
wenzelm
parents: 9204
diff changeset
    81
\include{conversion}
7895
7c492d8bc8e3 updated;
wenzelm
parents: 7836
diff changeset
    82
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    83
\begingroup
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    84
  \bibliographystyle{plain} \small\raggedright\frenchspacing
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    85
  \bibliography{../manual}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    86
\endgroup
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    87
8828
5be2d1745c61 improved indexing;
wenzelm
parents: 8596
diff changeset
    88
\printindex
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    89
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    90
\end{document}