We are getting in a situation similar to the Ontological Argument for God, in which an argument gets bogged down in equivocation. The question becomes: what is a valid predicate of MaybeZombie? One could argue that there is a distinction to be made between such predicates as “the program has a Kolmogorov complexity of less than 3^^^3 bits” on the one hand, versus such predicates as “the program has been run” on the other. The former is an inherent property, while the latter is extrinsic to the program, and in some sense is not a property of the program itself. And yet, grammatically at least, “has been run” is the predicate of “the program” in the sentence “the program has been run”. If “has said ‘I must not be a zombie’ ” is not a valid predicate of MaybeZombie, then talking about whether MaybeZombie has said ‘I must not be a zombie’ is invalid. If one can meaningfully talk about whether MaybeZombie has said ‘I must not be a zombie’, then “has said ‘I must not be a zombie’ ” is a valid predicate of MaybeZombie. Since this predicate is obviously false if MaybeZombie isn’t run, and could be true if MaybeZombie is run, then this is a property of MaybeZombie that depends on whether MaybeZombie is run.
We are getting in a situation similar to the Ontological Argument for God, in which an argument gets bogged down in equivocation. The question becomes: what is a valid predicate of MaybeZombie? One could argue that there is a distinction to be made between such predicates as “the program has a Kolmogorov complexity of less than 3^^^3 bits” on the one hand, versus such predicates as “the program has been run” on the other. The former is an inherent property, while the latter is extrinsic to the program, and in some sense is not a property of the program itself. And yet, grammatically at least, “has been run” is the predicate of “the program” in the sentence “the program has been run”. If “has said ‘I must not be a zombie’ ” is not a valid predicate of MaybeZombie, then talking about whether MaybeZombie has said ‘I must not be a zombie’ is invalid. If one can meaningfully talk about whether MaybeZombie has said ‘I must not be a zombie’, then “has said ‘I must not be a zombie’ ” is a valid predicate of MaybeZombie. Since this predicate is obviously false if MaybeZombie isn’t run, and could be true if MaybeZombie is run, then this is a property of MaybeZombie that depends on whether MaybeZombie is run.