Multiple constraint¶
multiple_constraint · word · validated
A text satisfying two or more named constraints at once, the difficulty rising far faster than the count of rules.
Provenance¶
- Source: Oulipo, Atlas de littérature potentielle (1981)
- Attribution:
reference— attested in a standard reference rather than traced to an origin - Checkability:
self— decidable from the text and its parameters alone - Attested:
codified— formulated as a rule by a tradition rather than declared by an author
Details¶
- Kind: restrictive
- Languages: en, de, fr
- Requires:
tokens - Deterministic: yes
- Also known as: univocalic_lipogram_pair, univocalic lipogram pair, Compound constraint
- In other languages: Mehrfachbeschränkung (de), Contrainte multiple (fr)
Notes¶
German declared: this row's own logic needs only tokens, which is what languages records. It says nothing about whether a particular composition works in German — that depends on whichever constraints are named in constraints, exactly as it already does in English; a caller naming a German-incompatible constraint gets that constraint's own MissingCapability, not a false pass from this row.
Prompt hint¶
Satisfy both named constraints in the same passage, without relaxing either.
Parameters¶
| Name | Type | Default | Description |
|---|---|---|---|
constraint_params |
object | — |
Per-constraint parameters, keyed by the constraint's id in constraints. |
constraints |
array | — |
Ids of already-registered procedures this text must jointly satisfy. |
Examples¶
univocalic-and-lipogram-both-hold¶
en — this text satisfies the procedure.
the letters were her tender ferments
Parameters: constraints=['univocalic', 'lipogram'], constraint_params={'univocalic': {'vowel': 'e'}, 'lipogram': {'forbidden': 'a'}}
Source: constructed example; satisfies a vowel-e univocalic and an a-lipogram together
one-of-two-constraints-fails¶
en — this text does not satisfy the procedure.
the cat sat
Parameters: constraints=['univocalic', 'lipogram'], constraint_params={'univocalic': {'vowel': 'e'}, 'lipogram': {'forbidden': 'z'}}
Source: constructed counterexample; the vowel constraint is broken, the letter one is not
univocalic-und-lipogram-beide-erfuellt¶
de — this text satisfies the procedure.
wer entdeckt echtes leben
Parameters: constraints=['univocalic', 'lipogram'], constraint_params={'univocalic': {'vowel': 'e'}, 'lipogram': {'forbidden': 'a'}}
Source: constructed example; satisfies a vowel-e univocalic and an a-lipogram together
eine-von-zwei-bedingungen-scheitert¶
de — this text does not satisfy the procedure.
der Wind trug die Blumen fort
Parameters: constraints=['univocalic', 'lipogram'], constraint_params={'univocalic': {'vowel': 'e'}, 'lipogram': {'forbidden': 'z'}}
Source: constructed counterexample; the vowel constraint is broken, the letter one is not — reuses lipogram's own de fixture
univocalisme-et-lipogramme-tiennent-ensemble¶
fr — this text satisfies the procedure.
les lettres tendres se perdent
Parameters: constraints=['univocalic', 'lipogram'], constraint_params={'univocalic': {'vowel': 'e'}, 'lipogram': {'forbidden': 'a'}}
Source: constructed example; satisfies a vowel-e univocalic and an a-lipogram together
une-des-deux-contraintes-echoue¶
fr — this text does not satisfy the procedure.
le chat dort
Parameters: constraints=['univocalic', 'lipogram'], constraint_params={'univocalic': {'vowel': 'e'}, 'lipogram': {'forbidden': 'z'}}
Source: constructed counterexample; the vowel constraint is broken, the letter one is not