Enumerations #
In this file, we define enumerations of a type.
Main declarations #
ConNF.Enumeration
: The type family of enumerations.
Equations
- ConNF.Enumeration.instCoeTCSet = { coe := fun (E : ConNF.Enumeration X) => E.rel.codom }
Equations
- ConNF.Enumeration.instMembership = { mem := fun (E : ConNF.Enumeration X) (x : X) => x ∈ E.rel.codom }
theorem
ConNF.Enumeration.mem_congr
[Params]
{X : Type u}
{E F : Enumeration X}
(h : E = F)
(x : X)
:
Equations
- ConNF.Enumeration.empty = { bound := 0, rel := fun (x : ConNF.κ) (x : X) => False, lt_bound := ⋯, rel_coinjective := ⋯ }
Instances For
Equations
Instances For
Cardinality bounds on enumerations #
Enumerations from sets #
Equations
Instances For
Operations on enumerations #
Equations
Instances For
@[simp]
def
ConNF.Enumeration.invImage
[Params]
{X Y : Type u}
(E : Enumeration X)
(f : Y → X)
(hf : Function.Injective f)
:
Equations
Instances For
theorem
ConNF.Enumeration.invImage_rel
[Params]
{X Y : Type u}
{E : Enumeration X}
{f : Y → X}
{hf : Function.Injective f}
(i : κ)
(y : Y)
:
@[simp]
theorem
ConNF.Enumeration.mem_invImage
[Params]
{X Y : Type u}
{E : Enumeration X}
{f : Y → X}
{hf : Function.Injective f}
(y : Y)
:
def
ConNF.Enumeration.comp
[Params]
{X Y : Type u}
(E : Enumeration X)
(r : Rel X Y)
(hr : r.Coinjective)
:
Equations
Instances For
instance
ConNF.Enumeration.instSMulOfMulAction
[Params]
{G : Type u_1}
{X : Type u}
[Group G]
[MulAction G X]
:
SMul G (Enumeration X)
Equations
- ConNF.Enumeration.instSMulOfMulAction = { smul := fun (π : G) (E : ConNF.Enumeration X) => E.invImage (fun (x : X) => π⁻¹ • x) ⋯ }
instance
ConNF.Enumeration.instMulAction
[Params]
{G : Type u_1}
{X : Type u}
[Group G]
[MulAction G X]
:
MulAction G (Enumeration X)
Equations
Concatenation of enumerations #
Equations
- One or more equations did not get rendered due to their size.
@[simp]