File: Mathlib/Analysis/Convex/Quasiconvex.lean

full_name: QuasiconvexOn
code: /-- A function is quasiconvex if all its sublevels are convex.
This means that, for all `r`, `{x ∈ s | f x ≤ r}` is `𝕜`-convex. -/
def QuasiconvexOn : Prop 
goal: Prop

full_name: QuasiconcaveOn
code: /-- A function is quasiconcave if all its superlevels are convex.
This means that, for all `r`, `{x ∈ s | r ≤ f x}` is `𝕜`-convex. -/
def QuasiconcaveOn : Prop 
goal: Prop

full_name: QuasilinearOn
code: /-- A function is quasilinear if it is both quasiconvex and quasiconcave.
This means that, for all `r`,
the sets `{x ∈ s | f x ≤ r}` and `{x ∈ s | r ≤ f x}` are `𝕜`-convex. -/
def QuasilinearOn : Prop 
goal: Prop

full_name: QuasiconvexOn.dual
code: theorem QuasiconvexOn.dual : QuasiconvexOn 𝕜 s f → QuasiconcaveOn 𝕜 s (toDual ∘ f) 
goal: QuasiconvexOn 𝕜 s f → QuasiconcaveOn 𝕜 s (⇑OrderDual.toDual ∘ f)

full_name: QuasiconcaveOn.dual
code: theorem QuasiconcaveOn.dual : QuasiconcaveOn 𝕜 s f → QuasiconvexOn 𝕜 s (toDual ∘ f) 
goal: QuasiconcaveOn 𝕜 s f → QuasiconvexOn 𝕜 s (⇑OrderDual.toDual ∘ f)

full_name: QuasilinearOn.dual
code: theorem QuasilinearOn.dual : QuasilinearOn 𝕜 s f → QuasilinearOn 𝕜 s (toDual ∘ f) 
goal: QuasilinearOn 𝕜 s f → QuasilinearOn 𝕜 s (⇑OrderDual.toDual ∘ f)

full_name: Convex.quasiconvexOn_of_convex_le
code: theorem Convex.quasiconvexOn_of_convex_le (hs : Convex 𝕜 s) (h : ∀ r, Convex 𝕜 { x | f x ≤ r }) :
    QuasiconvexOn 𝕜 s f 
goal: QuasiconvexOn 𝕜 s f

full_name: Convex.quasiconcaveOn_of_convex_ge
code: theorem Convex.quasiconcaveOn_of_convex_ge (hs : Convex 𝕜 s) (h : ∀ r, Convex 𝕜 { x | r ≤ f x }) :
    QuasiconcaveOn 𝕜 s f 
goal: QuasiconcaveOn 𝕜 s f

full_name: QuasiconvexOn.convex
code: theorem QuasiconvexOn.convex [IsDirected β (· ≤ ·)] (hf : QuasiconvexOn 𝕜 s f) : Convex 𝕜 s 
goal: Convex 𝕜 s

full_name: QuasiconcaveOn.convex
code: theorem QuasiconcaveOn.convex [IsDirected β (· ≥ ·)] (hf : QuasiconcaveOn 𝕜 s f) : Convex 𝕜 s 
goal: Convex 𝕜 s

full_name: QuasiconvexOn.sup
code: theorem QuasiconvexOn.sup [SemilatticeSup β] (hf : QuasiconvexOn 𝕜 s f)
    (hg : QuasiconvexOn 𝕜 s g) : QuasiconvexOn 𝕜 s (f ⊔ g) 
goal: QuasiconvexOn 𝕜 s (f ⊔ g)

full_name: QuasiconcaveOn.inf
code: theorem QuasiconcaveOn.inf [SemilatticeInf β] (hf : QuasiconcaveOn 𝕜 s f)
    (hg : QuasiconcaveOn 𝕜 s g) : QuasiconcaveOn 𝕜 s (f ⊓ g) 
goal: QuasiconcaveOn 𝕜 s (f ⊓ g)

full_name: quasiconvexOn_iff_le_max
code: theorem quasiconvexOn_iff_le_max : QuasiconvexOn 𝕜 s f ↔ Convex 𝕜 s ∧ ∀ ⦃x⦄, x ∈ s → ∀ ⦃y⦄,
    y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 ≤ a → 0 ≤ b → a + b = 1 → f (a • x + b • y) ≤ max (f x) (f y) 
goal: QuasiconvexOn 𝕜 s f ↔
  Convex 𝕜 s ∧
    ∀ ⦃x : E⦄, x ∈ s → ∀ ⦃y : E⦄, y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 ≤ a → 0 ≤ b → a + b = 1 → f (a • x + b • y) ≤ max (f x) (f y)

full_name: quasiconcaveOn_iff_min_le
code: theorem quasiconcaveOn_iff_min_le : QuasiconcaveOn 𝕜 s f ↔ Convex 𝕜 s ∧ ∀ ⦃x⦄, x ∈ s → ∀ ⦃y⦄,
    y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 ≤ a → 0 ≤ b → a + b = 1 → min (f x) (f y) ≤ f (a • x + b • y) 
goal: QuasiconcaveOn 𝕜 s f ↔
  Convex 𝕜 s ∧
    ∀ ⦃x : E⦄, x ∈ s → ∀ ⦃y : E⦄, y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 ≤ a → 0 ≤ b → a + b = 1 → min (f x) (f y) ≤ f (a • x + b • y)

full_name: quasilinearOn_iff_mem_uIcc
code: theorem quasilinearOn_iff_mem_uIcc : QuasilinearOn 𝕜 s f ↔ Convex 𝕜 s ∧ ∀ ⦃x⦄, x ∈ s → ∀ ⦃y⦄,
    y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 ≤ a → 0 ≤ b → a + b = 1 → f (a • x + b • y) ∈ uIcc (f x) (f y) 
