Initial and principal segments #
This file defines initial and principal segment embeddings. Though these definitions make sense for arbitrary relations, they're intended for use with well orders.
An initial segment is simply a lower set, i.e. if x belongs to the range, then any y < x also
belongs to the range. A principal segment is a set of the form Set.Iio x for some x.
An initial segment embedding r ≼i s is an order embedding r ↪ s such that its range is an
initial segment. Likewise, a principal segment embedding r ≺i s has a principal segment for a
range.
Main definitions #
InitialSeg r s: Type of initial segment embeddings ofrintos, denoted byr ≼i s.PrincipalSeg r s: Type of principal segment embeddings ofrintos, denoted byr ≺i s.
The lemmas Ordinal.type_le_iff and Ordinal.type_lt_iff tell us that ≼i corresponds to the ≤
relation on ordinals, while ≺i corresponds to the < relation. This prompts us to think of
PrincipalSeg as a "strict" version of InitialSeg.
Notation #
These notations belong to the InitialSeg locale.
r ≼i s: the type of initial segment embeddings ofrintos.r ≺i s: the type of principal segment embeddings ofrintos.α ≤i βis an abbreviation for(· < ·) ≼i (· < ·).α <i βis an abbreviation for(· < ·) ≺i (· < ·).
Initial segment embeddings #
If r is a relation on α and s in a relation on β, then f : r ≼i s is an order
embedding whose Set.range is a lower set. That is, whenever b < f a in β then b is in the
range of f.
- toFun : α → β
- mem_range_of_rel' (a : α) (b : β) : s b (self.toRelEmbedding a) → b ∈ Set.range ⇑self.toRelEmbedding
The order embedding is an initial segment
Instances For
If r is a relation on α and s in a relation on β, then f : r ≼i s is an order
embedding whose Set.range is a lower set. That is, whenever b < f a in β then b is in the
range of f.
Instances For
An InitialSeg between the < relations of two types.
Instances For
An initial segment embedding between the < relations of two partial orders is an order
embedding.
Instances For
A relation isomorphism is an initial segment embedding
Instances For
The identity function shows that ≼i is reflexive
Instances For
Composition of functions shows that ≼i is transitive
Instances For
Given a well order s, there is at most one initial segment embedding of r into s.
If we have order embeddings between α and β whose ranges are initial segments, and β is a
well order, then α and β are order-isomorphic.
Instances For
An initial segment embedding is either an isomorphism, or a principal segment embedding.
See also InitialSeg.ltOrEq.
Restrict the codomain of an initial segment
Instances For
Initial segment embedding from an empty type.
Instances For
Initial segment embedding of an order r into the disjoint union of r and s.
Instances For
Principal segments #
If r is a relation on α and s in a relation on β, then f : r ≺i s is an initial
segment embedding whose range is Set.Iio x for some element x. If β is a well order, this is
equivalent to the embedding not being surjective.
- toFun : α → β
- top : β
The supremum of the principal segment
The range of the order embedding is the set of elements
bsuch thats b top
Instances For
If r is a relation on α and s in a relation on β, then f : r ≺i s is an initial
segment embedding whose range is Set.Iio x for some element x. If β is a well order, this is
equivalent to the embedding not being surjective.
Instances For
A PrincipalSeg between the < relations of two types.
Instances For
A principal segment embedding is in particular an initial segment embedding.
A principal segment is the same as a non-surjective initial segment.
Instances For
Composition of a principal segment embedding with an initial segment embedding, as a principal segment embedding
Instances For
Composition of two principal segment embeddings as a principal segment embedding
Instances For
Composition of an order isomorphism with a principal segment embedding, as a principal segment embedding
Instances For
Composition of a principal segment embedding with a relation isomorphism, as a principal segment embedding
Instances For
Given a well order s, there is a most one principal segment embedding of r into s.
Any element of a well order yields a principal segment.
Instances For
Restrict the codomain of a principal segment embedding.
Instances For
Principal segment from an empty type into a type with a minimal element.
Instances For
Alias of PrincipalSeg.pemptyToPUnit.
Principal segment from the empty relation on PEmpty to the empty relation on PUnit.
Instances For
Properties of initial and principal segments #
Every initial segment embedding into a well order can be turned into an isomorphism if surjective, or into a principal segment embedding if not.
Instances For
Composition of an initial segment embedding and a principal segment embedding as a principal segment embedding
Instances For
An initial segment can be extended to an isomorphism by joining a second well order to the domain.
Construct an initial segment embedding r ≼i s by "filling in the gaps". That is, each
subsequent element in α is mapped to the least element in β that hasn't been used yet.
This construction is guaranteed to work as long as there exists some relation embedding r ↪r s.
Instances For
For any two well orders, one is an initial segment of the other.
Instances For
Initial or principal segments with < #
An order isomorphism is an initial segment
Instances For
Alias of the reverse direction of InitialSeg.isMin_apply_iff.
Alias of the reverse direction of PrincipalSeg.isMin_apply_iff.