Various techniques for evaluating probabilistic assertions are described herein. In one example, a method includes transforming a program, a probabilistic assertion, and an input into an intermediate representation, the intermediate representation including a Bayesian network of nodes representing distributions. The method further includes verifying a probabilistic assertion in the program using the intermediate representation.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A system for specifying and evaluating a probabilistic assertion, comprising: a processor device element configured to execute modules; a first module configured to, when executed by the processor device element, transform a program, the probabilistic assertion, and an input into an intermediate representation; and a second module configured to, when executed by the processor device element, verify the probabilistic assertion in the program by sampling the intermediate representation. 2. The system of claim 1, the intermediate representation comprising a Bayesian network of nodes representing distributions, or expression trees representing probability distributions, or both. 3. The system of claim 1, the probabilistic assertion corresponding to a probabilistic property of the program. 4. The system of claim 1, comprising a third module configured to, when executed by the processor device element, simplify the intermediate representation using one or more statistical rules. 5. The system of claim 4, the one or more statistical rules comprising a cumulative distribution function (CDF). 6. The system of claim 4, the one or more statistical rules comprising a central limit theorem. 7. The system of claim 4, the one or more statistical rules comprising a statistical inequality. 8. A method for evaluating probabilistic assertions, comprising: transforming, via a processor, a program, a probabilistic assertion, and an input into an intermediate representation, the intermediate representation comprising a Bayesian network of nodes representing distributions; and verifying, via the processor, the probabilistic assertion in the program using the intermediate representation; and changing, via the processor, the program to meet a desired specification or correctly express a probabilistic property of the program if the probabilistic assertion is verified as false. 9. The method of claim 8, wherein transforming the program comprises representing loop bodies as supernodes in the intermediate representation and marginalizing conditions to produce unconditional distributions. 10. The method of claim 8, wherein verifying the probabilistic assertion comprises performing a direct evaluation of the probabilistic assertion using the simplified intermediate representation. 11. The method of claim 8, further comprising simplifying the intermediate representation using one or more statistical rules. 12. The method of claim 11, wherein simplifying the intermediate representation comprises replacing a probabilistic distribution in the intermediate representation with simpler distributions having an approximate expected value. 13. The method of claim 8, wherein verifying the probabilistic assertion comprises sampling a distribution from the intermediate representation to estimate a probability using acceptance sampling to bound errors in verification. 14. The method of claim 13, further comprising determining a threshold number of samples has been reached using a sequential analysis technique. 15. One or more computer-readable storage media for specifying and evaluating probabilistic assertions, comprising a plurality of instructions that, when executed by a processor, cause the processor to: verify a probabilistic assertion in a program based on an intermediate representation; and change the program to meet a desired specification or correctly express a probabilistic property of the program if the probabilistic assertion is verified as false. 16. The one or more computer-readable storage media of claim 15, further comprising instructions to transform the program, the probabilistic assertion, and an input into the intermediate representation. 17. The one or more computer-readable storage media of claim 15, further comprising instructions to simplify the intermediate representation into a simplified intermediate representation using one or more statistical rules. 18. The one or more computer-readable storage media of claim 16, wherein the plurality of instructions, when executed by the processor, cause the processor to transform the program into the intermediate representation by marginalizing probabilistic conditionals to produce unconditional distributions. 19. The one or more computer-readable storage media of claim 17, wherein the plurality of instructions, when executed by the processor, cause the processor to simplify the intermediate representation by replacing a probabilistic distribution in the intermediate representation with a simpler distribution having an approximately similar expected value as the probabilistic distribution. 20. The one or more computer-readable storage media of claim 17, wherein the plurality of instructions, when executed by the processor, cause the processor to further simplify the intermediate representation of comparisons using a statistical inequality. 21. The one or more computer-readable storage media of claim 15, further comprising instructions to sample a distribution from the intermediate representation to estimate a probability using acceptance sampling to bound errors in verification. 22. The one or more computer-readable storage media of claim 21, further comprising instructions to determine whether a threshold number of samples have been taken using a sequential analysis technique.