this post was submitted on 12 Dec 2023
843 points (96.6% liked)
Memes
45581 readers
2237 users here now
Rules:
- Be civil and nice.
- Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I agree with your core message, that the issue is caused by bad notation. However I don't really see why you consider implicit multiplication to be the sole reason. In my mind, a/bc is equally as ambiguous as a/b*c. The symbols are not important.
You don't even consider this in your article, instead you seem to take the position that the operations are resolved from left to right. This idea probably comes from programming languages, as they commonly use this convention, but I haven't seen this defined in mathematics anywhere. I'm open to being wrong here, so if you can show me such a definition from an authoritative source (maybe ISO) I'd be thankful.
As it stands, you basically claim "the original notation is ambiguous, but with explicit × the answer is obviously nine, because my two calculators agree", even though you just discounted calculator proofs. By the way, both calculators explicitly define this left-to-right order in their documentation.
The ISO section 7.1.3 you quoted is very reasonable and succinct, and contradicts your claim that explicit multiplication sign removes ambiguity. There would be no need for this section if a left-to-right rule existed.
Standards are as mentioned in the article often extra careful to prevent confusion and thus often stricter than widespread conventions with things they allow and don't allow.
a/b*c is not ambiguous because no widespread convention would treat it any other way than (a/b)*c.
But you can certainly try to proof me wrong by showing me a calculator that would evaluate 6/2*3 to anything but 9.
So if there is not a single calculator out there that would come to a different result, how can it be ambiguous?
Update: Standards are rule-books for real projects to make it simpler to work together. It's a bit like a Scrabble dictionary. If a word is missing in the official Scrabble dictionary, it doesn't automatically mean that it's not a real word, it just means that it wouldn't be allowed to play that word in official Scrabble tournaments.
Same with (ISO) standards. Just because the standard forbids it doesn't mean it's not widespread or forbidden generally. It's only forbidden in a context where all participants agreed to follow the standard.
All of the programming languages I can think of apply operator precedence as noted in the first reply. That's the only standard I ever learned, and I've never seen any ambiguity in that.