[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

On Fri, Jul 7, 2017 at 4:43 PM, Steve D'Aprano <steve+python at pearwood.info> wrote: > On Fri, 7 Jul 2017 01:41 am, Marko Rauhamaa wrote: >> In Second-Order Logic, you can define identity directly: >> >> ?x ?y x = y ? ?P (P(x) ? P(y)) > > Translating to English: > > For all x, for all y, x equals y if and only if for all P > (P(x) if and only if P(y)) > > > That might be sufficient for second-order logic, but it won't do for > programming. Defining if-and-only-if for functions that can return more than > two values (true and false) requires having a definition of equality, which > would make the definition circular. It sounds to me like this has defined equality, not identity, right? In Python, you could have x and y be two different integers with the same value, and the return values of all functions would be indistinguishable. Unless you're including the 'id' function, in which case... welcome to circular reasoning again. ChrisA

- Prev by Date:
**About the implementation of del in Python 3** - Next by Date:
**Check Python version from inside script? Run Pythons script in v2 compatibility mode?** - Previous by thread:
**About the implementation of del in Python 3** - Next by thread:
**About the implementation of del in Python 3** - Index(es):