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

  • Context: Graduate 
  • Thread starter Thread starter honestrosewater
  • Start date Start date
  • Tags Tags
    Definition
Click For Summary

Discussion Overview

The discussion revolves around the definition and representation of bags, or multisets, within first-order logic (FOL). Participants explore the challenges of expressing the concept of multisets, particularly in relation to counting duplicates and the implications of using classical first-order language with equality. The conversation touches on theoretical aspects, logical formulations, and interpretations of set theory.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants propose that a bag or multiset can be defined as a set that allows for duplicates, but express difficulty in formulating this in classical FOL.
  • One participant suggests that the power set of a multiset could contain equal sets, which may help in defining sets in terms of multisets.
  • Another participant argues that first-order logic, even with equality, cannot adequately represent multisets due to the nature of bound variables being unique objects.
  • There is a discussion about the ability to express "how many" in FOL and whether quantifiers can refer to multiple copies of the same object.
  • A later reply questions the interpretation of variables in FOL and whether they can refer to more than one object, suggesting that quantifiers allow for broader references than just unique objects.
  • One participant expresses a desire to clarify specific terms used in a previous post, indicating a need for further explanation of the logical structure presented.
  • Another participant raises the idea of a "sub-multiset" relation for comparing multisets if every subset of a multiset is considered a set.

Areas of Agreement / Disagreement

Participants do not reach a consensus on whether first-order logic can adequately represent multisets. There are multiple competing views regarding the nature of variables in FOL and the implications for counting elements within multisets.

Contextual Notes

Limitations include the potential ambiguity in defining the relationship between multisets and sets, as well as the challenges in expressing certain logical constructs within the constraints of first-order logic.

honestrosewater
Gold Member
Messages
2,133
Reaction score
6
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

[tex]\forall x \exists z \forall y (y \in z \leftrightarrow y \subseteq x)[/tex],

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:
Physics news on Phys.org
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:
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.
 
gnome said:
I don't think first order logic, even with equality, can allow a multiset.
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.
Aren't the individual variables we use in FOL, when bound, bound to unique objects?
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:
Would you say that x in ∀x (x = x) refers to a single object?
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:
[tex]A_{M1}[/tex]

[tex]A_{f1}[/tex]

[tex]u^f[/tex]

and how do you define [itex]\in[/itex] in your interpretation?
 
[tex]\begin{array}{l}<br /> \exists \mathbb{N} \\<br /> \exists M \\<br /> \exists A_{M1} \exists A_{M2} \\<br /> \exists U \exists f \\<br /> \exists A_{f1} \exists A_{f2} \\<br /> \forall u \exists u^f \\<br /> \forall x \\<br /> <br /> ( \\ <br /> A_{M1} \in M \ \wedge \ A_{M2} \in M \\<br /> \wedge \ U \in A_{M1} \ \wedge \ U \in A_{M2} \ \wedge \ f \in A_{M2} \\<br /> \wedge \ u \in U \ \rightarrow \\<br /> ( \\<br /> u \in A_{f1} \ \wedge \ u \in A_{f2} \ \wedge \ u^f \in A_{f2} \\<br /> \wedge \\<br /> \end{array}[/tex]
[tex]\begin{array}{l}<br /> ( \\<br /> ( \\<br /> u \in A_{f1} \ \wedge \ u \in A_{f2} \ \wedge \ u^f \in A_{f2} \\<br /> ) \\<br /> \wedge \\ <br /> ( \\<br /> u \in A_{f1} \ \wedge \ u \in A_{f2} \ \wedge \ x \in A_{f2} \\<br /> ) \\<br /> \rightarrow \ x = u^f \\<br /> ) \\<br /> ) \\<br /> \wedge \ u^f \in \mathbb{N} \\ <br /> ) \\<br /> \end{array}[/tex]

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.
 
honestrosewater said:
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.
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?
 
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.
AKG said:
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.
Yeah, thanks. I figured that out earlier... after checking EVERY other possible thing that could be wrong. :frown: I'll find a better way to represent embedding too.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 28 ·
Replies
28
Views
6K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 17 ·
Replies
17
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 11 ·
Replies
11
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 26 ·
Replies
26
Views
2K