Re: Principles of Identity in Web Architecture

> On 15. Jun 2021, at 21:20, Roy T. Fielding <fielding@gbiv.com> wrote:
> 
>> On Jun 14, 2021, at 8:22 PM, Patrick J. Hayes <phayes@ihmc.org> wrote:
>> 
>> Congratulations on mis-stating the textbook example.
>> 
>> Clark Kent = Superman
>> 
>> but
>> 
>> Lois Lane believes ( Clark Kent != Superman )
>> 
>> And, of course, she is /wrong/.
>> 
>> You see the problems you get into by not keeping a secure hold on the real notion of identity?
>> 
>> OK, I swear, no more from me on this topic.
>> 
>> Pat
> 
> Software architecture isn't about preserving some purity of philosophical thought.
> It's about understanding the needs of those caught within the system, such that
> the system can be built to serve their needs (and not just your own). If the system
> is designed to require "Clark Kent = Superman" in order to preserve an abstract
> notion of purity, then it serves neither Clark Kent nor Superman, defeats the reason
> for having a secret identity, and crushes an untold number of story lines (not to
> mention mythical characters). Thus, the system must be designed to have no
> equivalence between those identities even when they are the same individual.
> The system has to make every effort to preserve a != even if it might be absurdly
> obvious to others.

There are good logically and philosophical answers for dealing with Opaque
belief contexts, and on the semantic web we have the tools - as we must -
for them in the guise of named graphs, N3 contexts or possibly graph literals.

There are possible worlds interpretations of such contexts that allow one to speak of
mythical creatures: see David Lewis’ beautiful essay "Truth in Fiction” [1].

This story goes a long way back, but in its modern form, we can start with Frege’s
work, and his famous analysis of the difference information content between the
statement ”Hesperus == Hesperus” and ”Hesperus == Phosophorus”, ie "the morning star
 == the Evening Star" which was a major scientific discovery, as both were found
to be the planet Venus. For most of human history this identity was not known. Note
that it was not hidden either. It just took a lot of piecing of facts together and
building models to be able come to that conclusion.

For us engineers, Lewis’ student Robert Brandom, whose main work has been on merging
the analytic and pragmatic philosophical traditions together (”Between saying and
doing”) the two come together in realizing the importance of the inferential
consequences of statements. It is easy to see that Lois Lane cannot make
the right inferential transitions because she is missing a proof of
an owl:sameAs statement between  marvel:Superman and marvel:ClarkKent .
Note: It is not enough to be given such a statement either: one has to consider it to be believable first of all, and then believe it to be true, and change one’s other
beliefs that may now have become incompatible with the newly accepted statement.
That can be a painful process.

So if two names are co-referential in a strong way, then it is reality that is
enforcing that co-referentiality together with the identity criteria that come
with the type of object being described. So the coreferentiality of two terms
need certainly not be known as the Hesperus story shows.

IT does take a some work it is true to keep identities separate in the modern
information driven world, in very large part because we have allowed massive centralised
systems to emerge, where a few actors have a huge amount of data they can use to build
correlations between identifiers. But that is not a logical problem of identity and
reference, but rather one of often unnecessary information asymmetry.


> And, of course, that isn't the textbook example. It's a comic book example.
> The textbook would be non-out LGBQ+, people hiding from their abusers,
> employees fearful of losing a job, etc. There's no shortage of them.
> 
> So, when you see an identity system being designed, and your knee-jerk reaction
> is to say that every individual can only have one identity (and thus must be designed
> as such as an inherent part of that system), please understand that is not good
> software design, and certainly isn't a principle we would want to adhere to.

I am not sure who in this thread said that every individual should have only
one identifier.

I have the feeling that you are drawing the wrong conclusion from the principle that
URIs should refer to only one ”thing", if they refer at all. But that does not say that there can’t be many identifiers for the same person or object as we saw with Hesperus
and Phosphorus, and also that most things will never have identifiers at all. We can
easily create many identifiers for each of us using [2].

Now there are arguments for objects not needing to have one identity but many, coming
from the forefront of mathematics: Homotopy Type Theory. As it turns out the types of objects that have only one way of being equal are sets. But there are other objects in
higher spaces that have more ways of being equal. These allow equalities between equalities,
and equalities between equalities between equalities. The interesting things about
that is that HoTT has been used to show that isomorphic mathematical types are equivalent:
the principle of Univalence.

So for example it can be shown that the binary numbering system which is easy to model
is equivalent to the decimal modeling system and so mathematically they are the same,
in a slightly shifted meaning of the same [3] If you can write proofs from one system to the
other and back (in the right way) then you have shown these types to be equivalent.

Henry


[1] https://andrewmbailey.com/dkl/
[2] https://www.w3.org/2005/Incubator/webid/spec/identity/
[3] https://homotopytypetheory.org/book/



> 
> ....Roy

Henry Story

https://co-operating.systems
WhatsApp, Signal, Tel: +33 6 38 32 69 84‬
Twitter: @bblfish

Received on Tuesday, 15 June 2021 21:08:27 UTC