Which definitions of builder notation exist for multiset theory? Interesting cases would be 
$A=[1,1], B=[2]$
$[(a,b) \mid a \in A \wedge b \in B] = [(1,2),(1,2)]$ ?
or
$C=[1,2,3]$
$[x \mid c \in C \wedge x = c \mod 2] = [1,0,1]$ ?
The only kind of informal definition for multiset-builder notation I could find was a part in the preliminaries section of A Potpourri of Reason Maintenance Methods.
Are there other (more rigorous) studies on that topic?
 A: I'd like to describe a notation I used myself a bit. It's really straight-forward and is quite useful for certain cases. 
$A = \{1,2,3\}, B=[1,1,2]$
$[x_{[y]} \mid x \in A \wedge y=2x] = [1,1,2,2,2,2,3,3,3,3,3,3]$
$[x_{[2n]} \mid x \in^n B] = [1,1,1,1,2,2]$
So, in general, $[x_{[y]} \mid P(x,y)]$ is the multiset of all elements $x$ with multiplicity $y$ that satisfy the predicate $P(x,y)$.
A: Let's consider the flavor of multiset where each element appears finitely many times, but the multiset overall is not constrained to be finite. For multisets like this, it's easy to create a spurious multiset where an element occurs infinitely many times if we're not careful about how we define the builder notation.
Since sets are a special case of multisets, I'd suggest using ordinary set builder notation to produce a set as a degenerate multiset.
Then you can use dedicated maps or function symbols to collapse a set of pairs into a multiset in various ways. 
In (101), let $M$ be a multiset and let $\in$ be a 2-place predicate that means occurs at least once in. 
$$ M' =\left\{ x \mathop| x \in M \right\} \tag{101} $$
In (101), $M'$ is not equal to $M$ unless $M$ is a set. In particular, the following holds (102):
$$(\exists k \ge 1 \mathop. x \in^ k M) \iff x \in^1 M' \\ x \in M \iff x \in^1 M' \tag{102} $$
The just use set-builder notation strategy defuses (103). 
$$ \left\{ \varphi(x) \mathop| x \in \mathbb{N} \right\} \tag{103} \;\;\;\text{where $\varphi(w)$ = 1} $$
I think it's important to note here that we haven't lost any information.
Flattening a multiset into a set is straightforward. We can map the multiset to the graph of its characteristic function (104) and example (105) ... where $(a,b)$ is an ordered pair encoded in some way, e.g. $(a, b) \mapsto [a, b, b] $ or a Kuratowski pair.
$$ M' = \left\{ (x, k) \mathop| x \in^{\ge k} M  \right\} \tag{104} $$
$$ \left\{(\pi,1), (\pi,2), (\pi, 3), (e, 1)\right\} = \left\{ (x,k) \mathop| x \in^{\ge k} [\pi, \pi, \pi, e] \right\} \tag{105} $$
Our options for unflattening are a little more complex.
One option for unflattening is to map a set of pairs to a pair of a multiset and a set (106).
$$ \text{unflatten} \mathop : \mathscr{S} \to \mathscr{M} \times \mathscr{S} \\
  \text{unflatten} (x) = (\varepsilon, \varepsilon) \;\;\;\;\text{if $x$ is not a list of pairs} \\ 
  \text{unflatten} (x) = (M, S) \tag{106} $$
In (106), $M$ is a multiset consisting of the objects that appear finitely many times in the first position of an element of $x$ and $S$ is the set of all objects that appear infinitely many times in the first position of an element of $x$ .
$\text{unflatten}$ is total, it will handle any set thrown at it. However, it is not injective. It erases distinctions between all sets that are not sets of pairs, throws away all information about the objects in the second position of the pairs, and does not distinguish between different infinite cardinalities.
