SLIDE 41 Examples of Math-BNF
We take a look back at some of the expressions covered in this talk.
e = x | λx.e | e e v = λx.e a = A[v] A = [ ] | A[λx.A]e
Eℓ,m ∈ ECtxℓ,m
n
::= •[m = ℓ] | λx.Eℓ,m[ℓ > 0] | Eℓ+1,m |˜Eℓ−1,m[ℓ > 0]| ! Eℓ,m | Eℓ,m eℓ | vℓ Eℓ,m[ℓ > 0] | c Eℓ,m[ℓ = 0] Eℓ,m ∈ ECtxℓ,m
v
::= •[m = ℓ] | λx.Eℓ,m[ℓ > 0] | Eℓ+1,m |˜Eℓ−1,m[ℓ > 0] | ! Eℓ,m | Eℓ,m eℓ | vℓ Eℓ,m
P, Q ::= Σi∈nGi | (P|Q) G ::= ab.P | a(b).P | νa.P | τ.P | ♥.P
u∈UVar = a set of identifiers k ∈ CVar = a set of identifiers lam ∈ Lam=ULam+CLam ulam ∈ ULam::=(λe(u∗k)call) clam ∈ CLam::=(λγ(u∗)call) call ∈ Call = UCall + CCall ucall ∈ UCall ::= (fe∗q)ℓ ccall ∈ CCall ::= (q e∗)γ e, f ∈ UExp = UVar + ULam q ∈ CExp = CVar + CLam ψ ∈ Lab = ULab + CLab ℓ ∈ ULab = a set of labels γ ∈ CLab = a set of labels pr ∈ Pr = {ulam : ulam ∈ Ulam, closed(ulam)} τ+ ::= bool|τ−
1
→ τ+
2 | {ℓ1 : τ+ 1 , ..., ℓn : τ+ n }|
α|τ+
1 ⊔ τ+ 2 |⊥|µα.τ+
τ− ::= bool|τ+
1
→ τ−
2 | {ℓ1 : τ− 1 , ..., ℓn : τ− n }|
α|τ−
1
⊓ τ−
2 |⊤|µα.τ−
David Feller (Heriot Watt University) What Does this Notation Mean Anyway? July 19, 2017 27 / 30