| C = v5 _ C0, 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) |
context(C0), value(v3), value(v2), value(v1), value(v5), ∀ t'. ¬ C0[S _ v1 _ v2 _ v3] => t', ∀ t'. ¬ v5 => t' ⊦ ∃ v. v5 _ C0[S _ v1 _ v2 _ v3] = K _ (v5 _ C0[v1 _ v3 _ (v2 _ v3)]) _ v ∧ value(v5 _ C0[v1 _ v3 _ (v2 _ v3)]) ∧ value(v), ∃ v, v0, v4. v5 _ C0[S _ v1 _ v2 _ v3] = S _ v _ v0 _ v4 ∧ v5 _ C0[v1 _ v3 _ (v2 _ v3)] = v _ v4 _ (v0 _ v4) ∧ value(v) ∧ value(v0) ∧ value(v4)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ context(t _ C) ↔ ¬ ¬ (context(C) ∧ value(t))], [CSIMPSEQ : ⊦ t _ t0 = t1 _ t2 ↔ t = t1 ∧ t0 = t2], [CSIMPSEQ : ⊦ (t1 _ C)[t] = t1 _ C[t]])]]