src/HOL/Tools/Quickcheck/narrowing_generators.ML
changeset 45891 d73605c829cc
parent 45765 cb6ddee6a463
child 45923 473b744c23f2
equal deleted inserted replaced
45890:5f70aaecae26 45891:d73605c829cc
   410   in
   410   in
   411     fold_rev enclose qs (@{term Quickcheck_Narrowing.Property} $ t)
   411     fold_rev enclose qs (@{term Quickcheck_Narrowing.Property} $ t)
   412   end
   412   end
   413 
   413 
   414 fun mk_case_term ctxt p ((@{const_name Ex}, (x, T)) :: qs') (Existential_Counterexample cs) =
   414 fun mk_case_term ctxt p ((@{const_name Ex}, (x, T)) :: qs') (Existential_Counterexample cs) =
   415     Datatype.make_case ctxt Datatype_Case.Quiet [] (Free (x, T)) (map (fn (t, c) =>
   415     Datatype_Case.make_case ctxt Datatype_Case.Quiet [] (Free (x, T)) (map (fn (t, c) =>
   416       (t, mk_case_term ctxt (p - 1) qs' c)) cs)
   416       (t, mk_case_term ctxt (p - 1) qs' c)) cs)
   417   | mk_case_term ctxt p ((@{const_name All}, (x, T)) :: qs') (Universal_Counterexample (t, c)) =
   417   | mk_case_term ctxt p ((@{const_name All}, (x, T)) :: qs') (Universal_Counterexample (t, c)) =
   418     if p = 0 then t else mk_case_term ctxt (p - 1) qs' c
   418     if p = 0 then t else mk_case_term ctxt (p - 1) qs' c
   419 
   419 
   420 val post_process = (perhaps (try Quickcheck_Common.post_process_term)) o eval_finite_functions
   420 val post_process = (perhaps (try Quickcheck_Common.post_process_term)) o eval_finite_functions