| C = C0 _ v4, t0 _ t1 = C[t2], context(C), ∀ t'. t0 => t' ↔ (∃ C, t2, t1. context(C) ∧ t0 = C[t2] ∧ t2 =>top t1 ∧ t' = C[t1]), ∀ t'. t1 => t' ↔ (∃ C, t0, t2. context(C) ∧ t1 = C[t0] ∧ t0 =>top t2 ∧ t' = C[t2]), 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) ⊦ t0 _ t1 => C[t] |
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
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ context(C _ t) ↔ context(C)], [CSIMPSEQ : ⊦ t _ t0 = t1 _ t2 ↔ t = t1 ∧ t0 = t2], [CSIMPSEQ : ⊦ (C _ t1)[t] = C[t] _ t1])]]