| ∀ n0. n0 < n → (true → 〈RED(ks(n0); t)〉 ((even(n0) → t = K) ∧ (odd(n0) → t = K _ K))), n = 0 ∨ n = 1, ¬ (ap(ks(n)) ∧ ap(ks(n) .1) ∧ ks(n) .1 .1 = K ∧ value(ks(n) .1 .2) ∧ value(ks(n) .2)), ¬ (ap(ks(n)) ∧ ap(ks(n) .1) ∧ ap(ks(n) .1 .1) ∧ ks(n) .1 .1 .1 = S), tn0 = none ⊦ 〈if tn0 = none ∧ ap(ks(n)) then { RED1(ks(n) .1; tn0) ; if tn0 ≠ none then tn0 := some(tn0 .t _ ks(n) .2) else if value(ks(n) .1) then { RED1(ks(n) .2; tn0) ; if tn0 ≠ none then tn0 := some(ks(n) .1 _ tn0 .t) } }〉 〈if tn0 ≠ none then RED(tn0 .t; t0) else t0 := ks(n)〉 ((even(n) → t0 = K) ∧ (odd(n) → t0 = K _ K)) |
∀ n0. n0 < n → (true → 〈RED(ks(n0); t)〉 ((even(n0) → t = K) ∧ (odd(n0) → t = K _ K))), n = 0 ∨ n = 1, ¬ (ap(ks(n)) ∧ ap(ks(n) .1) ∧ ks(n) .1 .1 = K ∧ value(ks(n) .1 .2) ∧ value(ks(n) .2)), ¬ (ap(ks(n)) ∧ ap(ks(n) .1) ∧ ap(ks(n) .1 .1) ∧ ks(n) .1 .1 .1 = S), tn0 = none, tn0 = none ∧ ap(ks(n)) ⊦ 〈RED1(ks(n) .1; tn0)〉 〈if tn0 ≠ none then tn0 := some(tn0 .t _ ks(n) .2) else if value(ks(n) .1) then { RED1(ks(n) .2; tn0) ; if tn0 ≠ none then tn0 := some(ks(n) .1 _ tn0 .t) }〉 〈if tn0 ≠ none then RED(tn0 .t; t0) else t0 := ks(n)〉 ((even(n) → t0 = K) ∧ (odd(n) → t0 = K _ K))
∀ n0. n0 < n → (true → 〈RED(ks(n0); t)〉 ((even(n0) → t = K) ∧ (odd(n0) → t = K _ K))), n = 0 ∨ n = 1, ¬ (ap(ks(n)) ∧ ap(ks(n) .1) ∧ ks(n) .1 .1 = K ∧ value(ks(n) .1 .2) ∧ value(ks(n) .2)), ¬ (ap(ks(n)) ∧ ap(ks(n) .1) ∧ ap(ks(n) .1 .1) ∧ ks(n) .1 .1 .1 = S), tn0 = none, ¬ (tn0 = none ∧ ap(ks(n))) ⊦ 〈skip〉 〈if tn0 ≠ none then RED(tn0 .t; t0) else t0 := ks(n)〉 ((even(n) → t0 = K) ∧ (odd(n) → t0 = K _ K))
[[CONCRETESIMPRULES : ()]]