| reach(source, dest, n), ¬ reach<(source, dest, n) ⊦ ⟪BFS(source, dest; norfail)⟫ norfail = some(n) |
⊦
reach(source, dest, n), ¬ reach<(source, dest, n) ⊦ ⟪let V = {source} , C = {source} , N = ∅, n = 0, done = false in { while C ≠ ∅ ∧ ¬ done do { choose v with v ∈ C in if v = dest then done := true else { C := C -- v ; ADD(succ(v); V, N) } ; if C = ∅ then C := N, N := ∅, n := n + 1 } ; norfail0 := (done ⊃ some(n); fail) }⟫ norfail0 = some(n)
[[CONCRETESIMPRULES : ()]]