Zulip Chat Archive

Stream: new members

Topic: infimum of bdd_below int set


Yakov Pechersky (Jul 12 2021 at 22:21):

What's the right way to invoke Inf on a set int when I know it is nonempty and bdd_below?

import group_theory.subgroup

example (H : add_subgroup ) (x : ) (hx : x  H) (xpos : 0 < x) :
  ∃! (b : ), 0 < b  b  H  ( (c  H), 0 < c  b  c) :=
begin
  set bs : set  := {b :  | b  H  0 < b} with hbs,
  have bsbdd : bdd_below bs,
  { use 0,
    simp_rw [mem_lower_bounds, hbs, set.mem_set_of_eq, and_imp],
    intros x hx xpos,
    exact xpos.le },
  have bsnonempty : bs.nonempty := x, hx, xpos⟩,
  use (Inf bs), -- fails here
  sorry
end

Eric Wieser (Jul 12 2021 at 22:24):

Wait for Floris' PR?

Yakov Pechersky (Jul 12 2021 at 22:26):

Which one is that?

Eric Wieser (Jul 12 2021 at 22:27):

#8149

Eric Wieser (Jul 12 2021 at 22:28):

I fixed some whitespace and was rewarded with a deterministic timeout

Yakov Pechersky (Jul 12 2021 at 22:46):

OK, at least that PR taught me something new, which I can use in the meantime:

import group_theory.subgroup

example (H : add_subgroup ) (x : ) (hx : x  H) (xpos : 0 < x) :
  ∃! (b : ), 0 < b  b  H  ( (c  H), 0 < c  b  c) :=
begin
  set bs : set  := {b :  | b  H  0 < b} with hbs,
  classical,
  obtain lb, hlb, hlb' := @int.exists_least_of_bdd ( bs) 0, λ z hz, hz.right.le x, hx, xpos⟩,
  simp only [and_imp, set.mem_set_of_eq] at hlb hlb',
  refine lb, hlb.right, hlb.left, hlb'⟩, _⟩,
  simp only [and_imp],
  intros c cpos hc IH,
  exact le_antisymm (IH _ hlb.left hlb.right) (hlb' _ hc cpos)
end

Yakov Pechersky (Jul 12 2021 at 22:47):

@Eric Wieser I've hit that timeout before, in that exact lemma. I've tried to break it up into pieces, but have failed. It really abuses defeq across quotients.


Last updated: Dec 20 2023 at 11:08 UTC