src/HOL/Analysis/Fashoda_Theorem.thy
changeset 69683 8b3458ca0762
parent 69681 689997a8a582
child 69722 b5163b2132c5
equal deleted inserted replaced
69682:500a7acdccd4 69683:8b3458ca0762
     6 
     6 
     7 theory Fashoda_Theorem
     7 theory Fashoda_Theorem
     8 imports Brouwer_Fixpoint Path_Connected Cartesian_Euclidean_Space
     8 imports Brouwer_Fixpoint Path_Connected Cartesian_Euclidean_Space
     9 begin
     9 begin
    10 
    10 
    11 subsection%important \<open>Bijections between intervals\<close>
    11 subsection \<open>Bijections between intervals\<close>
    12 
    12 
    13 definition%important interval_bij :: "'a \<times> 'a \<Rightarrow> 'a \<times> 'a \<Rightarrow> 'a \<Rightarrow> 'a::euclidean_space"
    13 definition%important interval_bij :: "'a \<times> 'a \<Rightarrow> 'a \<times> 'a \<Rightarrow> 'a \<Rightarrow> 'a::euclidean_space"
    14   where "interval_bij =
    14   where "interval_bij =
    15     (\<lambda>(a, b) (u, v) x. (\<Sum>i\<in>Basis. (u\<bullet>i + (x\<bullet>i - a\<bullet>i) / (b\<bullet>i - a\<bullet>i) * (v\<bullet>i - u\<bullet>i)) *\<^sub>R i))"
    15     (\<lambda>(a, b) (u, v) x. (\<Sum>i\<in>Basis. (u\<bullet>i + (x\<bullet>i - a\<bullet>i) / (b\<bullet>i - a\<bullet>i) * (v\<bullet>i - u\<bullet>i)) *\<^sub>R i))"
    16 
    16 
    68 lemma interval_bij_bij_cart: fixes x::"real^'n" assumes "\<forall>i. a$i < b$i \<and> u$i < v$i"
    68 lemma interval_bij_bij_cart: fixes x::"real^'n" assumes "\<forall>i. a$i < b$i \<and> u$i < v$i"
    69   shows "interval_bij (a,b) (u,v) (interval_bij (u,v) (a,b) x) = x"
    69   shows "interval_bij (a,b) (u,v) (interval_bij (u,v) (a,b) x) = x"
    70   using assms by (intro interval_bij_bij) (auto simp: Basis_vec_def inner_axis)
    70   using assms by (intro interval_bij_bij) (auto simp: Basis_vec_def inner_axis)
    71 
    71 
    72 
    72 
    73 subsection%important \<open>Fashoda meet theorem\<close>
    73 subsection \<open>Fashoda meet theorem\<close>
    74 
    74 
    75 lemma infnorm_2:
    75 lemma infnorm_2:
    76   fixes x :: "real^2"
    76   fixes x :: "real^2"
    77   shows "infnorm x = max \<bar>x$1\<bar> \<bar>x$2\<bar>"
    77   shows "infnorm x = max \<bar>x$1\<bar> \<bar>x$2\<bar>"
    78   unfolding infnorm_cart UNIV_2 by (rule cSup_eq) auto
    78   unfolding infnorm_cart UNIV_2 by (rule cSup_eq) auto
   628     qed
   628     qed
   629   }
   629   }
   630 qed
   630 qed
   631 
   631 
   632 
   632 
   633 subsection%important \<open>Useful Fashoda corollary pointed out to me by Tom Hales\<close>(*FIXME change title? *)
   633 subsection \<open>Useful Fashoda corollary pointed out to me by Tom Hales\<close>(*FIXME change title? *)
   634 
   634 
   635 corollary fashoda_interlace:
   635 corollary fashoda_interlace:
   636   fixes a :: "real^2"
   636   fixes a :: "real^2"
   637   assumes "path f"
   637   assumes "path f"
   638     and "path g"
   638     and "path g"