| ∀ n0, t', t. n0 < m + 1 → (irred(t') ∧ (=> ^ n0)(t, t') → 〈RED(t; t0)〉 t0 = t'), irred(t'), t => t0, (=> ^ m)(t0, t') ⊦ 〈RED(t; t0)〉 t0 = t' |
⊦
∀ n0, t', t. n0 < m + 1 → (irred(t') ∧ (=> ^ n0)(t, t') → 〈RED(t; t0)〉 t0 = t'), irred(t'), t => t0, (=> ^ m)(t0, t') ⊦ 〈let tn = none in { RED1(t; tn) ; if tn ≠ none then RED(tn .t; t1) else t1 := t }〉 t1 = t'
[[CONCRETESIMPRULES : ()]]