Concurrent MetateM
# Concurrent MetateM

Concurrent MetateM is a multi-agent language in which each agent is programmed using a set of (augmented) temporal logic specifications of the behaviour it should exhibit. These specifications are executed directly to generate the behaviour of the agent. As a result, there is no risk of invalidating the logic as with systems where logical specification must first be translated to a lower-level implementation.

The root of the MetateM concept is Gabbay's separation theorem; any arbitrary temporal logic formula can be rewritten in a logically equivalent past → future form. Execution proceeds by a process of continually matching rules against a history, and firing those rules when antecedents are satisfied. Any instantiated future-time consequents become commitments which must subsequently be satisfied, iteratively generating a model for the formula made up of the program rules.

## Temporal Connectives

The Temporal Connectives of Concurrent MetateM can divided into two categories, as follows:

* Strict past time connectives: '●' (weak last), '◎' (strong last), '◆' (was), '■' (heretofore), 'S' (since), and 'Z' (zince, or weak since).
* Present and future time connectives: '◯' (next), '◇' (sometime), '□' (always), 'U' (until), and 'W' (unless).

The connectives {◎,●,◆,■,◯,◇,□} are unary; the remainder are binary.

### Strict past time connectives

**Weak last**

●ρ is satisfied now if ρ was true in the previous time. If ●ρ is interpreted at the beginning of time, it is satisfied despite there being no actual previous time. Hence "weak" last.

**Strong last**

◎ρ is satisfied now if ρ was true in the previous time. If ◎ρ is interpreted at the beginning of time, it is not satisfied because there is no actual previous time. Hence "strong" last.

**Was**

◆ρ is satisfied now if ρ was true in any previous moment in time.

**Heretofore**

■ρ is satisfied now if ρ was true in every previous moment in time.

**Since**

ρSψ is satisfied now if ψ is true at any previous moment and ρ is true at every moment after that moment.

**Zince, or weak since**

ρZψ is satisfied now if (ψ is true at any previous moment and ρ is true at every moment after that moment) OR ψ has not happened in the past.

### Present and future time connectives

**Next**

◯ρ is satisfied now if ρ is true in the next moment in time.

**Sometime**

◇ρ is satisfied now if ρ is true now or in any future moment in time.

**Always**

□ρ is satisfied now if ρ is true now and in every future moment in time.

**Until**

ρUψ is satisfied now if ψ is true at any future moment and ρ is true at every moment prior.

**Unless**

ρWψ is satisfied now if (ψ is true at any future moment and ρ is true at every moment prior) OR ψ does not happen in the future.

