Product of convex spaces #
This file defines the cartesian product of convex spaces.
@[instance_reducible]
noncomputable instance
Prod.instConvexSpace
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_4}
{Y : Type u_5}
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace R Y]
:
Convexity.ConvexSpace R (X × Y)
Equations
- Prod.instConvexSpace = Convexity.ConvexSpace.mk (fun (w : Convexity.StdSimplex R (X × Y)) => (Convexity.iConvexComb w Prod.fst, Convexity.iConvexComb w Prod.snd)) ⋯ ⋯
@[simp]
theorem
Prod.fst_sConvexComb
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_4}
{Y : Type u_5}
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace R Y]
(w : Convexity.StdSimplex R (X × Y))
:
@[simp]
theorem
Prod.snd_sConvexComb
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_4}
{Y : Type u_5}
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace R Y]
(w : Convexity.StdSimplex R (X × Y))
:
theorem
Prod.isAffineMap_fst
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_4}
{Y : Type u_5}
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace R Y]
:
theorem
Prod.isAffineMap_snd
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_4}
{Y : Type u_5}
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace R Y]
:
@[simp]
theorem
Prod.fst_iConvexComb
{I : Type u_1}
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_4}
{Y : Type u_5}
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace R Y]
(w : Convexity.StdSimplex R I)
(f : I → X × Y)
:
@[simp]
theorem
Prod.snd_iConvexComb
{I : Type u_1}
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_4}
{Y : Type u_5}
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace R Y]
(w : Convexity.StdSimplex R I)
(f : I → X × Y)
:
@[simp]
theorem
Prod.fst_convexCombPair
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_4}
{Y : Type u_5}
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace R Y]
(a b : R)
(ha : 0 ≤ a)
(hb : 0 ≤ b)
(hab : a + b = 1)
(x y : X × Y)
:
@[simp]
theorem
Prod.snd_convexCombPair
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_4}
{Y : Type u_5}
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace R Y]
(a b : R)
(ha : 0 ≤ a)
(hb : 0 ≤ b)
(hab : a + b = 1)
(x y : X × Y)
:
instance
Prod.instIsConvexCombComm
{R : Type u_2}
{S : Type u_3}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
[Semiring S]
[PartialOrder S]
[IsStrictOrderedRing S]
{X : Type u_4}
{Y : Type u_5}
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace R Y]
[Convexity.ConvexSpace S X]
[Convexity.ConvexSpace S Y]
[Convexity.IsConvexCombComm R S X]
[Convexity.IsConvexCombComm R S Y]
:
Convexity.IsConvexCombComm R S (X × Y)
@[instance_reducible]
noncomputable instance
Pi.instConvexSpaceForall
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : ι → Type u_5}
[(i : ι) → Convexity.ConvexSpace R (X i)]
:
Convexity.ConvexSpace R ((i : ι) → X i)
Equations
- Pi.instConvexSpaceForall = Convexity.ConvexSpace.mk (fun (w : Convexity.StdSimplex R ((i : ι) → X i)) (i : ι) => Convexity.iConvexComb w fun (x : (i : ι) → X i) => x i) ⋯ ⋯
@[simp]
theorem
Pi.sConvexComb_apply
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : ι → Type u_5}
[(i : ι) → Convexity.ConvexSpace R (X i)]
(w : Convexity.StdSimplex R ((i : ι) → X i))
(i : ι)
:
theorem
Pi.isAffineMap_eval
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : ι → Type u_5}
[(i : ι) → Convexity.ConvexSpace R (X i)]
{i : ι}
:
Convexity.IsAffineMap R fun (x : (i : ι) → X i) => x i
@[simp]
theorem
Pi.iConvexComb_apply
{I : Type u_1}
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : ι → Type u_5}
[(i : ι) → Convexity.ConvexSpace R (X i)]
(w : Convexity.StdSimplex R I)
(f : I → (i : ι) → X i)
(i : ι)
:
@[simp]
theorem
Pi.convexCombPair_apply
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : ι → Type u_5}
[(i : ι) → Convexity.ConvexSpace R (X i)]
(a b : R)
(ha : 0 ≤ a)
(hb : 0 ≤ b)
(hab : a + b = 1)
(f g : (i : ι) → X i)
(i : ι)
:
instance
Pi.instIsConvexCombCommForall
{R : Type u_2}
{S : Type u_3}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
[Semiring S]
[PartialOrder S]
[IsStrictOrderedRing S]
{ι : Type u_4}
{X : ι → Type u_5}
[(i : ι) → Convexity.ConvexSpace R (X i)]
[(i : ι) → Convexity.ConvexSpace S (X i)]
[∀ (i : ι), Convexity.IsConvexCombComm R S (X i)]
:
Convexity.IsConvexCombComm R S ((i : ι) → X i)
@[instance_reducible]
noncomputable instance
Finsupp.instConvexSpace
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
[Zero X]
[Convexity.ConvexSpace R X]
:
Convexity.ConvexSpace R (ι →₀ X)
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
Finsupp.sConvexComb_apply
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
[Zero X]
[Convexity.ConvexSpace R X]
(w : Convexity.StdSimplex R (ι →₀ X))
(i : ι)
:
theorem
Finsupp.isAffineMap_eval
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
[Zero X]
[Convexity.ConvexSpace R X]
{i : ι}
:
Convexity.IsAffineMap R fun (x : ι →₀ X) => x i
@[simp]
theorem
Finsupp.iConvexComb_apply
{I : Type u_1}
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
[Zero X]
[Convexity.ConvexSpace R X]
(w : Convexity.StdSimplex R I)
(f : I → ι →₀ X)
(i : ι)
:
@[simp]
theorem
Finsupp.convexCombPair_apply
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
[Zero X]
[Convexity.ConvexSpace R X]
(a b : R)
(ha : 0 ≤ a)
(hb : 0 ≤ b)
(hab : a + b = 1)
(f g : ι →₀ X)
(i : ι)
:
instance
Finsupp.instIsConvexCombComm
{R : Type u_2}
{S : Type u_3}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
[Semiring S]
[PartialOrder S]
[IsStrictOrderedRing S]
{ι : Type u_4}
{X : Type u_5}
[Zero X]
[Convexity.ConvexSpace R X]
[Convexity.ConvexSpace S X]
[Convexity.IsConvexCombComm R S X]
:
Convexity.IsConvexCombComm R S (ι →₀ X)
theorem
Convexity.IsAffineMap.prodMk
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_5}
{Y : Type u_6}
[ConvexSpace R X]
[ConvexSpace R Y]
{Z : Type u_7}
[ConvexSpace R Z]
{f : X → Y}
{g : X → Z}
(hf : IsAffineMap R f)
(hg : IsAffineMap R g)
:
IsAffineMap R fun (x : X) => (f x, g x)
theorem
Convexity.IsAffineMap.fst
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_5}
{Y : Type u_6}
[ConvexSpace R X]
[ConvexSpace R Y]
{Z : Type u_7}
[ConvexSpace R Z]
{f : X → Y × Z}
(hf : IsAffineMap R f)
:
IsAffineMap R fun (x : X) => (f x).1
theorem
Convexity.IsAffineMap.snd
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_5}
{Y : Type u_6}
[ConvexSpace R X]
[ConvexSpace R Y]
{Z : Type u_7}
[ConvexSpace R Z]
{f : X → Y × Z}
(hf : IsAffineMap R f)
:
IsAffineMap R fun (x : X) => (f x).2
theorem
Convexity.isAffineMap_prod_iff
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_5}
{Y : Type u_6}
[ConvexSpace R X]
[ConvexSpace R Y]
{Z : Type u_7}
[ConvexSpace R Z]
{f : X → Y × Z}
:
@[simp]
theorem
Convexity.isAffineMap_prodMk_iff
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{X : Type u_5}
{Y : Type u_6}
[ConvexSpace R X]
[ConvexSpace R Y]
{Z : Type u_7}
[ConvexSpace R Z]
{f : X → Y}
{g : X → Z}
:
theorem
Convexity.IsAffineMap.pi
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
[ConvexSpace R X]
{Y : ι → Type u_7}
[(i : ι) → ConvexSpace R (Y i)]
{f : X → (i : ι) → Y i}
(hf : ∀ (i : ι), IsAffineMap R fun (x : X) => f x i)
:
IsAffineMap R f
theorem
Convexity.IsAffineMap.eval
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
[ConvexSpace R X]
{Y : ι → Type u_7}
[(i : ι) → ConvexSpace R (Y i)]
{f : X → (i : ι) → Y i}
(hf : IsAffineMap R f)
(i : ι)
:
IsAffineMap R fun (x : X) => f x i
theorem
Convexity.isAffineMap_pi_iff
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
[ConvexSpace R X]
{Y : ι → Type u_7}
[(i : ι) → ConvexSpace R (Y i)]
{f : X → (i : ι) → Y i}
:
theorem
Convexity.IsAffineMap.finsupp
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
{Y : Type u_6}
[ConvexSpace R X]
[ConvexSpace R Y]
[Zero Y]
{f : X → ι →₀ Y}
(hf : ∀ (i : ι), IsAffineMap R fun (x : X) => (f x) i)
:
IsAffineMap R f
theorem
Convexity.IsAffineMap.finsuppEval
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
{Y : Type u_6}
[ConvexSpace R X]
[ConvexSpace R Y]
[Zero Y]
{f : X → ι →₀ Y}
(hf : IsAffineMap R f)
(i : ι)
:
IsAffineMap R fun (x : X) => (f x) i
theorem
Convexity.isAffineMap_finsupp_iff
{R : Type u_2}
[Semiring R]
[PartialOrder R]
[IsStrictOrderedRing R]
{ι : Type u_4}
{X : Type u_5}
{Y : Type u_6}
[ConvexSpace R X]
[ConvexSpace R Y]
[Zero Y]
{f : X → ι →₀ Y}
: