Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def U(x,y):
- return max(x,y)
- def I(x,y):
- return min(x,y)
- def S(x,y):
- return max(0, x-y)
- def expr1(a,b,c):
- return U( I( I(a,b), c),
- S(b,a) )
- def expr2(a,b,c):
- return S( b, S( I(a,b), c) )
- def all_inputs(n):
- if n == 0:
- return [()]
- else:
- rest = all_inputs(n - 1)
- ret = []
- for r in rest:
- ret.append( (0,) + r)
- ret.append( (1,) + r)
- return ret
- if __name__ == "__main__":
- print U(U(0, 0),1)
- all_threes = all_inputs(3)
- for all_three in all_threes:
- assert expr1(*all_three) == expr2(*all_three), "failed on {}".format(all_three)
Add Comment
Please, Sign In to add comment