Goal and scope
Given the finite model (S,Init,Step,Halt) with S={s0,s1,s2,s3,s4,s5,s6}, Init={s0}, Halt={s3} and raw edge data {(s0,s1),(s0,s2),(s1,s3),(s1,s5),(s2,s4),(s4,s2),(s3,s6)}: truncate edges out of halt states as the MKO requires, compute the reachable set by fixpoint iteration, identify halt states, stuck states and reachable cycles, exhibit legal halting, stuck and infinite executions, rule out three illegal traces, and explain why depth-bounded exploration that has not exhausted the reachable graph cannot certify termination of all maximal executions merely from the absence of an observed counterexample.
Works inside the MKO's scope: S is an explicitly given finite set of states and Step is a directed relation that may be nondeterministic (assumption a1); reaching Halt stops execution, and edges out of halts are truncated before analysis (assumption a2). Effective encodings, fairness and the layering of deterministic and nondeterministic models are not treated, and the canonical MKO and its English edition are not changed.
Main derivation
S01 · implies
Before
\mathrm{Init}=\{s_0\},\ \mathrm{Halt}=\{s_3\},\ E_{\mathrm{raw}}After
\mathrm{Init},\mathrm{Halt}\subseteq S,\ E_{\mathrm{raw}}\subseteq S\times SConditions: none
Rule: subset_def · Uses: G1, G2
Leaf basis: subset_def + cartesian_product_def + mko_computational_model_def
First check that the data form a model in the MKO's sense: s0 and s3 lie in S, so Init, Halt⊆S; each of the seven ordered pairs of E_raw has both components in S, so E_raw⊆S×S. Ordered pairs keep their direction; for example (s2,s4) and (s4,s2) are two different edges.
S02 · implies
Before
E_{\mathrm{raw}}After
\mathrm{Step}=E_{\mathrm{raw}}\setminus\{(s_3,s_6)\}=\{(s_0,s_1),(s_0,s_2),(s_1,s_3),(s_1,s_5),(s_2,s_4),(s_4,s_2)\}Conditions: \mathrm{Halt}=\{s_3\}
Rule: set_operations_def · Uses: S01, G3
Leaf basis: set_operations_def + numeric_evaluation
By MKO assumption a2, delete every edge whose source is a Halt state. Of the seven edges only (s3,s6) starts at s3∈Halt; deleting it leaves 6 edges. Although the data contain (s3,s6), the model says execution stops on reaching s3, so this edge is not part of the execution semantics.
S03 · implies
Before
\mathrm{Post}(s)=\mathrm{Step}[\{s\}]After
\mathrm{Post}:\ s_0\mapsto\{s_1,s_2\},\ s_1\mapsto\{s_3,s_5\},\ s_2\mapsto\{s_4\},\ s_4\mapsto\{s_2\},\ s_3,s_5,s_6\mapsto\varnothingConditions: none
Rule: mko_relation_def · Uses: S02, mko_relation_def
Leaf basis: mko_relation_def + set_builder
For each state collect the targets of the Step edges starting there. s0 and s1 each have two successors, so the model is nondeterministic; s3, s5 and s6 have no successors. This successor table underlies every later computation.
S04 · theorem_application
Before
R_0=\mathrm{Init},\ R_{k+1}=R_k\cup\mathrm{Step}[R_k]After
R_{m+1}=R_m\ \Rightarrow\ \mathrm{Reach}=R_mConditions: S\ \text{finite}
Rule: L_fix · Uses: S03, reach_def
Leaf basis: nat_induction + set_operations_def + reach_def
Reachability is the closure under zero or more Step moves starting from Init (MKO paragraph 1). Apply Lemma L_fix (proved in S04.1 and S04.2): add successors round by round, and as soon as a round adds nothing, the current set is Reach. Since R_k is increasing inside the finite S, it must stop growing within |S|=7 rounds.
S05 · implies
Before
R_0=\{s_0\}After
R_1=\{s_0,s_1,s_2\},\ R_2=\{s_0,s_1,s_2,s_3,s_4,s_5\},\ R_3=R_2\ \Rightarrow\ \mathrm{Reach}=R_2Conditions: none
Rule: L_fix · Uses: S03, S04
Leaf basis: set_operations_def + mko_relation_def + numeric_evaluation
R_1=R_0∪Post(s0)={s0,s1,s2}. R_2=R_1∪Post(s0)∪Post(s1)∪Post(s2)={s0,s1,s2}∪{s1,s2}∪{s3,s5}∪{s4}={s0,s1,s2,s3,s4,s5}. R_3 further adds Post(s3)=∅, Post(s4)={s2} and Post(s5)=∅, giving no new state, so R_3=R_2. By L_fix, Reach=R_2 with 6 states; s6 is unreachable.
S06 · implies
Before
E_{\mathrm{raw}}[R_2]After
s_6\in E_{\mathrm{raw}}[R_2]\ \text{but}\ s_6\notin\mathrm{Reach}Conditions: none
Rule: set_operations_def · Uses: G2, S05
Leaf basis: set_operations_def + mko_relation_def
Contrast: if truncation is forgotten and E_raw is used directly, round 3 adds s6 through (s3,s6), giving 'all 7 states reachable' and treating s3 as a state that can continue. That contradicts MKO assumption a2. In the correct analysis s6 is unreachable and s3 is an endpoint of execution.
S07 · implies
Before
\mathrm{Reach}=\{s_0,s_1,s_2,s_3,s_4,s_5\}After
\mathrm{Reach}\cap\mathrm{Halt}=\{s_3\},\ \{s\in\mathrm{Reach}\setminus\mathrm{Halt}\mid\mathrm{Post}(s)=\varnothing\}=\{s_5\}Conditions: none
Rule: set_builder · Uses: S03, S05, G1
Leaf basis: set_builder + mko_computational_model_def
Among the reachable states, only s3 is in Halt. The only state not in Halt and without successors is s5: it is a stuck state. s3 also has no successors, but it is in Halt, so it halts rather than gets stuck; conversely, having no successors does not make s5 a halt state (the MKO statement). s0, s1, s2 and s4 all have successors.
S08 · implies
Before
(s_0,s_1,s_3)
After
\text{legal execution that halts at}\ s_3Conditions: none
Rule: mko_computational_model_def · Uses: G3, S02
Leaf basis: mko_computational_model_def + exists_intro
Check the trace (s0,s1,s3): the first state s0∈Init; (s0,s1) and (s1,s3)∈Step; the last state s3∈Halt, where execution ends. This is a legal halting execution.
S09 · implies
Before
(s_0,s_1,s_5)
After
\text{legal maximal execution, stuck at}\ s_5\notin\mathrm{Halt}Conditions: none
Rule: mko_computational_model_def · Uses: G3, S02, S07
Leaf basis: mko_computational_model_def + exists_intro
(s0,s1,s5): s0∈Init and (s0,s1), (s1,s5)∈Step, so it is legal; Post(s5)=∅, so it cannot continue and is maximal; s5∉Halt, so it is stuck rather than halted.
S10 · case_split
Before
t_0=s_0,\ t_{2k+1}=s_2,\ t_{2k+2}=s_4\ (k\ge 0)After
\forall n\ge 0,\ (t_n,t_{n+1})\in\mathrm{Step},\ t_n\notin\mathrm{Halt}Conditions: none
Rule: case_analysis · Uses: G3, S02, G1
Leaf basis: case_analysis + nat_induction + mko_computational_model_def
Define a sequence indexed by all of ℕ: t0=s0, odd positions t_{2k+1}=s2, positive even positions t_{2k+2}=s4. Check consecutive pairs for every n in three cases: for n=0, (s0,s2)∈Step; for n=2k+1, (t_n,t_{n+1})=(s2,s4)∈Step; for n=2k+2, n+1=2(k+1)+1, so t_{n+1}=s2 and (s4,s2)∈Step. The three cases cover every n≥0. All states of the sequence lie in {s0,s2,s4}, disjoint from Halt, so the execution never ends: it is a legal infinite execution, coming from the reachable non-halting cycle s2→s4→s2.
S11 · implies
Before
(s_0,s_3),\ (s_1,s_3),\ (s_0,s_1,s_3,s_6)
After
\text{none is a legal execution}Conditions: none
Rule: mko_computational_model_def · Uses: G3, S02, G1
Leaf basis: mko_computational_model_def + quantifier_negation
Three illegal traces, each violating one condition: in (s0,s3), (s0,s3)∉Step; (s1,s3) starts at s1∉Init; (s0,s1,s3,s6) continues after entering s3∈Halt, and (s3,s6) has been truncated and is not in Step (MKO paragraph 2: entering Halt ends the execution).
S12 · implies
Before
\text{stuck execution (S09)},\ \text{infinite execution (S10)}After
\neg(\text{every maximal execution from Init halts})Conditions: none
Rule: quantifier_negation · Uses: S09, S10
Leaf basis: quantifier_negation + exists_intro
'Every maximal execution from Init halts' is a universal statement. S09 gives a stuck finite maximal execution and S10 an infinite maximal execution; either refutes it. Thus this model is not universally terminating, although S08 gives one halting run. An extendible finite prefix is not by itself a counterexample to this property.
S13 · implies
Before
\text{prefixes of depth}\ 1:\ (s_0,s_1),\ (s_0,s_2)After
\text{no cycle or stuck state visible at depth 1, yet termination fails}Conditions: none
Rule: quantifier_negation · Uses: S03, S12
Leaf basis: quantifier_negation + mko_computational_model_def
At depth 1 the observed prefixes are only (s0,s1) and (s0,s2), with no cycle or stuck state yet displayed. Inferring that every maximal execution halts merely from these observations would be wrong: S12 supplies counterexamples. The rejected inference uses observations that have not exhausted the reachable graph; it does not reject every finite exploration certificate. Exhaustively exploring a finite reachable graph and checking cycles and non-Halt dead ends can support the corresponding decision. The complete graph here (S05, S07, S10) reveals both risks.