clarified comment about distinct lists in th efuture work section
authorChristian Urban <urbanc@in.tum.de>
Thu, 08 Apr 2010 14:18:38 +0200
changeset 1796 5165c350ee1a
parent 1795 e39453c8b186
child 1797 fddb470720f1
clarified comment about distinct lists in th efuture work section
Paper/Paper.thy
--- a/Paper/Paper.thy	Thu Apr 08 13:04:49 2010 +0200
+++ b/Paper/Paper.thy	Thu Apr 08 14:18:38 2010 +0200
@@ -8,7 +8,8 @@
   abs_set :: "'a \<Rightarrow> 'b \<Rightarrow> 'c"
   alpha_bn :: "'a \<Rightarrow> 'a \<Rightarrow> bool"
   abs_set2 :: "'a \<Rightarrow> perm \<Rightarrow> 'b \<Rightarrow> 'c"
-  alpha2 :: "'a \<Rightarrow> 'b \<Rightarrow> 'c \<Rightarrow> 'd \<Rightarrow> 'e \<Rightarrow> 'f" 
+  Abs_dist :: "'a \<Rightarrow> 'b \<Rightarrow> 'c" 
+  
 
 definition
  "equal \<equiv> (op =)" 
@@ -25,12 +26,12 @@
   alpha_res ("_ \<approx>\<^raw:\raisebox{-1pt}{\makebox[0mm][l]{$\,_{\textit{res}}$}}>\<^bsup>_, _, _\<^esup> _") and
   abs_set ("_ \<approx>\<^raw:{$\,_{\textit{abs\_set}}$}> _") and
   abs_set2 ("_ \<approx>\<^raw:\raisebox{-1pt}{\makebox[0mm][l]{$\,_{\textit{list}}$}}>\<^bsup>_\<^esup>  _") and
-  alpha2 ("_ \<approx>\<^raw:\raisebox{-1pt}{\makebox[0mm][l]{$\,_{\textit{\#{}list}}$}}>\<^bsup>_, _, _\<^esup> _") and
   fv ("fv'(_')" [100] 100) and
   equal ("=") and
   alpha_abs ("_ \<approx>\<^raw:{$\,_{\textit{abs\_set}}$}> _") and 
   Abs ("[_]\<^raw:$\!$>\<^bsub>set\<^esub>._" [20, 101] 999) and
   Abs_lst ("[_]\<^raw:$\!$>\<^bsub>list\<^esub>._") and
+  Abs_dist ("[_]\<^raw:$\!$>\<^bsub>#list\<^esub>._") and
   Abs_res ("[_]\<^raw:$\!$>\<^bsub>res\<^esub>._") and
   Cons ("_::_" [78,77] 73) and
   supp_gen ("aux _" [1000] 10) and
@@ -2072,23 +2073,16 @@
 
 
   We have also not yet played with other binding modes. For example we can
-  imagine that there is need for a binding mode \isacommand{bind\_\#list} with an associated
-  alpha-equivalence definition as follows:
+  imagine that there is need for a binding mode \isacommand{bind\_\#list} with
+  an associated abstraction of the form
   %
   \begin{center}
-  $\begin{array}{@ {\hspace{10mm}}r@ {\hspace{2mm}}l}
-  \multicolumn{2}{l}{@{term "alpha2 (as, x) R fv p (bs, y)"}\hspace{2mm}@{text "\<equiv>"}\hspace{30mm}}\\[1mm]
-             & @{term "fv(x) - (set as) = fv(y) - (set bs)"}\\
-  \wedge     & @{term "(fv(x) - set as) \<sharp>* p"}\\
-  \wedge     & @{text "(p \<bullet> x) R y"}\\
-  \wedge     & @{term "(p \<bullet> as) = bs"}\\
-  \wedge     & @{term "distinct as"} 
-  \end{array}$
+  @{term "Abs_dist as x"}
   \end{center}
 
   \noindent
-  In this definition we added the requirement that all bound variables in a
-  list are distinct. Once we feel confident about such binding modes, our implementation 
+  where instead of lists, we abstract lists of distinct elements.
+  Once we feel confident about such binding modes, our implementation 
   can be easily extended to accommodate them.
 
   \medskip