N+7¶
n_plus_7 · word · validated
Replace every noun with the seventh noun following it in a chosen dictionary.
Provenance¶
- Source: Jean Lescure, in Oulipo, La Littérature potentielle (1973)
- Attribution:
primary— a named author, work and year this catalogue stands behind - Checkability:
source— decidable against the source text it was made from - Attested:
author-stated— the originator set this rule down
Details¶
- Kind: both
- Languages: en, de, fr
- Requires:
tokens,lexicon.nouns - Deterministic: yes
- Also known as: N+7
- In other languages: N+7 (de), S+7 (fr)
Notes¶
s_plus_7 is the same displacement under a second name, and runs this row's implementation rather than one of its own. See that row's note for what the two share and why both are catalogued.
Prompt hint¶
Replace each noun with the seventh noun after it in the dictionary, keeping everything else.
Parameters¶
| Name | Type | Default | Description |
|---|---|---|---|
ambiguous_nouns |
string | free |
What an unchanged word that the dictionary lists means: leave the position unscored (undecidable), accept it (free), or fail it (strict). |
dictionary |
— | None |
The ordered word list to displace within. Defaults to the pack's nouns. Order is the contract: N+7 walks the seventh entry after a word, so a supplied list's order is the caller's editorial choice. |
offset |
integer | 7 |
How many nouns to count forward. |
source |
string | — |
The text this one was made from. |
Examples¶
displaced-by-seven¶
en — this text satisfies the procedure.
the catacomb satchmo on the tablespoonful
Parameters: source='the cat sat on the table'
Source: constructed example; the procedure is Jean Lescure's (1961). Computed by calling n_plus_7's displace against the Open English WordNet 2024 noun list (task 3's migration off Princeton WordNet 3.1 shifted this displacement: "cat" -> "catacomb", not "catafalque").
a-non-noun-changed¶
en — this text does not satisfy the procedure.
a cat sat on the table
Parameters: source='the cat sat on the table'
Source: constructed counterexample
german-displaced-by-seven¶
de — this text satisfies the procedure.
Die Katzenbesitzerin schläft auf dem Tischbürste.
Parameters: source='Die Katze schläft auf dem Tisch.'
Source: constructed example; computed by calling n_plus_7.check directly. Katze (noun_index 79197) and Tisch (noun_index 157569) are each displaced 7 entries forward in nouns() to Katzenbesitzerin and Tischbürste — verified against the lexicon and the procedure, not hand-written.
german-non-noun-changed¶
de — this text does not satisfy the procedure.
Eine Katze schläft auf dem Tisch.
Parameters: source='Die Katze schläft auf dem Tisch.'
Source: constructed counterexample; computed by calling n_plus_7.check directly. "Die" is changed to "Eine", a non-noun substitution the checker flags.
francais-deplace-de-sept¶
fr — this text satisfies the procedure.
le chatons dort
Parameters: source='le chat dort'
Source: constructed example; produced by apply("n_plus_7", "le chat dort", lang="fr") rather than hand-written. chat (noun_index 7980) is displaced seven entries forward in nouns() to chatons; le and dort are not in the noun list and stay as they are.
francais-non-substantif-change¶
fr — this text does not satisfy the procedure.
un chatons dort
Parameters: source='le chat dort'
Source: constructed counterexample; the displacement above with le changed to un, a non-noun substitution the checker flags.
elided-proclitic-displaced-by-the-default-offset¶
fr — this text satisfies the procedure.
l'amidon
Parameters: source="l'ami"
Source: constructed example; produced by apply("n_plus_7", "l'ami", lang="fr"). ami (noun_index 1291) is displaced seven entries forward in nouns() to amidon; the l' proclitic is not a noun and stays as it is.