Frontier Software

Robert Laing's programing notes

State Machines

By Robert Laing

Universal Quantification

Leslie Lamport (Invited Talk Q&A) -If You’re Not Writing a Program, Don’t Use a Programming Language 35

State machines are a set of sets (ie, nested sets). I’m going to use the curly bracketed {S1, S2, …, Sn} notation, though that conflicts with the Json etc convention of using curly brackets for dictionaries, C-family for starting and ending statement blocks etc.

Each state Si in turn is made up of a set of bases. In General Game Playing notation, the start state is defined in Prologish terms as something like init(b1). init(b2). … which could be gathered by findall(Base, init(Base), Bases) into a set S1 = {b1, b2, …, bn}.

The alphabet of bases for a given game is usually provided by base(b1). base(b2). … and the current state is assumed to be globally stored as true(b1). true(b2). … by next(bi), legal(role, action), and other Game Description Language members of the ten game-independent relation constants.

Herbrand Logic

An argument is said to be valid if there is no possible situation in which its premises are all true and its conclusion is not true. An argument which is not valid is called invalid. When an argument is valid, its premises are said to entail its conclusion.
universal quantification
existential quantification
∧ (& ,)
∨ (| ;)
¬ (~ +)
semantic turnstile

William Rowan Hamilton

Alan Turing’s Intelligent Machinery

Types are not sets

Hierarchical Program Structures

Transition Diagrams

Transition Function

Transition Table

Last updated on 12 Jan 2021
Published on 12 Jan 2021

Content Footer