Zulip Chat Archive
Stream: Is there code for X?
Topic: Eventually vacuously true statements
Ryan Lahfa (Aug 18 2021 at 16:48):
Is there nice ways to lift for any propositions for eventually filters, MWE:
import analysis.specific_limits
open filter
lemma eventually_false_of_not {α} {p q: α → Prop} {l: filter α}:
(∀ᶠ x in l, ¬ p x) → (∀ᶠ x in l, p x → q x) := sorry
I think I can do it by brute-forcing stuff, mostly by proving that { x | p x } \notin l
as { x | not(p(x)) } \in l
(otherwise, intersection would be empty, and the empty set would be in the filter),
Therefore, { x | p x → q x } = univ
, which should complete the proof. But I'm looking for more idiomatic ways to perform this proof rather than spamming definitions.
Anatole Dedecker (Aug 18 2021 at 17:03):
You can use docs#filter.eventually.mono and then you just have to give the pointwise proof
Ryan Lahfa (Aug 18 2021 at 17:05):
Anatole Dedecker said:
You can use docs#filter.eventually.mono and then you just have to give the pointwise proof
You're definitely super hacka :-)
Ryan Lahfa (Aug 18 2021 at 17:11):
For completeness:
lemma eventually_false_of_not {α} {p q: α → Prop} {l: filter α}
(hnp: ∀ᶠ x in l, ¬ p x): (∀ᶠ x in l, p x → q x) :=
eventually.mono hnp (λ x hnpx hpx, absurd hpx hnpx)
Last updated: Dec 20 2023 at 11:08 UTC