diff -r 9c44db3eef95 -r dcffc2f132c9 Quotient-Paper/Paper.thy --- a/Quotient-Paper/Paper.thy Tue Jun 15 07:58:33 2010 +0200 +++ b/Quotient-Paper/Paper.thy Tue Jun 15 09:12:54 2010 +0200 @@ -365,10 +365,11 @@ \end{definition} \noindent - Unfortunately, restrictions in HOL's type-system prevent us from stating - and proving a quotient type theorem, like Proposition \ref{funquot}, for compositions - of relations. However, we can prove all instances where @{text R\<^isub>1} and - @{text "R\<^isub>2"} are built up by constituent equivalence relations. + Unfortunately a quotient type theorem, like Proposition \ref{funquot}, for + the composition of any two quotients in not true (it is not even typable in + the HOL type system). However, we can prove useful instances for compatible + containers. We will show such example in Section \ref{sec:resp}. + *} section {* Quotient Types and Quotient Definitions\label{sec:type} *} @@ -728,9 +729,12 @@ Lets take again the example of @{term flat}. To be able to lift theorems that talk about it we provide the composition quotient - theorem: + theorem which allows quotienting inside the container: - @{thm [display, indent=10] quotient_compose_list[no_vars]} + If @{term R} is an equivalence relation and @{term "Quotient R Abs Rep"} + then + + @{text [display, indent=10] "Quotient (list_rel R \\\ \\<^bsub>list\<^esub>) (abs_fset \ map Abs) (map Rep o rep_fset)"} \noindent this theorem will then instantiate the quotients needed in the