org.uacalc.alg
Interface SmallAlgebra

All Superinterfaces:
Algebra
All Known Implementing Classes:
BasicAlgebra, BasicLattice, FreeAlgebra, PolinLikeAlgebra, PowerAlgebra, ProductAlgebra, QuotientAlgebra, ReductAlgebra, Subalgebra, SubProductAlgebra, UnaryTermsMonoid

public interface SmallAlgebra
extends Algebra

A small algebra is one whose universe can be effectively indexed by {0,..., n-1} for some positive int n. cardinality() should return n.

Version:
$Id: SmallAlgebra.java,v 1.6 2008/07/22 04:28:20 ralphfreese Exp $
Author:
Ralph Freese

Nested Class Summary
static class SmallAlgebra.AlgebraType
           
 
Field Summary
 
Fields inherited from interface org.uacalc.alg.Algebra
CARDINALITY_COUNTABLE, CARDINALITY_COUNTABLY_INFINITE, CARDINALITY_FINITE, CARDINALITY_INFINITE, CARDINALITY_UNKNOWN
 
Method Summary
 SmallAlgebra.AlgebraType algebraType()
          The type of algebra this is, like a quotient algebra.
 CongruenceLattice con()
          The congurence lattice.
 void convertToDefaultValueOps()
          This is used in the UI.
 int elementIndex(java.lang.Object elem)
          This method will return k if elem is the kth element; otherwise -1.
 java.lang.Object getElement(int k)
          returns the kth element.
 java.util.List getUniverseList()
          The universe as a List such getElement(k) will equal the kth element of the List.
 java.util.Map getUniverseOrder()
          A map that can be used for elementIndex(a).
 SmallAlgebra parent()
          For a BasicAlgebra this is null; for a QuotientAlgebra this is the preimage; for a Subalgebra it is the super algebra.
 java.util.List<SmallAlgebra> parents()
          For a ProductAlgebra this will be the factors.
 void resetConAndSub()
           
 SubalgebraLattice sub()
          The subalgebra lattice.
 
Methods inherited from interface org.uacalc.alg.Algebra
cardinality, constantOperations, getDescription, getMonitor, getName, getOperation, getOperationsMap, inputSize, isIdempotent, isSimilarTo, isTotal, isUnary, iterator, makeOperationTables, monitoring, operations, setDescription, setMonitor, setName, similarityType, universe
 

Method Detail

algebraType

SmallAlgebra.AlgebraType algebraType()
The type of algebra this is, like a quotient algebra.

Returns:

getElement

java.lang.Object getElement(int k)
returns the kth element.


elementIndex

int elementIndex(java.lang.Object elem)
This method will return k if elem is the kth element; otherwise -1. (Should we have it throw an error instead?)


getUniverseList

java.util.List getUniverseList()
The universe as a List such getElement(k) will equal the kth element of the List. It is allowed to be null.


getUniverseOrder

java.util.Map getUniverseOrder()
A map that can be used for elementIndex(a). It is allowed to be null.


con

CongruenceLattice con()
The congurence lattice.


sub

SubalgebraLattice sub()
The subalgebra lattice.


resetConAndSub

void resetConAndSub()

parent

SmallAlgebra parent()
For a BasicAlgebra this is null; for a QuotientAlgebra this is the preimage; for a Subalgebra it is the super algebra.


parents

java.util.List<SmallAlgebra> parents()
For a ProductAlgebra this will be the factors. For a BasicAlgebra it will be null. Otherwise it is a list of the parent algebra.

See Also:
parent

convertToDefaultValueOps

void convertToDefaultValueOps()
This is used in the UI. Only valid for BASIC algebras.



Copyright 2003 Ralph Freese. All Rights Reserved.