| |
>>> print dp.parse(r'(([x],[walks(x)]) + ([y],[runs(y)]))').simplify()
([x,y],[walks(x), runs(y)])
>>> print dp.parse(r'(([x,y],[walks(x), jumps(y)]) + (([z],[twos(z)]) + ([w],[runs(w)])))').simplify()
([x,y,z,w],[walks(x), jumps(y), twos(z), runs(w)])
>>> print dp.parse(r'((([],[walks(x)]) + ([],[runs(x)]) + ([],[threes(x)]) + ([],[fours(x)])))').simplify()
([],[walks(x), runs(x), threes(x), fours(x)])
>>> dp.parse(r'([x],[man(x)])+([x],[walks(x)])').simplify() == \
... dp.parse(r'([x,z1],[man(x), walks(z1)])')
True
>>> dp.parse(r'([y],[boy(y), (([x],[dog(x)]) -> ([],[chase(x,y)]))])+([x],[run(x)])').simplify() == \
... dp.parse(r'([y,z1],[boy(y), (([x],[dog(x)]) -> ([],[chase(x,y)])), run(z1)])')
True
|