制御フローグラフによるプログラム p とは、次のものの組をいう。
- 有向グラフ G=(N,E)(定義 2.1[グラフアルゴリズム])と、入口 s∈N、出口 t∈N。t の出次数は 0。
- 状態の集合 Σ、入力から初期状態への写像 in:X→Σ、状態から出力への写像 out:Σ→Y。
- t 以外の各頂点 n は文か判定のどちらかである。文 n は出次数が 1 で、写像 an:Σ→Σ(文の効果)をもつ。判定 n は出次数が 2 で、2 本の辺に 1(真)と 0(偽)のラベルが付き、写像 dn:Σ→{0,1} をもつ。dn は、条件 cn,1,…,cn,k:Σ→{0,1} とブール関数 φn:{0,1}k→{0,1}(定義 2.1[コンピュータアーキテクチャとCPUの構造])によって dn(σ)=φn(cn,1(σ),…,cn,k(σ)) と表されているとする。
入力 x に対する実行とは、次で定まる列 (n0,σ0),(n1,σ1),… をいう。n0=s、σ0=in(x)。ni が文なら σi+1=ani(σi) で、ni+1 は ni から出る辺の先。ni が判定なら σi+1=σi で、ni+1 はラベル dni(σi) の辺の先。nL=t となったら実行は終わり、p(x)=out(σL) を出力とする。このとき頂点の列 πp(x)=(n0,…,nL) は s から t への歩道(定義 2.2[グラフアルゴリズム])で、これを x の実行経路という。t に至らないとき p(x) は定まらない。
頂点・辺・s から t への歩道が、ある x∈D の実行経路に現れる(歩道の場合は実行経路に等しい)とき、それは実行可能であるという。