Sets in product and pi types #
This file proves basic properties of product of sets in α × β
and in Π i, α i
, and of the
diagonal of a type.
Main declarations #
This file contains basic results on the following notions, which are defined in Set.Operations
.
Set.prod
: Binary product of sets. Fors : Set α
,t : Set β
, we haves.prod t : Set (α × β)
. Denoted bys ×ˢ t
.Set.diagonal
: Diagonal of a type.Set.diagonal α = {(x, x) | x : α}
.Set.offDiag
: Off-diagonal.s ×ˢ s
without the diagonal.Set.pi
: Arbitrary product of sets.
Cartesian binary product of sets #
Equations
- Set.decidableMemProd x = inferInstanceAs (Decidable (x.1 ∈ s ∧ x.2 ∈ t))
Diagonal #
In this section we prove some lemmas about the diagonal set {p | p.1 = p.2}
and the diagonal map
fun x ↦ (x, x)
.
Equations
- Set.decidableMemDiagonal x = h x.1 x.2
A function is Function.const α a
for some a
if and only if ∀ x y, f x = f y
.
The fiber product
Equations
The diagonal map
Equations
- toPullbackDiag f x = ⟨(x, x), ⋯⟩
Three functions between the three pairs of spaces
The projection
The projection
Alias of the reverse direction of Set.offDiag_nonempty
.
Alias of the reverse direction of Set.offDiag_nonempty
.
Cartesian set-indexed product of sets #
Alias of Set.piMap_image_pi
.
Alias of the reverse direction of Set.graphOn_nonempty
.
Vertical line test #
Vertical line test for functions.
Let f : α → β × γ
be a function to a product. Assume that f
is surjective on the first factor
and that the image of f
intersects every "vertical line" {(b, c) | c : γ}
at most once.
Then the image of f
is the graph of some monoid homomorphism f' : β → γ
.
Line test for equivalences.
Let f : α → β × γ
be a homomorphism to a product of monoids. Assume that f
is surjective on both
factors and that the image of f
intersects every "vertical line" {(b, c) | c : γ}
and every
"horizontal line" {(b, c) | b : β}
at most once. Then the image of f
is the graph of some
equivalence f' : β ≃ γ
.
Vertical line test for functions.
Let s : Set (β × γ)
be a set in a product. Assume that s
maps bijectively to the first factor.
Then s
is the graph of some function f : β → γ
.