equal
deleted
inserted
replaced
1642 lemma real_shrink_Galois: |
1642 lemma real_shrink_Galois: |
1643 fixes x::real |
1643 fixes x::real |
1644 shows "(x / (1 + \<bar>x\<bar>) = y) \<longleftrightarrow> (\<bar>y\<bar> < 1 \<and> y / (1 - \<bar>y\<bar>) = x)" |
1644 shows "(x / (1 + \<bar>x\<bar>) = y) \<longleftrightarrow> (\<bar>y\<bar> < 1 \<and> y / (1 - \<bar>y\<bar>) = x)" |
1645 using real_grow_shrink by (fastforce simp add: distrib_left) |
1645 using real_grow_shrink by (fastforce simp add: distrib_left) |
1646 |
1646 |
|
1647 lemma real_shrink_eq: |
|
1648 fixes x y::real |
|
1649 shows "(x / (1 + \<bar>x\<bar>) = y / (1 + \<bar>y\<bar>)) \<longleftrightarrow> x = y" |
|
1650 by (metis real_shrink_Galois) |
|
1651 |
1647 lemma real_shrink_lt: |
1652 lemma real_shrink_lt: |
1648 fixes x::real |
1653 fixes x::real |
1649 shows "x / (1 + \<bar>x\<bar>) < y / (1 + \<bar>y\<bar>) \<longleftrightarrow> x < y" |
1654 shows "x / (1 + \<bar>x\<bar>) < y / (1 + \<bar>y\<bar>) \<longleftrightarrow> x < y" |
1650 using zero_less_mult_iff [of x y] by (auto simp: field_simps abs_if not_less) |
1655 using zero_less_mult_iff [of x y] by (auto simp: field_simps abs_if not_less) |
1651 |
1656 |