The meaning/universal relations

In the standard rules, we have:

'The verb to relate (he relates, they relate, he related, it is related, he is relating) implies the universal relation.'

'The verb to mean implies the meanining relates somethg relation.'

All good.

However, I cannot seem to actually use these relations:

The verb to blorp implies the universal relation.
The verb to flarp implies the meaning relation.

???? blorp(s) ????.
???? flarp(s) ????.

for instance:

'Problem. In the sentence 'Mr Darcy universals a spoon' (line 10), it looks as if you intend 'Mr Darcy universals a spoon' to be asserting something, but that asks whether something relates something, and in Inform 'to relate' means that a particular relation applies between two things. Here, though, we have a person rather than the name of a relation.'

Checking the debug log, it seems to evauate X blorps Y and X flarps Y as propositions relates(x, y) and means(x, y) respectively. However, I cannot get these to typecheck.

The error message is similar to that of the provision relation and that I have to use as a condition -if Mr Darcy provides the arble flarble bloop property... is fine, but equivalent forms don’t work for universal or meaning.
Can anyone compile something with these relations in?

1 Like

You’ve defined assertion verbs, but have you also defined the relation?

Friendship relates one person to another (called the friend).
The verb to befriend means the friendship relation.
Beth is a woman in Test Room. John is a man in Test Room.
Beth befriends John. 
If John is the friend of Beth[...]

So yes, I am using built-in relations. If I remove the lines actually doing anything with the verbs it compiles just fine.

Two of the built-in relations are “the universal relation” and “the meaning relation”. It just seems that “The verb x means…” and “X relates …” are both built-in syntactic constructs rather than being built up from the ground.

I believe “the universal relation” is a relation Inform 7 uses for the author to create relations. I’m not sure what happens if you use it directly.

Yes, that’s exactly my question :slight_smile:

So yes, I am using built-in relations. If I remove the lines actually doing anything with the verbs it compiles just fine.

Two of the built-in relations are “the universal relation” and “the meaning relation”. It just seems that “The verb x means…” and “X relates …” are both built-in syntactic constructs rather than being a verb phrase; i.e. this does not work:

Written in The Standard Rules is the line:
The verb to mean implies the meaning relation. --OK!
The verb to relate implies the universal relation. --OK!

In my story file:
The verb to blah means the meaning relation. --OK!
The verb to blup blahs the containment relation. --nope, can't do that
The verb to blup means the containment relation. --OK!

Friendship relates one person to one person. -- OK!
The verb to rel means the universal relation. --OK!
Nonfriendship rels one person to one person. --nope, can't do that

So how can I use the verb to blah? A similar thing is achieved by replacing “meaning relation” with “universal relation”. I can define them just fine, but I cannot seem to make anything use them.

I’m sorry if I’m totally misunderstanding. I think the problem is since the Standard rules already has a “meaning” relation with the verb “to mean,” you can’t subsequently then in your file say “[something else] means the meaning relation” - it feels like you’re trying to redefine the “meaning” relation out from under itself as you’re using it.

You’re also using the “universal relation” - I’m not an expert on the standard rules, but if Inform 7 is using the universal relation to construct author-defined relations, you can’t then redefine that relation while using it - if I understand correctly, you’re metaphorically sitting on a tree branch that you’re sawing off.

1 Like

So yes, the standard rules already defines a verb that means the meaning relation. (replace with the universal relation without loss of generality)

However, because I cannot define my own verb in the same way as the standard rules and use it in the same way, I can only get to the conclusion that the use of “relates…” and “means…” is not based on these verb forms, but is instead hard-baked into the language. Which is fine, again.

What I want is to know why it is; i.e. if the point of to mean/to relate is to define these hard-baked structures, why can’t I duplicate it? I can duplicate other things just fine - no problem with defining another 10 verbs all meaning containment.

If they serve a different purpose, how can I use them?

WI 27.14

Finally, anyone hacking with I7 for a while is likely to become curious about the Standard Rules file, and to look at the text on which the Inform world model is founded. The file is, of course, no secret, but it can be misleading. For one thing, it appears to have great freedom to set up the world model as it pleases, but in fact the I7 compiler may well crash unless certain things are done just so in the Standard Rules: they depend on each other.

Despite The verb to mean implies the meaning relation. in the SR, it looks like means has special significance handled by the compiler.

Are you really trying to accomplish some particular effect with this? If so, what? (But if you’re just bashing around in Inform to see what you can get away with, I totally respect that!)

1 Like



You mean like this?

Overlooking relates various rooms to various rooms.

The verb to overlook means the overlooking relation.

The Garden overlooks the Shrubbery. The Folly overlooks the Garden. The Shrubbery overlooks the Sundial Plot. The Old Ice House overlooks the Garden.

That creates a relation grouping rooms, and one could ostensibly use it to allow a person to see into one room from another that “overlooks” it, and “overlook” is an assertion that can be used by the author, but isn’t necessarily a command verb the player would type.

You could probably define a completely new assertion/verb/relation to duplicate containment, and people have done so - I’ve prototyped something along the lines of having “concepts” as physical objects that the player can access via the “knowing” relation.

Again, unless I’m misunderstanding, you just can’t use “the universal relation” and “to mean” in your defined assertions because those terms are already in use and hard-baked.

I think Inform would throw a similar error if you said “a container is a kind of thing” because there’s already a container construct. You can say “a basket is a kind of container” and it behaves as a container, or you can say “a blarg is a kind of thing” and create an “encompassing” relation to relate things to a blarg that implies things are inside it, but since that structure exists, it’s easier to use that than start from the ground up. There are reasons to do this - The Gostak is a game about alien terminology with unfamiliar verbs and object names and the point is to figure out what it all means.

Bashing around in Inform is solely it!

I did just discover (I think this is Zed :stuck_out_tongue: ) and I thought this could be a new idea, but alas it doesn’t make a difference.

The reason I especially wonder is that in Build 5Z71 they are completely built into ni; there is no universal relation or meaning relation.

In 6M95 there are both.
In 6M62 (the version on Zed Lopez’s excellent browser), there is the meaning relation but not the universal relation.

@zarf that makes sense and is what I expected, though I am now intrigued as to why they exist in the standard rules now. :thinking:

@HanonO so the problem is that the relations exist, and it is absolutely possible to make verbs that describe those relations - but it is not possible to use those verbs. The problem isn’t that I’m re-defining “to mean”, just that the verbs “to mean” and “to relate” (or anything an author writes to mean “meaning relation” or “universal relation”) apparently are not useable but still exist in the standard rules.

1 Like

Yes! Paradox occurs when you redefine terminology while utilizing that same terminology. It would cause a strange loop like “This sentence is false.”

Saying “The verb to mean means the [something] relation” would cause Inform to break in the middle of your assertion (since it no longer can process the “means” relation that it requires to understand what you’re saying,) and that would cause a syntactical black hole and the end of the universe. :laughing:

Nono, I think you have it backwards - I’m not redefining the verb to mean, I’m just defining a new verb that also means to mean (which I can do just fine), but I am unable to use it – and apparently, you cannot use to mean either (only the built in structure “The verb X means…”)

1 Like

Yes, it’s common for source texts to use nonsense verbs internally.

xmeaning relates various things to one thing. the verb to xmean means the xmeaning relationship.
the pet carrier xmeans animal affection.
[given that “animal affection” is a physical thing in the world - perhaps an off-stage concept-object or conversation topic that can be referred to]

(or perhaps synonymously but a little less awkward)

the verb to xmean implies the xmeaning relationship.