Zulip Chat Archive
Stream: new members
Topic: Kind of a vague question
Joe (May 10 2019 at 01:46):
I've already done all of these, but I'm not sure if I'm on the right track: this never occurs when I do math. So I'll ask for opinions.
Let's say we have a normed_field K
and a normed space γ
over K
. Let f : α → γ
be an integrable function, which means ∫ ∥f x∥ dx < ∞
. Then the l1-norm of f
is usually defined as ∫ ∥f x∥ dx
.
However ∫
(called lintegral
in library) has type (α → ennreal) → ennreal
, thus to define the norm of f, we first need to write ∥f x∥ : ℝ
as metric_space.edist (f x) 0 : ennreal
, then integrate, then turn it back to real
∥f∥ := ennreal.to_real (lintegral (λ x, metric_space.edist (f x) 0))
For example, if I want to do the following reasoning
∫ ∥c • (f x)∥ dx = ∫ ∥c∥ * ∥f x∥ dx
where c : K
and f x : γ
. This should be killed easily by norm_smul : ∥s • x∥ = ∥s∥ * ∥x∥
. But we cannot do that. Because what we need to prove is
lintegral (λ x, metric_space.edist (c • (f x)) 0) = lintegral (λ x, (metric_space.edist c 0) * (metric_space.edist (f x) 0))
And to prove this, I have to first prove an "extended" version of norm_smul
:
metric_space.edist (s • x) 0 = (metric_space.edist s 0) * (metric_space.edist x 0)
I need other "extended" version of norm lemmas, like
∥x + y∥ ≤ ∥x∥ + ∥y∥ metric_space.edist (x + y) 0 ≤ metric_space.edist x 0 + metric_space.edist y 0
etc.
If this has to be the case, I guess I'll just prove those "extended" version of norm lemmas and put them somewhere? If not, then I'm not sure how to modify the definition of integral.
Mario Carneiro (May 10 2019 at 02:02):
At least metric_space.edist s 0
is unnecessary, because it's always finite (it's a normed field not a enormed field)
Mario Carneiro (May 10 2019 at 02:03):
But there should also be a definition of enorm
so you don't need all these dist 0
things
Mario Carneiro (May 10 2019 at 02:04):
wait, isn't the norm of f
also always finite?
Mario Carneiro (May 10 2019 at 02:04):
so doesn't lintegral (λ x, ∥c • (f x)∥) = lintegral (λ x, ∥c∥ * ∥f x∥)
work?
Joe (May 10 2019 at 02:19):
I think this does't type check, because λ x : α, ∥f x∥
is of type α → ℝ
, while lintegral
expects a α → ennreal
. Though when I tried to check the type of lintegral (λ x : α, ∥f x∥)
, the error message is maximum class-instance
Joe (May 10 2019 at 02:21):
#check lintegral (λ x : α, metric_space.edist (f x) 0)
easily type checks.
Joe (May 10 2019 at 02:21):
#check lintegral (λ x : α, ∥f x∥)
fails.
Joe (May 10 2019 at 02:22):
with
variables {α : Type u} [measure_space α] variables {K : Type*} [normed_field K] {γ : Type*} [normed_space K γ] [second_countable_topology γ] [topological_add_group γ] variables {c : K} {f : α → γ}
Mario Carneiro (May 10 2019 at 02:37):
Use nnnorm
instead
Joe (May 10 2019 at 02:44):
Yeah, this type checks. But I don't know. The problem is that metric_space.edist
just appears.
Joe (May 10 2019 at 02:45):
It appears in proofs after I unwrap all the subtypes and quotients and definitions.
Mario Carneiro (May 10 2019 at 02:47):
then don't unwrap all the subtypes and quotients and definitions
Mario Carneiro (May 10 2019 at 02:48):
this is a very common newbie mistake
Mario Carneiro (May 10 2019 at 02:48):
only unfold what you have to
Last updated: Dec 20 2023 at 11:08 UTC