| ∀ t0. #(t0) < #(t) → (¬ hasS(t0) → 〈RED1(t0; tn)〉 (tn ≠ none → ¬ hasS(tn) ∧ #(tn) < #(t0))), t1 .1 .1 = S, t1 .1 ≠ K, ap(t), ap(t1), ap(t1 .1), value(t1 .1 .2), value(t1 .2), value(t2), ¬ hasS(t), ¬ (¬ hasS(t1 .1 .2 _ t2 _ (t1 .2 _ t2)) ∧ 3 + #(t1 .1 .2) + #(t1 .2) + 2 * #(t2) < #(t)), t = t1 _ t2 ⊦ |
∀ t0. #(t0) < #(t1 _ t2) → (¬ hasS(t0) → 〈RED1(t0; tn)〉 (tn ≠ none → ¬ hasS(tn) ∧ #(tn) < #(t0))), t1 .1 .1 = S, t1 .1 ≠ K, ap(t1), ap(t1 .1), value(t1 .1 .2), value(t1 .2), value(t2), ¬ hasS(t1), ¬ hasS(t2), ¬ (¬ hasS(t1 .1 .2 _ t2 _ (t1 .2 _ t2)) ∧ ¬ #(t1) ≤ #(t2) + #(t1 .1 .2) + #(t1 .2) + 2) ⊦
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ ¬ m < n ↔ n ≤ m], [CSIMPSEQ : ⊦ m * n = n * m], [CSIMPSEQ : ⊦ m0 * m * n = (m0 * m) * n], [CSIMPSEQ : ⊦ m0 * 1 = m0], [CSIMPSEQ : m2 ≠ 0 ⊦ ((* m2)) * m + n < m + n0 ↔ (m2 - 1) * m + n < n0], [CSIMPSEQ : n0 < n ⊦ m + ((* n)) < m0 + ((* n0)) ↔ m + (n - n0) < m0], [CSIMPSEQ : ⊦ m +1 = m + 1], [CSIMPSEQ : ⊦ #(t _ t0) = (#(t) + #(t0)) +1], [CSIMPSEQ : ⊦ hasS(t _ t0) ↔ hasS(t) ∨ hasS(t0)], [CSIMPSEQ : ⊦ ap(t _ t0)])]]