src/ZF/arith_data.ML
changeset 13126 97e83120d6c8
parent 12206 60d52181840c
child 13155 dcbf6cb95534
equal deleted inserted replaced
13125:be50e0b050b2 13126:97e83120d6c8
   144   val dest_sum          = dest_sum
   144   val dest_sum          = dest_sum
   145   val mk_coeff          = mk_coeff
   145   val mk_coeff          = mk_coeff
   146   val dest_coeff        = dest_coeff
   146   val dest_coeff        = dest_coeff
   147   val find_first_coeff  = find_first_coeff []
   147   val find_first_coeff  = find_first_coeff []
   148   val norm_tac_ss1 = ZF_ss addsimps add_0s@add_succs@mult_1s@add_ac
   148   val norm_tac_ss1 = ZF_ss addsimps add_0s@add_succs@mult_1s@add_ac
   149   val norm_tac_ss2 = ZF_ss addsimps add_ac@mult_ac@tc_rules@natifys
   149   val norm_tac_ss2 = ZF_ss addsimps add_0s@mult_1s@
       
   150                                     add_ac@mult_ac@tc_rules@natifys
   150   val norm_tac = ALLGOALS (asm_simp_tac norm_tac_ss1)
   151   val norm_tac = ALLGOALS (asm_simp_tac norm_tac_ss1)
   151                  THEN ALLGOALS (asm_simp_tac norm_tac_ss2)
   152                  THEN ALLGOALS (asm_simp_tac norm_tac_ss2)
   152   val numeral_simp_tac_ss = ZF_ss addsimps add_0s@tc_rules@natifys
   153   val numeral_simp_tac_ss = ZF_ss addsimps add_0s@tc_rules@natifys
   153   val numeral_simp_tac  = ALLGOALS (asm_simp_tac numeral_simp_tac_ss)
   154   val numeral_simp_tac  = ALLGOALS (asm_simp_tac numeral_simp_tac_ss)
   154   val simplify_meta_eq  = simplify_meta_eq final_rules
   155   val simplify_meta_eq  = simplify_meta_eq final_rules
   252 (*use of typing information*)
   253 (*use of typing information*)
   253 test "x : nat ==> x #+ y = x";
   254 test "x : nat ==> x #+ y = x";
   254 test "x : nat --> x #+ y = x";
   255 test "x : nat --> x #+ y = x";
   255 test "x : nat ==> x #+ y < x";
   256 test "x : nat ==> x #+ y < x";
   256 test "x : nat ==> x < y#+x";
   257 test "x : nat ==> x < y#+x";
       
   258 test "x : nat ==> x le succ(x)";
   257 
   259 
   258 (*fails: no typing information isn't visible*)
   260 (*fails: no typing information isn't visible*)
   259 test "x #+ y = x";
   261 test "x #+ y = x";
   260 
   262 
   261 test "x #+ y < x #+ z";
   263 test "x #+ y < x #+ z";