Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

  >>> a = 3.0
  >>> b = 3
  >>> type(a) == type(b)
  False
The right answer they were looking for was 3, not 3.0. Adding that .0 implies a precision which is not correct. They weren't looking to see if you knew the arithmetic with that question, they wanted you to show you understood what they meant by "whole number" and understand you can't just leave arbitrary precision after rounding. You didn't give the right answer and apparently kept complaining about it instead of trying to figure out why you were wrong to the point they threatened suspension. I imagine your complaints based on your assumption you couldn't be wrong were causing quite a distraction.

For example, 10 / 3 = 3.333... right? We're then asked to round to the nearest whole number, and the answer should be 10 / 3 = 3. It is not correct to then say 10 / 3 = 3.0, because that is just wrong.

I'd end up siding with the teacher on this one. Just acknowledge you didn't understand what they were looking for and do better next time.



As someone who (almost!) has a PhD in mathematics I'm going to have to call you out on this point. You are thinking like an engineer and talking about precision, but this is mathematics, not engineering. We make no distinction between the "real" number 3, the "complex" number 3, and the "whole" number 3. The number 3 lives in each of these universes as the same object (so to speak) because these sets (whole, real, complex) numbers are included in one another. Writing 3.0 is a representation for 3 just as 2.9999... is a representation of 3. Perhaps the bigger question we should be asking here is what was the purpose of all of this discussion? I've seen such petty treatment by teachers all the time and it always discouraged me from pursuing math until I met professors in university who actually tried to teach us something interesting and beautiful about math. This question could have led in that direction actually with a discussion of different kinds of numbers but unfortunately many math teachers in the US are not capable of this, or are too discouraged by the other craziness in schools to have the energy for such conversations.


"Whole number" means that the mantissa is 0, and is not related to what some random programming language asserts in its representational type system.

Math terms like "whole number" are not defined in terms of the behavior of computer programming languages.

In math, not only are 3.0 and 3 the same thing, but also, so is 2.9999999...

.

> They weren't looking to see if you knew the arithmetic with that question, they wanted you to show you understood what they meant by "whole number" and understand you can't just leave arbitrary precision after rounding.

Can you show any math reference that supports this viewpoint? This goes against my college mathematics training.

.

> You didn't give the right answer

According to mathematics, 3.0 and 3 are the same thing (and so is the Roman numeral III, and so on.) So is 6/2.

It is deeply and profoundly incorrect to treat an answer as incorrect because the mantissa was written out.

The teacher is simply incorrect, as are you.

.

> Just acknowledge you didn't understand what they were looking for and do better next time.

If a teacher asks "what is the country north of Austria," in an English speaking school, and you write "Germany," and the teacher says "no, it's Allemande," they're just incorrect. It doesn't matter if the teacher is French. There are only two ways to look at this: either the correct answer is in the language of the school, or any international answer is acceptable.

A normal person would say "oh, ha ha, Germany and Allemande are the same place, let's just move forwards."

A person interested in defeating and winning, instead of teaching, might demand that the answer come in in some arbitrary incorrect format that they expected. That's a bad teacher who doesn't need to be listened to.

Yes, we know there's also some kid who is explaining to just do as teacher instructs, but no, we're there to learn information, not to learn to obey.


> Can you show any math reference that supports this viewpoint? This goes against my college mathematics training.

> The word integer comes from the Latin integer meaning "whole" or (literally) "untouched", from in ("not") plus tangere ("to touch"). "Entire" derives from the same origin via the French word entier, which means both entire and integer.[9] Historically the term was used for a number that was a multiple of 1,[10][11] or to the whole part of a mixed number.

https://en.m.wikipedia.org/wiki/Integer

The question was to understand the idea of a "whole number" aka an integer.


It's very clear you're out of your element on this, and you have multiple people with an actual math background telling you the objection is somewhere between meaningless and wrong.

