src/HOL/NSA/transfer.ML
changeset 58825 2065f49da190
parent 56256 1e01c159e7d9
child 58957 c9e744ea8a38
equal deleted inserted replaced
58824:d480d1d7c544 58825:2065f49da190
     6 
     6 
     7 signature TRANSFER_PRINCIPLE =
     7 signature TRANSFER_PRINCIPLE =
     8 sig
     8 sig
     9   val transfer_tac: Proof.context -> thm list -> int -> tactic
     9   val transfer_tac: Proof.context -> thm list -> int -> tactic
    10   val add_const: string -> theory -> theory
    10   val add_const: string -> theory -> theory
    11   val setup: theory -> theory
       
    12 end;
    11 end;
    13 
    12 
    14 structure Transfer_Principle: TRANSFER_PRINCIPLE =
    13 structure Transfer_Principle: TRANSFER_PRINCIPLE =
    15 struct
    14 struct
    16 
    15 
   104 
   103 
   105 fun add_const c = Context.theory_map (TransferData.map
   104 fun add_const c = Context.theory_map (TransferData.map
   106   (fn {intros,unfolds,refolds,consts} =>
   105   (fn {intros,unfolds,refolds,consts} =>
   107     {intros=intros, unfolds=unfolds, refolds=refolds, consts=c::consts}))
   106     {intros=intros, unfolds=unfolds, refolds=refolds, consts=c::consts}))
   108 
   107 
   109 val setup =
   108 val _ =
   110   Attrib.setup @{binding transfer_intro} (Attrib.add_del intro_add intro_del)
   109   Theory.setup
   111     "declaration of transfer introduction rule" #>
   110    (Attrib.setup @{binding transfer_intro} (Attrib.add_del intro_add intro_del)
   112   Attrib.setup @{binding transfer_unfold} (Attrib.add_del unfold_add unfold_del)
   111       "declaration of transfer introduction rule" #>
   113     "declaration of transfer unfolding rule" #>
   112     Attrib.setup @{binding transfer_unfold} (Attrib.add_del unfold_add unfold_del)
   114   Attrib.setup @{binding transfer_refold} (Attrib.add_del refold_add refold_del)
   113       "declaration of transfer unfolding rule" #>
   115     "declaration of transfer refolding rule"
   114     Attrib.setup @{binding transfer_refold} (Attrib.add_del refold_add refold_del)
       
   115       "declaration of transfer refolding rule")
   116 
   116 
   117 end;
   117 end;