src/HOLCF/Tools/pcpodef_package.ML
changeset 24920 2a45e400fdad
parent 24867 e5b55d7be9bb
child 25701 73fbe868b4e7
equal deleted inserted replaced
24919:ad3a8569759c 24920:2a45e400fdad
    65     val full_name = full name;
    65     val full_name = full name;
    66     val set = prep_term (ctxt |> fold declare_type_name vs) raw_set;
    66     val set = prep_term (ctxt |> fold declare_type_name vs) raw_set;
    67     val setT = Term.fastype_of set;
    67     val setT = Term.fastype_of set;
    68     val rhs_tfrees = term_tfrees set;
    68     val rhs_tfrees = term_tfrees set;
    69     val oldT = HOLogic.dest_setT setT handle TYPE _ =>
    69     val oldT = HOLogic.dest_setT setT handle TYPE _ =>
    70       error ("Not a set type: " ^ quote (ProofContext.string_of_typ ctxt setT));
    70       error ("Not a set type: " ^ quote (Syntax.string_of_typ ctxt setT));
    71     fun mk_nonempty A =
    71     fun mk_nonempty A =
    72       HOLogic.mk_exists ("x", oldT, HOLogic.mk_mem (Free ("x", oldT), A));
    72       HOLogic.mk_exists ("x", oldT, HOLogic.mk_mem (Free ("x", oldT), A));
    73     fun mk_admissible A =
    73     fun mk_admissible A =
    74       mk_adm ("x", oldT, HOLogic.mk_mem (Free ("x", oldT), A));
    74       mk_adm ("x", oldT, HOLogic.mk_mem (Free ("x", oldT), A));
    75     fun mk_UU_mem A = HOLogic.mk_mem (Const ("Pcpo.UU", oldT), A);
    75     fun mk_UU_mem A = HOLogic.mk_mem (Const ("Pcpo.UU", oldT), A);