src/HOL/ex/Dedekind_Real.thy
changeset 57492 74bf65a1910a
parent 56544 b60d5d119489
child 57512 cc97b347b301
equal deleted inserted replaced
57491:9eedaafc05c8 57492:74bf65a1910a
   311 text{*Part 4 of Dedekind sections definition*}
   311 text{*Part 4 of Dedekind sections definition*}
   312 lemma add_set_lemma4:
   312 lemma add_set_lemma4:
   313      "[|A \<in> preal; B \<in> preal; y \<in> add_set A B|] ==> \<exists>u \<in> add_set A B. y < u"
   313      "[|A \<in> preal; B \<in> preal; y \<in> add_set A B|] ==> \<exists>u \<in> add_set A B. y < u"
   314 apply (auto simp add: add_set_def)
   314 apply (auto simp add: add_set_def)
   315 apply (frule preal_exists_greater [of A], auto) 
   315 apply (frule preal_exists_greater [of A], auto) 
   316 apply (rule_tac x="u + y" in exI)
   316 apply (rule_tac x="u + ya" in exI)
   317 apply (auto intro: add_strict_left_mono)
   317 apply (auto intro: add_strict_left_mono)
   318 done
   318 done
   319 
   319 
   320 lemma mem_add_set:
   320 lemma mem_add_set:
   321      "[|A \<in> preal; B \<in> preal|] ==> add_set A B \<in> preal"
   321      "[|A \<in> preal; B \<in> preal|] ==> add_set A B \<in> preal"
   437 text{*Part 4 of Dedekind sections definition*}
   437 text{*Part 4 of Dedekind sections definition*}
   438 lemma mult_set_lemma4:
   438 lemma mult_set_lemma4:
   439      "[|A \<in> preal; B \<in> preal; y \<in> mult_set A B|] ==> \<exists>u \<in> mult_set A B. y < u"
   439      "[|A \<in> preal; B \<in> preal; y \<in> mult_set A B|] ==> \<exists>u \<in> mult_set A B. y < u"
   440 apply (auto simp add: mult_set_def)
   440 apply (auto simp add: mult_set_def)
   441 apply (frule preal_exists_greater [of A], auto) 
   441 apply (frule preal_exists_greater [of A], auto) 
   442 apply (rule_tac x="u * y" in exI)
   442 apply (rule_tac x="u * ya" in exI)
   443 apply (auto intro: preal_imp_pos [of A] preal_imp_pos [of B] 
   443 apply (auto intro: preal_imp_pos [of A] preal_imp_pos [of B] 
   444                    mult_strict_right_mono)
   444                    mult_strict_right_mono)
   445 done
   445 done
   446 
   446 
   447 
   447 
  1588 text{*Gleason prop 9-4.4 p 127*}
  1588 text{*Gleason prop 9-4.4 p 127*}
  1589 lemma real_of_preal_trichotomy:
  1589 lemma real_of_preal_trichotomy:
  1590       "\<exists>m. (x::real) = real_of_preal m | x = 0 | x = -(real_of_preal m)"
  1590       "\<exists>m. (x::real) = real_of_preal m | x = 0 | x = -(real_of_preal m)"
  1591 apply (simp add: real_of_preal_def real_zero_def, cases x)
  1591 apply (simp add: real_of_preal_def real_zero_def, cases x)
  1592 apply (auto simp add: real_minus add_ac)
  1592 apply (auto simp add: real_minus add_ac)
  1593 apply (cut_tac x = x and y = y in linorder_less_linear)
  1593 apply (cut_tac x = xa and y = y in linorder_less_linear)
  1594 apply (auto dest!: less_add_left_Ex simp add: add_assoc [symmetric])
  1594 apply (auto dest!: less_add_left_Ex simp add: add_assoc [symmetric])
  1595 done
  1595 done
  1596 
  1596 
  1597 lemma real_of_preal_leD:
  1597 lemma real_of_preal_leD:
  1598       "real_of_preal m1 \<le> real_of_preal m2 ==> m1 \<le> m2"
  1598       "real_of_preal m1 \<le> real_of_preal m2 ==> m1 \<le> m2"