# Term Logic

The logic is based on the assumption of insufficient knowledge and resources, i.e. that the system has finite capacity, works in real time and is open to unanticipated tasks.

# Layers

• IL 1: atomic terms
• IL 2-4: derivative copulas & compound terms
• IL 5-6: statement and variable as term
• IL 7-9: even, goals and operation as term

# Term Logic

## Terms

``````S ⇒ P.
``````

Pᵉ is called the extension of P which is intuitively all terms that are specializations of / subclasses of P: `Pᵉ = {∀x | x ⇒ P}`.

Pⁱ is called the intension of P which is intuitively all terms are are generalization of / superclasses of P: P is a type of x): `Pⁱ = {∀x | P ⇒ x}`.

Evidence are the set of :

• positive evidence: `{∀x | x ∈ (Sᵉ ∩ Pᵉ) ∪ (Pⁱ ∩ Sⁱ)}`
• negative evidence: `{∀x | x ∈ (Sᵉ - Pᵉ) ∪ (Pⁱ - Sⁱ)}`

The Truth-values of a statement is a pair, <frequency, confidence> in [0, 1] x (0, 1) that indicates its evidential support. The Truth-Values are defined in terms of the level of supportive evidence for the statements S → P<f, c>:

• frequency is the propotion of positive evidence among all evidence (`f = w+ / w`) and
• confidence is the proportion of available evidence among evidence at an evidential horizton (`c = w / w (w + 1)`), e.g. c = 0 means "I have no idea" and 1 means "I'm pretty sure".

The meaning of a term is its experienced relation with the other terms.

The Truth-Value function design:

• `not(x) = 1 - x`
• `and(x, y) = x * y`
• `or(x, y) = 1 - (1 - x) * (1 - y)`

# Inference Rules

## Deduction Rules

• `M ⇒ P[f₁, c₁]`
• `S ⇒ M[f₂, c₂]`
• then `S ⇒ P[f, c] (f = and(f₁, f₂), c = and(f₁, f₂, c₁, c₂))`

For example:

• `bird ⇒ animal [1, 0.9]`
• `robin ⇒ bird [1, 0.9]`
• then `robin ⇒ animal [1, 0.81]`

## Induction Rules

• `M ⇒ P[f₁, c₁]`
• `M ⇒ S[f₂, c₂]`
• then `S ⇒ P[f, c] (w⁺ = and(f₁, f₂, c₁, c₂), w = and(f₂, c₁, c₂))`

For example:

• `swan ⇒ bird [1, 0.9]`
• `swan ⇒ swimmer [1, 0.9]`
• then `bird ⇒ swimmer [1, 0.45]`

## Abduction Rules

• `P ⇒ M[f₁, c₁]`
• `S ⇒ M[f₂, c₂]`
• then `S ⇒ P[f, c] (w⁺ = and(f₁, f₂, c₁, c₂), w = and(f₁, c₁, c₂))`

For example:

• `seabird ⇒ swimmer [1, 0.9]`
• `gull ⇒ swimmer [1, 0.9]`
• then `gull ⇒ seabird [1, 0.45]`

## Revision Rules

• `S ⇒ P[f₁, c₁]`
• `S ⇒ P[f₂, c₂]`
• then `S ⇒ P[f, c] (w⁺ = w₁⁺ + w₂⁺, w = w₁ + w₂)`

For example:

• `seabird ⇒ swimmer [1, 0.9]`
• `gull ⇒ swimmer [1, 0.9]`
• then `gull ⇒ seabird [1, 0.45]`

# Compound Terms (IL 2)

Ideas from Set Theory: variants of the inheritance copula: similarity, instance (proper names) and property (adjectives).

Compound terms: sets, intersections, differences, products and images.

## Similarity

`S ⇔ P` if and only if `S ⇒ P` and `P ⇒ S` (symmetric, reflexive and transitive).

Inference Rules for similarities:

