Documentation

TestingLowerBounds.ForMathlib.LeftRightDeriv

theorem ConvexOn.comp_neg {๐•œ : Type u_1} {F : Type u_2} {ฮฒ : Type u_3} [LinearOrderedField ๐•œ] [AddCommGroup F] [OrderedAddCommMonoid ฮฒ] [Module ๐•œ F] [SMul ๐•œ ฮฒ] {f : F โ†’ ฮฒ} {s : Set F} (hf : ConvexOn ๐•œ s f) :
ConvexOn ๐•œ (-s) fun (x : F) => f (-x)
theorem ConvexOn.comp_neg_iff {๐•œ : Type u_1} {F : Type u_2} {ฮฒ : Type u_3} [LinearOrderedField ๐•œ] [AddCommGroup F] [OrderedAddCommMonoid ฮฒ] [Module ๐•œ F] [SMul ๐•œ ฮฒ] {f : F โ†’ ฮฒ} {s : Set F} :
(ConvexOn ๐•œ (-s) fun (x : F) => f (-x)) โ†” ConvexOn ๐•œ s f
theorem ConvexOn.const_mul_id (c : โ„) :
ConvexOn โ„ Set.univ fun (x : โ„) => c * x
noncomputable def rightDeriv (f : โ„ โ†’ โ„) :

The right derivative of a real function.

