xenaproject just commented on Division by zero in type theory: a FAQ.
で、主要部は次のようである:
Division by zero in type theory: a FAQ Posted on July 5, 2020 by xenaproject Hey! I heard that Lean thinks 1/0 = 0. Is that true? Yes. So do Coq and Isabelle and many other theorem provers. Doesn’t that lead to contradictions? No. It just means that Lean’s / symbol doesn’t mean mathematical division. Let denote the real numbers. Let’s define a function by if and . Does making that definition give us a contradiction in mathematics? No, of course not! It’s just a definition. Lean uses the symbol / to mean . As does Coq, Isabelle etc. Lean calls it real.div by the way, not .
But doesn’t that lead to confusion?
It certainly seems to lead to confusion on Twitter. But it doesn’t lead to confusion when doing mathematics in a theorem prover. Mathematicians don’t divide by 0 and hence in practice they never notice the difference between real.div and mathematical division (for which 1/0 is undefined). Indeed, if a mathematician is asking what Lean thinks 1/0 is, one might ask the mathematician why they are even asking, because as we all know, dividing by 0 is not allowed in mathematics, and hence this cannot be relevant to their work. In fact knowing real.div is the same as knowing mathematical division; any theorem about one translates into a theorem about the other, so having real.div is equivalent to having mathematical division.
xenaproject just commented on Division by zero in type theory: a FAQ.
で、主要部は次のようである:
Division by zero in type theory: a FAQ Posted on July 5, 2020 by xenaproject Hey! I heard that Lean thinks 1/0 = 0. Is that true? Yes. So do Coq and Isabelle and many other theorem provers. Doesn’t that lead to contradictions? No. It just means that Lean’s / symbol doesn’t mean mathematical division. Let denote the real numbers. Let’s define a function by if and . Does making that definition give us a contradiction in mathematics? No, of course not! It’s just a definition. Lean uses the symbol / to mean . As does Coq, Isabelle etc. Lean calls it real.div by the way, not .
But doesn’t that lead to confusion?
It certainly seems to lead to confusion on Twitter. But it doesn’t lead to confusion when doing mathematics in a theorem prover. Mathematicians don’t divide by 0 and hence in practice they never notice the difference between real.div and mathematical division (for which 1/0 is undefined). Indeed, if a mathematician is asking what Lean thinks 1/0 is, one might ask the mathematician why they are even asking, because as we all know, dividing by 0 is not allowed in mathematics, and hence this cannot be relevant to their work. In fact knowing real.div is the same as knowing mathematical division; any theorem about one translates into a theorem about the other, so having real.div is equivalent to having mathematical division.