Series of a relation #
If r
is a relation on α
then a relation series of length n
is a series
a_0, a_1, ..., a_n
such that r a_i a_{i+1}
for all i < n
Let r
be a relation on α
, a relation series of r
of length n
is a series
a_0, a_1, ..., a_n
such that r a_i a_{i+1}
for all i < n
- length : ℕ
The number of inequalities in the series
The underlying function of a relation series
- step : ∀ (i : Fin self.length), r (self.toFun i.castSucc) (self.toFun i.succ)
Adjacent elements are related
Instances For
For any type α
, each term of α
gives a relation series with the right most index to be 0.
Equations
- RelSeries.singleton r a = { length := 0, toFun := fun (x : Fin (0 + 1)) => a, step := ⋯ }
Instances For
Equations
- RelSeries.instInhabited r = { default := RelSeries.singleton r default }
Every nonempty list satisfying the chain condition gives a relation series
Equations
- RelSeries.fromListChain' x x_ne_nil hx = { length := x.length.pred, toFun := x.get ∘ Fin.cast ⋯, step := ⋯ }
Instances For
Relation series of r
and nonempty list of α
satisfying r
-chain condition bijectively
corresponds to each other.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A relation r
is said to be finite dimensional iff there is a relation series of r
with the
maximum length.
A relation
r
is said to be finite dimensional iff there is a relation series ofr
with the maximum length.
Instances
A relation r
is said to be infinite dimensional iff there exists relation series of arbitrary
length.
A relation
r
is said to be infinite dimensional iff there exists relation series of arbitrary length.
Instances
The longest relational series when a relation is finite dimensional
Equations
- RelSeries.longestOf r = ⋯.choose
Instances For
A relation series with length n
if the relation is infinite dimensional
Equations
- RelSeries.withLength r n = ⋯.choose
Instances For
If a relation on α
is infinite dimensional, then α
is nonempty.
If a₀ -r→ a₁ -r→ ... -r→ aₙ
and b₀ -r→ b₁ -r→ ... -r→ bₘ
are two strict series
such that r aₙ b₀
, then there is a chain of length n + m + 1
given by
a₀ -r→ a₁ -r→ ... -r→ aₙ -r→ b₀ -r→ b₁ -r→ ... -r→ bₘ
.
Equations
Instances For
For two types α, β
and relation on them r, s
, if f : α → β
preserves relation r
, then an
r
-series can be pushed out to an s
-series by
a₀ -r→ a₁ -r→ ... -r→ aₙ ↦ f a₀ -s→ f a₁ -s→ ... -s→ f aₙ
Instances For
If a₀ -r→ a₁ -r→ ... -r→ aₙ
is an r
-series and a
is such that
aᵢ -r→ a -r→ a_ᵢ₊₁
, then
a₀ -r→ a₁ -r→ ... -r→ aᵢ -r→ a -r→ aᵢ₊₁ -r→ ... -r→ aₙ
is another r
-series
Equations
Instances For
A relation series a₀ -r→ a₁ -r→ ... -r→ aₙ
of r
gives a relation series of the reverse of r
by reversing the series aₙ ←r- aₙ₋₁ ←r- ... ←r- a₁ ←r- a₀
.
Instances For
Given a series a₀ -r→ a₁ -r→ ... -r→ aₙ
and an a
such that a₀ -r→ a
holds, there is
a series of length n+1
: a -r→ a₀ -r→ a₁ -r→ ... -r→ aₙ
.
Equations
- p.cons newHead rel = (RelSeries.singleton r newHead).append p rel
Instances For
Given a series a₀ -r→ a₁ -r→ ... -r→ aₙ
and an a
such that aₙ -r→ a
holds, there is
a series of length n+1
: a₀ -r→ a₁ -r→ ... -r→ aₙ -r→ a
.
Equations
- p.snoc newLast rel = p.append (RelSeries.singleton r newLast) rel
Instances For
If a series a₀ -r→ a₁ -r→ ...
has positive length, then a₁ -r→ ...
is another series
Equations
Instances For
If a series a₀ -r→ a₁ -r→ ... -r→ aₙ
, then a₀ -r→ a₁ -r→ ... -r→ aₙ₋₁
is
another series
Equations
Instances For
Given two series of the form a₀ -r→ ... -r→ X
and X -r→ b ---> ...
,
then a₀ -r→ ... -r→ X -r→ b ...
is another series obtained by combining the given two.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A type is finite dimensional if its LTSeries
has bounded length.
Equations
- FiniteDimensionalOrder γ = Rel.FiniteDimensional fun (x x_1 : γ) => x < x_1
Instances For
Equations
- ⋯ = ⋯
A type is infinite dimensional if it has LTSeries
of at least arbitrary length
Equations
- InfiniteDimensionalOrder γ = Rel.InfiniteDimensional fun (x x_1 : γ) => x < x_1
Instances For
The longest <
-series when a type is finite dimensional
Equations
- LTSeries.longestOf α = RelSeries.longestOf fun (x x_1 : α) => x < x_1
Instances For
A <
-series with length n
if the relation is infinite dimensional
Equations
- LTSeries.withLength α n = RelSeries.withLength (fun (x x_1 : α) => x < x_1) n
Instances For
if α
is infinite dimensional, then α
is nonempty.
An alternative constructor of LTSeries
from a strictly monotone function.
Equations
- LTSeries.mk length toFun strictMono = { length := length, toFun := toFun, step := ⋯ }
Instances For
For two preorders α, β
, if f : α → β
is strictly monotonic, then a strict chain of α
can be pushed out to a strict chain of β
by
a₀ < a₁ < ... < aₙ ↦ f a₀ < f a₁ < ... < f aₙ
Equations
- p.map f hf = LTSeries.mk p.length (f ∘ p.toFun) ⋯
Instances For
For two preorders α, β
, if f : α → β
is surjective and strictly comonotonic, then a
strict series of β
can be pulled back to a strict chain of α
by
b₀ < b₁ < ... < bₙ ↦ f⁻¹ b₀ < f⁻¹ b₁ < ... < f⁻¹ bₙ
where f⁻¹ bᵢ
is an arbitrary element in the
preimage of f⁻¹ {bᵢ}
.
Equations
- p.comap f comap surjective = LTSeries.mk p.length (fun (i : Fin (p.length + 1)) => ⋯.choose) ⋯
Instances For
If f : α → β
is a strictly monotonic function and α
is an infinite dimensional type then so
is β
.