Pearl/Paper.thy
changeset 1786 3764ed518ee5
parent 1784 a862a3befe37
child 1787 176690691b0b
child 1790 000e680b6b6e
--- a/Pearl/Paper.thy	Thu Apr 08 09:12:13 2010 +0200
+++ b/Pearl/Paper.thy	Thu Apr 08 09:13:36 2010 +0200
@@ -338,7 +338,7 @@
   are \emph{equal}.  We do not have to use the equivalence relation shown
   in~\eqref{permequ} to identify them, as we would if they had been represented
   as lists of pairs.  Another advantage of the function representation is that
-  they form an (additive non-commutative) group provided we define
+  they form a (non-commutative) group, provided we define
 
   \begin{isabelle}\ \ \ \ \ \ \ \ \ \ %%%
   \begin{tabular}{@ {}l}
@@ -363,17 +363,15 @@
 
   \noindent
   Again this is in contrast to the list-of-pairs representation which does not
-  form a group. The technical importance of this fact is that for groups we
-  can rely on Isabelle/HOL's rich simplification infrastructure.  This will
-  come in handy when we have to do calculations with permutations. However,
-  note that in this case Isabelle/HOL neglects well-entrenched mathematical
-  terminology that associates with an additive group a commutative
-  operation. Obviously, permutations are not commutative in general, because @{text
-  "p + q \<noteq> q + p"}. However, it is quite difficult to work around this
-  idiosyncrasy of Isabelle/HOL, unless we develop our own algebraic hierarchy
-  and infrastructure. But since the point of this paper is to implement the
-  nominal theory as smoothly as possible in Isabelle/HOL, we will follow its
-  characterisation of additive groups.
+  form a group.  The technical importance of this fact is that we can rely on
+  Isabelle/HOL's existing simplification infrastructure for groups, which will
+  come in handy when we have to do calculations with permutations.
+  Note that Isabelle/HOL defies standard conventions of mathematical notation
+  by using additive syntax even for non-commutative groups.  Obviously,
+  composition of permutations is not commutative in general---@{text
+  "\<pi>\<^sub>1 + \<pi>\<^sub>2 \<noteq> \<pi>\<^sub>2 + \<pi>\<^sub>1"}.  But since the point of this paper is to implement the
+  nominal theory as smoothly as possible in Isabelle/HOL, we tolerate
+  the non-standard notation in order to reuse the existing libraries.
 
   By formalising permutations abstractly as functions, and using a single type
   for all atoms, we can now restate the \emph{permutation properties} from
@@ -892,10 +890,10 @@
 
   The following Isabelle/HOL command defines a concrete atom type called
   \emph{name}, which consists of atoms whose sort equals the string @{term
-  "''name''"}.
+  "''Thy.name''"}.
 
   \begin{isabelle}\ \ \ \ \ \ \ \ \ \ %%%
-  \isacommand{typedef}\ \ @{typ name} = @{term "{a. sort\<iota> a = ''name''}"}
+  \isacommand{typedef}\ \ @{typ name} = @{term "{a. sort\<iota> a = ''Thy.name''}"}
   \end{isabelle}
 
   \noindent