It would be fun to implement it to take advantage of the benefits that a restricted natural language would bring, like Attempto [0]. That would allow you to really automate the evaluation of hypotheses against new data points. You might be able to wedge a SAT solver in there as well. I've got it on the ever growing todo list.
[0] https://en.wikipedia.org/wiki/Attempto_Controlled_English