src/HOL/Tools/lin_arith.ML
changeset 27017 1e0e8c1adf8c
parent 26942 87e4208700d1
child 28053 a2106c0d8c45
equal deleted inserted replaced
27016:dfc4171b7b8b 27017:1e0e8c1adf8c
    34     ({add_mono_thms: thm list, mult_mono_thms: thm list, inj_thms: thm list,
    34     ({add_mono_thms: thm list, mult_mono_thms: thm list, inj_thms: thm list,
    35       lessD: thm list, neqE: thm list, simpset: Simplifier.simpset} ->
    35       lessD: thm list, neqE: thm list, simpset: Simplifier.simpset} ->
    36      {add_mono_thms: thm list, mult_mono_thms: thm list, inj_thms: thm list,
    36      {add_mono_thms: thm list, mult_mono_thms: thm list, inj_thms: thm list,
    37       lessD: thm list, neqE: thm list, simpset: Simplifier.simpset}) ->
    37       lessD: thm list, neqE: thm list, simpset: Simplifier.simpset}) ->
    38     Context.generic -> Context.generic
    38     Context.generic -> Context.generic
       
    39   val warning_count: int ref
    39   val setup: Context.generic -> Context.generic
    40   val setup: Context.generic -> Context.generic
    40 end;
    41 end;
    41 
    42 
    42 structure LinArith: LIN_ARITH =
    43 structure LinArith: LIN_ARITH =
    43 struct
    44 struct
   778 end;  (* LA_Data_Ref *)
   779 end;  (* LA_Data_Ref *)
   779 
   780 
   780 
   781 
   781 val lin_arith_pre_tac = LA_Data_Ref.pre_tac;
   782 val lin_arith_pre_tac = LA_Data_Ref.pre_tac;
   782 
   783 
   783 structure Fast_Arith =
   784 structure Fast_Arith = Fast_Lin_Arith(structure LA_Logic = LA_Logic and LA_Data = LA_Data_Ref);
   784   Fast_Lin_Arith(structure LA_Logic=LA_Logic and LA_Data=LA_Data_Ref);
       
   785 
   785 
   786 val map_data = Fast_Arith.map_data;
   786 val map_data = Fast_Arith.map_data;
   787 
   787 
   788 fun fast_arith_tac ctxt    = Fast_Arith.lin_arith_tac ctxt false;
   788 fun fast_arith_tac ctxt = Fast_Arith.lin_arith_tac ctxt false;
   789 val fast_ex_arith_tac      = Fast_Arith.lin_arith_tac;
   789 val fast_ex_arith_tac = Fast_Arith.lin_arith_tac;
   790 val trace_arith            = Fast_Arith.trace;
   790 val trace_arith = Fast_Arith.trace;
       
   791 val warning_count = Fast_Arith.warning_count;
   791 
   792 
   792 (* reduce contradictory <= to False.
   793 (* reduce contradictory <= to False.
   793    Most of the work is done by the cancel tactics. *)
   794    Most of the work is done by the cancel tactics. *)
   794 
   795 
   795 val init_arith_data =
   796 val init_arith_data =