Zulip Chat Archive
Stream: new members
Topic: function with finite norm
Nicholas Wilson (Nov 01 2023 at 23:32):
how do I formulate the hypothesis that a function f has finite norm?
I have tried ( hi : ∫ x , f x > 0 ∧ ∫ x , f x < ∞) which results in expected token and Real.infinity which results in unknown constant
Eric Wieser (Nov 01 2023 at 23:38):
The ∞ symbol requires open scoped ENNReal, but without an #mwe it's hard to tell whether that will help you
Nicholas Wilson (Nov 01 2023 at 23:44):
pardon my ignorance, what is #mwe what does it do?
Nicholas Wilson (Nov 01 2023 at 23:46):
open ENNReal seems to have worked.
Eric Wieser (Nov 01 2023 at 23:48):
Nicholas Wilson said:
pardon my ignorance, what is #mwe what does it do?
It is a link that you can click
Eric Wieser (Nov 01 2023 at 23:49):
Nicholas Wilson said:
open ENNRealseems to have worked.
It's very likely you have written a vacuous assumption like "the following is finite: the norm, if the norm is finite, else 0 if it is not"
Nicholas Wilson (Nov 01 2023 at 23:55):
It would appear so, it renders ins the info view as hi: ∫ (x : ℝ), f x > 0 ∧ sorryAx Prop true
Eric Wieser (Nov 02 2023 at 00:02):
If sorryAx appears that usual means you have ignored a previous error message
Nicholas Wilson (Nov 02 2023 at 00:06):
Ah, that was a trailing error for unterminated := by I now get
type mismatch
⊤
has type
ℝ≥0∞ : Type
but is expected to have type
ℝ : Type
for the expression (∫ x , f x ) < ∞ )
The example usage
theorem anti_symmetry { f : ℝ → ℝ } { x y : ℝ }
( hpos : (f x) ≥ 0 ) --positive
( hi : ( ∫ x , (f x) > 0) ∧ (∫ x , f x ) < ∞ ) --finite integral
( hy : y ≥ 0) ( hzge : (f y) = 0) -- zero on the positive real line
:
∫ x, ((f x) - f (-x )) = 0 -- total integral is zero
:= by sorry
Nicholas Wilson (Nov 02 2023 at 00:07):
with open ENNReal
Patrick Massot (Nov 02 2023 at 00:15):
You really need to read #mwe and follow instructions there.
Nicholas Wilson (Nov 02 2023 at 01:25):
I don't have a working example because I get an error and there is not much left to remove from that.
Things I have tried that don't work:
changed the Type of f to { f : ℝ → NNReal } doesn't work because failed to synthesize instance NormedAddCommGroup NNReal and can't do integrals on them. Same for ENNReal, EReal.
Trying to coerce the type of ∫ x, f x to ENNReal with ↑(∫ x, f x ) (not sure if I did that correctly though).
Interestingly opening EReal while having ENNReal be not opened gives invalid token error for ∞.
Patrick Massot (Nov 02 2023 at 01:41):
I'm afraid that reading the title of that #mwe webpage is not enough, you also need to read at least the first sentence.
Patrick Massot (Nov 02 2023 at 01:44):
I case you already posted a code snippet such as the one you posted here you can check whether you followed instruction by simply clicking the "View in Lean 4 playground" link that appear in the upper-right corner of the code block. In your case this bring you there where you will see that your snippet isn't a #mwe since it doesn't reproduce the problem you are facing on your computer.
Last updated: May 02 2025 at 03:31 UTC