| owns-one(a, r, rs, g) ⊦ a = a0, owns-none(a, rs, g(r; a0)) |
g(r) = (r = r0 ⊃ a0;g(r0)), r0 ∈ rs, r ∈ rs, ∀ r0. r0 ∈ rs ∧ r0 ≠ r → g(r0) ≠ g(r) ⊦ # rs = 0, g(r) = a0, r = null, rs = ∅
Used simplifier rules: owns-one: ⊦ owns-one(a, r, rs, g) ↔ r ≠ null ∧ r ∈ rs ∧ g(r) = a ∧ (∀ r0. r0 ∈ rs ∧ r0 ≠ r → g(r0) ≠ a);%owns-none: ⊦ owns-none(a, rs, g) ↔ (∀ r. r ∈ rs → g(r) ≠ a);%size-zero-01: ⊦ rs ≠ ∅ → # rs ≠ 0; (forward) from specification set-basic[refset]%ne-01: ⊦ r ∈ rs → rs ≠ ∅; (forward) from specification set-basic[refset]