Monovariance of functions #
Two functions vary together if a strict change in the first implies a change in the second.
This is in some sense a way to say that two functions f : ι → α, g : ι → β are "monotone
together", without actually having an order on ι.
This condition comes up in the rearrangement inequality. See Algebra.Order.Rearrangement.
Main declarations #
- Monovary f g:- fmonovaries with- g. If- g i < g j, then- f i ≤ f j.
- Antivary f g:- fantivaries with- g. If- g i < g j, then- f j ≤ f i.
- MonovaryOn f g s:- fmonovaries with- gon- s.
- AntivaryOn f g s:- fantivaries with- gon- s.
theorem
Monovary.monovaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
(h : Monovary f g)
(s : Set ι)
 :
MonovaryOn f g s
theorem
Antivary.antivaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
(h : Antivary f g)
(s : Set ι)
 :
AntivaryOn f g s
@[simp]
theorem
MonovaryOn.empty
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
 :
MonovaryOn f g ∅
@[simp]
theorem
AntivaryOn.empty
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
 :
AntivaryOn f g ∅
theorem
MonovaryOn.subset
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s t : Set ι}
(hst : s ⊆ t)
(h : MonovaryOn f g t)
 :
MonovaryOn f g s
theorem
AntivaryOn.subset
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s t : Set ι}
(hst : s ⊆ t)
(h : AntivaryOn f g t)
 :
AntivaryOn f g s
theorem
monovary_const_left
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
(g : ι → β)
(a : α)
 :
Monovary (Function.const ι a) g
theorem
antivary_const_left
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
(g : ι → β)
(a : α)
 :
Antivary (Function.const ι a) g
theorem
monovary_const_right
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
(f : ι → α)
(b : β)
 :
Monovary f (Function.const ι b)
theorem
antivary_const_right
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
(f : ι → α)
(b : β)
 :
Antivary f (Function.const ι b)
theorem
monovaryOn_self
{ι : Type u_1}
{α : Type u_3}
[Preorder α]
(f : ι → α)
(s : Set ι)
 :
MonovaryOn f f s
theorem
Subsingleton.monovary
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
[Subsingleton ι]
(f : ι → α)
(g : ι → β)
 :
Monovary f g
theorem
Subsingleton.antivary
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
[Subsingleton ι]
(f : ι → α)
(g : ι → β)
 :
Antivary f g
theorem
Subsingleton.monovaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
[Subsingleton ι]
(f : ι → α)
(g : ι → β)
(s : Set ι)
 :
MonovaryOn f g s
theorem
Subsingleton.antivaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
[Subsingleton ι]
(f : ι → α)
(g : ι → β)
(s : Set ι)
 :
AntivaryOn f g s
theorem
monovaryOn_const_left
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
(g : ι → β)
(a : α)
(s : Set ι)
 :
MonovaryOn (Function.const ι a) g s
theorem
antivaryOn_const_left
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
(g : ι → β)
(a : α)
(s : Set ι)
 :
AntivaryOn (Function.const ι a) g s
theorem
monovaryOn_const_right
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
(f : ι → α)
(b : β)
(s : Set ι)
 :
MonovaryOn f (Function.const ι b) s
theorem
antivaryOn_const_right
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
(f : ι → α)
(b : β)
(s : Set ι)
 :
