EE290N - Specification and Modeling of Reactive Real-Time Systems

Lecture 11 - October 1, 1996, Scribe: Stephen Edwards

Definition For the one-sided ordered signal s, V(s) is its sequence of values.

Note that one-sided ordered signals are functional with completely ordered tags that have a beginning, so this sequence is well-defined.

Definition The sequence prefix order is a partial order where

s1 <= s2 if and only if V(s1) is a prefix of V(s2)

(Here, <= denotes the partial order relation.)

Under this order, the following two signals are equivalent:

s1 = { (1,v1), (2,v2) }
s2 = { (1,v1), (5,v2) }

You can think of V(s) as defining signal equivalence classes.

It is intuitively clear that infinite signals are only prefixes of themselves, but nontrivial to show mathematically. Chapter four of the book discusses this in the context of Zorn's lemma and the Axiom of Choice.

Continuity, Monotonicity, and the Least Fixed Point Theorem

Definition If C is a set and F is a function, then F(C) is the set { F(c) | c in C }.

Definition A continuous function F satisfies, for every chain C,

F( lub(C) ) = lub(F(C)).

As a side effect, this definition is saying that lub(C) and lub(F(C)) both exist.

Theorem A continuous function on a CPO has a unique least fixed point.

This approach is termed ``Tarskian'' (as opposed to metric-based) because this fundamental fixed-point theorem is based on the Knaster-Tarski fixed point theorem (which only applies to lattices).

Theorem A continuous function is monotonic, i.e.,

s1 <= s2 implies F(s1) <= F(s2).

See the slides for proof details.

The concept of monotonicity is essentially causality in the sequence prefix order, that is, if a longer sequence (with the same prefix) comes in, the old output must be a prefix of the new.

Not all monotonic functions are continuous. Consider the function

F(s) = [0] when s is finite-length
[0,1] when s is infinite-length

It is easy to show this is monotonic (consider all four cases of when s is finite and infinite), but it is not continuous: take any infinite chain of finite-length sequences. Its limit is infinite, and therefore F(lub(C)) = [0,1], yet F(C) is nothing but [0]s, so lub(F(C)) = [0].

Examples of continuous functions:

Continuous functions are closed under process composition (i.e., parallel, sequential, parallel with a determinate process).

Why ``Continuous''?

The idea is that for a chain C, lub(C) is a ``limit.''

A limit in the metric space is the following: A sequence has a limit l if there are only a finite number of points in the sequence outside any open neighborhood around l.

So what is a neighborhood in the sequence prefix order? Inspiration comes from topology and the first homework problem:

Definition A set of open sets T in a space A a topology if it satisfies

  1. The empty set Ø and the space A are in T
  2. T is closed under finite set intersection
  3. T is closed under finite or infinite set union

This directly inspires the Scott Topology, induced on the space of N-tuples of signals SN:

  1. Any set of tuples of signals whose elements have a particular finite signal s as a prefix are in the topology.
  2. The empty set is in the topology
  3. An arbitrary (i.e., finite or infinite) union of sets from cases 1. or 2. is in the topology.

Why is lub(C) a limit? Let s = lub(C), and consider what an open set containing s looks like. It must contain all signals that have some prefix of s as a prefix, i.e., all signals that agree with s up to some finite point. Thus, any open set containing the limit also contains all but a finite number of members from C.