src/HOL/Complex/ComplexArith0.ML
changeset 14335 9c0b5e081037
parent 14288 d149e3cbdb39
child 14336 8f731d3cd65b
equal deleted inserted replaced
14334:6137d24eef79 14335:9c0b5e081037
    22 qed "complex_inverse_eq_divide";
    22 qed "complex_inverse_eq_divide";
    23 
    23 
    24 Goal "(inverse(x::complex) = 0) = (x = 0)";
    24 Goal "(inverse(x::complex) = 0) = (x = 0)";
    25 by (auto_tac (claset(), 
    25 by (auto_tac (claset(), 
    26               simpset() addsimps [COMPLEX_INVERSE_ZERO]));  
    26               simpset() addsimps [COMPLEX_INVERSE_ZERO]));  
    27 by (rtac ccontr 1); 
       
    28 by (blast_tac (claset() addDs [complex_inverse_not_zero]) 1); 
       
    29 qed "complex_inverse_zero_iff";
    27 qed "complex_inverse_zero_iff";
    30 Addsimps [complex_inverse_zero_iff];
    28 Addsimps [complex_inverse_zero_iff];
    31 
    29 
    32 Goal "(x/y = 0) = (x=0 | y=(0::complex))";
    30 Goal "(x/y = 0) = (x=0 | y=(0::complex))";
    33 by (auto_tac (claset(), simpset() addsimps [complex_divide_def]));  
    31 by (auto_tac (claset(), simpset() addsimps [complex_divide_def]));  
   285 qed "complex_add_minus_iff";
   283 qed "complex_add_minus_iff";
   286 Addsimps [complex_add_minus_iff];
   284 Addsimps [complex_add_minus_iff];
   287 
   285 
   288 Goal "(-b = -a) = (b = (a::complex))";
   286 Goal "(-b = -a) = (b = (a::complex))";
   289 by Auto_tac;
   287 by Auto_tac;
   290 by (etac ( inj_complex_minus RS injD) 1);
       
   291 qed "complex_minus_eq_cancel";
   288 qed "complex_minus_eq_cancel";
   292 Addsimps [complex_minus_eq_cancel];
   289 Addsimps [complex_minus_eq_cancel];
   293 
   290 
   294 (*Distributive laws for literals*)
   291 (*Distributive laws for literals*)
   295 Addsimps (map (inst "w" "number_of ?v")
   292 Addsimps (map (inst "w" "number_of ?v")