# First-order, non-modal definition of 'bag/multiset'

1. May 3, 2006

### honestrosewater

A bag, or multiset, is a set whose members are not necessarily distinct, i.e., it can contain duplicates. I can't think of a way to say this in a classical first-order language with equality, i.e., using only variables, function symbols, predicate symbols, implication (or conjunction or disjunction), negation, and universal (or existential) quantifier. Do I need to add modal operators? How do I say 'x shows up y many times in z'? What if I take bags as undefined and define sets in terms of bags? This shouldn't be stumping me, so I only want a hint please.

Oh, I suppose the 'power set' of a multiset could have some equal sets. So I can maybe define a set as a multiset whose power set contains no equal sets?

Multisets are also just unordered n-tuples.

If I keep the normal set definitions, noting that the members of my domain are sets and

$$\forall x \exists z \forall y (y \in z \leftrightarrow y \subseteq x)$$,

where z is called the power set of x, denoted P(x), then a multiset w is a set such that the cardinality of P(w) can be less than the cardinality of w.

__
Okay, nevermind. I looked it up.

Last edited: May 3, 2006
2. May 3, 2006

### honestrosewater

Okay, the following should say 'there exists a multiset'. You'll have to grant me N. Is this correct?

(Something is apparently wrong LaTeX. It didn't like my array, so here's my best fix. To make it a little easier to read: Multiset, Argument, Underlying set, function.)

N
∃M
∃AM1 ∃AM2
∃U ∃f
∃Af1 ∃Af2
∀u ∃uf
∀x

(
AM1 ∈ M ∧ AM2 ∈ M
∧ U ∈ AM1 ∧ U ∈ AM2 ∧ f ∈ AM2
∧ u ∈ U →
(
u ∈ Af1 ∧ u ∈ Af2 ∧ uf ∈ Af2

(
(
u ∈ Af1 ∧ u ∈ Af2 ∧ uf ∈ Af2
)

(
u ∈ Af1 ∧ u ∈ Af2 ∧ x ∈ Af2
)
→ x = uf
)
)
∧ ufN
)

[ tex]\begin{array}{l}
\exists \mathbb{N} \\
\exists M \\
\exists A_{M1} \exists A_{M2} \\
\exists U \exists f \\
\exists A_{f1} \exists A_{f2} \\
\forall u \exists u^f \\
\forall x \\

( \\
A_{M1} \in M \ \wedge \ A_{M2} \in M \\
\wedge \ U \in A_{M1} \ \wedge \ U \in A_{M2} \ \wedge \ f \in A_{M2} \\
\wedge \ u \in U \ \rightarrow \\
( \\
u \in A_{f1} \ \wedge \ u \in A_{f2} \ \wedge \ u^f \in A_{f2} \\
\wedge \\
( \\
( \\
u \in A_{f1} \ \wedge \ u \in A_{f2} \ \wedge \ u^f \in A_{f2} \\
) \\
\wedge \\
( \\
u \in A_{f1} \ \wedge \ u \in A_{f2} \ \wedge \ x \in A_{f2} \\
) \\
\rightarrow \ x = u^f \\
) \\
) \\
\wedge \ u^f \in \mathbb{N} \\
) \\
\end{array}[/tex]

Last edited: May 3, 2006
3. May 3, 2006

### gnome

I don't think first order logic, even with equality, can allow a multiset. Aren't the individual variables we use in FOL, when bound, bound to unique objects? Quantification in FOL only gives us "for all ..." or "not for all ...", not "how many". When equality is included in the logic, we use it to indicate that two variables are bound to the same object. There is no concept of multiple copies of the same object, and no way to count them.

4. May 3, 2006

### honestrosewater

When I said that the members of my domain are sets, I meant the domain of my interpretation. I'm using a FOL to talk about set theory. The interpretation I = (U, ∅, {∈, =}), i.e., a set of sets, no operations, and the relations of membership and equality. You can say 'how many' in set theory using bijections. I didn't feel like spelling it all out, which is why I asked for N.
Depends on what you mean by 'object'. Would you say that x in ∀x (x = x) refers to a single object?

In my experience, variables aren't usually said to be 'bound to' objects; rather, they are 'bound by' quantifiers. Quantifiers can let a variable refer to any subset of your domain. So if you mean 'objects' to be the members of your domain, then no, a bound variable can refer to more than one object. It's a valuation, not a quantifer, that assigns variables to members of your domain.

As for the uniqueness bit, yes, valuations are usually defined to be functions, but they don't have to be. They also don't have to be injections or surjections. A valuation not being injective means roughly that you can have more than one name for something.

Last edited: May 3, 2006
5. May 3, 2006

### gnome

Yes, in the sense that while it refers to all x collectively, it tells something about each x individually, i.e. each x is identical to itself.

I'd like to try to understand what you wrote in post #2. Please explain what you mean by these terms:
$$A_{M1}$$

$$A_{f1}$$

$$u^f$$

and how do you define $\in$ in your interpretation?

6. May 3, 2006

### AKG

$$\begin{array}{l} \exists \mathbb{N} \\ \exists M \\ \exists A_{M1} \exists A_{M2} \\ \exists U \exists f \\ \exists A_{f1} \exists A_{f2} \\ \forall u \exists u^f \\ \forall x \\ ( \\ A_{M1} \in M \ \wedge \ A_{M2} \in M \\ \wedge \ U \in A_{M1} \ \wedge \ U \in A_{M2} \ \wedge \ f \in A_{M2} \\ \wedge \ u \in U \ \rightarrow \\ ( \\ u \in A_{f1} \ \wedge \ u \in A_{f2} \ \wedge \ u^f \in A_{f2} \\ \wedge \\ \end{array}$$
$$\begin{array}{l} ( \\ ( \\ u \in A_{f1} \ \wedge \ u \in A_{f2} \ \wedge \ u^f \in A_{f2} \\ ) \\ \wedge \\ ( \\ u \in A_{f1} \ \wedge \ u \in A_{f2} \ \wedge \ x \in A_{f2} \\ ) \\ \rightarrow \ x = u^f \\ ) \\ ) \\ \wedge \ u^f \in \mathbb{N} \\ ) \\ \end{array}$$

I don't know about you, but this is pretty nasty to read. Maybe if things were indented like a program code it would be easier to look at. By the way, honestrosewater, the only problem with your LaTeX was that it was too long. I just split it up into two parts, and everything was okay.

7. May 3, 2006

### gnome

If every subset of a multiset is a set, not a multiset, do you then have a separate "sub-multiset" relation for comparison of two multisets?

8. May 3, 2006

### honestrosewater

I think I can give a nice, thorough explanation of everything (which I'd like to do in order to get it all straight in my head anyway), but it might be a day or two before I get around to it.
Yeah, thanks. I figured that out earlier... after checking EVERY other possible thing that could be wrong. I'll find a better way to represent embedding too.