I'm summarizing a lot, but that is the basic idea.
Even shorter version: Instead of giving a machine and getting an input/output pair, you give a model of a machine's behavior, and get back an input/output pair's relationship to that machine. Instead of having a chance to find a PoW certificate at the end of each work attempt (effort of which varies run to run) there is chance to find a PoW certificate for each individual value propagation in the program, which would be uniform both run-to-run and job-to-job. A job requiring on average twice as many assignments per attempt would generate twice as many work proofs on average for the same number of attempts run.