Re: General semantics

From: Nilone <reaanb_at_gmail.com>
Date: Thu, 20 May 2010 03:27:09 -0700 (PDT)
Message-ID: <9854ebf1-5376-4e3d-b015-5fcaaa222cf2_at_34g2000prs.googlegroups.com>


On May 20, 1:56 am, paul c <toledobythe..._at_oohay.ac> wrote:
> That's not the first time I had the impression that Russell was
> foretelling the future.  Maybe there's a clue in a sentence you snipped:
>
> "... This view is derived, I think, probably unconsciously, from a
> philosophical error: it has always been customary to suppose relational
> propositions less ultimate than class-propositions (or subject-predicate
> propositions, with which class-propositions are habitually confounded),
> and this has led to a desire to treat relations as a kind of classes."
>
> Looks to me as if the 'error' he's talking about is either the same as
> what Date and Darwen call a "Great Blunder" or some kind of
> relation-valued attribute! (Can't remember if it would be the first or
> second Great Blunder

It sounds like the first one (http://c2.com/cgi/wiki? FirstGreatBlunder).

After my previous post, I read further (about the calculus of classes, see http://fair-use.org/bertrand-russell/the-principles-of-mathematics/ch2sB). Russell explains at length the difference between a class (the extension) and a class-concept (the intention). To distinguish OOP classes from Russell's definition of class, in this post I'll refer to the former as OOP classes, and to the latter as the class domain.

I suspect now that OOP languages fail to properly distinguish the difference and relationship between intension and extension. The specification of the OOP class defines a class-concept, which can be seen as a relation from an OID to a set of values (and possibly methods). The constructor can be seen as a function selecting an object from the class domain. OOP interfaces correspond to relations between class-concepts, while abstract classes correspond to normalization. Virtual methods include the signature of a method in the class-concept, while deferring the implementation to the class domain. Hence, in a concrete class with virtual methods, we have both a class-concept and a default value for its domain. Relations between class-concepts extend to the class domain, but don't include the default implementation. Furthermore, the inability to enumerate the domain class of an OOP class leads to developers creating ad-hoc collections, and the failure to distinguish intension from extension and default values leads to faulty reasoning about all aspects of the system.

So this deviates from Date's point of view, in that I equate object class with relation and not with domain or relvar. I hope my reasons are sufficient, if not, I await your criticism. Received on Thu May 20 2010 - 12:27:09 CEST

Original text of this message