| 〈TOPRED(S _ (S _ K _ K) _ (S _ K _ K) _ (S _ (S _ K _ K) _ (S _ K _ K)); tn1): m - 1 〉 〈if tn1 = none then { RED1(S _ (S _ K _ K) _ (S _ K _ K); tn1): m - 1 ; if tn1 ≠ none then tn1 := some(tn1 .t _ (S _ (S _ K _ K) _ (S _ K _ K))) else { RED1(S _ (S _ K _ K) _ (S _ K _ K); tn1): m - 1 ; if tn1 ≠ none then tn1 := some(S _ (S _ K _ K) _ (S _ K _ K) _ tn1 .t) } }〉 〈if tn1 ≠ none then RED(tn1 .t; t3): m else t3 := S _ (S _ K _ K) _ (S _ K _ K) _ (S _ (S _ K _ K) _ (S _ K _ K))〉 t3 = t, ∀ kappa0, t. kappa0 < m + 1 → (〈RED(S _ (S _ K _ K) _ (S _ K _ K) _ (S _ (S _ K _ K) _ (S _ K _ K)); t3): kappa0 〉 t3 = t → false), m ≠ 0 ⊦ |
〈TOPRED(S _ (S _ K _ K) _ (S _ K _ K) _ (S _ (S _ K _ K) _ (S _ K _ K)); tn1): m0 〉 〈if tn1 = none then { RED1(S _ (S _ K _ K) _ (S _ K _ K); tn1): m0 ; if tn1 ≠ none then tn1 := some(tn1 .t _ (S _ (S _ K _ K) _ (S _ K _ K))) else { RED1(S _ (S _ K _ K) _ (S _ K _ K); tn1): m0 ; if tn1 ≠ none then tn1 := some(S _ (S _ K _ K) _ (S _ K _ K) _ tn1 .t) } }〉 〈if tn1 ≠ none then RED(tn1 .t; t3): m else t3 := S _ (S _ K _ K) _ (S _ K _ K) _ (S _ (S _ K _ K) _ (S _ K _ K))〉 t3 = t, ∀ kappa0, t. kappa0 < m + 1 → (〈RED(S _ (S _ K _ K) _ (S _ K _ K) _ (S _ (S _ K _ K) _ (S _ K _ K)); t3): kappa0 〉 t3 = t → false), m ≠ 0, m = m0 + 1 ⊦
[[CONCRETESIMPRULES : ([CSIMPELIM : n ≠ 0 ⊦ m = n - 1 ↔ n = m + 1])], [EXTRATERMS : (m, m0)]]