src/HOL/Multivariate_Analysis/Brouwer_Fixpoint.thy
changeset 54775 2d3df8633dad
parent 53846 2e4b435e17bc
child 55493 47cac23e3d22
equal deleted inserted replaced
54767:81290fe85890 54775:2d3df8633dad
  4239   fix i :: 'a
  4239   fix i :: 'a
  4240   assume i: "i \<in> Basis"
  4240   assume i: "i \<in> Basis"
  4241   have "{a..b} \<noteq> {}"
  4241   have "{a..b} \<noteq> {}"
  4242     using assms by auto
  4242     using assms by auto
  4243   with i have *: "a\<bullet>i \<le> b\<bullet>i" "u\<bullet>i \<le> v\<bullet>i"
  4243   with i have *: "a\<bullet>i \<le> b\<bullet>i" "u\<bullet>i \<le> v\<bullet>i"
  4244     using assms(2) by (auto simp add: interval_eq_empty not_less)
  4244     using assms(2) by (auto simp add: interval_eq_empty interval)
  4245   have x: "a\<bullet>i\<le>x\<bullet>i" "x\<bullet>i\<le>b\<bullet>i"
  4245   have x: "a\<bullet>i\<le>x\<bullet>i" "x\<bullet>i\<le>b\<bullet>i"
  4246     using assms(1)[unfolded mem_interval] using i by auto
  4246     using assms(1)[unfolded mem_interval] using i by auto
  4247   have "0 \<le> (x \<bullet> i - a \<bullet> i) / (b \<bullet> i - a \<bullet> i) * (v \<bullet> i - u \<bullet> i)"
  4247   have "0 \<le> (x \<bullet> i - a \<bullet> i) / (b \<bullet> i - a \<bullet> i) * (v \<bullet> i - u \<bullet> i)"
  4248     using * x by (auto intro!: mult_nonneg_nonneg divide_nonneg_nonneg)
  4248     using * x by (auto intro!: mult_nonneg_nonneg divide_nonneg_nonneg)
  4249   then show "u \<bullet> i \<le> u \<bullet> i + (x \<bullet> i - a \<bullet> i) / (b \<bullet> i - a \<bullet> i) * (v \<bullet> i - u \<bullet> i)"
  4249   then show "u \<bullet> i \<le> u \<bullet> i + (x \<bullet> i - a \<bullet> i) / (b \<bullet> i - a \<bullet> i) * (v \<bullet> i - u \<bullet> i)"