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