diff -r 6bc96f31cafd -r f7ee629b9beb src/HOL/Quickcheck_Examples/Hotel_Example.thy --- a/src/HOL/Quickcheck_Examples/Hotel_Example.thy Sun Sep 12 20:37:15 2021 +0200 +++ b/src/HOL/Quickcheck_Examples/Hotel_Example.thy Sun Sep 12 20:40:18 2021 +0200 @@ -132,14 +132,14 @@ val Bool = Predicate_Compile_Aux.Bool val oi = Fun (Output, Fun (Input, Bool)) val ii = Fun (Input, Fun (Input, Bool)) - fun of_set compfuns (Type ("fun", [T, _])) = + fun of_set compfuns \<^Type>\fun T _\ = case body_type (Predicate_Compile_Aux.mk_monadT compfuns T) of - Type ("Quickcheck_Exhaustive.three_valued", _) => - Const(\<^const_name>\neg_cps_of_set\, HOLogic.mk_setT T --> (Predicate_Compile_Aux.mk_monadT compfuns T)) - | _ => Const(\<^const_name>\pos_cps_of_set\, HOLogic.mk_setT T --> (Predicate_Compile_Aux.mk_monadT compfuns T)) - fun member compfuns (U as Type ("fun", [T, _])) = - (absdummy T (absdummy (HOLogic.mk_setT T) (Predicate_Compile_Aux.mk_if compfuns - (Const (\<^const_name>\Set.member\, T --> HOLogic.mk_setT T --> \<^typ>\bool\) $ Bound 1 $ Bound 0)))) + \<^Type>\Quickcheck_Exhaustive.three_valued _\ => + Const(\<^const_name>\neg_cps_of_set\, \<^Type>\set T\ --> Predicate_Compile_Aux.mk_monadT compfuns T) + | _ => Const(\<^const_name>\pos_cps_of_set\, \<^Type>\set T\ --> Predicate_Compile_Aux.mk_monadT compfuns T) + fun member compfuns (U as \<^Type>\fun T _\) = + (absdummy T (absdummy \<^Type>\set T\ (Predicate_Compile_Aux.mk_if compfuns + (\<^Const>\Set.member T for \Bound 1\ \Bound 0\\)))) in Core_Data.force_modes_and_compilations \<^const_name>\Set.member\