The takeaway from trying to really nail down a definition of "integers" (or anything, really) is going to be something along the lines of "if it quacks like a duck up to unique isomorphism, it's a duck". The encoding is not important and one frequently swaps among encodings when convenient. In any case, no one who knows any math is going to say to a child that 3 and 3.0 aren't interchangable outside of some extremely specific contexts. In fact that's not even encoding: it's notation. They can be literally equal, not just equivalent. Those particular contexts aren't ordained, and e.g. propagation of uncertainty is "better" than significant figures if you're doing engineering anyway.

Writing something like '10/3=3' is likely to trigger the mathematicians because lots of people get confused about what '=' is supposed to mean (and often use it to mean something like "next step indicator"). '3=3.0' not so much.


> outside of some extremely specific contexts.

The exact context was given. They wanted only whole numbers.

> Writing something like '10/3=3' is likely to trigger the mathematicians

Sure, when lacking the context of all answers should be rounded to the nearest whole number. But that was the context, and it's astounding so many people with alleged math backgrounds arguing things like intergers aren't a thing to understand.


Assuming you want to be able to make statements like ℕ⊆ℚ⊆ℝ (as one normally does), 3.0 is a whole number, 3 is a real number, and 3.0=3=2.9999999...

Being equal to 3, 2.9999... is also a whole number.

Teaching to use '=' in a statement like '10/3=3' is an example of where teachers don't know math in depth and make errors about details that are actually important/later cause confusion. 10/3 is not equal to 3. '=' doesn't mean "answer". Then not accepting 3.0 which is equal to 3 just layers on that confusion. '=' is transitive. If a=b and b=c, then a=c.

Saying 3.0≠3 is a subtlety you really only get into in math when defining these things, and then you immediately redefine them so that 3.0=3 and you don't have to think about it again.


You're continuing to focus on the functional similarities and functional equivalences of 3, 3.0, 6/2, 2.999... etc. You're right, from an arithmetic standpoint, these are all the same value. I've definitely always agreed with this and fully understand it.

But the question wasn't testing that you knew how to divide and round. The question was testing if you understood what the teacher was trying to teach about whole numbers, integers, rational numbers, real numbers, etc.

6/2 as written is not an integer. It is not a whole number. The value it represents can be written as a whole number, I fully agree, but as written it itself is not a whole number. Whole numbers are the set of numbers Z including -3, -2, -1, 0, 1, 2, 3, 4,... I doubt any math teacher, upon teaching "what is a whole number", draws a number line and proceeds to label it -3.999, -6/2, -12/6, -5/5, 0, 5/5, 12/6, 6/2, 3.999..., and on.

The notation was the key part of the question and was a key part of the answer.

The teacher wasn't looking for a value (which is what you're so focused on looking at), they were looking for a notation, a format.


Then the teacher is teaching something that someone more knowledgeable in the subject will later have to unteach. I'm focusing on functional equivalences because that's how math works as practiced by mathematicians. The functional equivalences are the point, and you may not notice it, but you're also relying on those equivalences, which is why you can write "6/2" in the first place. Integers are already equivalence classes of pairs of natural numbers (which is why 2-3=3-4). Rationals are equivalence classes of pairs of integers (which is why 3/1 = 6/2). If you actually try to define any of this stuff in a coherent way, you're immediately forced to deal with equivalence as a central idea.

6/2 is a whole number. 6/2 = 3. 3 is a whole number. They are equal. Usually, they are the exact same mathematical object. It is not merely that they share properties. They are literally definitionally the exact same thing (the same set in ZFC). "n is a whole number" is a proposition. It is true for n=6/2.

If a teacher is teaching that 6/2 is not an integer, unless they are in the middle of constructing the rationals and need to make a distinction between integers and equivalence classes of pairs of integers, then they are wrong. The very first thing you do after you're forced to make that distinction is you make it go away. They shouldn't be teaching the student to hyperfocus on a specific notation or format. That's a bad lesson to teach, and is something a real teacher will need to fix later. Actual mathematics professors are happy to let you write "let <christmas tree>∈ℝ". An intro proofs professor will definitely put something like "-3.999..., -6/2, -12/6, -5/5, 0, 5/5, 12/6, 6/2, 3.999..." on a number line to illustrate the point that these are just different ways to write the same thing. Fluidity in switching through and following different notations without getting distracted is a centrally important mathematical skill.


