- 
 
 - 
  Notifications
 
You must be signed in to change notification settings  - Fork 2.8k
 
Which definition should be used? #605
-
// Pronic number: For any integer n, if there exists integer m // such that n = m * (m + 1) then n is called a pronic number.
vs
// Pronic number: A number n is pronic, if there // exists an integer m such that n = m * (m + 1)
given that the implementation is
// PronicNumber returns true if argument passed to the function is pronic and false otherwise. func PronicNumber(n int) bool { if n < 0 || n%2 == 1 { return false } x := int(stdMath.Sqrt(float64(n))) return n == x*(x+1) }
PS: Mathematicians being mathematicians by arguing which definition makes more sense 😂 in this context
Beta Was this translation helpful? Give feedback.
All reactions
- 
 
❤️ 1 
Replies: 2 comments 7 replies
-
@tjgurwara99 Rephrasing your suggestion:
// Pronic number: For any integer n, if there exists integer m // such that n = m * (m + 1) then n is called a pronic number.
to
// Pronic number: Any integer n, satisfying
// n = m * (m + 1) for some integer m
// is called a pronic number.
makes it equally good as:
// Pronic number: An integer n is pronic, if there
// exists an integer m such that n = m * (m + 1).
In both cases I would not explicitly require that n is an integer, i.e. both
// Pronic number: Any number n, satisfying
// n = m * (m + 1) for some integer m
// is called a pronic number.
// Pronic number: A number n is pronic, if there
// exists an integer m such that n = m * (m + 1).
are equally good and I have no idea how to improve any of them.
I do not like the For any part in what you suggest. If you would insist of having such a thing, there is a third option:
// Pronic number: For any integer m the number
// m * (m + 1) is called a pronic number.
Beta Was this translation helpful? Give feedback.
All reactions
-
I think you're mistaken about the for all quantifier; there is no difference between the statements you suggested and the statement I suggested (try converting them in to second order logic statements and you'll see) other than the insistence on n being in the set of integers.
Beta Was this translation helpful? Give feedback.
All reactions
-
There were two things:
- the number or integer issue - as explained earlier I am on the number side,
 - the for any issue.
 
Why do I think that skipping for any makes the definition easier? It is like a shortcut. Of course the sentence any number n, such that n = k*(k+1), for some integer k, is called pronic, translates to the formally correct, 2nd order logic variant with for any. Using the for any in such definition is a bit like not using the "multiplication symbol" but defining it in place. Lengthy notions, like vector space, usually are defined without for any part (if you know some example of a text book or paper, please let me know). Why not to take take such shortcut here?
From my experience I can say, that non-mathematicians are a bit confused with the for any variants (For any n? I thought that I already have my n. etc.).
But honestly I think it is time to end this discussion and use the energy for something more meaningful.
Beta Was this translation helpful? Give feedback.
All reactions
-
There are two thoughts I'm getting from your above comment:
- Using 
anyis ashortcutand we are in agreement that the statements are equivalent (except the part about n belonging to integers) but since they are equivalent and one is a shortcut then does that mean the other is too, food for thought 🤔❓ - from your experience, for any variant is harder.
 
For 1, I can't convince you that any is not a shortcut without showing you loads of proofs and I don't think we both have time for that. Though depending on where you are in your mathematical career, can potentially direct you to resources 😄
For 2, I'm sure you would agree that, that statement is subjective. The kind of proofs that I'm used to (any variant of prove that for all a, there exists b and so on) choosing one arbitrary value for a shows that its true "for all" by the nature of using an arbitrary value so I don't think one is easier than the other, in fact both are equally hard but again I accept that this is subjective matter that even if one only knows programming they should be able to understand that "for any" and "any" are just two ways of saying the same thing, so let's leave it at that.
But honestly I think it is time to end this discussion and use the energy for something more meaningful.
Couldn't agree more.
Using the for any in such definition is a bit like not using the "multiplication symbol" but defining it in place
Are you talking about rings?
There are quite a few ways to define rings actually "A ring is a commutative group under addition that has a second operation: multiplication" is equivalent to Screenshot 2022年11月12日 at 01 26 02 
but note that they are not the same statements (logically speaking - you can derive one from the other and vice versa thus they are equivalent - but in our case of above discussion they are actually the same logical statement).
PS: There are many ways of defining things, equally valid and equivalent (though I'm not talking about the same logical statements) and so you
as a mathematician have a choice on which one to use in which context
Anyways, I quite enjoyed this back and forth 😄 I don't get to do this anymore since I left academia so it was nice to talk about all this (trivial but meaningful to me) stuff 😄
Beta Was this translation helpful? Give feedback.
All reactions
-
Please have a look at the definition of the ring, which you quote (the one on the screenshot). Why does it have a form "A ring is..." and not "For any set R, if ...., then R with operation '*' is a ring"?
Are you talking about rings?
I was rather referring to some set theoretical construction of numbers, but it does not matter, because I think you got the point that using shortcuts is useful.
Beta Was this translation helpful? Give feedback.
All reactions
-
Why does it have a form "A ring is..." and not "For any set R, if ...., then R with operation '*' is a ring"?
Because the author chose it, NOT because one is easier than the other.
Beta Was this translation helpful? Give feedback.
All reactions
-
For the point of using shortcuts, I agree but your statement was not a shortcut nor easy so... Make if it what you will 😄 enjoy your day. I'm gonna unsubscribe to this discussion since I'm not getting any benefit from it😄
Beta Was this translation helpful? Give feedback.