3 ms·
One way to do this is to install Mathematica and then run $ wolframscript --code "6 == 5 + 1" True Suppose you know that a function is equal to "(x - 1)(x
by shawn 8y ago
One way to do this is to install Mathematica and then run
$ wolframscript --code "6 == 5 + 1"
True
Suppose you know that a function is equal to "(x - 1)(x + 1) - 42". You want to check whether the student has given an equivalent function, like "x^2 - 43":
$ wolframscript --code "f[x_] := (x - 1)(x + 1) - 42;
Simplify[f[x]] == Simplify[x^2 - 43]"
True
But it should also return True for any other form, like "-43 + x^2". And indeed it does:
$ wolframscript --code "f[x_] := (x - 1)(x + 1) - 42;
Simplify[f[x]] == Simplify[-43 + x^2]"
True
So in general, you can write a script which inserts the student's answer into the right-hand "Simplify[...]" block. If it prints True, they're equivalent.
It's also possible to feed a natural language expression like "the integral of Sin(x) from 0 to pi is equal to 2" into wolfram alpha, and check whether it returns True or False:
http://www.wolframalpha.com/input/?i=the+integral+of+Sin(x)+from+0+to+pi+is+equal+to+2 http://www.wolframalpha.com/input/?i=the+integral+of+Sin(x)+...
(To be clear, I don't think this is how this project does it. I was just giving a way to do it.)