> unless they are in the middle of constructing the rationals and need to make a distinction between integers and equivalence classes of pairs of integers

Finally, you're starting to understand the context of the question at hand.

I'm also happy you're starting to show you do understand there's a notational difference between 6/2 and 3. That the values are the same the notation is quite different, thus there are some differences. Not functionally, true, but notationally.

The notational difference was the point of this lesson. You may think it'll only be a barrier in the future to point it out like that (maybe it is!), but the notational difference was the lesson.

> Fluidity in switching through and following different notations

If you don't really have an understanding of the notations, you're going to have a hard time being fluid switching between them.

> An intro proofs professor

An intro proofs professor wasn't leading the lesson, it was probably an elementary or middle school math teacher. The point of the lesson is different, the context of the lesson is different.


Given that most math teachers haven't studied algebra/likely haven't seen the definition of any of these things, and the distinction is not relevant when discussing rounding, I highly doubt that the teacher was making that distinction, or even aware it exists. More likely, the teacher was making a distinction that does not exist, which only confuses students.

In any context that a child is working in, 6/2 and 3.0 are a whole numbers. If the teacher says otherwise, they are wrong. Just because the teacher wants to teach a lesson doesn't mean that lesson is actually correct. The teacher is just confused.

If they weren't confused, it would be highly inappropriate to go into that level of detail with anyone other than a curious gifted kid that's asking questions that are years ahead of a normal curriculum. So much so that it's beyond the level of knowledge expected of a schoolteacher.

You also wouldn't mark it wrong because the entire point is to define things in a way that makes the distinction go away. Even after that distinction has been presented and is front-of-mind, you still generally write down whatever representative is convenient.

It's either literally wrong, philosophically/pedagogically wrong, or both.


> most math teachers haven't studied algebra

Pretty sure all teachers I had even in elementary school studied at least high school level algebra. In middle school and above they all had masters or better in mathematics.

> the distinction is not relevant

> I highly doubt that the teacher was making that distinction, or even aware it exists

> the teacher was making a distinction that does not exist

The distinction both exists and does not exist. Incredible.

> it would be highly inappropriate to go into that level of detail

The detail of a thing that does not exist, right?

> it's beyond the level of knowledge expected of a schoolteacher.

Right, the teacher is wrong because you wouldn't expect the schoolteacher to be smart enough to be right about it.


Yes, the distinction both exists and it doesn't. When defining things, you might start off by saying "the natural numbers are von Neumann ordinals". Then you construct the integers as certain infinite sets of pairs of natural numbers, and you say "actually when I say natural numbers I mean integers that contain a pair where the 2nd number is 0". Then you define rationals as certain infinite sets of pairs of integers, and say "actually when I say integers I mean rationals that contain a pair where the 2nd number is 1", and so on. So for a brief moment during the construction of the next step, there is a distinction. Then you immediately retcon your definition and get rid of it. No one ever uses the intermediate definitions again.

There's similar logical snags when trying to define real numbers because technically you'll need distances which have to be rational because you don't have real numbers yet, but really you'd like distances to be real. It's not actually an issue though, and as far as everyone is concerned, distances are real.

Or you define things only up to unique isomorphism by their properties and wash your hands of the whole ordeal. The construction is merely to show that some object with those properties exists.

The teacher is wrong because if they are being pedantic about it to a child, they're a bad teacher. And they're missing the point.


> adding that .0 implies a precision which is not correct. They weren't looking to see if you knew the arithmetic with that question, they wanted you to show you understood what they meant by "whole number" and understand you can't just leave arbitrary precision after rounding.

If you round 3.05 down to 3, 3.00 is not arbitrary precision, its explicit precision that's reflective of the rounding operation you did. I wasn't claiming that `type(3.0) == type(3)`. I was claiming that:

    >>> round(3.0) == 3
    True

And that such a representation was valid within the context of the question. This was long before I was wise enough to understand that sir, this is a public school, just do what the book says and don't make me talk with the students more than I need do.


It's incredible despite multiple additional individuals telling you that you're wrong you continue doubling down on it.

