| ∀ 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 = none ⊃ irred(t); t => tn .t)
〈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'
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (t')]]