These are the rules of the Holding Game.
Rebecca may make changes to these rules, but only to correct flaws.
An Object has
a Name, which is a sequence of words, unique among all objects,
a set of Holders, which are other objects, and
a list of Regulations.
A Regulation on some Object is a statement of the form "when <event>, then: <actions>", where
<event> is a description of something that can happen in the Game, and
<actions> is a description of a way to decide on a sequence of Actions.
An Object shall take all Actions described by its Regulations, whenever a matching event occurs.
Additionally, an Object shall always take any such actions that are agreed upon by all of its Holders.
The possible Actions an Object may take are:
Die, removing the Object from the Holding Game;
Create a new Object,
with a specified Name, which must contain as a prefix the Name of the creating Object,
with a set of Holders initially containing only the creating Object, and
an initially empty list of Regulations;
Add or Remove any other Objects from its set of Holders;
Alter its own list of Regulations;
Agree upon Actions to be taken by Objects that it Holds
For every apioforum user named u there is an Object with the Name "Player u".
The user u may cause the object "Player u" to take any possible Actions,
as if they were its sole Holder, by announcing these Actions in a post in this thread.
The State is an Object whose name is the empty string.
The State is initially Held by Player ubq323.
If any Object, other than the State, is not Held by any other Objects, then it becomes Held by the State.
If the State Dies, the Holding Game ends.
If an Object with the Name "Legislature" exists, it may make arbitrary changes to the text of these rules, as an Action. If an Object with the Name "Judiciary" exists, it may make binding judgements on disputes between players, as an Action.
i Create an object named Player ubq323 MoneyRequest and have it be held solely by Bank. the Bank applies its regulation; Player ubq323 MoneyRequest dies, and i am now the sole holder of an object named Bank Note 1.
I create “Player olive MoneyRequest” and give sole holding to the Bank. (It does it's thing and I have “Bank Note 2”)
I create “Player olive ◯”, and add regulations:
when I end up with no holders, I add whatever was my final holder as holder.
when I go from zero to one holders, I create the object with my name and a “◯” on the end, give it a copy of my regulations, add it to my holders, and remove myself as holder from it.
I remove myself as holder from it.
I ponder whether it is possible to make any of the ◯s do anything now, as for all n>0: n◯ holds (n+1)◯, (n+1)◯ holds (n)◯. I only hold 1◯.
I create the Object "Player ubq323 MoneyRequest", I give sole holdership to the bank.
I try to create the Object "Player ubq323".
I try to add "Player u" to the list of holders of "Player ubq323".
I add "Player olive" to the list of holders of myself (they are now my sole holder, but this does not change my ability as user u to also act as though I was sole holder).
I also ask whether I am the only user able to do things in this game.
olive: i think that works, thought you might argue "If any Object, other than the State, is not Held by any other Objects, then it becomes Held by the State." kicks in during the instant where one of the ◯s has no holders.
let me try something. i create "Player ubq323 Garfield" and add regulation:
whenever an object named "Player ubq323 Jon" exists, set it as my only Holder
i create "Player ubq323 Jon" and add regulation:
whenever an object named "Player ubq323 Garfield" exists, set it as my only Holder
u: even if you interpret "For every apioforum user named u there is an Object with the Name "Player u"." as only referring to the user named u (rather than as a metasyntactic variable), i don't see how it follows that you'd be able to create "Player ubq323 MoneyRequest" or "Player ubq323"? Any objects created by "Player u" must have a name prefixed with "Player u"
"Player ubq323 MoneyRequest" starts with "Player u".
Player u can create all objects "Player u"..("\u0000" through "\u10FFFF\u10FFFF\u10FFFF\u10FFFF\u10FFFF\u10FFFF\u10FFFF.....)
a name is a sequence of words, not just a string. for "Player u" to be a prefix of some word sequence s, the first word of s must equal "Player", and the second word of s must equal "u".
i cause Player heavoid to create Player heavoid 0 and give it the following regulation:
when 5 seconds have lapsed after this object is created, then: do the following list of actions in order. consider, for the following actions, n to be the last number in this object's name.
1: create a new object x, with a name which is this current object's name suffixed with an additional numerical term n+1.
2: agree upon the object x gaining all regulations which the creating object has.
3: add heavoid to the list of holders for the newly created object x.
4: remove all but heavoid from the list of holders for the newly created object x.
i cause Player heavoid to create an object Player heavoid ordinal, and give it the following regulations:
when heavoid claims to activate this object, then: create an object Player heavoid ordinal 0.
when this object comes to hold an object Player heavoid ordinal n for an ordinal n, then: create an object Player heavoid ordinal m where m is the successor to n, if not already extant.
when this object comes to hold all Player heavoid ordinal b for b < a, where a is a limit ordinal, and Player heavoid ordinal a does not exist, then: create an object Player heavoid ordinal a.
after all other relevant actions have resolved, i cause Player heavoid to cause Player heavoid ordinal to cede Player heavoid ordinal w+6 to Player ubq323, removing itself as a holder of Player heavoid ordinal w+6.
perhaps we could use some standard terminology for "sole holder". maybe "owner"?
then for "s removes itself as as sole holder of some object o, setting another object a to be its sole holder", we could say "stransferso to a" or "scedeso to a" or something
i cause (via however many levels of indirection) every object of the form Player heavoid ordinal a for an ordinal a to create an object Player heavoid ordinal a MoneyRequest and cede sole holdership of this object to Bank.
before doing this, i also give them all the regulation:
when this object comes to hold any object prefixed with Bank note, then: agree to have said object have its sole holdership transferred to Player heavoid.
at some point, the Bank's regulation will fail to pick "the lowest natural number that makes this name unique". i genuinely don't know what happens after that
i think that for every natural number above 2, you own a bank note with that number; the bank is also now unable to create any more bank notes. you could have done all that without limit ordinals though
it is indeed true that i could have done that without limit ordinals but breaking the Bank was more of an afterthought. i just thought having a proper class of held objects would be funny.
wait a minute. the bank only honours MoneyRequests if their name is of the form "Player u MoneyRequest". does "Player heavoid ordinal 1234 MoneyRequest" meet that form? it depends if u is allowed to stand for one or multiple words.
patterns like this are not explicitly prescribed anywhere. i would lean towards saying that without further elaboration, such a metasyntactic variable can only stand for a single word. this would tidy up this whole thing by making it such that it never happened, but that would be boring, and i try not to judge in favour of boringness too often. on the other hand, if u can stand for any number of words then it's not clear how to refer to a single word, whereas if u means a single word then we could use @u or u... for matching multiple words.
overall i'd judge u as matching only a single word. of course, it never says anywhere that my judgements are to be granted any special weight...
i interpreted u as being any substring at all. i don't see at all, personally, why its domain would be limited unless explicitly stated or otherwise set by precedent. if you wanted to refer to a single word you could just say that (i.e "Player u for a word u").
you could say exactly the same thing to support the opposite interpretation. "if you wanted to refer to multiple words you could just say that (i.e "Player u for a sequence of words u)
i agree that if the possible domain of what u could refer to was specified, then that should take effect. since it isn't we need to decide upon a sensible default; i think the default should be whichever behaviour is likely to be used most often, and i think it will be more often desirable to match a single word than multiple words.
i don't think it's "exactly the same thing". if i said "take a number n" and you said "92" and i said "no, you can't use multi-digit numbers. why would you assume you could? i never said 'take a number n which can be multi-digit', you know", this would clearly be unfair.
yes, but you did say that n is a number, which is something we are already familiar with, and which we already know can have multiple digits. in the bank regulation it is never specified whatsoever what u is
given that it's unspecified, why would the domain of what u can be inherently be restricted to single words? i think it's pretty sensible to assume things to not follow arbitrary restrictions like "is a single word" unless it actually says that.