83 |
83 |
84 attribute_setup bounded_linear = |
84 attribute_setup bounded_linear = |
85 \<open>Scan.succeed (Thm.declaration_attribute (fn thm => |
85 \<open>Scan.succeed (Thm.declaration_attribute (fn thm => |
86 fold (fn (r, s) => Named_Theorems.add_thm s (thm RS r)) |
86 fold (fn (r, s) => Named_Theorems.add_thm s (thm RS r)) |
87 [ |
87 [ |
88 (@{thm bounded_linear.has_derivative}, @{named_theorems derivative_intros}), |
88 (@{thm bounded_linear.has_derivative}, \<^named_theorems>\<open>derivative_intros\<close>), |
89 (@{thm bounded_linear.tendsto}, @{named_theorems tendsto_intros}), |
89 (@{thm bounded_linear.tendsto}, \<^named_theorems>\<open>tendsto_intros\<close>), |
90 (@{thm bounded_linear.continuous}, @{named_theorems continuous_intros}), |
90 (@{thm bounded_linear.continuous}, \<^named_theorems>\<open>continuous_intros\<close>), |
91 (@{thm bounded_linear.continuous_on}, @{named_theorems continuous_intros}), |
91 (@{thm bounded_linear.continuous_on}, \<^named_theorems>\<open>continuous_intros\<close>), |
92 (@{thm bounded_linear.uniformly_continuous_on}, @{named_theorems continuous_intros}), |
92 (@{thm bounded_linear.uniformly_continuous_on}, \<^named_theorems>\<open>continuous_intros\<close>), |
93 (@{thm bounded_linear_compose}, @{named_theorems bounded_linear_intros}) |
93 (@{thm bounded_linear_compose}, \<^named_theorems>\<open>bounded_linear_intros\<close>) |
94 ]))\<close> |
94 ]))\<close> |
95 |
95 |
96 attribute_setup bounded_bilinear = |
96 attribute_setup bounded_bilinear = |
97 \<open>Scan.succeed (Thm.declaration_attribute (fn thm => |
97 \<open>Scan.succeed (Thm.declaration_attribute (fn thm => |
98 fold (fn (r, s) => Named_Theorems.add_thm s (thm RS r)) |
98 fold (fn (r, s) => Named_Theorems.add_thm s (thm RS r)) |
99 [ |
99 [ |
100 (@{thm bounded_bilinear.FDERIV}, @{named_theorems derivative_intros}), |
100 (@{thm bounded_bilinear.FDERIV}, \<^named_theorems>\<open>derivative_intros\<close>), |
101 (@{thm bounded_bilinear.tendsto}, @{named_theorems tendsto_intros}), |
101 (@{thm bounded_bilinear.tendsto}, \<^named_theorems>\<open>tendsto_intros\<close>), |
102 (@{thm bounded_bilinear.continuous}, @{named_theorems continuous_intros}), |
102 (@{thm bounded_bilinear.continuous}, \<^named_theorems>\<open>continuous_intros\<close>), |
103 (@{thm bounded_bilinear.continuous_on}, @{named_theorems continuous_intros}), |
103 (@{thm bounded_bilinear.continuous_on}, \<^named_theorems>\<open>continuous_intros\<close>), |
104 (@{thm bounded_linear_compose[OF bounded_bilinear.bounded_linear_left]}, |
104 (@{thm bounded_linear_compose[OF bounded_bilinear.bounded_linear_left]}, |
105 @{named_theorems bounded_linear_intros}), |
105 \<^named_theorems>\<open>bounded_linear_intros\<close>), |
106 (@{thm bounded_linear_compose[OF bounded_bilinear.bounded_linear_right]}, |
106 (@{thm bounded_linear_compose[OF bounded_bilinear.bounded_linear_right]}, |
107 @{named_theorems bounded_linear_intros}), |
107 \<^named_theorems>\<open>bounded_linear_intros\<close>), |
108 (@{thm bounded_linear.uniformly_continuous_on[OF bounded_bilinear.bounded_linear_left]}, |
108 (@{thm bounded_linear.uniformly_continuous_on[OF bounded_bilinear.bounded_linear_left]}, |
109 @{named_theorems continuous_intros}), |
109 \<^named_theorems>\<open>continuous_intros\<close>), |
110 (@{thm bounded_linear.uniformly_continuous_on[OF bounded_bilinear.bounded_linear_right]}, |
110 (@{thm bounded_linear.uniformly_continuous_on[OF bounded_bilinear.bounded_linear_right]}, |
111 @{named_theorems continuous_intros}) |
111 \<^named_theorems>\<open>continuous_intros\<close>) |
112 ]))\<close> |
112 ]))\<close> |
113 |
113 |
114 |
114 |
115 subsection \<open>Type of bounded linear functions\<close> |
115 subsection \<open>Type of bounded linear functions\<close> |
116 |
116 |