osdir.com


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

About the implementation of del in Python 3


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