Module lattices::algebra

source ·
Expand description

Module for definiting algebraic structures and properties.

Functions§

  • Defines an abelian group structure. An abelian group is a group where the operation f is commutative.
  • Defines the absorbing_element property. An element z is absorbing if az = z and za = z for all a.
  • Defines the associativity property. a(bc) = (ab)c
  • Defines the bilinearity property q is bilinear with respect to + if q(a + b, c) = q(a,c) + q(b,c) and q(a,c + d) = q(a,c) + q(a,d) This is the same as q being distributive over the addition operation of the three groups S, T, and R in q:S x T –> R As defined in the paper “DBSP: Automatic Incremental View Maintenance for Rich Query Languages Input parameters f, h, g, and q represent (f) the base operation of the algebraic structure on the left input to the query q, (h) the base operation of the algebraic structure on the right input to the query q, (g) the base operation of the algebraic structure the query q outputs to, and (q) The query over (f,g) that we want to check for bilinearity (to incrementalize)
  • Defines a commutative monoid structure. A commutative monoid is a monoid where the operation f is commutative.
  • Defines a commutative ring structure. A commutative ring is a ring where the multiplication operation g is commutative.
  • Defines the commutativity property. xy = yx
  • Defines the distributive property a(b+c) = ab + ac and (b+c)a = ba + ca
  • Defines a field structure. A field is a commutative ring where every element has a multiplicative inverse.
  • Loop through each algebraic property in SINGLE_FUNCTION_PROPERTIES and test for them
  • Defines a group structure. A group is a set of items along with an associative binary operation f an identity element zero and every element has an inverse element with respect to f
  • Defines the idempotency property. xx = x
  • Defines the identity property. An element e is the identity of f if ae = a and ea = a for all a.
  • Defines an integral domain structure. An integral domain is a nonzero commutative ring with no nonzero zero divisors.
  • Defines the inverse property. An element b is the inverse of a if ab = e and ba = e for some identity element e.
  • Defines the left distributive property a(b+c) = ab + ac
  • Defines the linearity property q is linear with respect to some group operation + if q(a+b) = q(a) + q(b) This is the same as q being a group homomorphism As defined in the paper “DBSP: Automatic Incremental View Maintenance for Rich Query Languages” Input parameters f, g, and q represent (f) the base operation of the algebraic structure for state, (g) the base operation of the algebraic structure the query q outputs to and (q) the query over f that we want to check for linearity (to incrementalize) respectively
  • Defines a monoid structure. A monoid is a set of items along with an associative binary operation f and an identity element zero. The f operation combines two items and the zero element acts as the identity for f.
  • Defines a no-nonzero-zero-divisors property. x is a nonzero divisor if xy = 0 and y is also a nonzero element.
  • Defines the non_zero inverse property. Every element except zero must have an inverse.
  • Defines the right distributive property. (b+c)a = ba + ca
  • Defines a ring structure. A ring is a semiring with an inverse operation on f.
  • Defines a semigroup structure. A semigroup is a set of items along with an associative binary operation f.
  • Defines a semiring structure. A semiring is a set of items along with two associative binary operations f and g, and two identity elements zero and one. f must be commutative and g must distribute over f. the zero of f must also be absorbing with respect to g.