10 / 3 != 3.000000000000000000000000 no matter how many times you refute it. You should really learn to accept it and continue on and look deeper inside yourself into this. It's sad you still haven't learned this lesson from elementary education. Maybe they should have suspended you.

In no world does 10 / 3 = 3.0. This is just a falsehood as much as 2 + 2. = 5. I don't care about your large values of 2.


'10/3 = 3' is also false, and is something you put forward as true. Meanwhile, '10/3 ≈ 3' and '10/3 ≈ 3.0' are both equally true, as is '10/3 ≈ π' if you're in a pinch. Also true is that math is full of conventions, and it makes sense to use the conventions you feel are appropriate for what you're doing. Sometimes that might be significant figures, which I suppose you're alluding to. Other times, it might be propagation of uncertainty. Other times error tracking is not even relevant; you might just round the thing but also want to have all of your expressions be of the same type. For that matter, you may have 3: ℝ = 3.0: ℝ by definition. The other poster never gave any indication of whether or why some particular convention should apply.

Teachers not having the time to muse about such ideas and instead needing to package everything into a presentation appropriate for an entire room full of children is one of the more obvious failure modes of industrialized education.


[flagged]


'10 / 3 = 3' is either bad notation or wrong. It's not true under any usual definition of 10, 3, / or =. '3 = 3.0' on the other hand is perfectly reasonable in many circumstances. If you think 10/3 can equal 3 but not 3.0, you are either confused or confusing or both. What you mean to write is '≈', and when you do that, it's obvious that 3 and 3.0 are both usable in that sentence.

It is perfectly reasonable to define 3: ℕ = succ(succ(succ(zero))). It's also perfectly reasonable to define 3: ℝ as the image of succ(succ(succ(zero))): ℕ under the canonical embedding. Or you can define 3: ℚ with the obvious element. You can also define 3.0: ℚ or 3.0: ℝ as the obvious elements. If you were really a deviant, I suppose you could even define 3.0: ℕ, and people would roll their eyes, but everyone would understand you. Obviously, there are reasonable ways to define things so that `3 = 3.0` is a meaningful sentence (typechecks) and also literally true.

Again, different conventions are used in different contexts. The "user" of mathematics should pick the conventions and notations that make sense for what they're doing to communicate what they're trying to say. That itself is an important lesson. The sigfig convention you learned in middle school isn't the word of God.

Not being aware of these things to be capable of musing about them is I suppose another issue with our education system.


If I ask for someone for 3 of something and they give me 3.001 of it, it's whatever. If I ask someone for 3.000 of something and they give me 3.001 of it, it's out of spec.


Admittedly I only did this in school and it's been over 10 years, but I recall when doing engineering drawings, we'd specify ± (or separate lower/upper tolerances in some situations). Using decimal points to indicate uncertainty was not a thing I believe I did after high school. Does any actual professional use decimal places and not explicit ±?

Similarly, we calculated those ± values using the chain rule/uncertainty propagation, not with the simple decimal place rules you learn as a kid. I assume no one serious uses the child rules when CAD software can just as easily use the real ones.


> we'd specify ± (or separate lower/upper tolerances in some situations)

> we calculated those ± values using the chain rule/uncertainty propagation

Yes, that's common in detailed engineering documents. It still doesn't change the fact if I ask for 3.000 and you give me 3.001 I'm not going to consider that in-spec despite not giving a ±. It's assumed if I wrote it out to that decimal point I'm caring about that level of precision.

> Using decimal points to indicate uncertainty was not a thing I believe I did after high school

Well, I'd imagine since the topic of lesson was understanding whole numbers at a basic level this was probably a high school or lower class, probably more like elementary or middle school. You know, in that time when you did use decimal places to indicate precision. This person wasn't talking about losing points at their engineering job.


> 10 / 3 can = 3, depending on the expected levels of precision.

>

> 10 / 3 will never = 3.0.

You should read what they wrote again. They wrote with `≈`, which is a different operator than `=`.

What they wrote is correct.

.

> It is sad you still haven't learned this lesson after many decades.

>

> I hope I'm never on a bridge you build or plane built to the specs you write if you truly think 10 / 3 = 3.00000.

HN doesn't allow this sort of behavior.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: