| n < # ar ⊦ absset(ar, set) → (absset(ar, set ++ ar[n]) ↔ ar[n] ≠ ⊥) |
¬(absset(ar, set ++ ar[n]) ↔ ar[n] ≠ ⊥), n < # ar, absset(ar, set) ⊦
| ¬(absset(ar, set ++ ar[n]) ↔ ar[n] ≠ ⊥), n < # ar, absset(ar, set) ⊦ |
n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ (∀ e. e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)) ↔ ar[n] ≠ ⊥
Used simplifier rules: absset-def: ⊦ absset(ar, set) ↔ (∀ e. e ∈ set ↔ (∃ n. n < # ar ∧ e = ar[n] ∧ e ≠ ⊥)); ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic ⊦ a ∈ s ++ b ↔ a = b ∨ a ∈ s; (s)
| n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ (∀ e. e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)) ↔ ar[n] ≠ ⊥ |
ar[n] = ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ (∀ e. e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)) ↔ ar[n] ≠ ⊥
ar[n] ≠ ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ (∀ e. e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)) ↔ ar[n] ≠ ⊥
Used formulas: ar[n] = ⊥
| ar[n] = ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ (∀ e. e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)) ↔ ar[n] ≠ ⊥ |
ar[n] = ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥), ∀ e. e = ⊥ ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦
| ar[n] = ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥), ∀ e. e = ⊥ ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ |
Used terms: ar[n]
| ar[n] ≠ ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ (∀ e. e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)) ↔ ar[n] ≠ ⊥ |
ar[n] ≠ ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)
| ar[n] ≠ ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) |
e = ar[n], ar[n] ≠ ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)
ar[n] ≠ ⊥, e ≠ ar[n], n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)
Used formulas: e = ar[n]
| e = ar[n], ar[n] ≠ ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) |
ar[n] ≠ ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ ∃ n0. n0 < # ar ∧ ar[n] = ar[n0] ∧ ar[n0] ≠ ⊥
| ar[n] ≠ ⊥, n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ ∃ n0. n0 < # ar ∧ ar[n] = ar[n0] ∧ ar[n0] ≠ ⊥ |
Used terms: n
| ar[n] ≠ ⊥, e ≠ ar[n], n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e = ar[n] ∨ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) |
ar[n] ≠ ⊥, e ≠ ar[n], n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)
| ar[n] ≠ ⊥, e ≠ ar[n], n < # ar, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) |
ar[n] ≠ ⊥, e ≠ ar[n], n < # ar, e ∈ set, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)
ar[n] ≠ ⊥, e ≠ ar[n], n < # ar, ¬ e ∈ set, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥)
Used formulas: e ∈ set
| ar[n] ≠ ⊥, e ≠ ar[n], n < # ar, e ∈ set, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) |
# set ≠ 0, ar[n] ≠ ⊥, e ≠ ar[n], set ≠ ∅, n < # ar, e ∈ set, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ ∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥
Used simplifier rules: size-zero-01: ⊦ s ≠ ∅ → # s ≠ 0; (forward) from specification set-basic ne-01: ⊦ a ∈ s → s ≠ ∅; (forward) from specification set-basic
| # set ≠ 0, ar[n] ≠ ⊥, e ≠ ar[n], set ≠ ∅, n < # ar, e ∈ set, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ ∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥ |
Used terms: e
| ar[n] ≠ ⊥, e ≠ ar[n], n < # ar, ¬ e ∈ set, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) |
ar[n0] ≠ ⊥, ar[n0] ≠ ar[n], ar[n] ≠ ⊥, n0 < # ar, n < # ar, ¬ ar[n0] ∈ set, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦
| ar[n0] ≠ ⊥, ar[n0] ≠ ar[n], ar[n] ≠ ⊥, n0 < # ar, n < # ar, ¬ ar[n0] ∈ set, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ |
ar[n0] ≠ ⊥, ar[n0] ≠ ar[n], ar[n] ≠ ⊥, n < # ar, n0 < # ar, ¬ ar[n0] ∈ set, ar[n0] ∈ set ↔ (∃ n. n < # ar ∧ ar[n0] = ar[n] ∧ ar[n] ≠ ⊥), ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦
Used terms: ar[n0]
| ar[n0] ≠ ⊥, ar[n0] ≠ ar[n], ar[n] ≠ ⊥, n < # ar, n0 < # ar, ¬ ar[n0] ∈ set, ar[n0] ∈ set ↔ (∃ n. n < # ar ∧ ar[n0] = ar[n] ∧ ar[n] ≠ ⊥), ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ |
ar[n0] ≠ ⊥, ar[n0] ≠ ar[n], ar[n] ≠ ⊥, n0 < # ar, n < # ar, ¬ ar[n0] ∈ set, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ ∃ n. n < # ar ∧ ar[n0] = ar[n] ∧ ar[n] ≠ ⊥
| ar[n0] ≠ ⊥, ar[n0] ≠ ar[n], ar[n] ≠ ⊥, n0 < # ar, n < # ar, ¬ ar[n0] ∈ set, ∀ e. e ∈ set ↔ (∃ n0. n0 < # ar ∧ e = ar[n0] ∧ ar[n0] ≠ ⊥) ⊦ ∃ n. n < # ar ∧ ar[n0] = ar[n] ∧ ar[n] ≠ ⊥ |
Used terms: n0
The following image shows the proof tree of sequent calculus. The proved goal is at the bottom. You can click on the nodes to view additional rules. See here for details on colors in a proof tree.