AntivaryOn f (Function.const ι b) s
theorem
MonovaryOn.comp_right
{ι : Type u_1}
{ι' : Type u_2}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
(h : MonovaryOn f g s)
(k : ι' → ι)
 :
MonovaryOn (f ∘ k) (g ∘ k) (k ⁻¹' s)
theorem
AntivaryOn.comp_right
{ι : Type u_1}
{ι' : Type u_2}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
(h : AntivaryOn f g s)
(k : ι' → ι)
 :
AntivaryOn (f ∘ k) (g ∘ k) (k ⁻¹' s)
theorem
MonovaryOn.comp_monotone_on_left
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
{γ : Type u_5}
[Preorder α]
[Preorder β]
[Preorder γ]
{f : ι → α}
{f' : α → γ}
{g : ι → β}
{s : Set ι}
(h : MonovaryOn f g s)
(hf : Monotone f')
 :
MonovaryOn (f' ∘ f) g s
theorem
MonovaryOn.comp_antitone_on_left
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
{γ : Type u_5}
[Preorder α]
[Preorder β]
[Preorder γ]
{f : ι → α}
{f' : α → γ}
{g : ι → β}
{s : Set ι}
(h : MonovaryOn f g s)
(hf : Antitone f')
 :
AntivaryOn (f' ∘ f) g s
theorem
AntivaryOn.comp_monotone_on_left
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
{γ : Type u_5}
[Preorder α]
[Preorder β]
[Preorder γ]
{f : ι → α}
{f' : α → γ}
{g : ι → β}
{s : Set ι}
(h : AntivaryOn f g s)
(hf : Monotone f')
 :
AntivaryOn (f' ∘ f) g s
theorem
AntivaryOn.comp_antitone_on_left
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
{γ : Type u_5}
[Preorder α]
[Preorder β]
[Preorder γ]
{f : ι → α}
{f' : α → γ}
{g : ι → β}
{s : Set ι}
(h : AntivaryOn f g s)
(hf : Antitone f')
 :
MonovaryOn (f' ∘ f) g s
theorem
Monovary.dual
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
 :
Monovary f g → Monovary (⇑OrderDual.toDual ∘ f) (⇑OrderDual.toDual ∘ g)
theorem
Antivary.dual
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
 :
Antivary f g → Antivary (⇑OrderDual.toDual ∘ f) (⇑OrderDual.toDual ∘ g)
theorem
MonovaryOn.dual
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
 :
MonovaryOn f g s → MonovaryOn (⇑OrderDual.toDual ∘ f) (⇑OrderDual.toDual ∘ g) s
theorem
AntivaryOn.dual
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
 :
AntivaryOn f g s → AntivaryOn (⇑OrderDual.toDual ∘ f) (⇑OrderDual.toDual ∘ g) s
theorem
MonovaryOn.dual_left
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
 :
MonovaryOn f g s → AntivaryOn (⇑OrderDual.toDual ∘ f) g s
theorem
AntivaryOn.dual_left
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
 :
AntivaryOn f g s → MonovaryOn (⇑OrderDual.toDual ∘ f) g s
theorem
MonovaryOn.dual_right
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
 :
MonovaryOn f g s → AntivaryOn f (⇑OrderDual.toDual ∘ g) s
theorem
AntivaryOn.dual_right
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
 :
AntivaryOn f g s → MonovaryOn f (⇑OrderDual.toDual ∘ g) s
@[simp]
@[simp]
@[simp]
theorem
monovaryOn_id_iff
{ι : Type u_1}
{α : Type u_3}
[Preorder α]
{f : ι → α}
{s : Set ι}
[PartialOrder ι]
 :
@[simp]
theorem
antivaryOn_id_iff
{ι : Type u_1}
{α : Type u_3}
[Preorder α]
{f : ι → α}
{s : Set ι}
[PartialOrder ι]
 :
theorem
StrictMono.trans_monovary
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
[PartialOrder ι]
(hf : StrictMono f)
(h : Monovary g f)
 :
Monotone g
theorem
StrictMono.trans_antivary
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
[PartialOrder ι]
(hf : StrictMono f)
(h : Antivary g f)
 :
Antitone g
theorem
StrictAnti.trans_monovary
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
[PartialOrder ι]
(hf : StrictAnti f)
(h : Monovary g f)
 :
Antitone g
theorem
StrictAnti.trans_antivary
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
[PartialOrder ι]
(hf : StrictAnti f)
(h : Antivary g f)
 :
Monotone g
theorem
StrictMonoOn.trans_monovaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
[PartialOrder ι]
(hf : StrictMonoOn f s)
(h : MonovaryOn g f s)
 :
MonotoneOn g s
theorem
StrictMonoOn.trans_antivaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
[PartialOrder ι]
(hf : StrictMonoOn f s)
(h : AntivaryOn g f s)
 :
AntitoneOn g s
theorem
StrictAntiOn.trans_monovaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
[PartialOrder ι]
(hf : StrictAntiOn f s)
(h : MonovaryOn g f s)
 :
AntitoneOn g s
theorem
StrictAntiOn.trans_antivaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
[PartialOrder ι]
(hf : StrictAntiOn f s)
(h : AntivaryOn g f s)
 :
MonotoneOn g s
theorem
MonotoneOn.monovaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
[LinearOrder ι]
(hf : MonotoneOn f s)
(hg : MonotoneOn g s)
 :
MonovaryOn f g s
theorem
MonotoneOn.antivaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
[LinearOrder ι]
(hf : MonotoneOn f s)
(hg : AntitoneOn g s)
 :
AntivaryOn f g s
theorem
AntitoneOn.monovaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
[LinearOrder ι]
(hf : AntitoneOn f s)
(hg : AntitoneOn g s)
 :
MonovaryOn f g s
theorem
AntitoneOn.antivaryOn
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[Preorder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
[LinearOrder ι]
(hf : AntitoneOn f s)
(hg : MonotoneOn g s)
 :
AntivaryOn f g s
theorem
MonovaryOn.comp_monotoneOn_right
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
{γ : Type u_5}
[Preorder α]
[LinearOrder β]
[Preorder γ]
{f : ι → α}
{g : ι → β}
{g' : β → γ}
{s : Set ι}
(h : MonovaryOn f g s)
(hg : MonotoneOn g' (g '' s))
 :
MonovaryOn f (g' ∘ g) s
theorem
MonovaryOn.comp_antitoneOn_right
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
{γ : Type u_5}
[Preorder α]
[LinearOrder β]
[Preorder γ]
{f : ι → α}
{g : ι → β}
{g' : β → γ}
{s : Set ι}
(h : MonovaryOn f g s)
(hg : AntitoneOn g' (g '' s))
 :
AntivaryOn f (g' ∘ g) s
theorem
AntivaryOn.comp_monotoneOn_right
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
{γ : Type u_5}
[Preorder α]
[LinearOrder β]
[Preorder γ]
{f : ι → α}
{g : ι → β}
{g' : β → γ}
{s : Set ι}
(h : AntivaryOn f g s)
(hg : MonotoneOn g' (g '' s))
 :
AntivaryOn f (g' ∘ g) s
theorem
AntivaryOn.comp_antitoneOn_right
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
{γ : Type u_5}
[Preorder α]
[LinearOrder β]
[Preorder γ]
{f : ι → α}
{g : ι → β}
{g' : β → γ}
{s : Set ι}
(h : AntivaryOn f g s)
(hg : AntitoneOn g' (g '' s))
 :
MonovaryOn f (g' ∘ g) s
theorem
Monovary.symm
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[LinearOrder β]
{f : ι → α}
{g : ι → β}
(h : Monovary f g)
 :
Monovary g f
theorem
Antivary.symm
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[LinearOrder β]
{f : ι → α}
{g : ι → β}
(h : Antivary f g)
 :
Antivary g f
theorem
MonovaryOn.symm
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[LinearOrder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
(h : MonovaryOn f g s)
 :
MonovaryOn g f s
theorem
AntivaryOn.symm
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[Preorder α]
[LinearOrder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
(h : AntivaryOn f g s)
 :
AntivaryOn g f s
theorem
monovary_comm
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[LinearOrder α]
[LinearOrder β]
{f : ι → α}
{g : ι → β}
 :
theorem
antivary_comm
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[LinearOrder α]
[LinearOrder β]
{f : ι → α}
{g : ι → β}
 :
theorem
monovaryOn_comm
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[LinearOrder α]
[LinearOrder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
 :
theorem
antivaryOn_comm
{ι : Type u_1}
{α : Type u_3}
{β : Type u_4}
[LinearOrder α]
[LinearOrder β]
{f : ι → α}
{g : ι → β}
{s : Set ι}
 :