| 〈RED1(t; tn)〉 tn = tn1, ∀ t0. #(t0) < #(t) → (¬ hasS(t0) → 〈RED(t0; t')〉 true), ¬ hasS(t), tn1 ≠ none → ¬ hasS(tn1) ∧ #(tn1) < #(t) ⊦ 〈if tn1 ≠ none then RED(tn1 .t; t0) else t0 := t〉 true |
〈RED1(t; tn)〉 tn = tn1, ∀ t0. #(t0) < #(t) → (¬ hasS(t0) → 〈RED(t0; t')〉 true), ¬ hasS(t), tn1 ≠ none → ¬ hasS(tn1) ∧ #(tn1) < #(t), tn1 ≠ none ⊦ 〈RED(tn1 .t; t0)〉 true
〈RED1(t; tn)〉 tn = tn1, ∀ t0. #(t0) < #(t) → (¬ hasS(t0) → 〈RED(t0; t')〉 true), ¬ hasS(t), tn1 ≠ none → ¬ hasS(tn1) ∧ #(tn1) < #(t), ¬ tn1 ≠ none ⊦ 〈t0 := t〉 true
[[CONCRETESIMPRULES : ()]]