src/HOL/Tools/lin_arith.ML
changeset 61841 4d3527b94f2a
parent 61268 abe08fb15a12
child 62342 1cf129590be8
equal deleted inserted replaced
61840:a3793600cb93 61841:4d3527b94f2a
   893   Attrib.setup @{binding arith_split} (Scan.succeed (Thm.declaration_attribute add_split))
   893   Attrib.setup @{binding arith_split} (Scan.succeed (Thm.declaration_attribute add_split))
   894     "declaration of split rules for arithmetic procedure" #>
   894     "declaration of split rules for arithmetic procedure" #>
   895   Method.setup @{binding linarith}
   895   Method.setup @{binding linarith}
   896     (Scan.succeed (fn ctxt =>
   896     (Scan.succeed (fn ctxt =>
   897       METHOD (fn facts =>
   897       METHOD (fn facts =>
   898         HEADGOAL (Method.insert_tac (rev (Named_Theorems.get ctxt @{named_theorems arith}) @ facts)
   898         HEADGOAL
       
   899           (Method.insert_tac ctxt
       
   900             (rev (Named_Theorems.get ctxt @{named_theorems arith}) @ facts)
   899           THEN' tac ctxt)))) "linear arithmetic" #>
   901           THEN' tac ctxt)))) "linear arithmetic" #>
   900   Arith_Data.add_tactic "linear arithmetic" tac;
   902   Arith_Data.add_tactic "linear arithmetic" tac;
   901 
   903 
   902 val setup =
   904 val setup =
   903   init_arith_data
   905   init_arith_data