src/HOL/Nominal/nominal_thmdecls.ML
changeset 22286 85b065601f45
parent 22250 0d7ea7d2bc28
child 22418 49e2d9744ae1
equal deleted inserted replaced
22285:bbc76be6efb4 22286:85b065601f45
    14 sig
    14 sig
    15   val print_data: Proof.context -> unit
    15   val print_data: Proof.context -> unit
    16   val eqvt_add: attribute
    16   val eqvt_add: attribute
    17   val eqvt_del: attribute
    17   val eqvt_del: attribute
    18   val setup: theory -> theory
    18   val setup: theory -> theory
       
    19   val get_eqvt_thms: theory -> thm list
       
    20   val get_fresh_thms: theory -> thm list
       
    21   val get_bij_thms: theory -> thm list
       
    22   
    19 
    23 
    20   val NOMINAL_EQVT_DEBUG : bool ref
    24   val NOMINAL_EQVT_DEBUG : bool ref
    21 end;
    25 end;
    22 
    26 
    23 structure NominalThmDecls: NOMINAL_THMDECLS =
    27 structure NominalThmDecls: NOMINAL_THMDECLS =
    55 (* together, i.e. are of the right "pt_class", so that a stronger version of the     *)
    59 (* together, i.e. are of the right "pt_class", so that a stronger version of the     *)
    56 (* eqality-lemma can be derived. *)
    60 (* eqality-lemma can be derived. *)
    57 exception EQVT_FORM;
    61 exception EQVT_FORM;
    58 
    62 
    59 val print_data = Data.print o Context.Proof;
    63 val print_data = Data.print o Context.Proof;
       
    64 val get_eqvt_thms = Context.Theory #> Data.get #> #eqvt;
       
    65 val get_fresh_thms = Context.Theory #> Data.get #> #fresh;
       
    66 val get_bij_thms = Context.Theory #> Data.get #> #bij;
    60 
    67 
    61 (* FIXME: should be a function in a library *)
    68 (* FIXME: should be a function in a library *)
    62 fun mk_permT T = HOLogic.listT (HOLogic.mk_prodT (T, T));
    69 fun mk_permT T = HOLogic.listT (HOLogic.mk_prodT (T, T));
    63 
    70 
    64 val perm_bool = thm "perm_bool";
    71 val perm_bool = thm "perm_bool";