| lref0 = none, lref ∈ q.lebrefs ∪ (lref0 ≠ none ⊃ ∅ ++ lref0;∅), ∀ lref. lref ∈ q.lebrefs ↔ (∃ n. eq-entry(n, lref) ∈ q) ∧ lref ≠ none ⊦ #(q.lebrefs ∪ (lref0 ≠ none ⊃ ∅ ++ lref0;∅)) = 0, q.lebrefs ∪ ∅ = ∅, (∃ n. eq-entry(n, lref) = eq-entry(m, lref0) ∨ eq-entry(n, lref) ∈ q) ∧ lref ≠ none |
lref ∈ q.lebrefs, ∀ lref. lref ∈ q.lebrefs ↔ (∃ n. eq-entry(n, lref) ∈ q) ∧ lref ≠ none ⊦ # q.lebrefs = 0, q.lebrefs = ∅, (∃ n. eq-entry(n, lref) = eq-entry(m, none) ∨ eq-entry(n, lref) ∈ q) ∧ lref ≠ none
Used simplifier rules: size-zero-01: ⊦ s0 ≠ ∅ → # s0 ≠ 0; (forward) from specification set-basic[lebrefset]%ne-01: ⊦ lref ∈ s0 → s0 ≠ ∅; (forward) from specification set-basic[lebrefset]%unc: ⊦ s1 ∪ s2 = s2 ∪ s1; from specification set-union[lebrefset]%una: ⊦ (s2 ∪ s3) ∪ s4 = s2 ∪ s3 ∪ s4; from specification set-union[lebrefset]% ⊦ s0 ∪ ∅ = s0; (s)