An oracle is a function that provides reliable answers that are used to verify the results from a function being tested. Usually, the oracle is slower or has some other limitations. After all, if it worked just as well as the function being tested and it was known to be reliable, you would use the oracle function instead of writing a new one.