| value(v3), value(v2), value(v1), ∀ t'. v3 => t' ↔ (∃ C, t0, t2. context(C) ∧ v3 = C[t0] ∧ t0 =>top t2 ∧ t' = C[t2]), ∀ t'. S _ v1 _ v2 => t' ↔ (∃ C, t2, t1. context(C) ∧ S _ v1 _ v2 = C[t2] ∧ t2 =>top t1 ∧ t' = C[t1]) ⊦ (∃ v, v0. S _ v1 _ v2 _ v3 = K _ v _ v0 ∧ v1 _ v3 _ (v2 _ v3) = v ∧ value(v) ∧ value(v0)) ∨ (∃ v, v0, v4. S _ v1 _ v2 _ v3 = S _ v _ v0 _ v4 ∧ v1 _ v3 _ (v2 _ v3) = v _ v4 _ (v0 _ v4) ∧ value(v) ∧ value(v0) ∧ value(v4)) |
value(v3), value(v2), value(v1), ∀ t'. v3 => t' ↔ (∃ C, t0, t2. context(C) ∧ v3 = C[t0] ∧ t0 =>top t2 ∧ t' = C[t2]), ∀ t'. S _ v1 _ v2 => t' ↔ (∃ C, t2, t1. context(C) ∧ S _ v1 _ v2 = C[t2] ∧ t2 =>top t1 ∧ t' = C[t1]) ⊦ ∃ v, v0, v4. S _ v1 _ v2 _ v3 = S _ v _ v0 _ v4 ∧ v1 _ v3 _ (v2 _ v3) = v _ v4 _ (v0 _ v4) ∧ value(v) ∧ value(v0) ∧ value(v4), ∃ v0. S _ v1 _ v2 _ v3 = K _ (v1 _ v3 _ (v2 _ v3)) _ v0 ∧ value(v1 _ v3 _ (v2 _ v3)) ∧ value(v0)
[[CONCRETESIMPRULES : ()]]