-
Notifications
You must be signed in to change notification settings - Fork 0
Alphabetised Relational Calculus
The core of the UTP is the alphabetised relational calculus which acts as a lingua franca for denotational semantics of programming and modelling languages. The relational calculus combines typical predicate calculus operators, such as Boolean connectives, with binary relation algebra operators such as sequential composition and if-then-else conditional. The main type for relations is
The main operators of the mechansied relational calculus and their types are give below.
-
Sequential composition:
P ;; Q
, forP :: (α, β) urel
andQ :: (β, γ) rel
-
Conditional (infix if-then-else):
P ◃ b ▹ Q
, forP, Q :: (α,β) rel
andb :: α upred
-
Assignment:
⟨σ⟩ :: α hrel
, forσ :: α ⇒ α
-
Identity (skip):
II :: α hrel
-
Universal relation:
true :: (α,β) rel
-
Empty relation:
false :: (α,β) rel
-
Weakest fixed-point:
μX∙ F(X)
, forF :: (α, β) rel ⇒ (α, β) rel