| t1 _ t2 = C[S _ v1 _ v2 _ v3], value(v1), value(v2), value(v3), context(C), ∀ t'. ¬ t1 => t' ⊦ value(t1), ∃ 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) |
C = O, t1 _ t2 = C[S _ v1 _ v2 _ v3], value(v1), value(v2), value(v3), context(C), ∀ t'. ¬ t1 => t' ⊦ value(t1), ∃ 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)
C = C0 _ v5, t1 _ t2 = C[S _ v1 _ v2 _ v3], value(v1), value(v2), value(v3), context(C), ∀ t'. ¬ t1 => t' ⊦ value(t1), ∃ 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 : ([CSIMPGEN : rawctxt generated by o, _, _;], [CSIMPSEQ : ⊦ (t1 _ C)[t] = t1 _ C[t]], [CSIMPSEQ : ⊦ t _ t0 = t1 _ t2 ↔ t = t1 ∧ t0 = t2], [CSIMPSEQ : ⊦ context(t _ C) ↔ ¬ ¬ (context(C) ∧ value(t))])]]