| C[t3] = C0[t1], context(C0), t1 =>top t, context(C), t3 =>top t0 ⊦ C[t0] = C0[t] |
⊦ t =>top t' ↔ (∃ v1, v2. t = K _ v1 _ v2 ∧ t' = v1 ∧ value(v1) ∧ value(v2)) ∨ (∃ v1, v2, v3. t = S _ v1 _ v2 _ v3 ∧ t' = v1 _ v3 _ (v2 _ v3) ∧ value(v1) ∧ value(v2) ∧ value(v3))
C[t3] = C0[t1], context(C0), (∃ v1, v2. t1 = K _ v1 _ v2 ∧ t = v1 ∧ value(v1) ∧ value(v2)) ∨ (∃ v1, v2, v3. t1 = S _ v1 _ v2 _ v3 ∧ t = v1 _ v3 _ (v2 _ v3) ∧ value(v1) ∧ value(v2) ∧ value(v3)), context(C), t3 =>top t0 ⊦ C[t0] = C0[t]
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (t, t1)]]