| 〈RED1(t; tn)〉 (tn = none ⊃ irred(t); t => tn .t), ∀ n0, t', t. n0 < m + 1 → (irred(t') ∧ (=> ^ n0)(t, t') → 〈RED(t; t0)〉 t0 = t'), irred(t'), t => t0, (=> ^ m)(t0, 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 < m + 1 → (irred(t') ∧ (=> ^ n0)(t, t') → 〈RED(t; t0)〉 t0 = t'), irred(t'), t => t0, (=> ^ m)(t0, t'), tn1 = none ⊃ irred(t) ; t => tn1 .t ⊦ 〈if tn1 ≠ none then RED(tn1 .t; t1) else t1 := t〉 t1 = t'
[[CONCRETESIMPRULES : ()]]