src/HOL/Nominal/nominal_thmdecls.ML
changeset 32740 9dd0a2f83429
parent 32429 54758ca53fd6
child 32960 69916a850301
equal deleted inserted replaced
32739:31e75ad9ae17 32740:9dd0a2f83429
    16   val eqvt_force_add: attribute
    16   val eqvt_force_add: attribute
    17   val eqvt_force_del: attribute
    17   val eqvt_force_del: attribute
    18   val setup: theory -> theory
    18   val setup: theory -> theory
    19   val get_eqvt_thms: Proof.context -> thm list
    19   val get_eqvt_thms: Proof.context -> thm list
    20 
    20 
    21   val NOMINAL_EQVT_DEBUG : bool ref
    21   val NOMINAL_EQVT_DEBUG : bool Unsynchronized.ref
    22 end;
    22 end;
    23 
    23 
    24 structure NominalThmDecls: NOMINAL_THMDECLS =
    24 structure NominalThmDecls: NOMINAL_THMDECLS =
    25 struct
    25 struct
    26 
    26 
    41 (* the implicational case it is also checked that the variables and permutation fit  *)
    41 (* the implicational case it is also checked that the variables and permutation fit  *)
    42 (* together, i.e. are of the right "pt_class", so that a stronger version of the     *)
    42 (* together, i.e. are of the right "pt_class", so that a stronger version of the     *)
    43 (* equality-lemma can be derived. *)
    43 (* equality-lemma can be derived. *)
    44 exception EQVT_FORM of string
    44 exception EQVT_FORM of string
    45 
    45 
    46 val NOMINAL_EQVT_DEBUG = ref false
    46 val NOMINAL_EQVT_DEBUG = Unsynchronized.ref false
    47 
    47 
    48 fun tactic (msg, tac) =
    48 fun tactic (msg, tac) =
    49   if !NOMINAL_EQVT_DEBUG
    49   if !NOMINAL_EQVT_DEBUG
    50   then tac THEN' (K (print_tac ("after " ^ msg)))
    50   then tac THEN' (K (print_tac ("after " ^ msg)))
    51   else tac
    51   else tac