src/HOL/Multivariate_Analysis/Brouwer_Fixpoint.thy
changeset 36350 bc7982c54e37
parent 36340 46328f9ddf3a
child 36365 18bf20d0c2df
equal deleted inserted replaced
36349:39be26d1bc28 36350:bc7982c54e37
  1381   guess x apply(rule retract_fixpoint_property[OF goal1, of "\<lambda>x. scaleR 2 a - x"])
  1381   guess x apply(rule retract_fixpoint_property[OF goal1, of "\<lambda>x. scaleR 2 a - x"])
  1382     apply(rule,rule,erule conjE) apply(rule brouwer_ball[OF assms]) apply assumption+
  1382     apply(rule,rule,erule conjE) apply(rule brouwer_ball[OF assms]) apply assumption+
  1383     apply(rule_tac x=x in bexI) apply assumption+ apply(rule continuous_on_intros)+
  1383     apply(rule_tac x=x in bexI) apply assumption+ apply(rule continuous_on_intros)+
  1384     unfolding frontier_cball subset_eq Ball_def image_iff apply(rule,rule,erule bexE)
  1384     unfolding frontier_cball subset_eq Ball_def image_iff apply(rule,rule,erule bexE)
  1385     unfolding vector_dist_norm apply(simp add: * norm_minus_commute) . note x = this
  1385     unfolding vector_dist_norm apply(simp add: * norm_minus_commute) . note x = this
  1386   hence "scaleR 2 a = scaleR 1 x + scaleR 1 x" by(auto simp add:group_simps)
  1386   hence "scaleR 2 a = scaleR 1 x + scaleR 1 x" by(auto simp add:algebra_simps)
  1387   hence "a = x" unfolding scaleR_left_distrib[THEN sym] by auto 
  1387   hence "a = x" unfolding scaleR_left_distrib[THEN sym] by auto 
  1388   thus False using x using assms by auto qed
  1388   thus False using x using assms by auto qed
  1389 
  1389 
  1390 subsection {*Bijections between intervals. *}
  1390 subsection {*Bijections between intervals. *}
  1391 
  1391 
  1394 
  1394 
  1395 lemma interval_bij_affine:
  1395 lemma interval_bij_affine:
  1396  "interval_bij (a,b) (u,v) = (\<lambda>x. (\<chi> i. (v$i - u$i) / (b$i - a$i) * x$i) +
  1396  "interval_bij (a,b) (u,v) = (\<lambda>x. (\<chi> i. (v$i - u$i) / (b$i - a$i) * x$i) +
  1397             (\<chi> i. u$i - (v$i - u$i) / (b$i - a$i) * a$i))"
  1397             (\<chi> i. u$i - (v$i - u$i) / (b$i - a$i) * a$i))"
  1398   apply rule unfolding Cart_eq interval_bij_def vector_component_simps
  1398   apply rule unfolding Cart_eq interval_bij_def vector_component_simps
  1399   by(auto simp add:group_simps field_simps add_divide_distrib[THEN sym]) 
  1399   by(auto simp add: field_simps add_divide_distrib[THEN sym]) 
  1400 
  1400 
  1401 lemma continuous_interval_bij:
  1401 lemma continuous_interval_bij:
  1402   "continuous (at x) (interval_bij (a,b::real^'n) (u,v))" 
  1402   "continuous (at x) (interval_bij (a,b::real^'n) (u,v))" 
  1403   unfolding interval_bij_affine apply(rule continuous_intros)
  1403   unfolding interval_bij_affine apply(rule continuous_intros)
  1404     apply(rule linear_continuous_at) unfolding linear_conv_bounded_linear[THEN sym]
  1404     apply(rule linear_continuous_at) unfolding linear_conv_bounded_linear[THEN sym]