|
I am working [1] with a certain structure, and I wonder if someone has seen it before. I am no mathematician, so all I can say is that I will do my best to describe this structure. It is actually very simple. I am sure I have seen it (and its interpretation) somewhere, years ago, perhaps in some old first year university textbook on the philosophy of language, but haven't been able to find it. The structure is a first order theory, with predicates similar to those of a formal set theory (of the ZFC type). The main difference with set theory is that it doesn't incorporate the axioms Fraenkel called "constructive" (e.g. in the introduction to Paul Bernays' "Axiomatic set theory" [2]), and limits itself to the basic axioms of equality and extensionality and definition of subset. Appart from this, the theory only defines a tuple operator and a few primitive atoms (see [1], the "words" section). This, and a few relations among these atoms (given by the quasy-set-theoretic predicates outlined above), result in a very simple and limited structure, consistent and complete - as its full expansion is just a handful of sentences. This structure is used by extending it with new ad hoc atoms, relations among the atoms, and rules (implications), to model natural language "texts". The interesting thing here is to model assertive, factual natural sentences as tuples, instead of as actual formal sentences. As an example, we might have (john loves sue) belongs_to fact. Here, 'john', 'loves', 'sue', and 'fact' would be atomic terms, individuals; '(john loves sue)' would be an operation, valued as an individual; '()' would be the tuple operator; and 'belongs_to' would be a predicate symbol. This allows us to reason about (sufficient enough) sentences of the natural language without any restriction, and use first order variables indistinctly for "facts", "verbs", "nouns", or "names". I oppose this to the idea of representing natural sentences as formal sentences, using predicate symbols to represent all verbs, and running to limitations with classes, quantification of predicates, and Russell's paradox. "Copular" sentences (formed with copular verbs, such as "to be") are excluded from the above, and are represented as formal sentences; i.e., the formal predicates are interpreted as the copular verbs. So "a person is a thing", or "john is a person", might be expressed as: person subset_of thing. john belongs_to person. And that's it, more or less. Does this make any sense? My memory may have failed me and I may have implemented some deranged half baked scheme; On the other hand, I do think that my work with it is allowing me to express some "ontologies" that, in my (limited) experience, cannot be easily expressed with other systems (for example, see [3]). 1.- https://github.com/enriquepablo/terms#the-terms-knowledge-store 2.- http://books.google.es/books/about/Axiomatic_set_theory.html?id=aHi4AAAAIAAJ 3.- https://github.com/enriquepablo/terms/blob/master/terms/core/tests/shegets.test |
|
The closest thing I have seen to what you are suggesting is Tim Berners Lee's Notation 3 (aka N3). It is an extension of RDF/OWL that has modalities & quantifiers and uses a simple tuple based syntax instead of XML, so it can support at least some of the constructions you are suggesting. However it is not clear what kind of thing you are looking for: formal logical foundations, an implemented AI system (which may not have a formally defined seamantics). Various higher order logics can do some of the things you are after. On the other end of the spectrum the Cyc system can represent pretty much anything, but there is no consistent formal semantics, since it can also represent all the standard paradoxes. It mainly relies on the fact that inference engine does not usually bump into them. Arguably that in itself is not too different to how mathematics worked prior to Frege, Goedel, Russel & co or how ordinary language works. Of course the actual inference mechanisms are way different :). As others have said, you will probably have more luck on other forums. may ontology & semantic web forums. Thanks for the answer, Daniel. I did not know thge Cyc system, I will look at it in detail. In any case, as you ands others suggest, I have asked this in other forums (for now, math and cs theory in stack exchange [1]). Concerning the semantics of the system (referenced as [1] in the OP), from a logical point of view, it would be interpreted in (a subset of) the natural language, assuming that words are the individuals of the domain and sentences are the relations among those individuals. From a computer science point of view, programs entered into the sysytem are compiled to a RETE network, which is what gives it its operational semantics. 1.- http://cs.stackexchange.com/questions/7207/has-someone-seen-this-structure-before
(Dec 10 '12 at 10:23)
Enrique Pérez Arnaud
|
try instead http://lambda-the-ultimate.org/
@marshallp: I see that you are also in lambda-the-ultimate, so I'm not sure whether your suggestion is serious or jocular (of course, I will assume that you are talking seriously). I did try, twice: [1], [2]. In that place, I found people who were interested in discussing combinations of a very defined set of concepts, but who had no time for anything else, at least while there. They didn't answer my question, and their hints didn't show me that the question is invalid. So I kept seeking an answer elsewhere. I don't think that understanding my question, just to be able to show how it is wrong, would take more than half an hour, so I have to keep trying. In any case, assuming you've seen my posts at lambda-the-ultimate, I would genuinely ask you whether you think this here would be a better and appropriate wording for l-t-u... I felt I would be spamming them with a 3rd thread. If you agree, I would send them a link to this.
1.- http://lambda-the-ultimate.org/node/4624
2.- http://lambda-the-ultimate.org/node/4640
@marshallp There seems to be some mismatch between what I call "my question" in my previous answer and the original question in the OP. Of course, I am interested in finding where did I get this idea from (as the original question suggests). But if you follow my first reference in the OP, you will see that I have invested quite some time in this idea, and will understand that my main concern is whether the actual idea is sane or not.
I hadn't been to that site in years so I didn't know you already went there. You should just drop programming lenguage stuff, it's going nowhere. Become a machine learningist instead, you can think of if as completely automated programming.
Why not try this question on mathoverflow, math stackexchange or the theoretical computer science stack exchange? Those all seem to make more sense than a machine learning question and answer site.