goal: QuasilinearOn 𝕜 s f ↔
  Convex 𝕜 s ∧
    ∀ ⦃x : E⦄,
      x ∈ s → ∀ ⦃y : E⦄, y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 ≤ a → 0 ≤ b → a + b = 1 → f (a • x + b • y) ∈ Set.uIcc (f x) (f y)

full_name: QuasiconvexOn.convex_lt
code: theorem QuasiconvexOn.convex_lt (hf : QuasiconvexOn 𝕜 s f) (r : β) :
    Convex 𝕜 ({ x ∈ s | f x < r }) 
goal: Convex 𝕜 {x | x ∈ s ∧ f x < r}

full_name: QuasiconcaveOn.convex_gt
code: theorem QuasiconcaveOn.convex_gt (hf : QuasiconcaveOn 𝕜 s f) (r : β) :
    Convex 𝕜 ({ x ∈ s | r < f x }) 
goal: Convex 𝕜 {x | x ∈ s ∧ r < f x}

full_name: ConvexOn.quasiconvexOn
code: theorem ConvexOn.quasiconvexOn (hf : ConvexOn 𝕜 s f) : QuasiconvexOn 𝕜 s f 
goal: QuasiconvexOn 𝕜 s f

full_name: ConcaveOn.quasiconcaveOn
code: theorem ConcaveOn.quasiconcaveOn (hf : ConcaveOn 𝕜 s f) : QuasiconcaveOn 𝕜 s f 
goal: QuasiconcaveOn 𝕜 s f

full_name: MonotoneOn.quasiconvexOn
code: theorem MonotoneOn.quasiconvexOn (hf : MonotoneOn f s) (hs : Convex 𝕜 s) : QuasiconvexOn 𝕜 s f 
goal: QuasiconvexOn 𝕜 s f

full_name: MonotoneOn.quasiconcaveOn
code: theorem MonotoneOn.quasiconcaveOn (hf : MonotoneOn f s) (hs : Convex 𝕜 s) : QuasiconcaveOn 𝕜 s f 
goal: QuasiconcaveOn 𝕜 s f

full_name: MonotoneOn.quasilinearOn
code: theorem MonotoneOn.quasilinearOn (hf : MonotoneOn f s) (hs : Convex 𝕜 s) : QuasilinearOn 𝕜 s f 
goal: QuasilinearOn 𝕜 s f

full_name: AntitoneOn.quasiconvexOn
code: theorem AntitoneOn.quasiconvexOn (hf : AntitoneOn f s) (hs : Convex 𝕜 s) : QuasiconvexOn 𝕜 s f 
goal: QuasiconvexOn 𝕜 s f

full_name: AntitoneOn.quasiconcaveOn
code: theorem AntitoneOn.quasiconcaveOn (hf : AntitoneOn f s) (hs : Convex 𝕜 s) : QuasiconcaveOn 𝕜 s f 
goal: QuasiconcaveOn 𝕜 s f

full_name: AntitoneOn.quasilinearOn
code: theorem AntitoneOn.quasilinearOn (hf : AntitoneOn f s) (hs : Convex 𝕜 s) : QuasilinearOn 𝕜 s f 
goal: QuasilinearOn 𝕜 s f

full_name: Monotone.quasiconvexOn
code: theorem Monotone.quasiconvexOn (hf : Monotone f) : QuasiconvexOn 𝕜 univ f 
goal: QuasiconvexOn 𝕜 Set.univ f

full_name: Monotone.quasiconcaveOn
code: theorem Monotone.quasiconcaveOn (hf : Monotone f) : QuasiconcaveOn 𝕜 univ f 
goal: QuasiconcaveOn 𝕜 Set.univ f

full_name: Monotone.quasilinearOn
code: theorem Monotone.quasilinearOn (hf : Monotone f) : QuasilinearOn 𝕜 univ f 
goal: QuasilinearOn 𝕜 Set.univ f

full_name: Antitone.quasiconvexOn
code: theorem Antitone.quasiconvexOn (hf : Antitone f) : QuasiconvexOn 𝕜 univ f 
goal: QuasiconvexOn 𝕜 Set.univ f

full_name: Antitone.quasiconcaveOn
code: theorem Antitone.quasiconcaveOn (hf : Antitone f) : QuasiconcaveOn 𝕜 univ f 
goal: QuasiconcaveOn 𝕜 Set.univ f

full_name: Antitone.quasilinearOn
code: theorem Antitone.quasilinearOn (hf : Antitone f) : QuasilinearOn 𝕜 univ f 
goal: QuasilinearOn 𝕜 Set.univ f

full_name: QuasilinearOn.monotoneOn_or_antitoneOn
code: theorem QuasilinearOn.monotoneOn_or_antitoneOn [LinearOrder β] (hf : QuasilinearOn 𝕜 s f) :
    MonotoneOn f s ∨ AntitoneOn f s 
goal: MonotoneOn f s ∨ AntitoneOn f s

full_name: quasilinearOn_iff_monotoneOn_or_antitoneOn
code: theorem quasilinearOn_iff_monotoneOn_or_antitoneOn [LinearOrderedAddCommMonoid β]
    (hs : Convex 𝕜 s) : QuasilinearOn 𝕜 s f ↔ MonotoneOn f s ∨ AntitoneOn f s 
goal: QuasilinearOn 𝕜 s f ↔ MonotoneOn f s ∨ AntitoneOn f s