| 〈RED1(ks(n0); tn)〉 tn = none, ks(n0) .1 .1 = S, ap(ks(n0)), ap(ks(n0) .1), value(ks(n0)), n0 ≤ 1, ¬ (ks(n0) .1 = K ∧ value(ks(n0) .2)), ¬ (value(ks(n0) .1 .2) ∧ value(ks(n0) .2)) ⊦ 〈RED1(K; tn1)〉 〈if tn1 ≠ none then tn1 := some(ks(n0) _ tn1 .t)〉 ((tn1 = none → n0 = 0) ∧ (tn1 ≠ none → n0 ≠ 0 ∧ tn1 = some(ks(n0 + 1 - 2)))) |
〈RED1(ks(n0); tn)〉 tn = none, t0 = S, ap(ks(n0)), ap(ks(n0) .1), value(ks(n0)), n0 ≤ 1, ¬ (ks(n0) .1 = K ∧ value(ks(n0) .2)), ¬ (value(t1) ∧ value(ks(n0) .2)), ks(n0) .1 = t0 _ t1 ⊦ 〈RED1(K; tn1)〉 〈if tn1 ≠ none then tn1 := some(ks(n0) _ tn1 .t)〉 ((tn1 = none → n0 = 0) ∧ (tn1 ≠ none → n0 ≠ 0 ∧ tn1 = some(ks(n0 + 1 - 2))))
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ ap(t) → ( t0 = t .1 ∧ t1 = t .2 ↔ t = t0 _ t1)])], [EXTRATERMS : (ks(n0) .1, t, t0)]]