mse.cam - a CAMILA library for multisets
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
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,n)
is the monoidal extension of NAT max to multisets.
mseCup(m,n)
is the multiset union of two multisets (cf. vector addition).
mseDiff(m,n)
yields the multiset difference between two multisets.
mseExMul(n,m)
is the multiset external multiplication operation
(cf. vector spaces).
mseCUP(l)
extends mseCup to sequences of multisets.
mseSumRan(f)
computes de ``cardinal'' of a multiset f.
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).
mseUnif(ff,ms)
provides for multiset consolidation in which
ms is the target multiset and ff acts as a classification device.
mseCupSeq(l,n)
computes ``seq-functorial'' mseCup on pairs of lists of
msets.
mseCUPSEQ(l)
extends mseCupSeq to sequences of multiset sequences.
mse2TeXbarenv(ms)
builds a LaTeX barenv environment based picture of a
multiset ms.
Manual(s)
of mon.cam int.cam ff.cam tex.cam.
J.N. Oliveira (jno@di.uminho.pt)