Two-pointings #
This file defines TwoPointing α, the type of two pointings of α. A two-pointing is the data of
two distinct terms.
This is morally a Type-valued Nontrivial. Another type which is quite close in essence is Sym2.
Categorically speaking, prod is a cospan in the category of types. This forms the category of
bipointed types. Two-pointed types form a full subcategory of those.
References #
- [nLab, Coalgebra of the real interval] (https://ncatlab.org/nlab/show/coalgebra+of+the+real+interval)
Two-pointing of a type. This is a Type-valued termed Nontrivial.
Instances For
theorem
TwoPointing.ext
{α : Type u_3}
{x y : TwoPointing α}
(fst : x.toProd.1 = y.toProd.1)
(snd : x.toProd.2 = y.toProd.2)
:
x = y
@[implicit_reducible]
def
instDecidableEqTwoPointing.decEq
{α✝ : Type u_3}
[DecidableEq α✝]
(x✝ x✝¹ : TwoPointing α✝)
:
Decidable (x✝ = x✝¹)
Instances For
Swaps the two pointed elements.
Instances For
@[simp]
@[simp]
instance
TwoPointing.instNonemptyOfNontrivial
{α : Type u_1}
[Nontrivial α]
:
Nonempty (TwoPointing α)
@[simp]
theorem
TwoPointing.nonempty_two_pointing_iff
{α : Type u_1}
:
Nonempty (TwoPointing α) ↔ Nontrivial α
def
TwoPointing.pi
(α : Type u_1)
{β : Type u_2}
(q : TwoPointing β)
[Nonempty α]
:
TwoPointing (α → β)
The two-pointing of constant functions.
Instances For
@[simp]
@[simp]
def
TwoPointing.prod
{α : Type u_1}
{β : Type u_2}
(p : TwoPointing α)
(q : TwoPointing β)
:
TwoPointing (α × β)
The product of two two-pointings.
Instances For
@[simp]
theorem
TwoPointing.prod_fst
{α : Type u_1}
{β : Type u_2}
(p : TwoPointing α)
(q : TwoPointing β)
:
@[simp]
theorem
TwoPointing.prod_snd
{α : Type u_1}
{β : Type u_2}
(p : TwoPointing α)
(q : TwoPointing β)
:
def
TwoPointing.sum
{α : Type u_1}
{β : Type u_2}
(p : TwoPointing α)
(q : TwoPointing β)
:
TwoPointing (α ⊕ β)
The sum of two pointings. Keeps the first point from the left and the second point from the right.
Instances For
@[simp]
@[simp]
The false, true two-pointing of Bool.
Instances For
@[implicit_reducible]
The False, True two-pointing of Prop.