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