OK, let’s say you’re looking down at a full printout of a block universe. Every physical fact for all times specified. Then let’s say you do Solomonoff induction on that printout—find the shortest program that will print it out. Then for every physical fact in your printout, you can find the nearest register in your program it was printed out of. And then you can imagine causal surgery—what happens to your program if cosmic rays change that register at that moment in the run. That gives you a way to construe counterfactuals, from which you can get causality.
ETA: There’s still some degrees of freedom in how this gets construed though. Like, what if the printout I’m compressing has all its info time-reversed—it starts out with details about what we’d call the future, then the present, then the past. Then I’d imagine that the shortest program that’d print that out would process everything forward, store it in an accumulator, then run a reversal on that accumulator to print it out, the problem being that the registers printed out from might be downstream from where the value was. It seems like you need some extra magic to be sure of what you mean by “pretend this fact here had gone the other way”
OK, let’s say you’re looking down at a full printout of a block universe. Every physical fact for all times specified. Then let’s say you do Solomonoff induction on that printout—find the shortest program that will print it out. Then for every physical fact in your printout, you can find the nearest register in your program it was printed out of. And then you can imagine causal surgery—what happens to your program if cosmic rays change that register at that moment in the run. That gives you a way to construe counterfactuals, from which you can get causality.
ETA: There’s still some degrees of freedom in how this gets construed though. Like, what if the printout I’m compressing has all its info time-reversed—it starts out with details about what we’d call the future, then the present, then the past. Then I’d imagine that the shortest program that’d print that out would process everything forward, store it in an accumulator, then run a reversal on that accumulator to print it out, the problem being that the registers printed out from might be downstream from where the value was. It seems like you need some extra magic to be sure of what you mean by “pretend this fact here had gone the other way”