Lattice posets¶
- class sage.categories.lattice_posets.LatticePosets[source]¶
Bases:
CategoryThe category of lattices, i.e. partially ordered sets in which any two elements have a unique supremum (the elements’ least upper bound; called their join) and a unique infimum (greatest lower bound; called their meet).
EXAMPLES:
sage: LatticePosets() Category of lattice posets sage: LatticePosets().super_categories() [Category of posets] sage: LatticePosets().example() NotImplemented
>>> from sage.all import * >>> LatticePosets() Category of lattice posets >>> LatticePosets().super_categories() [Category of posets] >>> LatticePosets().example() NotImplemented
See also
- class CongruenceUniform(base_category)[source]¶
Bases:
CategoryWithAxiomThe category of congruence uniform lattices.
EXAMPLES:
sage: cat = FiniteLatticePosets().CongruenceUniform(); cat Category of finite congruence uniform lattice posets sage: cat.super_categories() [Category of finite lattice posets, Category of congruence uniform lattice posets]
>>> from sage.all import * >>> cat = FiniteLatticePosets().CongruenceUniform(); cat Category of finite congruence uniform lattice posets >>> cat.super_categories() [Category of finite lattice posets, Category of congruence uniform lattice posets]
- extra_super_categories()[source]¶
Return a list of the super categories of
self.This encode implications between properties.
EXAMPLES:
sage: FiniteLatticePosets().CongruenceUniform().super_categories() [Category of finite lattice posets, Category of congruence uniform lattice posets]
>>> from sage.all import * >>> FiniteLatticePosets().CongruenceUniform().super_categories() [Category of finite lattice posets, Category of congruence uniform lattice posets]
- class Distributive(base_category)[source]¶
Bases:
CategoryWithAxiomThe category of distributive lattices.
EXAMPLES:
sage: cat = FiniteLatticePosets().Distributive(); cat Category of finite distributive lattice posets sage: cat.super_categories() [Category of finite lattice posets, Category of distributive lattice posets]
>>> from sage.all import * >>> cat = FiniteLatticePosets().Distributive(); cat Category of finite distributive lattice posets >>> cat.super_categories() [Category of finite lattice posets, Category of distributive lattice posets]
- extra_super_categories()[source]¶
Return a list of the super categories of
self.This encode implications between properties.
EXAMPLES:
sage: FiniteLatticePosets().Distributive().super_categories() [Category of finite lattice posets, Category of distributive lattice posets]
>>> from sage.all import * >>> FiniteLatticePosets().Distributive().super_categories() [Category of finite lattice posets, Category of distributive lattice posets]
- class Extremal(base_category)[source]¶
Bases:
CategoryWithAxiomThe category of extremal uniform lattices.
EXAMPLES:
sage: cat = FiniteLatticePosets().Extremal(); cat Category of finite extremal lattice posets sage: cat.super_categories() [Category of finite lattice posets, Category of extremal lattice posets]
>>> from sage.all import * >>> cat = FiniteLatticePosets().Extremal(); cat Category of finite extremal lattice posets >>> cat.super_categories() [Category of finite lattice posets, Category of extremal lattice posets]
- Finite[source]¶
alias of
FiniteLatticePosets
- class ParentMethods[source]¶
Bases:
object- join(x, y)[source]¶
Return the join of \(x\) and \(y\) in this lattice.
INPUT:
x,y– elements ofself
EXAMPLES:
sage: D = LatticePoset((divisors(60), attrcall("divides"))) # needs sage.graphs sage.modules sage: D.join( D(6), D(10) ) # needs sage.graphs sage.modules 30
>>> from sage.all import * >>> D = LatticePoset((divisors(Integer(60)), attrcall("divides"))) # needs sage.graphs sage.modules >>> D.join( D(Integer(6)), D(Integer(10)) ) # needs sage.graphs sage.modules 30
- meet(x, y)[source]¶
Return the meet of \(x\) and \(y\) in this lattice.
INPUT:
x,y– elements ofself
EXAMPLES:
sage: D = LatticePoset((divisors(30), attrcall("divides"))) # needs sage.graphs sage.modules sage: D.meet( D(6), D(15) ) # needs sage.graphs sage.modules 3
>>> from sage.all import * >>> D = LatticePoset((divisors(Integer(30)), attrcall("divides"))) # needs sage.graphs sage.modules >>> D.meet( D(Integer(6)), D(Integer(15)) ) # needs sage.graphs sage.modules 3
- class Semidistributive(base_category)[source]¶
Bases:
CategoryWithAxiomThe category of semidistributive lattices.
EXAMPLES:
sage: cat = FiniteLatticePosets().Semidistributive(); cat Category of finite semidistributive lattice posets sage: cat.super_categories() [Category of finite lattice posets, Category of semidistributive lattice posets]
>>> from sage.all import * >>> cat = FiniteLatticePosets().Semidistributive(); cat Category of finite semidistributive lattice posets >>> cat.super_categories() [Category of finite lattice posets, Category of semidistributive lattice posets]
- class Stone(base_category)[source]¶
Bases:
CategoryWithAxiomThe category of Stone lattices.
EXAMPLES:
sage: cat = FiniteLatticePosets().Stone(); cat Category of finite stone lattice posets sage: cat.super_categories() [Category of finite lattice posets, Category of stone lattice posets]
>>> from sage.all import * >>> cat = FiniteLatticePosets().Stone(); cat Category of finite stone lattice posets >>> cat.super_categories() [Category of finite lattice posets, Category of stone lattice posets]
- extra_super_categories()[source]¶
Return a list of the super categories of
self.This encode implications between properties.
EXAMPLES:
sage: FiniteLatticePosets().Stone().super_categories() [Category of finite lattice posets, Category of stone lattice posets]
>>> from sage.all import * >>> FiniteLatticePosets().Stone().super_categories() [Category of finite lattice posets, Category of stone lattice posets]
- class SubcategoryMethods[source]¶
Bases:
object- CongruenceUniform()[source]¶
A finite lattice \((L, \vee, \wedge)\) is congruence uniform if it can be constructed by a sequence of interval doublings starting with the lattice with one element.
EXAMPLES:
sage: P = posets.TamariLattice(2) sage: P in FiniteLatticePosets().CongruenceUniform() True
>>> from sage.all import * >>> P = posets.TamariLattice(Integer(2)) >>> P in FiniteLatticePosets().CongruenceUniform() True
- Distributive()[source]¶
A lattice \((L, \vee, \wedge)\) is distributive if meet distributes over join: \(x \wedge (y \vee z) = (x \wedge y) \vee (x \wedge z)\) for every \(x,y,z \in L\).
From duality in lattices, it follows that then also join distributes over meet.
See Wikipedia article Distributive lattice.
EXAMPLES:
sage: P = posets.ChainPoset(2).order_ideals_lattice() sage: P in FiniteLatticePosets().Distributive() True
>>> from sage.all import * >>> P = posets.ChainPoset(Integer(2)).order_ideals_lattice() >>> P in FiniteLatticePosets().Distributive() True
- Extremal()[source]¶
A finite lattice \((L, \vee, \wedge)\) is extremal if if it has a chain of length \(n\) (containing \(n+1\) elements) and exactly \(n\) join-irreducibles and \(n\) meet-irreducibles.
This notion was defined by George Markowsky.
EXAMPLES:
sage: P = posets.TamariLattice(2) sage: P in FiniteLatticePosets().Extremal() True
>>> from sage.all import * >>> P = posets.TamariLattice(Integer(2)) >>> P in FiniteLatticePosets().Extremal() True
- Semidistributive()[source]¶
A finite lattice \((L, \vee, \wedge)\) is semidistributive if it is both join-semidistributive and meet-semidistributive.
A finite lattice is join-semidistributive if for all elements \(e, x, y\) in the lattice we have
\[e \vee x = e \vee y \implies e \vee x = e \vee (x \wedge y)\]Meet-semidistributivity is the dual property.
EXAMPLES:
sage: P = posets.TamariLattice(2) sage: P in FiniteLatticePosets().Semidistributive() True
>>> from sage.all import * >>> P = posets.TamariLattice(Integer(2)) >>> P in FiniteLatticePosets().Semidistributive() True
- Stone()[source]¶
A Stone lattice \((L, \vee, \wedge)\) is a pseudo-complemented distributive lattice such that \(a^* \vee a^{**} = 1\).
See Wikipedia article Stone algebra.
EXAMPLES:
sage: P = posets.DivisorLattice(24) sage: P in FiniteLatticePosets().Stone() True
>>> from sage.all import * >>> P = posets.DivisorLattice(Integer(24)) >>> P in FiniteLatticePosets().Stone() True
- Trim()[source]¶
A finite lattice \((L, \vee, \wedge)\) is trim if it is extremal and left modular.
This notion is defined in [Thom2006].
EXAMPLES:
sage: P = posets.TamariLattice(2) sage: P in FiniteLatticePosets().Trim() True
>>> from sage.all import * >>> P = posets.TamariLattice(Integer(2)) >>> P in FiniteLatticePosets().Trim() True
- class Trim(base_category)[source]¶
Bases:
CategoryWithAxiomThe category of trim uniform lattices.
EXAMPLES:
sage: cat = FiniteLatticePosets().Trim(); cat Category of finite trim lattice posets sage: cat.super_categories() [Category of finite lattice posets, Category of trim lattice posets]
>>> from sage.all import * >>> cat = FiniteLatticePosets().Trim(); cat Category of finite trim lattice posets >>> cat.super_categories() [Category of finite lattice posets, Category of trim lattice posets]
- extra_super_categories()[source]¶
Return a list of the super categories of
self.This encode implications between properties.
EXAMPLES:
sage: FiniteLatticePosets().Trim().super_categories() [Category of finite lattice posets, Category of trim lattice posets]
>>> from sage.all import * >>> FiniteLatticePosets().Trim().super_categories() [Category of finite lattice posets, Category of trim lattice posets]
- super_categories()[source]¶
Return a list of the (immediate) super categories of
self, as perCategory.super_categories().EXAMPLES:
sage: LatticePosets().super_categories() [Category of posets]
>>> from sage.all import * >>> LatticePosets().super_categories() [Category of posets]