src/HOL/Tools/Quickcheck/quickcheck_common.ML
changeset 45728 123e3a9a3bb3
parent 45724 1f5fc44254d7
child 45753 196697f71488
equal deleted inserted replaced
45727:5e46c225370e 45728:123e3a9a3bb3
    15   val instantiate_goals: Proof.context -> (string * typ) list -> (term * term list) list
    15   val instantiate_goals: Proof.context -> (string * typ) list -> (term * term list) list
    16     -> (typ option * (term * term list)) list list
    16     -> (typ option * (term * term list)) list list
    17   val mk_safe_if : Proof.context -> term * term * (bool -> term) -> term
    17   val mk_safe_if : Proof.context -> term * term * (bool -> term) -> term
    18   val collect_results : ('a -> Quickcheck.result) -> 'a list -> Quickcheck.result list -> Quickcheck.result list
    18   val collect_results : ('a -> Quickcheck.result) -> 'a list -> Quickcheck.result list -> Quickcheck.result list
    19   type compile_generator =
    19   type compile_generator =
    20     Proof.context -> (term * term list) list -> int list -> term list option * Quickcheck.report option
    20     Proof.context -> (term * term list) list -> int list -> (bool * term list) option * Quickcheck.report option
    21   val generator_test_goal_terms :
    21   val generator_test_goal_terms :
    22     string * compile_generator -> Proof.context -> bool -> (string * typ) list
    22     string * compile_generator -> Proof.context -> bool -> (string * typ) list
    23     -> (term * term list) list -> Quickcheck.result list
    23     -> (term * term list) list -> Quickcheck.result list
    24   val ensure_sort_datatype:
    24   val ensure_sort_datatype:
    25     ((sort * sort) * sort) * (Datatype.config -> Datatype.descr -> (string * sort) list
    25     ((sort * sort) * sort) * (Datatype.config -> Datatype.descr -> (string * sort) list
    51 fun mk_undefined T = Const(@{const_name undefined}, T)
    51 fun mk_undefined T = Const(@{const_name undefined}, T)
    52 
    52 
    53 (* testing functions: testing with increasing sizes (and cardinalities) *)
    53 (* testing functions: testing with increasing sizes (and cardinalities) *)
    54 
    54 
    55 type compile_generator =
    55 type compile_generator =
    56   Proof.context -> (term * term list) list -> int list -> term list option * Quickcheck.report option
    56   Proof.context -> (term * term list) list -> int list -> (bool * term list) option * Quickcheck.report option
    57 
    57 
    58 fun check_test_term t =
    58 fun check_test_term t =
    59   let
    59   let
    60     val _ = (null (Term.add_tvars t []) andalso null (Term.add_tfrees t [])) orelse
    60     val _ = (null (Term.add_tvars t []) andalso null (Term.add_tfrees t [])) orelse
    61       error "Term to be tested contains type variables";
    61       error "Term to be tested contains type variables";