| fpathtolink(p0) = fpathtolink(q), p0 ∈ ps0, q ∈ ps0, ∀ alink. alink = fpathtolink(p) ∨ alink ∈ ls0 → (∃ p0. (p0 = p ∨ p0 ∈ ps0) ∧ fpathtolink(p0) = alink), ∀ p0. p0 ∈ ps0 → fpathtolink(p0) = fpathtolink(p) ∨ fpathtolink(p0) ∈ ls0, ∀ p0, q. (p0 = p ∨ p0 ∈ ps0) ∧ (q = p ∨ q ∈ ps0) ∧ fpathtolink(p0) = fpathtolink(q) → p0 = q, ∀ ps1, fpathtolink, ls. # ps1 < #(ps0 ++ p) → (∀ p, q. p ∈ ps1 ∧ q ∈ ps1 ∧ fpathtolink(p) = fpathtolink(q) → p = q) ∧ (∀ alink. alink ∈ ls → (∃ p. p ∈ ps1 ∧ fpathtolink(p) = alink)) ∧ (∀ p. p ∈ ps1 → fpathtolink(p) ∈ ls) → (# ps1 = # ls ↔ true) ⊦ # ps0 = # ls0, p0 = q, fpathtolink(p) ∈ ls0, p ∈ ps0 |
fpathtolink(p0) = fpathtolink(q), p0 ∈ ps0, q ∈ ps0, ∀ alink. alink = fpathtolink(p) ∨ alink ∈ ls0 → (∃ p0. (p0 = p ∨ p0 ∈ ps0) ∧ fpathtolink(p0) = alink), ∀ p0. p0 ∈ ps0 → fpathtolink(p0) = fpathtolink(p) ∨ fpathtolink(p0) ∈ ls0, ∀ p0, q. (p0 = p ∨ p0 ∈ ps0) ∧ (q = p ∨ q ∈ ps0) ∧ fpathtolink(p0) = fpathtolink(q) → p0 = q, ∀ ps1, fpathtolink, ls. # ps1 < #(ps0 ++ p) → (∀ p, q. p ∈ ps1 ∧ q ∈ ps1 ∧ fpathtolink(p) = fpathtolink(q) → p = q) ∧ (∀ alink. alink ∈ ls → (∃ p. p ∈ ps1 ∧ fpathtolink(p) = alink)) ∧ (∀ p. p ∈ ps1 → fpathtolink(p) ∈ ls) → (# ps1 = # ls ↔ true) ⊦ # ps0 = # ls0, # ps0 = 0, p0 = q, ps0 = ∅, fpathtolink(p) ∈ ls0, p ∈ ps0
Used simplifier rules: size-zero-01: ⊦ ps ≠ ∅ → # ps ≠ 0; (forward) from specification set-basic[pathset]%ne-01: ⊦ p ∈ ps → ps ≠ ∅; (forward) from specification set-basic[pathset]