src/HOL/Analysis/Bounded_Linear_Function.thy
changeset 69597 ff784d5a5bfb
parent 69260 0a9688695a1b
child 69918 eddcc7c726f3
equal deleted inserted replaced
69596:c8a2755bf220 69597:ff784d5a5bfb
    35   finally show ?thesis .
    35   finally show ?thesis .
    36 qed
    36 qed
    37 
    37 
    38 lemmas onorm_componentwise_le = order_trans[OF onorm_componentwise]
    38 lemmas onorm_componentwise_le = order_trans[OF onorm_componentwise]
    39 
    39 
    40 subsection%unimportant \<open>Intro rules for @{term bounded_linear}\<close>
    40 subsection%unimportant \<open>Intro rules for \<^term>\<open>bounded_linear\<close>\<close>
    41 
    41 
    42 named_theorems bounded_linear_intros
    42 named_theorems bounded_linear_intros
    43 
    43 
    44 lemma onorm_inner_left:
    44 lemma onorm_inner_left:
    45   assumes "bounded_linear r"
    45   assumes "bounded_linear r"
    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