Bornology structure on products and subtypes #
In this file we define Bornology
and BoundedSpace
instances on α × β
, Π i, π i
, and
{x // p x}
. We also prove basic lemmas about Bornology.cobounded
and Bornology.IsBounded
on these types.
Equations
- Prod.instBornology = { cobounded' := (Bornology.cobounded α).coprod (Bornology.cobounded β), le_cofinite' := ⋯ }
instance
Pi.instBornology
{ι : Type u_3}
{π : ι → Type u_4}
[(i : ι) → Bornology (π i)]
:
Bornology ((i : ι) → π i)
Equations
- Pi.instBornology = { cobounded' := Filter.coprodᵢ fun (i : ι) => Bornology.cobounded (π i), le_cofinite' := ⋯ }
@[reducible, inline]
Inverse image of a bornology.
Equations
- Bornology.induced f = { cobounded' := Filter.comap f (Bornology.cobounded β), le_cofinite' := ⋯ }
Instances For
Equations
- instBornologySubtype = Bornology.induced Subtype.val
Bounded sets in α × β
#
theorem
Bornology.cobounded_prod
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
:
Bornology.cobounded (α × β) = (Bornology.cobounded α).coprod (Bornology.cobounded β)
theorem
Bornology.isBounded_image_fst_and_snd
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
{s : Set (α × β)}
:
Bornology.IsBounded (Prod.fst '' s) ∧ Bornology.IsBounded (Prod.snd '' s) ↔ Bornology.IsBounded s
theorem
Bornology.IsBounded.image_fst
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
{s : Set (α × β)}
(hs : Bornology.IsBounded s)
:
Bornology.IsBounded (Prod.fst '' s)
theorem
Bornology.IsBounded.image_snd
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
{s : Set (α × β)}
(hs : Bornology.IsBounded s)
:
Bornology.IsBounded (Prod.snd '' s)
theorem
Bornology.IsBounded.fst_of_prod
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
{s : Set α}
{t : Set β}
(h : Bornology.IsBounded (s ×ˢ t))
(ht : t.Nonempty)
:
theorem
Bornology.IsBounded.snd_of_prod
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
{s : Set α}
{t : Set β}
(h : Bornology.IsBounded (s ×ˢ t))
(hs : s.Nonempty)
:
theorem
Bornology.IsBounded.prod
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
{s : Set α}
{t : Set β}
(hs : Bornology.IsBounded s)
(ht : Bornology.IsBounded t)
:
Bornology.IsBounded (s ×ˢ t)
theorem
Bornology.isBounded_prod
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
{s : Set α}
{t : Set β}
:
Bornology.IsBounded (s ×ˢ t) ↔ s = ∅ ∨ t = ∅ ∨ Bornology.IsBounded s ∧ Bornology.IsBounded t
theorem
Bornology.isBounded_prod_self
{α : Type u_1}
[Bornology α]
{s : Set α}
:
Bornology.IsBounded (s ×ˢ s) ↔ Bornology.IsBounded s
Bounded sets in Π i, π i
#
theorem
Bornology.cobounded_pi
{ι : Type u_3}
{π : ι → Type u_4}
[(i : ι) → Bornology (π i)]
:
Bornology.cobounded ((i : ι) → π i) = Filter.coprodᵢ fun (i : ι) => Bornology.cobounded (π i)
theorem
Bornology.forall_isBounded_image_eval_iff
{ι : Type u_3}
{π : ι → Type u_4}
[(i : ι) → Bornology (π i)]
{s : Set ((i : ι) → π i)}
:
(∀ (i : ι), Bornology.IsBounded (Function.eval i '' s)) ↔ Bornology.IsBounded s
theorem
Bornology.IsBounded.image_eval
{ι : Type u_3}
{π : ι → Type u_4}
[(i : ι) → Bornology (π i)]
{s : Set ((i : ι) → π i)}
(hs : Bornology.IsBounded s)
(i : ι)
:
theorem
Bornology.IsBounded.pi
{ι : Type u_3}
{π : ι → Type u_4}
[(i : ι) → Bornology (π i)]
{S : (i : ι) → Set (π i)}
(h : ∀ (i : ι), Bornology.IsBounded (S i))
:
Bornology.IsBounded (Set.univ.pi S)
theorem
Bornology.isBounded_pi_of_nonempty
{ι : Type u_3}
{π : ι → Type u_4}
[(i : ι) → Bornology (π i)]
{S : (i : ι) → Set (π i)}
(hne : (Set.univ.pi S).Nonempty)
:
Bornology.IsBounded (Set.univ.pi S) ↔ ∀ (i : ι), Bornology.IsBounded (S i)
theorem
Bornology.isBounded_pi
{ι : Type u_3}
{π : ι → Type u_4}
[(i : ι) → Bornology (π i)]
{S : (i : ι) → Set (π i)}
:
Bornology.IsBounded (Set.univ.pi S) ↔ (∃ (i : ι), S i = ∅) ∨ ∀ (i : ι), Bornology.IsBounded (S i)
Bounded sets in {x // p x}
#
theorem
Bornology.isBounded_induced
{α : Type u_5}
{β : Type u_6}
[Bornology β]
{f : α → β}
{s : Set α}
:
Bornology.IsBounded s ↔ Bornology.IsBounded (f '' s)
theorem
Bornology.isBounded_image_subtype_val
{α : Type u_1}
[Bornology α]
{p : α → Prop}
{s : Set { x : α // p x }}
:
Bornology.IsBounded (Subtype.val '' s) ↔ Bornology.IsBounded s
Bounded spaces #
instance
instBoundedSpaceProd
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
[BoundedSpace α]
[BoundedSpace β]
:
BoundedSpace (α × β)
instance
instBoundedSpaceForall
{ι : Type u_3}
{π : ι → Type u_4}
[(i : ι) → Bornology (π i)]
[∀ (i : ι), BoundedSpace (π i)]
:
BoundedSpace ((i : ι) → π i)
theorem
boundedSpace_subtype_iff
{α : Type u_1}
[Bornology α]
{p : α → Prop}
:
BoundedSpace (Subtype p) ↔ Bornology.IsBounded {x : α | p x}
theorem
Bornology.IsBounded.boundedSpace_subtype
{α : Type u_1}
[Bornology α]
{p : α → Prop}
:
Bornology.IsBounded {x : α | p x} → BoundedSpace (Subtype p)
Alias of the reverse direction of boundedSpace_subtype_iff
.
theorem
Bornology.IsBounded.boundedSpace_val
{α : Type u_1}
[Bornology α]
{s : Set α}
:
Bornology.IsBounded s → BoundedSpace ↑s
Alias of the reverse direction of boundedSpace_val_set_iff
.
instance
instBoundedSpaceSubtype
{α : Type u_1}
[Bornology α]
[BoundedSpace α]
{p : α → Prop}
:
BoundedSpace (Subtype p)
Additive
, Multiplicative
#
The bornology on those type synonyms is inherited without change.
Equations
- instBornologyMultiplicative = inst✝
instance
instBoundedSpaceAdditive
{α : Type u_1}
[Bornology α]
[BoundedSpace α]
:
BoundedSpace (Additive α)
Order dual #
The bornology on this type synonym is inherited without change.