3 ms·
all(xs) and all(ys) == all(xs + ys) If I understand you correctly, the "and" should be an "implies" instead: all(xs) => (all(ys) == all(xs + ys)) Otherwise
by majewsky 7y ago
all(xs) and all(ys) == all(xs + ys)
If I understand you correctly, the "and" should be an "implies" instead:
all(xs) => (all(ys) == all(xs + ys))
Otherwise this law cannot be true since there exist xs for which !all(xs).
- quietbritishjim 7y agoI think they just got their operator precedences mixed up. They meant: (all(xs) and all(ys)) == all(xs + ys) This is why you should always use parentheses unless it's absolutely obvious! I certainly had to check the docs to find out which way round it goes. I guess normally you're not dealing with Boolean variables so having == bind tighter makes more sense: y is not None and x == 7
- eru 7y agoYes, indeed! Sorry, I was deviating from the Python order of precedence.
- deleted 7y ago[deleted]
- deleted 7y ago[deleted]