Paper/Paper.thy
changeset 120 c1f596c7f59e
parent 119 ece3f197b92b
child 121 1cf12a107b03
equal deleted inserted replaced
119:ece3f197b92b 120:c1f596c7f59e
   974 
   974 
   975   \noindent
   975   \noindent
   976   where @{text "A"} and @{text "B"} are some arbitrary languages.
   976   where @{text "A"} and @{text "B"} are some arbitrary languages.
   977   We can show in general, if @{term "finite (UNIV // \<approx>A)"} and @{term "finite (UNIV // \<approx>B)"}
   977   We can show in general, if @{term "finite (UNIV // \<approx>A)"} and @{term "finite (UNIV // \<approx>B)"}
   978   then @{term "finite ((UNIV // \<approx>A) \<times> (UNIV // \<approx>B))"} holds. The range of
   978   then @{term "finite ((UNIV // \<approx>A) \<times> (UNIV // \<approx>B))"} holds. The range of
   979   @{term "tag_str_ALT A B"} is a subset of this. It remains to be shown
   979   @{term "tag_str_ALT A B"} is a subset of this product set. It remains to show
   980   that @{text "=tag\<^isub>A\<^isub>L\<^isub>T="} refines @{text "\<approx>(A \<union> B)"}.
   980   that @{text "=tag\<^isub>A\<^isub>L\<^isub>T A B="} refines @{term "\<approx>(A \<union> B)"}. This amounts to 
   981 
   981   showing
       
   982   %
       
   983   \begin{center}
       
   984   @{term "tag\<^isub>A\<^isub>L\<^isub>T A B x = tag\<^isub>A\<^isub>L\<^isub>T A B y \<longrightarrow> x \<approx>(A \<union> B) y"}
       
   985   \end{center}
       
   986 
       
   987   \noindent
       
   988   which by unfolding the Myhill-Nerode relation is identical to
       
   989   %
       
   990   \begin{equation}\label{pattern}
       
   991   @{text "\<forall>z. tag\<^isub>A\<^isub>L\<^isub>T A B x = tag\<^isub>A\<^isub>L\<^isub>T A B y \<and> x @ z \<in> A \<union> B \<longrightarrow> y @ z \<in> A \<union> B"}
       
   992   \end{equation}
       
   993 
       
   994   \noindent
       
   995   since both @{text "=tag\<^isub>A\<^isub>L\<^isub>T A B="} and @{term "\<approx>(A \<union> B)"} are symmetric. To solve
       
   996   \eqref{pattern} we just have to unfold the tagging-relation and analyse 
       
   997   in which set, @{text A} or @{text B}, the string @{term "x @ z"} is. Fianlly we
       
   998   can discharge this case by setting @{text A} to @{term "L r\<^isub>1"} and @{text B} to @{term "L r\<^isub>2"}.\qed
   982   \end{proof}
   999   \end{proof}
   983 
  1000 
   984 
  1001 
   985   @{thm tag_str_SEQ_def[where ?L1.0="A" and ?L2.0="B"]}
  1002   @{thm tag_str_SEQ_def[where ?L1.0="A" and ?L2.0="B"]}
   986  
  1003