| 〈RED1(t; tn)〉 tn = tn1, 〈if tn ≠ none then RED(tn .t; t0): kappa0 else t0 := t〉 t0 = t1, 〈RED1(t; tn0): kappa0 〉 tn0 = tn, ∀ t0, t2. ¬ 〈RED(t0; t'): kappa0 〉 t' = t2 ∨ t0 =>* t2 ∧ irred(t2), ¬ t =>* t1 ∨ ¬ irred(t1), tn1 = none ⊃ irred(t) ; t => tn1 .t ⊦ |
〈RED1(t; tn)〉 tn = tn1, 〈if tn ≠ none then RED(tn .t; t0): kappa0 else t0 := t〉 t0 = t1, 〈RED1(t; tn0): kappa0 〉 tn0 = tn, ∀ t0, t2. ¬ 〈RED(t0; t'): kappa0 〉 t' = t2 ∨ t0 =>* t2 ∧ irred(t2), ¬ t =>* t1 ∨ ¬ irred(t1), tn1 = none ⊃ irred(t) ; t => tn1 .t, tn1 = tn ⊦
〈RED1(t; tn)〉 tn = tn1, 〈if tn ≠ none then RED(tn .t; t0): kappa0 else t0 := t〉 t0 = t1, 〈RED1(t; tn0): kappa0 〉 tn0 = tn, ∀ t0, t2. ¬ 〈RED(t0; t'): kappa0 〉 t' = t2 ∨ t0 =>* t2 ∧ irred(t2), ¬ t =>* t1 ∨ ¬ irred(t1), tn1 = none ⊃ irred(t) ; t => tn1 .t, tn1 ≠ tn ⊦
[[CONCRETESIMPRULES : ()], [EXTRAFMAS : (tn1 = tn)]]