| cf(r) = a × r0, rs1 ∩ rs0 = ∅, ((r => ce))(mk(rs1, cf)), R[rs0, cf, af], r1 ∈ rs1, ∀ r. r ∈ rs1 → af(r) = o ⊦ af(r1) = o, (o[r => a × r0] * R)[rs1 ∪ rs0, cf, af] |
cf(r) = a × r0, rs1 ∩ rs0 = ∅, ((r => ce))(mk(rs1, cf)), R[rs0, cf, af], r1 ∈ rs1, ∀ r. r ∈ rs1 → af(r) = o ⊦ # rs1 = 0, af(r1) = o, rs1 = ∅, (o[r => a × r0] * R)[rs1 ∪ rs0, cf, af]
Used simplifier rules: size-zero-01: ⊦ rs ≠ ∅ → # rs ≠ 0; (forward) from specification set-basic[refset]%ne-01: ⊦ r ∈ rs → rs ≠ ∅; (forward) from specification set-basic[refset]