src/HOL/Tools/Quotient/quotient_type.ML
changeset 60225 eb4e322734bf
parent 59936 b8ffc3dc9e24
child 60669 0e745bd11c55
equal deleted inserted replaced
60224:e759afe46a8c 60225:eb4e322734bf
   123           (SOME (equiv_thm RS @{thm equivp_reflp2}),
   123           (SOME (equiv_thm RS @{thm equivp_reflp2}),
   124             [quot3_thm, T_def, equiv_thm] MRSL @{thm Quotient3_to_Quotient_equivp})
   124             [quot3_thm, T_def, equiv_thm] MRSL @{thm Quotient3_to_Quotient_equivp})
   125       | Const (@{const_name part_equivp}, _) $ _ =>
   125       | Const (@{const_name part_equivp}, _) $ _ =>
   126           (NONE, [quot3_thm, T_def] MRSL @{thm Quotient3_to_Quotient})
   126           (NONE, [quot3_thm, T_def] MRSL @{thm Quotient3_to_Quotient})
   127       | _ => error "unsupported equivalence theorem")
   127       | _ => error "unsupported equivalence theorem")
       
   128     val config = { notes = true }
   128   in
   129   in
   129     lthy'
   130     lthy'
   130       |> Lifting_Setup.setup_by_quotient quot_thm reflp_thm opt_par_thm
   131       |> Lifting_Setup.setup_by_quotient config quot_thm reflp_thm opt_par_thm
       
   132       |> snd
   131       |> (snd oo Local_Theory.note) ((quotient_thm_name, []), [quot_thm])
   133       |> (snd oo Local_Theory.note) ((quotient_thm_name, []), [quot_thm])
   132   end
   134   end
   133 
   135 
   134 fun init_quotient_infr quot_thm equiv_thm opt_par_thm lthy =
   136 fun init_quotient_infr quot_thm equiv_thm opt_par_thm lthy =
   135   let
   137   let