Equations
Instances For
    theorem rightDeriv_def (f : โ„ โ†’ โ„) (x : โ„) :
    noncomputable def leftDeriv (f : โ„ โ†’ โ„) :

    The left derivative of a real function.

    Equations
    Instances For
      theorem leftDeriv_def (f : โ„ โ†’ โ„) (x : โ„) :
      theorem rightDeriv_eq_leftDeriv_apply (f : โ„ โ†’ โ„) (x : โ„) :
      rightDeriv f x = -leftDeriv (fun (x : โ„) => f (-x)) (-x)
      theorem rightDeriv_eq_leftDeriv (f : โ„ โ†’ โ„) :
      rightDeriv f = fun (x : โ„) => -leftDeriv (fun (y : โ„) => f (-y)) (-x)
      theorem leftDeriv_eq_rightDeriv_apply (f : โ„ โ†’ โ„) (x : โ„) :
      leftDeriv f x = -rightDeriv (fun (y : โ„) => f (-y)) (-x)
      theorem leftDeriv_eq_rightDeriv (f : โ„ โ†’ โ„) :
      leftDeriv f = fun (x : โ„) => -rightDeriv (fun (y : โ„) => f (-y)) (-x)
      theorem Filter.EventuallyEq.derivWithin_eq_nhds {๐•œ : Type u_1} {F : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup F] [NormedSpace ๐•œ F] {fโ‚ : ๐•œ โ†’ F} {f : ๐•œ โ†’ F} {x : ๐•œ} {s : Set ๐•œ} (h : fโ‚ =แถ [nhds x] f) :
      derivWithin fโ‚ s x = derivWithin f s x
      theorem rightDeriv_congr_atTop {f : โ„ โ†’ โ„} {g : โ„ โ†’ โ„} (h : f =แถ [Filter.atTop] g) :
      theorem rightDeriv_of_hasDerivAt {f : โ„ โ†’ โ„} {f' : โ„} {x : โ„} (h : HasDerivAt f f' x) :
      rightDeriv f x = f'
      theorem leftDeriv_of_hasDerivAt {f : โ„ โ†’ โ„} {f' : โ„} {x : โ„} (h : HasDerivAt f f' x) :
      leftDeriv f x = f'
      @[simp]
      @[simp]
      theorem rightDeriv_const (c : โ„) :
      (rightDeriv fun (x : โ„) => c) = 0
      @[simp]
      theorem leftDeriv_const (c : โ„) :
      (leftDeriv fun (x : โ„) => c) = 0
      @[simp]
      theorem rightDeriv_const_mul (a : โ„) {f : โ„ โ†’ โ„} :
      (rightDeriv fun (x : โ„) => a * f x) = fun (x : โ„) => a * rightDeriv f x
      @[simp]
      theorem leftDeriv_const_mul (a : โ„) {f : โ„ โ†’ โ„} :
      (leftDeriv fun (x : โ„) => a * f x) = fun (x : โ„) => a * leftDeriv f x
      @[simp]
      theorem rightDeriv_neg {f : โ„ โ†’ โ„} :
      (rightDeriv fun (x : โ„) => -f x) = fun (x : โ„) => -rightDeriv f x
      @[simp]
      theorem leftDeriv_neg {f : โ„ โ†’ โ„} :
      (leftDeriv fun (x : โ„) => -f x) = fun (x : โ„) => -leftDeriv f x
      @[simp]
      theorem rightDeriv_id :
      rightDeriv id = fun (x : โ„) => 1
      @[simp]
      theorem rightDeriv_id' :
      (rightDeriv fun (x : โ„) => x) = fun (x : โ„) => 1
      @[simp]
      theorem leftDeriv_id :
      leftDeriv id = fun (x : โ„) => 1
      @[simp]
      theorem leftDeriv_id' :
      (leftDeriv fun (x : โ„) => x) = fun (x : โ„) => 1
      theorem rightDeriv_add_apply' {f : โ„ โ†’ โ„} {g : โ„ โ†’ โ„} {x : โ„} (hf : DifferentiableWithinAt โ„ f (Set.Ioi x) x) (hg : DifferentiableWithinAt โ„ g (Set.Ioi x) x) :
      rightDeriv (fun (x : โ„) => f x + g x) x = rightDeriv f x + rightDeriv g x
      theorem rightDeriv_add {f : โ„ โ†’ โ„} {g : โ„ โ†’ โ„} (hf : โˆ€ (x : โ„), DifferentiableWithinAt โ„ f (Set.Ioi x) x) (hg : โˆ€ (x : โ„), DifferentiableWithinAt โ„ g (Set.Ioi x) x) :
      rightDeriv (f + g) = fun (x : โ„) => rightDeriv f x + rightDeriv g x
      theorem rightDeriv_add' {f : โ„ โ†’ โ„} {g : โ„ โ†’ โ„} (hf : โˆ€ (x : โ„), DifferentiableWithinAt โ„ f (Set.Ioi x) x) (hg : โˆ€ (x : โ„), DifferentiableWithinAt โ„ g (Set.Ioi x) x) :
      (rightDeriv fun (x : โ„) => f x + g x) = fun (x : โ„) => rightDeriv f x + rightDeriv g x
      theorem leftDeriv_add_apply' {f : โ„ โ†’ โ„} {g : โ„ โ†’ โ„} {x : โ„} (hf : DifferentiableWithinAt โ„ f (Set.Iio x) x) (hg : DifferentiableWithinAt โ„ g (Set.Iio x) x) :
      leftDeriv (fun (x : โ„) => f x + g x) x = leftDeriv f x + leftDeriv g x
      theorem leftDeriv_add {f : โ„ โ†’ โ„} {g : โ„ โ†’ โ„} (hf : โˆ€ (x : โ„), DifferentiableWithinAt โ„ f (Set.Iio x) x) (hg : โˆ€ (x : โ„), DifferentiableWithinAt โ„ g (Set.Iio x) x) :
      leftDeriv (f + g) = fun (x : โ„) => leftDeriv f x + leftDeriv g x
      theorem leftDeriv_add' {f : โ„ โ†’ โ„} {g : โ„ โ†’ โ„} (hf : โˆ€ (x : โ„), DifferentiableWithinAt โ„ f (Set.Iio x) x) (hg : โˆ€ (x : โ„), DifferentiableWithinAt โ„ g (Set.Iio x) x) :
      (leftDeriv fun (x : โ„) => f x + g x) = fun (x : โ„) => leftDeriv f x + leftDeriv g x
      theorem rightDeriv_add_const_apply {f : โ„ โ†’ โ„} {x : โ„} (hf : DifferentiableWithinAt โ„ f (Set.Ioi x) x) (c : โ„) :
      rightDeriv (fun (x : โ„) => f x + c) x = rightDeriv f x
      theorem rightDeriv_add_const {f : โ„ โ†’ โ„} (hf : โˆ€ (x : โ„), DifferentiableWithinAt โ„ f (Set.Ioi x) x) (c : โ„) :
      (rightDeriv fun (x : โ„) => f x + c) = rightDeriv f
      theorem leftDeriv_add_const_apply {f : โ„ โ†’ โ„} {x : โ„} (hf : DifferentiableWithinAt โ„ f (Set.Iio x) x) (c : โ„) :
      leftDeriv (fun (x : โ„) => f x + c) x = leftDeriv f x
      theorem leftDeriv_add_const {f : โ„ โ†’ โ„} (hf : โˆ€ (x : โ„), DifferentiableWithinAt โ„ f (Set.Iio x) x) (c : โ„) :
      (leftDeriv fun (x : โ„) => f x + c) = leftDeriv f
      theorem rightDeriv_add_linear_apply {f : โ„ โ†’ โ„} {x : โ„} (hf : DifferentiableWithinAt โ„ f (Set.Ioi x) x) (a : โ„) :
      rightDeriv (fun (x : โ„) => f x + a * x) x = rightDeriv f x + a
      theorem rightDeriv_add_linear {f : โ„ โ†’ โ„} (hf : โˆ€ (x : โ„), DifferentiableWithinAt โ„ f (Set.Ioi x) x) (a : โ„) :
      (rightDeriv fun (x : โ„) => f x + a * x) = rightDeriv f + fun (x : โ„) => a
      theorem leftDeriv_add_linear_apply {f : โ„ โ†’ โ„} {x : โ„} (hf : DifferentiableWithinAt โ„ f (Set.Iio x) x) (a : โ„) :
      leftDeriv (fun (x : โ„) => f x + a * x) x = leftDeriv f x + a
      theorem leftDeriv_add_linear {f : โ„ โ†’ โ„} (hf : โˆ€ (x : โ„), DifferentiableWithinAt โ„ f (Set.Iio x) x) (a : โ„) :
      (leftDeriv fun (x : โ„) => f x + a * x) = leftDeriv f + fun (x : โ„) => a
      theorem ConvexOn.bddBelow_slope_Ioi {f : โ„ โ†’ โ„} (hfc : ConvexOn โ„ Set.univ f) (x : โ„) :
      theorem ConvexOn.bddBelow_slope_Ioi' {f : โ„ โ†’ โ„} (hfc : ConvexOn โ„ (Set.Ici 0) f) (x : โ„) (hx : 0 < x) :
      theorem ConvexOn.bddAbove_slope_Iio {f : โ„ โ†’ โ„} (hfc : ConvexOn โ„ Set.univ f) (x : โ„) :
      theorem ConvexOn.monotoneOn_slope_gt {f : โ„ โ†’ โ„} {s : Set โ„} (hfc : ConvexOn โ„ s f) {x : โ„} (hxs : x โˆˆ interior s) :
      MonotoneOn (slope f x) {y : โ„ | y โˆˆ s โˆง x < y}
      theorem ConvexOn.monotoneOn_slope_lt {f : โ„ โ†’ โ„} {s : Set โ„} (hfc : ConvexOn โ„ s f) {x : โ„} (hxs : x โˆˆ interior s) :
      MonotoneOn (slope f x) {y : โ„ | y โˆˆ s โˆง y < x}
      theorem ConvexOn.rightDeriv_le_slope {f : โ„ โ†’ โ„} {s : Set โ„} {x : โ„} (hfc : ConvexOn โ„ s f) {y : โ„} (hxs : x โˆˆ interior s) (hys : y โˆˆ s) (hxy : x < y) :
      theorem ConvexOn.hasLeftDerivAt_of_mem_interior {f : โ„ โ†’ โ„} {s : Set โ„} {x : โ„} (hfc : ConvexOn โ„ s f) (hxs : x โˆˆ interior s) :
      HasDerivWithinAt f (sSup (slope f x '' {y : โ„ | y โˆˆ s โˆง y < x})) (Set.Iio x) x
      theorem ConvexOn.slope_le_leftDeriv {f : โ„ โ†’ โ„} {s : Set โ„} {x : โ„} (hfc : ConvexOn โ„ s f) {y : โ„} (hxs : x โˆˆ interior s) (hys : y โˆˆ s) (hxy : y < x) :
      theorem ConvexOn.hasRightDerivAt {f : โ„ โ†’ โ„} (hfc : ConvexOn โ„ Set.univ f) (x : โ„) :
      theorem ConvexOn.hasRightDerivAt' {f : โ„ โ†’ โ„} {x : โ„} (hfc : ConvexOn โ„ (Set.Ici 0) f) (hx : 0 < x) :
      theorem ConvexOn.hasLeftDerivAt {f : โ„ โ†’ โ„} (hfc : ConvexOn โ„ Set.univ f) (x : โ„) :
      theorem ConvexOn.rightDeriv_eq_sInf_slope {f : โ„ โ†’ โ„} (hfc : ConvexOn โ„ Set.univ f) (x : โ„) :
      theorem ConvexOn.rightDeriv_eq_sInf_slope' {f : โ„ โ†’ โ„} {x : โ„} (hfc : ConvexOn โ„ (Set.Ici 0) f) (hx : 0 < x) :
      theorem ConvexOn.leftDeriv_eq_sSup_slope {f : โ„ โ†’ โ„} (hfc : ConvexOn โ„ Set.univ f) (x : โ„) :
      theorem ConvexOn.rightDeriv_mono {f : โ„ โ†’ โ„} (hfc : ConvexOn โ„ Set.univ f) :
      theorem ConvexOn.leftDeriv_mono {f : โ„ โ†’ โ„} (hfc : ConvexOn โ„ Set.univ f) :
      noncomputable def ConvexOn.rightDerivStieltjes {f : โ„ โ†’ โ„} (hf : ConvexOn โ„ Set.univ f) :

      The right derivative of a convex real function is a Stieltjes function.

      Equations
      • hf.rightDerivStieltjes = { toFun := rightDeriv f, mono' := โ‹ฏ, right_continuous' := โ‹ฏ }
      Instances For
        theorem ConvexOn.rightDerivStieltjes_eq_rightDeriv {f : โ„ โ†’ โ„} (hf : ConvexOn โ„ Set.univ f) :
        โ†‘hf.rightDerivStieltjes = rightDeriv f
        theorem ConvexOn.rightDerivStieltjes_const (c : โ„) :
        โ‹ฏ.rightDerivStieltjes = 0
        theorem ConvexOn.rightDerivStieltjes_linear (a : โ„) :
        โ‹ฏ.rightDerivStieltjes = StieltjesFunction.const a
        theorem ConvexOn.rightDerivStieltjes_add {f : โ„ โ†’ โ„} {g : โ„ โ†’ โ„} (hf : ConvexOn โ„ Set.univ f) (hg : ConvexOn โ„ Set.univ g) :
        โ‹ฏ.rightDerivStieltjes = hf.rightDerivStieltjes + hg.rightDerivStieltjes
        theorem ConvexOn.rightDerivStieltjes_add_const {f : โ„ โ†’ โ„} (hf : ConvexOn โ„ Set.univ f) (c : โ„) :
        โ‹ฏ.rightDerivStieltjes = hf.rightDerivStieltjes