Comments start with a `#` on the line.

Suppose players *1,..,n* and each of them can say "yes" or "no". Each such
player *i* is represented by a Boolean variable *x _{i}* which
can be

Now consider a set of *m* *≥*-constraints and non-negative integer
coefficients *w _{i,j}*
("weights"), where

...

w

One such constraint is called a Weighted Voting Game
(WVG) and a satisfying coalition is called a winning coalition (of players).
If a coalition is winning only if is satisfies all *m* constraints,
then it is called Multiple Weights Voting Game (MWVG).

To model a MWVG as input for the laboratory the constraints have to be
transposed as shown below.
The main advantage of this representation is that we can now add the names
of the players. You should keep in mind that the input is
**player-oriented**:

w

...

w

As an example, consider the following two constraints:

# Right hand sides: 2 3 # Weights and names. Here: A, B, C 1 3 A 1 2 B 1 1 C

- Blank lines (lines which contain only spaces and tabs) are ignored.
- A
**comment line**beginning with # is ignored. - A
**command line**begins with a %% and has the form`%<name> <value>`where`<name`is the command''s name and`<command>`is the optional value that is passed to the command. For a list of commands, see below. - The
**quota line**, which has to appear before any class line, contains the integer quotas for each constraint. The number of quotas determines the number of constraints. - A
**class line**adds a new class of players to the game and sets its weights for the constraints. This type of line is discussed in more detail below.

A class line has the form

(x<multiplier>) <weights> (<name>)where

The `<weights>` has to provide a non-negative integer weight for each constraint.

The `<name>` is an optional name for the player. There are no restrictions for its form. The name ends at the end of the line.

The `join` command provides a Boolean expression which describes
how to join the constraints. The variables are the *m* constraints
numbered from *1* to *m*. Boolean operations are
`AND` and `OR`. Negation is not allowed. The parser
respects precedence of conjunction over disjunction and recognizes
brackets.

Multiple occurrences of a variable are allowed. See also the example of the US Federal Legal System below.

# UN Security Council - First version 39 x5 7 Permanent Member x10 1 Non-permanent MemberIf we do care on the names of the permanent members we could model:

# UN Security Council - Second version 39 7 United States 7 Russia 7 China 7 France 7 United Kingdom x10 1 Non-permanent MemberEven though the weighted representation is well known for this game, the fact that we express two different rules (veto power and "9 out of 15") in a single constraint it not optimal. For example, consider the following model which uses two constraints:

# UN Security Council - Third version 5 9 x5 1 1 Permanent Member x10 0 1 Non-permanent MemberThis model is much more obvious in that the first constraint models veto power of the permanent members and the second models the "9 out of 15" rule.

We now consider a more complicated example, viz. the **US Federal Legal System**.
The players are the 100 **members of the senate**, the 435 **members of the house of representatives**,
the **president of the United States** and the **vice president of the United States** which is
the president of the senate.
A bill passes if at least one of the following conditions is satisfied:

- 51 senators and 218 representatives vote in favor and the president does not veto the bill.
- 50 senators, the vice president and 218 representatives vote in favor and the president does no veto it.
- 67 senators and 290 representatives approve the bill.

- The president approves.
- At least 51 senators approve.
- At least 218 representatives approve.
- The vice president approves.
- At least 50 senators approve.
- At least 67 senators approve.
- At least 290 representatives approve.

- the rules 1, 2 and 3 are fulfilled, or
- the rules 1, 4, 5 and 3 are fulfilled, or
- the rules 6, 7 are fulfilled.

%join (1 AND 2 AND 3) OR (1 AND 4 AND 5 AND 3) OR (6 AND 7) 1 51 218 1 50 67 290 x100 0 1 0 0 1 1 0 Member of the Senate x435 0 0 1 0 0 0 1 Member of the House of Rep. 1 0 0 0 0 0 0 President 0 0 0 1 0 0 0 Vice-President

*∅ ∉ W*,*N ∈ W*(not-empty) and*∀ S,T ∈ 2*(up-set)^{N}, S ⊆ T: S ∈ W ⇒ T ∈ W

*∀ S ∈ 2 ^{N}: ∑_{i ∈ S} w_{i} ≥ Q ⇔ S ∈ W*.

*i≽ _{I} j ⇔ ∀ S ⊆ N\ {i,j}: S ∪ {j} ∈ W ⇒ S ∪ {i} ∈ W*

- ... vetoer if
*∀ S ∈ W: i ∈ W*. - ... dummy if
*∀ S ∈ W*._{min}: i ∉ S - ... dictator if
*W*. Same as_{min}={i}*N \ {i}*are dummies and*i*is not.

- ... sum if
*∃ S ∈ W*._{min}, i ∈ S: ∃ T ⊆ N \ S: (∀ j ∈ T: i ≽_{I}j) ∧ (S \ {i}) ∪ T ∈ W*i*in which*i*can be replaced by some not more desirable players such that the resulting coalition is winning again. - ... step if it is not a sum.

*∃ S ∈A : ∀ k=1,...,t : m _{k} = |S ∩ N_{k}|*.

- ... complete if
*≽*is total. Synonyms are total and swap-robust._{I} - ... directed if
*1≽*._{I}2 ≽_{I}··· ≽_{I}n - ... consecutive if for each type
k=1,...,t it holds*N*. Directed games are always consecutive. Complete games are not._{k}={min N_{k},...,max N_{k}} - ... weighted if it has a weighted representation.
- ... homogeneous if it has a homogeneous weighted representation.
- ... proper if
*∀ S ∈ W: N \ S ∉ W*. - ... strong if
*∀ S ∉ W: N \ S ∉ W*. - ... decisive if it is proper and strong.