Quotient-Paper/Paper.thy
changeset 2194 a52499e125ce
parent 2193 aae246e2a5dc
child 2195 0c1dcdefb515
--- a/Quotient-Paper/Paper.thy	Wed May 26 17:20:59 2010 +0200
+++ b/Quotient-Paper/Paper.thy	Wed May 26 17:55:42 2010 +0200
@@ -307,11 +307,28 @@
 
 section {* Lifting Theorems *}
 
+text {*
+  The core of the quotient package takes an original theorem that
+  talks about the raw types, and the statement of the theorem that
+  it is supposed to produce. This is different from other existing
+  quotient packages, where only the raw theorems was necessary.
+  We notice that in some cases only some occurrences of the raw
+  types need to be lifted. This is for example the case in the
+  new Nominal package, where a raw datatype that talks about
+  pairs of natural numbers or strings (being lists of characters)
+  should not be changed to a quotient datatype with constructors
+  taking integers or finite sets of characters. To simplify the
+  use of the quotient package we additionally provide an automated
+  statement translation mechanism that replaces occurrences of
+  types that match given quotients by appropriate lifted types.
+
+  Lifting the theorems is performed in three steps. In the following
+  we call these steps \emph{regularization}, \emph{injection} and
+  \emph{cleaning} following the names used in Homeier's HOL
+  implementation. The three steps are independent from each other.
 
 
-text {* TBD *}
-
-text {* Why providing a statement to prove is necessary is some cases *}
+*}
 
 subsection {* Regularization *}