The objective is to define mathematical concepts found in Erlang.
Define what is meant by State.
- A State
s
is a finite amount of data — i.e. 0s and 1s in a memory somehere.
Define a process.
- A process
p
has:- addresses(p) : List Address
- state(p) : State
- computation(state(p)) ≡ next(p) : Message → Message × State
- There is a function lookup(address) : Process
- send(address, msg) causes lookup(address) ≡ p to receive msg.
- If: p_next ≡ next(p), then: p_next(msg) ≡ (n_msg, n_state) is called.
- n_msg my be sent.
- state(p) :≡ n_state
- Concepts are selected from various sources and experiences listed below.
- The various ideas are encoded using Type Theory