NAME

mse.cam - a CAMILA library for multisets


SYNOPSYS

 mseMax(m:A->NAT,n:A->NAT):A->NAT
 mseCup(m:A->NAT,n:A->NAT):A->NAT
 mseDiff(m:A->NAT,n:A->NAT):A->NAT
 mseExMul(n:NAT,m:A->NAT):A->NAT
 mseCUP(l:(A->NAT)-seq):A->NAT
 mseMul(m:A->NAT,n:A->NAT):A->Nat
 mseSumRan(f:A->NAT):NAT
 mseWam(ms:NAT->NAT,p:NAT):NAT
 msePerc(ms:A->NAT):A->NAT
 mseUnif(ff:A->A,ms:A->NAT):A->NAT
 mseCupSeq(l:(A->NAT)-seq,n:(A->NAT)-seq):(A->NAT)-seq
 mseCUPSEQ(l:((A->NAT)-seq)-seq):(A->NAT)-seq
 mse2TeXbarenv(ms:A->NAT):TeX


DESCRIPTION

This library provides an algebra of multisets, that is, of

the F(X)=X->NAT data type functor,

which can be regarded as an X-dimensional semi-vectorial space.

Multisets are very useful devices in formal specification

which stand half-way in between the X-set and X-seq abstractions.

Last Update: 1999.11.11

The informal semantics of the operators are as follows:

mseMax(m:A->NAT,n:A->NAT):A->NAT
mseMax(m,n) is the monoidal extension of NAT max to multisets.

mseCup(m:A->NAT,n:A->NAT):A->NAT
mseCup(m,n) is the multiset union of two multisets (cf. vector addition).

mseDiff(m:A->NAT,n:A->NAT):A->NAT
mseDiff(m,n) yields the multiset difference between two multisets.

mseExMul(n:NAT,m:A->NAT):A->NAT
mseExMul(n,m) is the multiset external multiplication operation (cf. vector spaces).

mseCUP(l:(A->NAT)-seq):A->NAT
mseCUP(l) extends mseCup to sequences of multisets.

mseMul(m:A->NAT,n:A->NAT):A->Nat
mseMul(m,n):A->Nat is the monoidal extension of NAT product to multisets.

mseSumRan(f:A->NAT):NAT
mseSumRan(f) computes de ``cardinal'' of a multiset f.

mseWam(ms:NAT->NAT,p:NAT):NAT
mseWam(ms,p) computes a NAT-multiset weighted average, where p may add precision to the computation (see int.cam about the limited scope of NAT or INT in CAMILA).

msePerc(ms:A->NAT):A->NAT
msePerc(ms:A->NAT):A->NAT

mseUnif(ff:A->A,ms:A->NAT):A->NAT
mseUnif(ff,ms) provides for multiset consolidation in which ms is the target multiset and ff acts as a classification device.

mseCupSeq(l:(A->NAT)-seq,n:(A->NAT)-seq):(A->NAT)-seq
mseCupSeq(l,n) computes ``seq-functorial'' mseCup on pairs of lists of msets.

mseCUPSEQ(l:((A->NAT)-seq)-seq):(A->NAT)-seq
mseCUPSEQ(l) extends mseCupSeq to sequences of multiset sequences.

mse2TeXbarenv(ms:A->NAT):TeX
mse2TeXbarenv(ms) builds a LaTeX barenv environment based picture of a multiset ms.


SEE ALSO

Manual(s) of mon.cam int.cam ff.cam tex.cam.


AUTHOR

J.N. Oliveira (jno@di.uminho.pt)