src/HOL/arith_data.ML
changeset 15921 b6e345548913
parent 15570 8d8c70b41bab
child 15923 01d5d0c1c078
equal deleted inserted replaced
15920:c79fa63504c8 15921:b6e345548913
   171 
   171 
   172 structure LA_Logic: LIN_ARITH_LOGIC =
   172 structure LA_Logic: LIN_ARITH_LOGIC =
   173 struct
   173 struct
   174 val ccontr = ccontr;
   174 val ccontr = ccontr;
   175 val conjI = conjI;
   175 val conjI = conjI;
   176 val neqE = linorder_neqE;
       
   177 val notI = notI;
   176 val notI = notI;
   178 val sym = sym;
   177 val sym = sym;
   179 val not_lessD = linorder_not_less RS iffD1;
   178 val not_lessD = linorder_not_less RS iffD1;
   180 val not_leD = linorder_not_le RS iffD1;
   179 val not_leD = linorder_not_le RS iffD1;
   181 
   180 
   416 
   415 
   417 in
   416 in
   418 
   417 
   419 val init_lin_arith_data =
   418 val init_lin_arith_data =
   420  Fast_Arith.setup @
   419  Fast_Arith.setup @
   421  [Fast_Arith.map_data (fn {add_mono_thms, mult_mono_thms, inj_thms, lessD, simpset = _} =>
   420  [Fast_Arith.map_data (fn {add_mono_thms, mult_mono_thms, inj_thms, lessD, ...} =>
   422    {add_mono_thms = add_mono_thms @
   421    {add_mono_thms = add_mono_thms @
   423     add_mono_thms_ordered_semiring @ add_mono_thms_ordered_field,
   422     add_mono_thms_ordered_semiring @ add_mono_thms_ordered_field,
   424     mult_mono_thms = mult_mono_thms,
   423     mult_mono_thms = mult_mono_thms,
   425     inj_thms = inj_thms,
   424     inj_thms = inj_thms,
   426     lessD = lessD @ [Suc_leI],
   425     lessD = lessD @ [Suc_leI],
       
   426     neqE = [linorder_neqE_nat],
   427     simpset = HOL_basic_ss addsimps add_rules
   427     simpset = HOL_basic_ss addsimps add_rules
   428                    addsimprocs [ab_group_add_cancel.sum_conv, 
   428                    addsimprocs [ab_group_add_cancel.sum_conv, 
   429                                 ab_group_add_cancel.rel_conv]
   429                                 ab_group_add_cancel.rel_conv]
   430                    (*abel_cancel helps it work in abstract algebraic domains*)
   430                    (*abel_cancel helps it work in abstract algebraic domains*)
   431                    addsimprocs nat_cancel_sums_add}),
   431                    addsimprocs nat_cancel_sums_add}),