| 〈RED1(t'; tn)〉 (tn = none ⊃ irred(t'); t' => tn .t), ∀ n0, t', t. n0 < 0 → (irred(t') ∧ (=> ^ n0)(t, t') → 〈RED(t; t0)〉 t0 = t'), irred(t') ⊦ 〈RED1(t'; tn0)〉 〈if tn0 ≠ none then RED(tn0 .t; t1) else t1 := t'〉 t1 = t' |
〈RED1(t'; tn)〉 tn = tn1, ∀ n0, t', t. n0 < 0 → (irred(t') ∧ (=> ^ n0)(t, t') → 〈RED(t; t0)〉 t0 = t'), irred(t'), tn1 = none ⊃ irred(t') ; t' => tn1 .t ⊦ 〈if tn1 ≠ none then RED(tn1 .t; t1) else t1 := t'〉 t1 = t'
[[CONCRETESIMPRULES : ()]]