equal
deleted
inserted
replaced
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" |