Quotient-Paper/Paper.thy
changeset 2196 74637f186af7
parent 2195 0c1dcdefb515
child 2197 3a6afcb187ec
equal deleted inserted replaced
2195:0c1dcdefb515 2196:74637f186af7
   293 
   293 
   294 text {*
   294 text {*
   295   To be able to lift theorems that talk about constants that are not
   295   To be able to lift theorems that talk about constants that are not
   296   lifted but whose type changes when lifting is performed additionally
   296   lifted but whose type changes when lifting is performed additionally
   297   preservation theorems are needed.
   297   preservation theorems are needed.
       
   298 
       
   299   To lift theorems that talk about insertion in lists of lifted types
       
   300   we need to know that for any quotient type with the abstraction and
       
   301   representation functions @{text "Abs"} and @{text Rep} we have:
       
   302 
       
   303   @{thm [display] (concl) cons_prs[no_vars]}
       
   304 
       
   305   This is not enough to lift theorems that talk about quotient compositions.
       
   306   For some constants (for example empty list) it is possible to show a
       
   307   general compositional theorem, but for @{term "op #"} it is necessary
       
   308   to show that it respects the particular quotient type:
       
   309 
       
   310   @{thm [display] insert_preserve2[no_vars]}
   298 *}
   311 *}
   299 
   312 
   300 subsection {* Composition of Quotient theorems *}
   313 subsection {* Composition of Quotient theorems *}
   301 
   314 
   302 text {*
   315 text {*