| 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) |
C = O, 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)
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)
[[CONCRETESIMPRULES : ([CSIMPGEN : rawctxt generated by o, _, _;], [CSIMPSEQ : ⊦ (C _ t1)[t] = C[t] _ t1], [CSIMPSEQ : ⊦ t _ t0 = t1 _ t2 ↔ t = t1 ∧ t0 = t2], [CSIMPSEQ : ⊦ context(C _ t) ↔ context(C)], [CSIMPSEQ : ⊦ ¬ value(C[S _ t _ t0 _ t1])])]]