Set family operations #
This file defines a few binary operations on Set α
for use in set family combinatorics.
Main declarations #
s ⊻ t
: Set of elements of the forma ⊔ b
wherea ∈ s
,b ∈ t
.s ⊼ t
: Set of elements of the forma ⊓ b
wherea ∈ s
,b ∈ t
.
Notation #
We define the following notation in locale SetFamily
:
s ⊻ t
s ⊼ t
References #
[B. Bollobás, Combinatorics][bollobas1986]
The point-wise supremum a ⊔ b
of a, b : α
.
Equations
- «term_⊻_» = Lean.ParserDescr.trailingNode `«term_⊻_» 74 74 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊻ ") (Lean.ParserDescr.cat `term 75))
Instances For
The point-wise infimum a ⊓ b
of a, b : α
.
Equations
- «term_⊼_» = Lean.ParserDescr.trailingNode `«term_⊼_» 75 75 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊼ ") (Lean.ParserDescr.cat `term 76))
Instances For
s ⊻ t
is the set of elements of the form a ⊔ b
where a ∈ s
, b ∈ t
.
Equations
- Set.hasSups = { sups := Set.image2 fun (x1 x2 : α) => x1 ⊔ x2 }
Instances For
theorem
Set.forall_sups_iff
{α : Type u_2}
[SemilatticeSup α]
{s : Set α}
{t : Set α}
{p : α → Prop}
:
@[simp]
theorem
Set.Nonempty.sups
{α : Type u_2}
[SemilatticeSup α]
{s : Set α}
{t : Set α}
:
s.Nonempty → t.Nonempty → (s ⊻ t).Nonempty
theorem
Set.Nonempty.of_sups_left
{α : Type u_2}
[SemilatticeSup α]
{s : Set α}
{t : Set α}
:
(s ⊻ t).Nonempty → s.Nonempty
theorem
Set.Nonempty.of_sups_right
{α : Type u_2}
[SemilatticeSup α]
{s : Set α}
{t : Set α}
:
(s ⊻ t).Nonempty → t.Nonempty
@[simp]
@[simp]
theorem
Set.image_sups
{F : Type u_1}
{α : Type u_2}
{β : Type u_3}
[SemilatticeSup α]
[SemilatticeSup β]
[FunLike F α β]
[SupHomClass F α β]
(f : F)
(s : Set α)
(t : Set α)
:
@[simp]
@[simp]
theorem
Set.image_sup_prod
{α : Type u_2}
[SemilatticeSup α]
(s : Set α)
(t : Set α)
:
Set.image2 (fun (x1 x2 : α) => x1 ⊔ x2) s t = s ⊻ t
s ⊼ t
is the set of elements of the form a ⊓ b
where a ∈ s
, b ∈ t
.
Equations
- Set.hasInfs = { infs := Set.image2 fun (x1 x2 : α) => x1 ⊓ x2 }
Instances For
theorem
Set.forall_infs_iff
{α : Type u_2}
[SemilatticeInf α]
{s : Set α}
{t : Set α}
{p : α → Prop}
:
@[simp]
theorem
Set.Nonempty.infs
{α : Type u_2}
[SemilatticeInf α]
{s : Set α}
{t : Set α}
:
s.Nonempty → t.Nonempty → (s ⊼ t).Nonempty
theorem
Set.Nonempty.of_infs_left
{α : Type u_2}
[SemilatticeInf α]
{s : Set α}
{t : Set α}
:
(s ⊼ t).Nonempty → s.Nonempty
theorem
Set.Nonempty.of_infs_right
{α : Type u_2}
[SemilatticeInf α]
{s : Set α}
{t : Set α}
:
(s ⊼ t).Nonempty → t.Nonempty
@[simp]
@[simp]
theorem
Set.image_infs
{F : Type u_1}
{α : Type u_2}
{β : Type u_3}
[SemilatticeInf α]
[SemilatticeInf β]
[FunLike F α β]
[InfHomClass F α β]
(f : F)
(s : Set α)
(t : Set α)
:
@[simp]
@[simp]
theorem
Set.image_inf_prod
{α : Type u_2}
[SemilatticeInf α]
(s : Set α)
(t : Set α)
:
Set.image2 (fun (x x_1 : α) => x ⊓ x_1) s t = s ⊼ t
@[simp]
theorem
upperClosure_sups
{α : Type u_2}
[SemilatticeSup α]
(s : Set α)
(t : Set α)
:
upperClosure (s ⊻ t) = upperClosure s ⊔ upperClosure t
@[simp]
theorem
lowerClosure_infs
{α : Type u_2}
[SemilatticeInf α]
(s : Set α)
(t : Set α)
:
lowerClosure (s ⊼ t) = lowerClosure s ⊓ lowerClosure t