Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info>: > On Sat, 15 Feb 2014 12:13:54 +0200, Marko Rauhamaa wrote: >> 0. x is x >> 1. if x is y then y ix x >> 2. if x is y and y is z then x is z >> 3. after x = y, x is y >> 4. if x is y and x == x, then x == y >> 5. id(x) == id(y) iff x is y > > # Counter-example > py> x = 230000 > py> idx = id(x) > py> del x > py> y = 420000 > py> idy = id(y) > py> idx == idy > True
I don't accept that as a counterexample. You will have to produce: (id(x) == id(y)) == (x is y) > False > (This is *implementation dependent* so your mileage my vary.) > >> Does that cover it? > > No. Your definition describes some properties of identity-equivalence, > but doesn't explain what identity actually means. That's the point. I don't think id() and "is" have any abstract meaning on top of the formal axioms. Marko -- https://mail.python.org/mailman/listinfo/python-list