src/HOL/Real/Real.ML
changeset 5521 7970832271cc
parent 5459 1dbaf888f4e7
child 5535 678999604ee9
equal deleted inserted replaced
5520:e2484f1786b7 5521:7970832271cc
   684   [preal_self_less_add_right] @ preal_add_ac) 1);
   684   [preal_self_less_add_right] @ preal_add_ac) 1);
   685 qed "real_preal_minus_less_zero";
   685 qed "real_preal_minus_less_zero";
   686 
   686 
   687 Goal "~ 0r < %~ %#m";
   687 Goal "~ 0r < %~ %#m";
   688 by (cut_facts_tac [real_preal_minus_less_zero] 1);
   688 by (cut_facts_tac [real_preal_minus_less_zero] 1);
   689 by (blast_tac (claset() addDs [real_less_trans] 
   689 by (fast_tac (claset() addDs [real_less_trans] 
   690                         addEs [real_less_irrefl]) 1);
   690                         addEs [real_less_irrefl]) 1);
   691 qed "real_preal_not_minus_gt_zero";
   691 qed "real_preal_not_minus_gt_zero";
   692 
   692 
   693 Goalw [real_zero_def] " 0r < %#m";
   693 Goalw [real_zero_def] " 0r < %#m";
   694 by (auto_tac (claset(),simpset() addsimps 
   694 by (auto_tac (claset(),simpset() addsimps 
   813 by (blast_tac (claset() addEs [real_less_irrefl,real_less_asym]) 1);
   813 by (blast_tac (claset() addEs [real_less_irrefl,real_less_asym]) 1);
   814 qed "real_le_imp_less_or_eq";
   814 qed "real_le_imp_less_or_eq";
   815 
   815 
   816 Goalw [real_le_def] "z<w | z=w ==> z <=(w::real)";
   816 Goalw [real_le_def] "z<w | z=w ==> z <=(w::real)";
   817 by (cut_facts_tac [real_linear] 1);
   817 by (cut_facts_tac [real_linear] 1);
   818 by (blast_tac (claset() addEs [real_less_irrefl,real_less_asym]) 1);
   818 by (fast_tac (claset() addEs [real_less_irrefl,real_less_asym]) 1);
   819 qed "real_less_or_eq_imp_le";
   819 qed "real_less_or_eq_imp_le";
   820 
   820 
   821 Goal "(x <= (y::real)) = (x < y | x=y)";
   821 Goal "(x <= (y::real)) = (x < y | x=y)";
   822 by (REPEAT(ares_tac [iffI, real_less_or_eq_imp_le, real_le_imp_less_or_eq] 1));
   822 by (REPEAT(ares_tac [iffI, real_less_or_eq_imp_le, real_le_imp_less_or_eq] 1));
   823 qed "real_le_eq_less_or_eq";
   823 qed "real_le_eq_less_or_eq";
   841             rtac real_less_or_eq_imp_le, blast_tac (claset() addIs [real_less_trans])]);
   841             rtac real_less_or_eq_imp_le, blast_tac (claset() addIs [real_less_trans])]);
   842 qed "real_le_trans";
   842 qed "real_le_trans";
   843 
   843 
   844 Goal "[| z <= w; w <= z |] ==> z = (w::real)";
   844 Goal "[| z <= w; w <= z |] ==> z = (w::real)";
   845 by (EVERY1 [dtac real_le_imp_less_or_eq, dtac real_le_imp_less_or_eq,
   845 by (EVERY1 [dtac real_le_imp_less_or_eq, dtac real_le_imp_less_or_eq,
   846             blast_tac (claset() addEs [real_less_irrefl,real_less_asym])]);
   846             fast_tac (claset() addEs [real_less_irrefl,real_less_asym])]);
   847 qed "real_le_anti_sym";
   847 qed "real_le_anti_sym";
   848 
   848 
   849 Goal "[| ~ y < x; y ~= x |] ==> x < (y::real)";
   849 Goal "[| ~ y < x; y ~= x |] ==> x < (y::real)";
   850 by (rtac not_real_leE 1);
   850 by (rtac not_real_leE 1);
   851 by (blast_tac (claset() addDs [real_le_imp_less_or_eq]) 1);
   851 by (blast_tac (claset() addDs [real_le_imp_less_or_eq]) 1);