| context(C0), t2 = K _ v _ v0 ∧ t = v ∧ value(v) ∧ value(v0) ∨ t2 = S _ v1 _ v2 _ v3 ∧ t = v1 _ v3 _ (v2 _ v3) ∧ value(v1) ∧ value(v2) ∧ value(v3), ∀ t'. v4 => t' ↔ (∃ C, t0, t2. context(C) ∧ v4 = C[t0] ∧ t0 =>top t2 ∧ t' = C[t2]), ∀ t'. C0[t2] => t' ↔ (∃ C, t, t1. context(C) ∧ C0[t2] = C[t] ∧ t =>top t1 ∧ t' = C[t1]) ⊦ C0[t2] _ v4 => C0[t] _ v4 |
⊦ t => t' ↔ (∃ C. (∃ v1, v2. t = C[K _ v1 _ v2] ∧ t' = C[v1] ∧ value(v1) ∧ value(v2) ∧ context(C)) ∨ (∃ v1, v2, v3. t = C[S _ v1 _ v2 _ v3] ∧ t' = C[v1 _ v3 _ (v2 _ v3)] ∧ value(v1) ∧ value(v2) ∧ value(v3) ∧ context(C)))
context(C0), t2 = K _ v _ v0 ∧ t = v ∧ value(v) ∧ value(v0) ∨ t2 = S _ v1 _ v2 _ v3 ∧ t = v1 _ v3 _ (v2 _ v3) ∧ value(v1) ∧ value(v2) ∧ value(v3), ∀ t'. v4 => t' ↔ (∃ C, t0, t2. context(C) ∧ v4 = C[t0] ∧ t0 =>top t2 ∧ t' = C[t2]), ∀ t'. C0[t2] => t' ↔ (∃ C, t, t1. context(C) ∧ C0[t2] = C[t] ∧ t =>top t1 ∧ t' = C[t1]) ⊦ ∃ C. (∃ v1, v2. C0[t2] _ v4 = C[K _ v1 _ v2] ∧ C0[t] _ v4 = C[v1] ∧ value(v1) ∧ value(v2) ∧ context(C)) ∨ (∃ v1, v2, v3. C0[t2] _ v4 = C[S _ v1 _ v2 _ v3] ∧ C0[t] _ v4 = C[v1 _ v3 _ (v2 _ v3)] ∧ value(v1) ∧ value(v2) ∧ value(v3) ∧ context(C))
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (C0[t] _ v4, C0[t2] _ v4)]]