| 〈RED1(t; tn2)〉 tn2 = tn0, 〈RED1(t .2; tn4): m 〉 tn4 = tn5, 〈RED1(t .1; tn3): m 〉 tn3 = none, 〈TOPRED(t; tn2): m 〉 tn2 = none, ∀ n0, t, tn1, tn0. n0 < m + 1 → (〈RED1(t; tn2): n0 〉 tn2 = tn1 ∧ 〈RED1(t; tn2)〉 tn2 = tn0 ∧ tn0 ≠ tn1 → false), tn0 ≠ some(t .1 _ tn5 .t), tn5 ≠ none, ap(t), value(t .1) ⊦ |
〈RED1(t; tn2)〉 tn2 = tn0, 〈RED1(t1; tn4): m 〉 tn4 = tn5, 〈RED1(t0; tn3): m 〉 tn3 = none, 〈TOPRED(t; tn2): m 〉 tn2 = none, ∀ n0, t, tn1, tn0. n0 < m + 1 → (〈RED1(t; tn2): n0 〉 tn2 = tn1 ∧ 〈RED1(t; tn2)〉 tn2 = tn0 ∧ tn0 ≠ tn1 → false), tn0 ≠ some(t0 _ tn5 .t), tn5 ≠ none, ap(t), value(t0), t = t0 _ t1 ⊦
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ ap(t) → ( t0 = t .1 ∧ t1 = t .2 ↔ t = t0 _ t1)])], [EXTRATERMS : (t, t0, t1)]]