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.
@[reducible]
Inverse image of a bornology.
Equations
- Bornology.induced f = { cobounded' := Filter.comap f (Bornology.cobounded β), le_cofinite' := (_ : Filter.comap f (Bornology.cobounded β) ≤ Filter.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 (α × β) = Filter.coprod (Bornology.cobounded α) (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 : Set.Nonempty t)
:
theorem
Bornology.IsBounded.snd_of_prod
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
{s : Set α}
{t : Set β}
(h : Bornology.IsBounded (s ×ˢ t))
(hs : Set.Nonempty s)
:
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_of_nonempty
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
{s : Set α}
{t : Set β}
(hne : Set.Nonempty (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}
[Finite ι]
[(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}
[Finite ι]
[(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}
[Finite ι]
[(i : ι) → Bornology (π i)]
{s : Set ((i : ι) → π i)}
(hs : Bornology.IsBounded s)
(i : ι)
:
theorem
Bornology.IsBounded.pi
{ι : Type u_3}
{π : ι → Type u_4}
[Finite ι]
[(i : ι) → Bornology (π i)]
{S : (i : ι) → Set (π i)}
(h : ∀ (i : ι), Bornology.IsBounded (S i))
:
Bornology.IsBounded (Set.pi Set.univ S)
theorem
Bornology.isBounded_pi_of_nonempty
{ι : Type u_3}
{π : ι → Type u_4}
[Finite ι]
[(i : ι) → Bornology (π i)]
{S : (i : ι) → Set (π i)}
(hne : Set.Nonempty (Set.pi Set.univ S))
:
Bornology.IsBounded (Set.pi Set.univ S) ↔ ∀ (i : ι), Bornology.IsBounded (S i)
theorem
Bornology.isBounded_pi
{ι : Type u_3}
{π : ι → Type u_4}
[Finite ι]
[(i : ι) → Bornology (π i)]
{S : (i : ι) → Set (π i)}
:
Bornology.IsBounded (Set.pi Set.univ 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
instBoundedSpaceProdInstBornology
{α : Type u_1}
{β : Type u_2}
[Bornology α]
[Bornology β]
[BoundedSpace α]
[BoundedSpace β]
:
BoundedSpace (α × β)
Equations
- (_ : BoundedSpace (α × β)) = (_ : BoundedSpace (α × β))
instance
instBoundedSpaceForAllInstBornology
{ι : Type u_3}
{π : ι → Type u_4}
[Finite ι]
[(i : ι) → Bornology (π i)]
[∀ (i : ι), BoundedSpace (π i)]
:
BoundedSpace ((i : ι) → π i)
Equations
- (_ : BoundedSpace ((i : ι) → π 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
instBoundedSpaceSubtypeInstBornologySubtype
{α : Type u_1}
[Bornology α]
[BoundedSpace α]
{p : α → Prop}
:
BoundedSpace (Subtype p)
Equations
- (_ : BoundedSpace (Subtype p)) = (_ : BoundedSpace { x : α // p x })
Additive
, Multiplicative
#
The bornology on those type synonyms is inherited without change.
Equations
- instBornologyMultiplicative = inst
instance
instBoundedSpaceAdditiveInstBornologyAdditive
{α : Type u_1}
[Bornology α]
[BoundedSpace α]
:
BoundedSpace (Additive α)
Equations
- (_ : BoundedSpace (Additive α)) = inst
instance
instBoundedSpaceMultiplicativeInstBornologyMultiplicative
{α : Type u_1}
[Bornology α]
[BoundedSpace α]
:
Equations
- (_ : BoundedSpace (Multiplicative α)) = inst
Order dual #
The bornology on this type synonym is inherited without change.
instance
instBoundedSpaceOrderDualInstBornologyOrderDual
{α : Type u_1}
[Bornology α]
[BoundedSpace α]
:
Equations
- (_ : BoundedSpace αᵒᵈ) = inst