sorts

Tree Tutorial 7: Type Labels, Sorts, Order Sorted Logic ['Mixed Domains']

Topic
Logical System
12/12/20

[Howson[1997] mentions this in Chapter 5, under 'mixed domains'.]

Readings

[These might help, you need only scan them.]

K.H.Blasius et al. eds.[1990] Sorts and Types in Artificial Intelligence
Maria Manzano [1996] Extensions of First-Order Logic
John Sowa [2000] Knowledge Representation

Type Labels II

Topic
Logical System

12/19/09

Extending the notation

At first site, having an equivalence between types (lower case letters a..v) and monadic predicates (upper case A..V) might seem limiting. But it can be extending to a degree by introducing definitions for more complex single variable predicates. For example, say you have

(Mx∧Dx)⊃Nx  (*notice the free variable x*)

as a fancier category (those things which if they are M and D are also N), then you could introduce a monadic predicate definition for this, via an equivalence eg

Order Sorted Logic

Topic

12/13/09 under construction

Order Sorted Logic

Reading

[scan only]

A Oberschelp [1990] 'Order-Sorted Predicate Logic' in K.H.Blasius et al. eds.[1990] Sorts and Types in Artificial Intelligence

Tutorial

We have seen that sorted logic is more natural in most settings (for example, we don't want to be concerning ourselves with whether Julius Caesar is or is not a prime number).

And the sorts may well be disjoint: people are one sort, numbers are another sort, and nothing is both.

Sorted Logic

Topic
Logical System

12/13/09

Sorted Logic

(Many) sorted logic, with sorts or sort labels, is very similar in concept and execution to the types and type labels just discussed (in fact, many texts use the two terms interchangeably). There is, though, a conceptual difference. It is that whereas both ordinary logic and logic with type labels use one (homogenous) domain or universe, sorted logic uses a (usually stratified, heterogenous) domain which consists of two or more sub-domains.

An example will help.

Type Labels I

Topic
Logical System

2013

Type labels are one way to approach what seem to be different domains in use in the same reasoning. What we are going to do here is to tag the variables with a type to indicate that they are subject to a particular monadic (one-place) predicate applying to what they pick out. An example will help, say 'All men die' is symbolized

(∀x)(Mx⊃Dx)