| 〈if value((t0 _ t1) .1) then { RED1((t0 _ t1) .2; tn6) ; if tn6 ≠ none then tn6 := some((t0 _ t1) .1 _ tn6 .t) }〉 tn6 = tn0, 〈RED1((t0 _ t1) .1; tn5)〉 tn5 = tn6, 〈TOPRED(t0 _ t1; tn)〉 tn = tn5, 〈RED1(t1; tn4): m 〉 tn4 = some(t2), 〈RED1(t0; tn3): m 〉 tn3 = none, 〈TOPRED(t0 _ t1; 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 _ t2), value(t0), tn5 = none, ¬ tn6 ≠ none ⊦ |
〈RED1((t0 _ t1) .2; tn6)〉 〈if tn6 ≠ none then tn6 := some((t0 _ t1) .1 _ tn6 .t)〉 tn6 = tn0, 〈RED1((t0 _ t1) .1; tn5)〉 tn5 = tn6, 〈TOPRED(t0 _ t1; tn)〉 tn = tn5, 〈RED1(t1; tn4): m 〉 tn4 = some(t2), 〈RED1(t0; tn3): m 〉 tn3 = none, 〈TOPRED(t0 _ t1; 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 _ t2), value(t0), tn5 = none, ¬ tn6 ≠ none ⊦
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (t _ t0) .1 = t])]]