diff options
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/Makefile.am | 5 | ||||
-rw-r--r-- | src/algebra/Makefile.in | 5 | ||||
-rw-r--r-- | src/algebra/indexedp.spad.pamphlet | 30 |
3 files changed, 37 insertions, 3 deletions
diff --git a/src/algebra/Makefile.am b/src/algebra/Makefile.am index d1b5cbae..181dedba 100644 --- a/src/algebra/Makefile.am +++ b/src/algebra/Makefile.am @@ -729,6 +729,7 @@ strap-1/IDPAG.$(FASLEXT): strap-1/ABELGRP.$(FASLEXT) \ strap-1/IDPAM.$(FASLEXT): strap-1/ABELMON.$(FASLEXT) \ strap-1/IDPC.$(FASLEXT) strap-1/IDPO.$(FASLEXT) +strap-1/IDPT.$(FASLEXT): strap-1/PAIR.$(FASLEXT) strap-1/IDPO.$(FASLEXT): strap-1/PAIR.$(FASLEXT) strap-1/PAIR.$(FASLEXT): strap-1/KOERCE.$(FASLEXT) \ @@ -1559,8 +1560,10 @@ $(OUT)/STREAM.$(FASLEXT): $(OUT)/LZSTAGG.$(FASLEXT) $(OUT)/MONOP.$(FASLEXT): $(OUT)/MONOPC.$(FASLEXT) $(OUT)/PAIR.$(FASLEXT) \ $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/IDPT.$(FASLEXT): $(OUT)/PAIR.$(FASLEXT) + oa_algebra_layer_1 = \ - ABELGRP ABELGRP- ABELMON ABELMON- ITUPLE \ + ABELGRP ABELGRP- ABELMON ABELMON- ITUPLE IDPT \ CABMON MONOID MONOID- RING RING- COMRING \ DIFRING SRING ENTIRER INTDOM INTDOM- OINTDOM \ GCDDOM GCDDOM- UFD UFD- ES ES- \ diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index dd1ce5a6..c66d563b 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -759,7 +759,7 @@ oa_algebra_layer_0_objects = \ $(addsuffix .$(FASLEXT),$(oa_algebra_layer_0))) oa_algebra_layer_1 = \ - ABELGRP ABELGRP- ABELMON ABELMON- ITUPLE \ + ABELGRP ABELGRP- ABELMON ABELMON- ITUPLE IDPT \ CABMON MONOID MONOID- RING RING- COMRING \ DIFRING SRING ENTIRER INTDOM INTDOM- OINTDOM \ GCDDOM GCDDOM- UFD UFD- ES ES- \ @@ -2219,6 +2219,7 @@ strap-1/IDPAG.$(FASLEXT): strap-1/ABELGRP.$(FASLEXT) \ strap-1/IDPAM.$(FASLEXT): strap-1/ABELMON.$(FASLEXT) \ strap-1/IDPC.$(FASLEXT) strap-1/IDPO.$(FASLEXT) +strap-1/IDPT.$(FASLEXT): strap-1/PAIR.$(FASLEXT) strap-1/IDPO.$(FASLEXT): strap-1/PAIR.$(FASLEXT) strap-1/PAIR.$(FASLEXT): strap-1/KOERCE.$(FASLEXT) \ @@ -2858,6 +2859,8 @@ $(OUT)/STREAM.$(FASLEXT): $(OUT)/LZSTAGG.$(FASLEXT) $(OUT)/MONOP.$(FASLEXT): $(OUT)/MONOPC.$(FASLEXT) $(OUT)/PAIR.$(FASLEXT) \ $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/IDPT.$(FASLEXT): $(OUT)/PAIR.$(FASLEXT) + $(OUT)/FNCAT.$(FASLEXT): $(OUT)/HOMOTOP.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) $(OUT)/SYNTAX.$(FASLEXT): $(OUT)/IDENT.$(FASLEXT) $(OUT)/COMMONOP.$(FASLEXT): $(OUT)/BOP.$(FASLEXT) diff --git a/src/algebra/indexedp.spad.pamphlet b/src/algebra/indexedp.spad.pamphlet index d17d342c..dab47a6a 100644 --- a/src/algebra/indexedp.spad.pamphlet +++ b/src/algebra/indexedp.spad.pamphlet @@ -54,6 +54,33 @@ IndexedDirectProductCategory(A:BasicType,S:OrderedType): Category == @ +\section{domain IDPT IndexedProductTerm} + +<<domain IDPT IndexedProductTerm>>= +)abbrev domain IDPT IndexedProductTerm +++ Author: Gabriel Dos Reis +++ Date Last Updated: May 7, 2013 +++ Description: +++ An indexed product term is a utility domain used in the +++ representation of indexed direct product objects. +IndexedProductTerm(A,S): Public == Private where + A: BasicType + S: OrderedType + Public == Join(BasicType,CoercibleTo Pair(S,A)) with + term : (S, A) -> % + ++ \spad{term(s,a)} constructs a term with index \spad{s} + ++ and coefficient \spad{a}. + index : % -> S + ++ \spad{index t} returns the index of the term \spad{t}. + coefficient : % -> A + ++ \spad{coefficient t} returns the coefficient of the tern \spad{t}. + Private == Pair(S,A) add + term(s,a) == per [s,a] + index t == first rep t + coefficient t == second rep t + coerce(t: %): Pair(S,A) == rep t +@ + \section{domain IDPO IndexedDirectProductObject} <<domain IDPO IndexedDirectProductObject>>= )abbrev domain IDPO IndexedDirectProductObject @@ -334,7 +361,7 @@ IndexedDirectProductAbelianGroup(A:AbelianGroup,S:OrderedType): <<license>>= --Copyright (C) 1991-2002, The Numerical ALgorithms Group Ltd. --All rights reserved. ---Copyright (C) 2007-2010, Gabriel Dos Reis. +--Copyright (C) 2007-2013, Gabriel Dos Reis. --All rights reserved. -- --Redistribution and use in source and binary forms, with or without @@ -369,6 +396,7 @@ IndexedDirectProductAbelianGroup(A:AbelianGroup,S:OrderedType): <<license>> <<category IDPC IndexedDirectProductCategory>> +<<domain IDPT IndexedProductTerm>> <<domain IDPO IndexedDirectProductObject>> <<domain IDPAM IndexedDirectProductAbelianMonoid>> <<domain IDPOAM IndexedDirectProductOrderedAbelianMonoid>> |