This is a much more difficult boolean formula problem than logic.in. In this task, the formulae are presented to the network one symbol at a time. The formulae involve parenthesized expressions and even negated parenthesized expression.
Although it is possible to get a network to memorize the training corpus, it is much harder to train a network to generalize to the testing corpus.
The procedure "testit" has been provided which tests the network on both the training and testing corpora and reports the correctness rates. The procedure "go" will train for a little while and then test.
The best I was able to do was 85% correct on the testing corpus. That isn't all that good since much of the testing corpus is short, familiar formulae.
Can you break 85%? You'll have to be patient training this one. It doesn't learn very quickly and there is a lot of noise because of the small batches. You may need to gradually decrease the learning rate as training progresses. Also try experimenting with different size hidden layers.