About the implementation of del in Python 3

Chris Angelico rosuav at gmail.com
Fri Jul 7 03:45:07 EDT 2017


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



More information about the Python-list mailing list