M ⇒ P[f₁, c₁] P ⇒ M[f₁, c₁] P ⇒ M[f₁, c₁]
S ⇒ M[f₂, c₂] S ⇔ P[com] S ⇒ P[ana']
M ⇒ S[f₂, c₂] S ⇔ P[com] P ⇒ S[ana']
S ⇔ M[f₂, c₂] S ⇒ P[ana] P ⇒ S[ana] S ⇔ P[res]
• Comparison: `TODO`
• Analogy: `f = and(f₁, f₂)` and `c = and(f₂, c₁, c₂)`
• Resemblance: `f = and(f₁, f₂)` and `c = and(or(c₁, f₂), c₁, c₂)`

## Instances

In set theory, the primary relation is `∈` and `⊆` in that `A ⊂` if and only if `{∀x | x ∈ A ⇒ x ∈ B}`. But in term logic, we started from the `⇒` operator instead. `a ∈ A` is equivalent to `{a} ⊆ A`, so in term logic we do the reverse with `↦`, so `a ↦ A` is translated into `{a} ⇒ A`.

## Properties

For symmetry, the property operator connects terms with instances `↤` (adjectives). For example, `roses ↤ red` where `{red}` is interpreted as "red things"..

## Instance-Property

`Tweety is yellow` connects two instances by expanding both to sets: `{Tweety} ⇒ {yellow}`.

# Set-theoretic compound terms (NL-3)

## Intersection

Given T₁ and T₂ their extensional intersection T₁ ∩ T₂ is a compound term defined by `{∀x | x ⇒ (T₁ ∩ T₂) ⇔ ((x ⇒ T₁) ∧ (x ⇒ T₁))}`.

T₁ ∩ T₂ is a "special case" of both T₁ and T₂.

For example, "yellow bird" can be represented as `[yellow] ∩ bird)`.

## Union

Given T₁ and T₂ their extensional union T₁ ∪ T₂ is a compound term defined by `{∀x | x ⇒ (T₁ ∪ T₂) ⇔ ((x ⇒ T₁) ∨ (x ⇒ T₁))}`.

Conversely, T₁ ∪ T₂ is a "general case" of both T₁ and T₂.

## Differences

Given T₁ and T₂ their extensional difference T₁ - T₂ is a compound term defined by `{∀x | x ⇒ (T₁ - T₂) ⇔ ((x ⇒ T₁) ∧ ¬(x ⇒ T₁))}`.

For example, "yellow things that are not birds" can be represented as `[yellow] - bird)`.

## Multi-component Sets

An extensional set of `T₁, T₂, ..., Tₙ` is defined as `T₁ ∪ T₂ ∪ ... ∪ Tₙ`. Simmetrically, an intentional set of `T₁, T₂, ..., Tₙ` is defined as `T₁ ∩ T₂ ∩ ... ∩ Tₙ`.

In this way, the extensional set is defined by enumerating its instances whereas the intentional set is defined by enumerating its properties.

## Inference

There are inference rules that allow us to reason around things like the following:

• If A ⇒ B and
• A ⇒ C then
• does A ⇒(B ∩ C) ?
name frequency confidence
A[f₁, c₁] ∩ B[f₁, c₁] and(f₁, f₂) and(c₁, c₂)
A[f₁, c₁] ∪ B[f₁, c₁] or(f₁, f₂) and(c₁, c₂)
A[f₁, c₁] - B[f₁, c₁] and(f₁, not(f₂)) and(c₁, c₂)

# Relational Terms (NL-4)

NAL takes a set-theoretic approach to `P(a, b, c)` is to take the tuple `(a, b, c) ∈ P` or in the term logic interpretation of `{(a, b, c) ⇒ P}`.

For example, "water dissolves salt" can be represented as "{water x salt ⇒ dissolve}". Similarly, "dissolving is between a liquid and a solid" can be represented as `dissolve ⇒ (liquid x solid)`. Clearly, the last statement is different from `(liquid x solid) ⇒ dissolve` meaning "liquid dissolves solids".

conceptual relations is a relation between terms represented in one of the following three types:

• syntactic relation: a relation between a compound term and its components, like the relation between `yello` and `bird` in `yellow ∩ birds`.
• semantic relation: a relation between the subject term and the predicate term of a statement, `raven ⇒ bird`.
• acquired relation: a relation among components of a product, like the relation between raven and worm in `(raven x worm) ⇒ food`.

# Image and Projections

• if `(a x b x c) ⇒ P` and
• `d ⇒ b` then
• `(a x d x c) ⇒ P`?

# ANNEX

New inference rules for comparison, analogy, plus compound-term composition and decomposition.

Every concept in NARS is fluid: its meaning is determined neither by reference nor definition, but by experienced relations. Each relation is a matter of degree, meaning changes by history and context.

Higher-Order Reasoning: copulas (implication and equivalence), negation, conjunction and disjunction. Conditional Inferences as implications.

Variable terms as symbols.

Mathematical Reasoning: local axiomatic subsystem, for example so that it can answer "Is 1+1=2?".

Procedural Reasoning

Ideas from logic programmming. Events as statements with temporal relations (sequential and parallel).

Operations as executable events, with a sensorimotor interface.

Goals as events to be realized.

• Input
• Buffer
• Memory
• Inference
• Output

# Natural Language

• unified treatment of syntax, semantics and pragmatics
• does not depend on a given grammar or grammatical categories, and represent grammatical knowledge at multiple levels
• learning is on-line, one-shot, incremental, life-long and carried out by reasoning
• to treat meaning as experience-grounded and context-sensitive: the meaning of a word should be determined byu experience, rather by denotation or definition