Semiring

public interface Semiring<R>

The Semiring class describes the behavior of algebraic semirings, as used by our framework.

A semiring is the 5-tuple (R, (+), (*), 0, 1) where:

  • R represents the definition set (type) of the semiring
  • (+) represents an associative, commutative, idempotent operator, to choose a value among many, also called choose/conjunction
  • (*) represents an associative, commutative operator to combine values. Also called combine/disjunction
  • 0 represents a constant identity element for (+)
  • 1 represents a constant identity element for (*)
  • (*) distributes over (+)
  • an operator defining a complete lattice exists
  • TODO: add properties that must hold for semirings

Author

loreti

Inheritors

Functions

Link copied to clipboard
public abstract R conjunction(R x, R y)
Associative, commutative, idempotent operator that chooses a value.
Link copied to clipboard
public abstract R disjunction(R x, R y)
Associative, commutative operator that combines values.
Link copied to clipboard
public abstract R max()
Link copied to clipboard
public abstract R min()