|
1 \documentclass[12pt]{article} |
|
2 %%\usepackage{dina4} |
|
3 \usepackage{amsmath} |
|
4 \usepackage{amssymb} |
|
5 \usepackage[latin1]{inputenc} |
|
6 \usepackage{epsfig} |
|
7 \usepackage{times} |
|
8 \usepackage{pstricks,pst-grad} |
|
9 \usepackage{wallpaper} |
|
10 \usepackage{color} |
|
11 \usepackage{a0size} |
|
12 %%\usepackage{lmodern} |
|
13 |
|
14 |
|
15 |
|
16 \addtolength{\textheight}{2cm} |
|
17 \newpsobject{showgrid}{psgrid}{subgriddiv=2,griddots=10,gridlabels=6pt} |
|
18 \renewcommand{\huge}{\fontsize{51.6}{64}\selectfont} |
|
19 \renewcommand{\Huge}{\fontsize{61.92}{77}\selectfont} |
|
20 \newcommand{\veryHuge}{\fontsize{74.3}{93}\selectfont} |
|
21 \newcommand{\VeryHuge}{\fontsize{89.16}{112}\selectfont} |
|
22 \newcommand{\VERYHuge}{\fontsize{107}{134}\selectfont} |
|
23 |
|
24 \pagestyle{empty} |
|
25 \begin{document} |
|
26 %%\CenterWallPaper{1}{australia} |
|
27 \color{black} |
|
28 \mbox{}\\[-15mm] |
|
29 |
|
30 \begin{center} |
|
31 \begin{tabular}{@{}c@{}} |
|
32 {\bf\LARGE Hands-On Introduction to Nominal Isabelle}\medskip\\ |
|
33 {\bf\Large One-Day Tutorial at IJCAR'08 in Sydney}\bigskip\\ |
|
34 \includegraphics[width=4cm,angle=0]{logo.eps}\bigskip\\ |
|
35 {\bf \large Time: 11th August (just before IJCAR)} |
|
36 \end{tabular} |
|
37 \end{center} |
|
38 |
|
39 \noindent |
|
40 {\bf Overview:} |
|
41 Dealing with binders, renaming of bound variables, capture-avoid\-ing |
|
42 substitution, etc., is very often a major problem in formal proofs about the |
|
43 lambda-calculus and programming language theory. Nominal Isabelle provides an |
|
44 infrastructure for reasoning conveniently about bound variables and |
|
45 alpha-equivalence classes in the proof assistant Isabelle. The aim of the |
|
46 tutorial is to give participants a reading knowledge of nominal |
|
47 techniques and allow them to start using Nominal Isabelle in their |
|
48 own work. The tutorial will be hands-on and therefore participants are |
|
49 encouraged to bring their own laptop. |
|
50 \bigskip |
|
51 |
|
52 \noindent |
|
53 {\bf Programme:} |
|
54 \begin{center} |
|
55 \begin{tabular}{rp{10cm}} |
|
56 Session I: & |
|
57 basics, alpha-equivalence classes, |
|
58 substitution lemma,\\ |
|
59 & Isar proof language\\ |
|
60 |
|
61 Session II: & |
|
62 strong induction principles, contexts with holes,\\ |
|
63 & beta-reduction\\ |
|
64 |
|
65 Session III: & |
|
66 variable convention, evaluation relation, CK-machines\\ |
|
67 |
|
68 Session IV: & |
|
69 functions, type-preservation, progress lemma\\ |
|
70 \end{tabular} |
|
71 \end{center}\bigskip |
|
72 |
|
73 \noindent |
|
74 {\bf Target audience:} Researchers and doctoral students who want to use |
|
75 Nominal Isabelle to formalise proofs from the lambda-calculus, from programming |
|
76 language theory or from proof theory, such as type soundness, Church Rosser, |
|
77 strong normalisation and so on. The tutorial is designed for people who |
|
78 have not necessarily used Isabelle before, nor have used any other proof |
|
79 assistant.\bigskip |
|
80 |
|
81 \noindent |
|
82 {\bf More Information:} See\hspace{2mm} {\tt http://isabelle.in.tum.de/nominal/} |
|
83 |
|
84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
85 \begin{center} |
|
86 \begin{pspicture}(0.7,0)(13,3.0) |
|
87 %\showgrid% |
|
88 \rput(6.8,1){\includegraphics[width=3cm,angle=0]{australia.ps}}% |
|
89 \pscircle[fillstyle=solid,fillcolor=red](7.95,0.3){0.15}% |
|
90 \rput[b](2,0){\huge\boldmath\textcolor{gray}{$\forall$}} |
|
91 \rput[b](4,0){\veryHuge\textcolor{gray}{$\lambda$}} |
|
92 \rput[b](10.1,0){\Huge\boldmath\textcolor{gray}{$\#$}} |
|
93 \rput[b](12.5,0){\huge\boldmath\textcolor{gray}{$\vdash$}} |
|
94 \end{pspicture} |
|
95 \end{center} |
|
96 |
|
97 % If you have missed the recent Coq-workshop, |
|
98 %this is your second chance. If you have have been there, the tutorial will |
|
99 %demonstrate an alternative approach to writing POPL papers (see elsewhere). |
|
100 |
|
101 |
|
102 |
|
103 |
|
104 \end{document} |
|
105 |
|
106 |
|
107 % Using Proof Assistants for Programming Language Research or, |
|
108 % How to write your next POPL paper in Coq |
|
109 |
|
110 % San Francisco, CA |
|
111 % January 8th, 2008 |
|
112 |
|
113 % A tutorial on the use of the Coq proof assistant in formalizing programming |
|
114 % language metatheory. This tutorial will be tailored to people who are |
|
115 % familiar with syntactic proofs of programming language metatheory, such as |
|
116 % type soundness, but have never used a proof assistant to create a nd check |
|
117 % such proofs. At the end of the session, participants will have a reading |
|
118 % knowledge of Coq and a running start on using Coq in their own work. This |
|
119 % tutorial will be hands-on; participants are strongly encouraged to bring a |
|
120 % laptop running Coq 8.1 (or a later release) and either Proof General or |
|
121 % CoqIDE. The POPLmark wiki has instruc tions for installing Coq and Proof |
|
122 % General. |
|
123 |
|
124 % Registration for the tutorial is online, through the POPL 2008 website. |
|
125 |
|
126 % Topics |
|
127 % Defining language semantics in Coq |
|
128 % Abstract syntax |
|
129 % Inductively-defined relations |
|
130 % Derivations |
|
131 % Proving simple results |
|
132 % Fundamental tactics |
|
133 % Automation |
|
134 % Forward and backward reasoning |
|
135 % Scaling up to POPLmark |
|
136 % Semantic functions and conversion |
|
137 % Sets and environments |
|
138 % Representing binding |
|
139 % Locally nameless representation |
|
140 % Freshness through cofinite quantification |
|
141 % Syntactic type soundness |
|
142 |
|
143 % Materials |
|
144 |
|
145 % The Coq code and documentation for this tutorial is available online. If you |
|
146 % are attending the tutorial, we encourage you to download these materials and |
|
147 % compile them beforehand. If you are not attending, these materials are self |
|
148 % contained; you are welcome and encouraged to step through them on your own. |
|
149 |
|
150 |
|
151 |
|
152 |
|
153 |
|
154 |
|
155 |
|
156 |
|
157 |
|
158 |
|
159 |
|
160 |
|
161 |
|
162 |
|
163 |
|
164 |
|
165 |
|
166 |
|
167 |
|
168 |