merged
authorChristian Urban <urbanc@in.tum.de>
Thu, 22 Dec 2011 13:10:58 +0000
changeset 3095 9e7047159f43
parent 3091 578e0265b235 (current diff)
parent 3094 8bad9887ad90 (diff)
child 3096 18f20d75b463
merged
--- a/Quotient-Paper-jv/Paper.thy	Thu Dec 22 13:10:30 2011 +0000
+++ b/Quotient-Paper-jv/Paper.thy	Thu Dec 22 13:10:58 2011 +0000
@@ -128,10 +128,14 @@
   "0"} and @{text "1"} of type @{typ int} can be given in terms of pairs of
   natural numbers (namely @{text "(0, 0)"} and @{text "(1, 0)"}). Operations
   such as @{text "add"} with type @{typ "int \<Rightarrow> int \<Rightarrow> int"} can be defined in
-  terms of operations on pairs of natural numbers (namely @{text
-  "add_pair (n\<^isub>1, m\<^isub>1) (n\<^isub>2,
-  m\<^isub>2) \<equiv> (n\<^isub>1 + n\<^isub>2, m\<^isub>1 + m\<^isub>2)"}).
-  Similarly one can construct %%the type of
+  terms of operations on pairs of natural numbers:
+
+  \begin{isabelle}\ \ \ \ \ %%%
+  @{text "add_pair (n\<^isub>1, m\<^isub>1) (n\<^isub>2, m\<^isub>2) \<equiv> (n\<^isub>1 + n\<^isub>2, m\<^isub>1 + m\<^isub>2)"}
+  \end{isabelle}
+
+  \noindent
+  Similarly one can construct the type of
   finite sets, written @{term "\<alpha> fset"},
   by quotienting the type @{text "\<alpha> list"} according to the equivalence relation
 
@@ -165,6 +169,9 @@
   makes the formal
   proof of the substitution lemma almost trivial.
 
+  {\bf MAYBE AN EAMPLE FOR PARTIAL QUOTIENTS?}
+
+
   The difficulty is that in order to be able to reason about integers, finite
   sets or $\alpha$-equated lambda-terms one needs to establish a reasoning
   infrastructure by transferring, or \emph{lifting}, definitions and theorems
@@ -318,20 +325,22 @@
   of \emph{aggregate equivalence relation}, \emph{respectfulness} and \emph{preservation}
   from Homeier \cite{Homeier05}.
 
+  {\bf EXAMPLE BY HUFFMAN ABOUT @{thm map_concat}}
+
   In addition we are able to clearly specify what is involved
   in the lifting process (this was only hinted at in \cite{Homeier05} and
   implemented as a ``rough recipe'' in ML-code). A pleasing side-result
   is that our procedure for lifting theorems is completely deterministic
   following the structure of the theorem being lifted and the theorem
-  on the quotient level. Space constraints, unfortunately, allow us to only
+  on the quotient level. {\it Space constraints, unfortunately, allow us to only
   sketch this part of our work in Section 5 and we defer the reader to a longer
-  version for the details. However, we will give in Section 3 and 4 all
+  version for the details.} However, we will give in Section 3 and 4 all
   definitions that specify the input and output data of our three-step
   lifting procedure. Appendix A gives an example how our quotient
   package works in practise.
 *}
 
-section {* Preliminaries and General\\ Quotients\label{sec:prelims} *}
+section {* Preliminaries and General Quotients\label{sec:prelims} *}
 
 text {*
   \noindent
@@ -498,7 +507,7 @@
   \end{isabelle}
 *}
 
-section {* Quotient Types and Quotient\\ Definitions\label{sec:type} *}
+section {* Quotient Types and Quotient Definitions\label{sec:type} *}
 
 text {*
   \noindent
@@ -758,7 +767,7 @@
   \end{proof}
 *}
 
-section {* Respectfulness and\\ Preservation \label{sec:resp} *}
+section {* Respectfulness and Preservation \label{sec:resp} *}
 
 text {*
   \noindent
@@ -1210,6 +1219,7 @@
   \cite{BengtsonParow09} and a strong normalisation result for cut-elimination
   in classical logic \cite{UrbanZhu08}.
 
+  {\bf INSTEAD OF NOMINAL WORK, GIVE WORK BY BULWAHN ET AL?}
 
   There is a wide range of existing literature for dealing with quotients
   in theorem provers.  Slotosch~\cite{Slotosch97} implemented a mechanism that
@@ -1355,6 +1365,27 @@
   where @{text x} is of type integer.
   Although seemingly simple, arriving at this result without the help of a quotient
   package requires a substantial reasoning effort (see \cite{Paulson06}).
+
+  {\bf \begin{itemize}
+  \item Type maps and Relation maps (show the case for functions)
+  \item Quotient extensions
+  \item Respectfulness and preservation
+  - Show special cases for quantifiers and lambda
+  \item Quotient-type locale
+  - Show the proof as much simpler than Homeier's one
+  \item ??? Infrastructure for storing theorems (rsp, prs, eqv, quot and idsimp)
+  \item Lifting vs Descending vs quot\_lifted
+  - automatic theorem translation heuristic
+  \item Partial equivalence quotients
+  - Bounded abstraction
+  - Respects
+  - partial descending
+  \item The heuristics for automatic regularization, injection and cleaning.
+  \item A complete example of a lifted theorem together with the regularized
+  injected and cleaned statement
+  \item Examples of quotients and properties that we used the package for.
+  \item co/contra-variance from Ondrej should be taken into account
+  \end{itemize}}
 *}
 
 
--- a/Quotient-Paper-jv/document/root.tex	Thu Dec 22 13:10:30 2011 +0000
+++ b/Quotient-Paper-jv/document/root.tex	Thu Dec 22 13:10:58 2011 +0000
@@ -1,24 +1,22 @@
 \documentclass{svjour3}
-\usepackage{times}
-\usepackage{isabelle}
-\usepackage{isabellesym}
 \usepackage{amsmath}
 \usepackage{amssymb}
-\usepackage{pdfsetup}
+\usepackage{isabelle}
+\usepackage{isabellesym}
 \usepackage{tikz}
-%\usepackage{pgf}
+\usepackage{verbdef}
+\usepackage{mathpartir}
+\usepackage{pdfsetup}
+\usepackage{times}
 \usepackage{stmaryrd}
-\usepackage{verbdef}
-%\usepackage{longtable}
-\usepackage{mathpartir}
 %\newtheorem{definition}{Definition}
 %\newtheorem{proposition}{Proposition}
 %\newtheorem{lemma}{Lemma}
 
 \urlstyle{rm}
-\isabellestyle{rm}
-\renewcommand{\isastyleminor}{\rm}%
-\renewcommand{\isastyle}{\normalsize\rm}%
+\isabellestyle{it}
+\renewcommand{\isastyleminor}{\it}%
+\renewcommand{\isastyle}{\normalsize\it}%
 \renewcommand{\isastylescript}{\it}
 \def\dn{\,\triangleq\,}
 \verbdef\singlearr|---->|
@@ -29,6 +27,7 @@
 \renewcommand{\isasymemptyset}{$\varnothing$}
 %%\renewcommand{\isacharunderscore}{\mbox{$\_\!\_$}}
 \renewcommand{\isasymUnion}{$\bigcup$}
+\renewcommand{\isacharunderscore}{\text{$\_\!\_$}}
 
 \newcommand{\isasymsinglearr}{$\mapsto$}
 \newcommand{\isasymdoublearr}{$\Mapsto$}