src/HOL/Complex/NSCA.ML
changeset 14334 6137d24eef79
parent 14331 8dbbb7cf3637
child 14335 9c0b5e081037
equal deleted inserted replaced
14333:14f29eb097a3 14334:6137d24eef79
   642 
   642 
   643 Goal "u @c= 0 ==> hcmod(x + u) - hcmod x : Infinitesimal";
   643 Goal "u @c= 0 ==> hcmod(x + u) - hcmod x : Infinitesimal";
   644 by (res_inst_tac [("e","hcmod u"),("e'","- hcmod u")] Infinitesimal_interval2 1);
   644 by (res_inst_tac [("e","hcmod u"),("e'","- hcmod u")] Infinitesimal_interval2 1);
   645 by (auto_tac (claset() addDs [capprox_approx_zero_iff RS iffD1], 
   645 by (auto_tac (claset() addDs [capprox_approx_zero_iff RS iffD1], 
   646     simpset() addsimps [mem_infmal_iff RS sym,hypreal_diff_def]));
   646     simpset() addsimps [mem_infmal_iff RS sym,hypreal_diff_def]));
   647 by (res_inst_tac [("C","hcmod x")] hypreal_le_add_left_cancel 1);
   647 by (res_inst_tac [("c1","hcmod x")] (add_le_cancel_left RS iffD1) 1);
   648 by (auto_tac (claset(),simpset() addsimps [symmetric hypreal_diff_def]));
   648 by (auto_tac (claset(),simpset() addsimps [symmetric hypreal_diff_def]));
   649 qed "Infinitesimal_hcmod_add_diff";
   649 qed "Infinitesimal_hcmod_add_diff";
   650 
   650 
   651 Goal "u @c= 0 ==> hcmod(x + u) @= hcmod x";
   651 Goal "u @c= 0 ==> hcmod(x + u) @= hcmod x";
   652 by (rtac (approx_minus_iff RS iffD2) 1);
   652 by (rtac (approx_minus_iff RS iffD2) 1);
   866 by (rtac bexI 1 THEN rtac lemma_hyprel_refl 2);
   866 by (rtac bexI 1 THEN rtac lemma_hyprel_refl 2);
   867 by (res_inst_tac [("x","u")] exI 1 THEN Auto_tac);
   867 by (res_inst_tac [("x","u")] exI 1 THEN Auto_tac);
   868 by (Ultra_tac 1);
   868 by (Ultra_tac 1);
   869 by (dtac sym 1 THEN res_inst_tac [("z","X x")] eq_Abs_complex 1);
   869 by (dtac sym 1 THEN res_inst_tac [("z","X x")] eq_Abs_complex 1);
   870 by (auto_tac (claset(),simpset() addsimps [complex_mod,numeral_2_eq_2] delsimps [realpow_Suc]));
   870 by (auto_tac (claset(),simpset() addsimps [complex_mod,numeral_2_eq_2] delsimps [realpow_Suc]));
   871 by (rtac ccontr 1 THEN dtac real_leI 1);
   871 by (rtac ccontr 1 THEN dtac (linorder_not_less RS iffD1) 1);
   872 by (dtac order_less_le_trans 1 THEN assume_tac 1);
   872 by (dtac order_less_le_trans 1 THEN assume_tac 1);
   873 by (dtac (real_sqrt_ge_abs1 RSN (2,order_less_le_trans)) 1);
   873 by (dtac (real_sqrt_ge_abs1 RSN (2,order_less_le_trans)) 1);
   874 by (auto_tac (claset(),simpset() addsimps [numeral_2_eq_2 RS sym]));
   874 by (auto_tac (claset(),simpset() addsimps [numeral_2_eq_2 RS sym]));
   875 qed "CFinite_HFinite_Re";
   875 qed "CFinite_HFinite_Re";
   876 
   876 
   881 by (rtac bexI 1 THEN rtac lemma_hyprel_refl 2);
   881 by (rtac bexI 1 THEN rtac lemma_hyprel_refl 2);
   882 by (res_inst_tac [("x","u")] exI 1 THEN Auto_tac);
   882 by (res_inst_tac [("x","u")] exI 1 THEN Auto_tac);
   883 by (Ultra_tac 1);
   883 by (Ultra_tac 1);
   884 by (dtac sym 1 THEN res_inst_tac [("z","X x")] eq_Abs_complex 1);
   884 by (dtac sym 1 THEN res_inst_tac [("z","X x")] eq_Abs_complex 1);
   885 by (auto_tac (claset(),simpset() addsimps [complex_mod] delsimps [realpow_Suc]));
   885 by (auto_tac (claset(),simpset() addsimps [complex_mod] delsimps [realpow_Suc]));
   886 by (rtac ccontr 1 THEN dtac real_leI 1);
   886 by (rtac ccontr 1 THEN dtac (linorder_not_less RS iffD1) 1);
   887 by (dtac order_less_le_trans 1 THEN assume_tac 1);
   887 by (dtac order_less_le_trans 1 THEN assume_tac 1);
   888 by (dtac (real_sqrt_ge_abs2 RSN (2,order_less_le_trans)) 1);
   888 by (dtac (real_sqrt_ge_abs2 RSN (2,order_less_le_trans)) 1);
   889 by Auto_tac;
   889 by Auto_tac;
   890 qed "CFinite_HFinite_Im";
   890 qed "CFinite_HFinite_Im";
   891 
   891