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