| 〈TOPRED(K _ (S _ (S _ K _ K) _ (S _ K _ K)) _ (K _ (S _ (S _ K _ K) _ (S _ K _ K))); tn1): m 〉 〈if tn1 = none then { RED1(K _ (S _ (S _ K _ K) _ (S _ K _ K)); tn1): m ; if tn1 ≠ none then tn1 := some(tn1 .t _ (K _ (S _ (S _ K _ K) _ (S _ K _ K)))) else { RED1(K _ (S _ (S _ K _ K) _ (S _ K _ K)); tn1): m ; if tn1 ≠ none then tn1 := some(K _ (S _ (S _ K _ K) _ (S _ K _ K)) _ tn1 .t) } }〉 〈tn := tn1 ; if tn ≠ none then tn := some(tn .t _ (S _ K _ K _ (S _ (S _ K _ K) _ (S _ K _ K))))〉 〈if tn ≠ none then RED(tn .t; t3): 2 + m else t3 := K _ (S _ (S _ K _ K) _ (S _ K _ K)) _ (K _ (S _ (S _ K _ K) _ (S _ K _ K))) _ (S _ K _ K _ (S _ (S _ K _ K) _ (S _ K _ K)))〉 t3 = t, ∀ kappa0, t. kappa0 < ((((m + 1) + 1) + 1) + 1) + 1 → (〈RED(S _ (S _ K _ K) _ (S _ K _ K) _ (S _ (S _ K _ K) _ (S _ K _ K)); t3): kappa0 〉 t3 = t → false) ⊦ |
⊦
〈tn := tn1, t0 := K _ (S _ (S _ K _ K) _ (S _ K _ K)) _ (K _ (S _ (S _ K _ K) _ (S _ K _ K)))〉 〈if m = 0 then abort else if ap(t0) ∧ ap(t0 .1) ∧ t0 .1 .1 = K ∧ value(t0 .1 .2) ∧ value(t0 .2) then tn := some(t0 .1 .2) else if ap(t0) ∧ ap(t0 .1) ∧ ap(t0 .1 .1) ∧ t0 .1 .1 .1 = S then let v1 = t0 .1 .1 .2, v2 = t0 .1 .2, v3 = t0 .2 in if value(v1) ∧ value(v2) ∧ value(v3) then tn := some(v1 _ v3 _ (v2 _ v3)) else tn := none else tn := none〉 〈tn1 := tn ; if tn1 = none then { RED1(K _ (S _ (S _ K _ K) _ (S _ K _ K)); tn1): m ; if tn1 ≠ none then tn1 := some(tn1 .t _ (K _ (S _ (S _ K _ K) _ (S _ K _ K)))) else { RED1(K _ (S _ (S _ K _ K) _ (S _ K _ K)); tn1): m ; if tn1 ≠ none then tn1 := some(K _ (S _ (S _ K _ K) _ (S _ K _ K)) _ tn1 .t) } }〉 〈tn := tn1 ; if tn ≠ none then tn := some(tn .t _ (S _ K _ K _ (S _ (S _ K _ K) _ (S _ K _ K))))〉 〈if tn ≠ none then RED(tn .t; t3): 2 + m else t3 := K _ (S _ (S _ K _ K) _ (S _ K _ K)) _ (K _ (S _ (S _ K _ K) _ (S _ K _ K))) _ (S _ K _ K _ (S _ (S _ K _ K) _ (S _ K _ K)))〉 t3 = t, ∀ kappa0, t. kappa0 < ((((m + 1) + 1) + 1) + 1) + 1 → (〈RED(S _ (S _ K _ K) _ (S _ K _ K) _ (S _ (S _ K _ K) _ (S _ K _ K)); t3): kappa0 〉 t3 = t → false) ⊦
[[CONCRETESIMPRULES : ()]]