Guest User

Untitled

a guest
Jan 18th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. def U(x,y):
  2. return max(x,y)
  3.  
  4. def I(x,y):
  5. return min(x,y)
  6.  
  7. def S(x,y):
  8. return max(0, x-y)
  9.  
  10. def expr1(a,b,c):
  11. return U( I( I(a,b), c),
  12. S(b,a) )
  13.  
  14. def expr2(a,b,c):
  15. return S( b, S( I(a,b), c) )
  16.  
  17. def all_inputs(n):
  18. if n == 0:
  19. return [()]
  20. else:
  21. rest = all_inputs(n - 1)
  22. ret = []
  23. for r in rest:
  24. ret.append( (0,) + r)
  25. ret.append( (1,) + r)
  26. return ret
  27.  
  28. if __name__ == "__main__":
  29. print U(U(0, 0),1)
  30.  
  31. all_threes = all_inputs(3)
  32.  
  33. for all_three in all_threes:
  34. assert expr1(*all_three) == expr2(*all_three), "failed on {}".format(all_three)
Add Comment
Please, Sign In to add comment