# Soggy Predicates

Warning: I suggest to either directly use the subset notation (see below) or introduce a SoggyLink to turn any predicate into a soggy predicate where the domain of that soggy predicate is and only the powerset of the domain the given predicate. Automatically extending the domain of a predicate to its powerset leads to bad foundations.

A Simple Observation Grounded predicate, or Soggy predicate, is an uncertain predicate F so that: For each x, the number F(x) lies in [0,1] and can be interpreted as the average degree to which an arbitrary element of some set O of observations has property F. (Here we assume that the degree to which a specific observation has a property F is itself a number in [0,1])

(Note that the set of observations O need not be the observations actually made by the AI system whose memory contains the predicate — it may be observations made by some other hypothesized entities, etc.)

In this case we have a clear interpretation for

EvaluationLink <s>
PredicateNode F
Atom x


So we can say

PredicateNode F <t>


means the average degree to which an arbitrary element y of the AI system’s “default set of observations” satisfies F (i.e. the average over this default observation-set of F(y))…

Or, for an observation-set C, we can say

ContextLink <t1>
ConceptNode C
PredicateNode F


where t1 is the average over F(y), where y is counted in the average with a weight proportional to the degree to which y is in C.

So then

PredicateNode F <t>


means, conceptually,

ContextLink <t>
>default context<
PredicateNode F


Next, we can then define

EvaluationLink <s>
PredicateNode F
Atom x


as being equivalent to

MemberLink <s>
Atom x
SatisfyingSet
PredicateNode F


Basically, this is just defining the membership function of the fuzzy set

   SatisfyingSet
PredicateNode F


in a particular way.

We can then convert this to

Subset <s>
Atom x
SatisfyingSet
PredicateNode F


because of the way F was originally defined.

This becomes a bit subtle to interpret in the case that the argument of F is a list.

For example,

EvaluationLink <s>
PredicateNode “eat”
ConceptNode “cat”
ConceptNode “mouse”


converts to

SubsetLink <s>
ConceptNode “cat”
ConceptNode “mouse”
SatisfyingSet
ConceptNode “eat”


which means that s is the average degree to which an observation (in the default overall observation-set) involving “eat”, also involves the pair (eater = cat, eatee=mouse).

## Interpretation in terms of Multisets

One way to phrase the above interpretation is to introduce the multiset interpretation of fuzzy membership degrees from

and to associate F with a multiset $\displaystyle M_F$ , in which an entity $\displaystyle x$ has $\displaystyle n(F,x)$ copies, where this number of copies is then proportional to the degree to which $\displaystyle x$ has property $\displaystyle F$ . If we assume the degrees of membership of $\displaystyle F$ are of the form $\displaystyle k \over N$ , then $\displaystyle n(F,x) = m$ means $\displaystyle F(x)$ has degree $\displaystyle m \over N$ .

Suppose $\displaystyle F$ is Soggy, and $\displaystyle x$ has been observed $\displaystyle M$ times, and $\displaystyle p$ of these observations have fully manifested property $\displaystyle F$ , and the other $\displaystyle M-p$ observations have manifested $\displaystyle F$ not at all. Then in the multiset interpretation, we can set

$\displaystyle n(F,x) = N * {p \over M}$

More generally we have

$\displaystyle n(F,x) = N * { \sum_{i=1}^M d(F,x_i) \over M }$

where $\displaystyle x_i$ is the i’th observation of x, and $\displaystyle d(F,x_i)$ is the degree to which $\displaystyle x_i$ manifests $\displaystyle F$ .

This multiset interpretation has the advantage of

• presenting fuzzy degrees as probabilities (across multisets rather than ordinary sets
• providing a formal justification for the use of fuzzy set (min/max) algebra