Using the PCF to select appropriate representations

Claim 1: A possrep can be formalised as a non-empty relation where

  1. the components of the possrep are exactly the attributes of the relation;
  2. the relation is the extension of the possrep constraint (regarded as a predicate parameterised on the attributes); and
  3. each element of the relation (i.e. tuple) is assumed to represent a value of the type of the possrep. This is similar in nature to a formal semantics.

Claim 2: Every possrep has a well defined prime factorisation (obviously since every possrep is formalised by a particular non-empty relation)

Claim 3: All things being equal, possreps with more prime factors tend to be more desirable.

Example

Consider a type for geometrical points constrained to an annulus

possrep 1: R1 = { (x,y) ∈ ℝ2 | 1 < x2+y2 < 9 }. Prime factorisation = {R1}

possrep 2: R2 = { (r,t) ∈ ℝ2 | (1<r<3) ∧ (-π≤t<π) }. Prime factorisation = {R,T} where R = { (r) | 1<r<3 } and T = { (t) | -π≤t<π }

An interesting idea is to consider in turn a possrep on each component of a possrep and so on. Without prejudice from type systems, this provides some basis for properly maximising the number of prime factors. As a simple example, a representation of a circle with centre and radius, where the centre can in turn be represented either by (x,y) or (r,t) coordinates.

It may seem odd to have talked about a type of geometrical point constrained to an annulus. It's less odd if you consider that such a constraint may exist on an attribute of a "containing" possrep in which the geometrical point appears. For example we may be interested in circles centred at positions in an annulus, which would suggest a representation using (r,t) for the centre of the circle might be best.

Example

Consider the ellipse E(CX,CY,A,B) with locus

{ (x,y) ∈ ℝ2 | ((x-CX)/A)2 + ((y-CY)/B)2 = 1 }

and the predicate

P(cx,cy,a,b) = the ellipse has centre (cx,cy), major radius a and minor radius b

In the context of the ellipse E(CX,CY,A,B) the predicate P(cx,cy,a,b) has an extension with a single tuple

TUP { <cx CX> <cy CY> <a A> <b B> }

The predicate P(cx,cy,a,b) is equivalent to the conjunction

the centre of the ellipse has x-coord cx AND
the centre of the ellipse has y-coord cy AND
the major radius of the ellipse is a AND
the minor radius of the ellipse is b

If you project away cy,a,b then you get a relation with a single tuple

TUP { <cx CX> }

which is the extension of the predicate

there exists cy,a,b such that
the centre of the ellipse has x-coord cx AND
the centre of the ellipse has y-coord cy AND
the major radius of the ellipse is a AND
the minor radius of the ellipse is b

which is equivalent to

the centre of the ellipse has x-coord cx

because for example

there exists cy such that the centre of the ellipse has y-coord cy

is true.