src/ZF/Integ/Bin.ML
changeset 12152 46f128d8133c
parent 11381 4ab3b7b0938f
child 13175 81082cfa5618
equal deleted inserted replaced
12151:fb0fb0209c87 12152:46f128d8133c
   346 by (auto_tac (claset() addSEs [boolE], 
   346 by (auto_tac (claset() addSEs [boolE], 
   347               simpset() addsimps [int_of_add RS sym]));  
   347               simpset() addsimps [int_of_add RS sym]));  
   348 by (ALLGOALS (asm_full_simp_tac 
   348 by (ALLGOALS (asm_full_simp_tac 
   349 	      (simpset() addsimps zcompare_rls @ 
   349 	      (simpset() addsimps zcompare_rls @ 
   350 			  [zminus_zadd_distrib RS sym, int_of_add RS sym])));
   350 			  [zminus_zadd_distrib RS sym, int_of_add RS sym])));
   351 by (subgoal_tac "znegative ($- $# succ(x)) <-> znegative ($# succ(x))" 1);
   351 by (subgoal_tac "znegative ($- $# succ(n)) <-> znegative ($# succ(n))" 1);
   352 by (Asm_simp_tac 2);
   352 by (Asm_simp_tac 2);
   353 by (Full_simp_tac 1);
   353 by (Full_simp_tac 1);
   354 qed "iszero_integ_of_BIT"; 
   354 qed "iszero_integ_of_BIT"; 
   355 
   355 
   356 Goal "w: bin ==> iszero (integ_of (w BIT 0)) <-> iszero (integ_of(w))"; 
   356 Goal "w: bin ==> iszero (integ_of (w BIT 0)) <-> iszero (integ_of(w))"; 
   389 by (auto_tac (claset() addSEs [boolE], 
   389 by (auto_tac (claset() addSEs [boolE], 
   390               simpset() addsimps [int_of_add RS sym] @ zcompare_rls));  
   390               simpset() addsimps [int_of_add RS sym] @ zcompare_rls));  
   391 by (ALLGOALS (asm_full_simp_tac 
   391 by (ALLGOALS (asm_full_simp_tac 
   392 	      (simpset() addsimps [zminus_zadd_distrib RS sym, zdiff_def,
   392 	      (simpset() addsimps [zminus_zadd_distrib RS sym, zdiff_def,
   393 				   int_of_add RS sym])));
   393 				   int_of_add RS sym])));
   394 by (subgoal_tac "$#1 $- $# succ(succ(x #+ x)) = $- $# succ(x #+ x)" 1);
   394 by (subgoal_tac "$#1 $- $# succ(succ(n #+ n)) = $- $# succ(n #+ n)" 1);
   395 by (asm_full_simp_tac (simpset() addsimps [zdiff_def])1);
   395 by (asm_full_simp_tac (simpset() addsimps [zdiff_def])1);
   396 by (asm_simp_tac (simpset() addsimps [equation_zminus, int_of_diff RS sym])1);
   396 by (asm_simp_tac (simpset() addsimps [equation_zminus, int_of_diff RS sym])1);
   397 qed "neg_integ_of_BIT"; 
   397 qed "neg_integ_of_BIT"; 
   398 
   398 
   399 (** Less-than-or-equals (<=) **)
   399 (** Less-than-or-equals (<=) **)