Reasoning with Sets and Sums of Sets Markus Bender - - PowerPoint PPT Presentation
Reasoning with Sets and Sums of Sets Markus Bender - - PowerPoint PPT Presentation
Reasoning with Sets and Sums of Sets Markus Bender mbender@uni-koblenz.de Universitt Koblenz-Landau Motivation Ways for Reasoning with Complex Systems Introduce calculus/reasoner specifically tailored to the complex system Reduce
Motivation
Ways for Reasoning with Complex Systems
◮ Introduce calculus/reasoner specifically tailored to the complex system ◮ Reduce complex system to an established problem (abstraction)
2 / 30
Motivation
Ways for Reasoning with Complex Systems
◮ Introduce calculus/reasoner specifically tailored to the complex system ◮ Reduce complex system to an established problem (abstraction)
2 / 30
Motivation
Boolean Algebra with Presburger Arithmetic
◮ Introduced by Kuncak et al. ◮ Transform to equisatisfiable problem in pure arithmetic ◮ Proven useful for many reasoning task ◮ Good tool support
3 / 30
Contributions
Boolean Algebra with Presburger Arithmetic and Sums
◮ Add sum as new bridging function ◮ Arbitrary mixture of quantified and free set variables
4 / 30
Syntax
F ::= A | F ∧ F | F ∨ F | ¬F | ∃ x .F | ∀ x .F | ∃ k .F | ∀ k .F A ::= B ≈ B | B ⊆ B | T ≈ T | T < T | B ::= x | ∅ | U | B ∪ B | B ∩ B | B T ::= k | K | MAXC | T + T | K · T | card(B) K ::= . . . | −2 | −1 | 0 | 1 | 2 | . . .
5 / 30
Syntax
F ::= A | F ∧ F | F ∨ F | ¬F | ∃ x .F | ∀ x .F | ∃ k .F | ∀ k .F A ::= B ≈ B | B ⊆ B | T ≈ T | T < T | B ::= x | ∅ | U | B ∪ B | B ∩ B | B T ::= k | K | MAXC | T + T | K · T | card(B) | MAXS | sum(B) K ::= a number
5 / 30
Syntax
F ::= A | F ∧ F | F ∨ F | ¬F | ∃ x .F | ∀ x .F | ∃ k .F | ∀ k .F A ::= B ≈ B | B ⊆ B | T ≈ T | T < T | B ::= x | ∅ | U | B ∪ B | B ∩ B | B T ::= k | K | MAXC | T + T | K · T | card(B) | MAXS | sum(B) K ::= a number Sets are finite.
5 / 30
Extension
BAPA
card with sort: α set → N, where α: an arbitrary sort Specific members of the involved sets do not matter.
6 / 30
Extension
BAPA
card with sort: α set → N, where α: an arbitrary sort Specific members of the involved sets do not matter.
BAPAS
sum with sort: β set → β, where β: a numerical sort Specific members of the involved sets do matter.
6 / 30
Semantics
Structures
A := (N, F, ΩA, ΠA) N: only codomain for card F: element support; elements of sets (F ⊆ R) ΩA: (more or less) common semantics of functions ΠA: common semantics of predicates
7 / 30
Overview
Original Formula (OF) Transformed Formula (TF) Model for TF Model for OF Transformation
- Arith. Solver
Transformation:
- 1. Eliminate ≈set
- 2. Eliminate ⊆
- 3. Introduce atomic
decompositions
- 4. Distribute cardinality
- 5. Purify cardinality
- 6. Distribute sum
- 7. Purify sum
- 8. Eliminate quantifiers
and add axioms
8 / 30
Example
Given Formula
∃ x1 (x0 ⊆ x1 → sum(x0) ≈ sum(x0 ∩ x1))
9 / 30
Example
Eliminate ≈set , and eliminate ⊆
∃ x1 (x0 ⊆ x1 → sum(x0) ≈ sum(x0 ∩ x1))
10 / 30
Example
Eliminate ≈set , and eliminate ⊆
∃ x1 (x0 ⊆ x1 → sum(x0) ≈ sum(x0 ∩ x1))
10 / 30
Example
Eliminate ≈set , and eliminate ⊆
∃ x1 (x0 ⊆ x1 → sum(x0) ≈ sum(x0 ∩ x1))
- ∃ x1 (card(x0 ∩ x1) ≈ 0 → sum(x0) ≈ sum(x0 ∩ x1))
10 / 30
Atomic Sets and Atomic Decompositions1
x0 ∩ x1 x0 ∩ x1 x0 ∩ x1 x0 ∩ x1
1Ohlbach, Kuncak 11 / 30
Atomic Sets and Atomic Decompositions1
x0 ∩ x1 x0 ∩ x1 x0 ∩ x1 x0 ∩ x1 S00 := x0 ∩ x1, S01 := x0 ∩ x1, S10 := x0 ∩ x1, S11 := x0 ∩ x1
1Ohlbach, Kuncak 11 / 30
Atomic Sets and Atomic Decompositions1
x0 ∩ x1 x0 ∩ x1 x0 ∩ x1 x0 ∩ x1 S00 := x0 ∩ x1, S01 := x0 ∩ x1, S10 := x0 ∩ x1, S11 := x0 ∩ x1 x0 := S10 ∪ S11 = (x0 ∩ x1) ∪ (x0 ∩ x1) x1 := S01 ∪ S11 = (x0 ∩ x1) ∪ (x0 ∩ x1).
1Ohlbach, Kuncak 11 / 30
Example
Introduce Atomic Decompositions
∃ x1 (card(x0 ∩ x1) ≈ 0 → sum(x0) ≈ sum(x0 ∩ x1))
12 / 30
Example
Introduce Atomic Decompositions
∃ x1 (card(x0 ∩ x1) ≈ 0 → sum(x0) ≈ sum(x0 ∩ x1))
- ∃ x1 (card(S10) ≈ 0 → sum(S10 ∪ S11) ≈ sum(S11))
12 / 30
Example
Distribute card, purify card
∃ x1 (card(S10) ≈ 0 → sum(S10 ∪ S11) ≈ sum(S11))
13 / 30
Example
Distribute card, purify card
∃ x1 (card(S10) ≈ 0 → sum(S10 ∪ S11) ≈ sum(S11))
- ∃ x1
∃ l00, l01, l10, l11 card(S00) ≈ l00 ∧ · · · ∧ card(S11) ≈ l11 ∧ (l10 ≈ 0 → sum(S10 ∪ S11) ≈ sum(S11))
13 / 30
Example
Distribute sum
∃ x1 ∃ l00, l01, l10, l11 card(S00) ≈ l00 ∧ · · · ∧ card(S11) ≈ l11 ∧ (l10 ≈ 0 → sum(S10 ∪ S11) ≈ sum(S11))
14 / 30
Example
Distribute sum
∃ x1 ∃ l00, l01, l10, l11 card(S00) ≈ l00 ∧ · · · ∧ card(S11) ≈ l11 ∧ (l10 ≈ 0 → sum(S10 ∪ S11) ≈ sum(S11))
- ∃ x1
∃ l00, l01, l10, l11 card(S00) ≈ l00 ∧ · · · ∧ card(S11) ≈ l11 ∧ (l10 ≈ 0 → sum(S10) + sum(S11) ≈ sum(S11))
14 / 30
Example
Purify sum
∃ x1 ∃ l00, l01, l10, l11 card(S00) ≈ l00 ∧ · · · ∧ card(S11) ≈ l11 ∧ (l10 ≈ 0 → sum(S10) + sum(S11) ≈ sum(S11))
15 / 30
Example
Purify sum
∃ x1 ∃ l00, l01, l10, l11 card(S00) ≈ l00 ∧ · · · ∧ card(S11) ≈ l11 ∧ (l10 ≈ 0 → sum(S10) + sum(S11) ≈ sum(S11))
- ∃ x1
∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 card(S00) ≈ l00 ∧ · · · ∧ card(S11) ≈ l11 ∧ sum(S00) ≈ s00 ∧ · · · ∧ sum(S11) ≈ s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
15 / 30
Example
∃ x1 ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 card(S00) ≈ l00 ∧ · · · ∧ card(S11) ≈ l11 ∧ sum(S00) ≈ s00 ∧ · · · ∧ sum(S11) ≈ s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
16 / 30
Quantifier Elimination2
x
2Kuncak 17 / 30
Quantifier Elimination2
x l, k natural numbers card(x) = k + l.
2Kuncak 17 / 30
Quantifier Elimination2
y y x ∩ y x ∩ y l, k natural numbers card(x) = k + l.
2Kuncak 17 / 30
Quantifier Elimination2
y y x ∩ y x ∩ y l, k natural numbers card(x) = k + l. ⇔ ∃ y (card(x ∩ y) = k ∧ card(x ∩ y) = l), with y a finite set.
2Kuncak 17 / 30
Example
Remove Quantifier (Use Equivalence)
∃ x1 ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 card(S00) ≈ l00 ∧ · · · ∧ card(S11) ≈ l11 ∧ sum(S00) ≈ s00 ∧ · · · ∧ sum(S11) ≈ s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
18 / 30
Example
Remove Quantifier (Use Equivalence)
∃ x1 ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 card(S00) ≈ l00 ∧ · · · ∧ card(S11) ≈ l11 ∧ sum(S00) ≈ s00 ∧ · · · ∧ sum(S11) ≈ s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
- ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11
card(x0) ≈ l00 + l01 ∧ card(x0) ≈ l10 + l11 ∧ sum(x0) ≈ s00 + s01 ∧ sum(x0) ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
18 / 30
Example
Remove Quantifier (Purify)
∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 card(x0) ≈ l00 + l01 ∧ card(x0) ≈ l10 + l11 ∧ sum(x0) ≈ s00 + s01 ∧ sum(x0) ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
19 / 30
Example
Remove Quantifier (Purify)
∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 card(x0) ≈ l00 + l01 ∧ card(x0) ≈ l10 + l11 ∧ sum(x0) ≈ s00 + s01 ∧ sum(x0) ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
- ∃ l0, l1, ∃ s0, s1,
card(x0) ≈ l0 ∧ card(x0) ≈ l1 ∧ sum(x0) ≈ s0 ∧ sum(x0) ≈ s1 ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
19 / 30
Example
Remove Quantifier (Delete Quantifier)
∃ l0, l1, ∃ s0, s1, card(x0) ≈ l0 ∧ card(x0) ≈ l1 ∧ sum(x0) ≈ s0 ∧ sum(x0) ≈ s1 ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
20 / 30
Example
Remove Quantifier (Delete Quantifier)
∃ l0, l1, ∃ s0, s1, card(x0) ≈ l0 ∧ card(x0) ≈ l1 ∧ sum(x0) ≈ s0 ∧ sum(x0) ≈ s1 ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
- card(x0) ≈ l0 ∧ card(x0) ≈ l1 ∧ sum(x0) ≈ s0 ∧ sum(x0) ≈ s1
∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
20 / 30
Example
Remove Quantifier (Delete Definitions)
card(x0) ≈ l0 ∧ card(x0) ≈ l1 ∧ sum(x0) ≈ s0 ∧ sum(x0) ≈ s1 ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
21 / 30
Example
Remove Quantifier (Delete Definitions)
card(x0) ≈ l0 ∧ card(x0) ≈ l1 ∧ sum(x0) ≈ s0 ∧ sum(x0) ≈ s1 ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
- ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11
l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
21 / 30
Example
Remove Quantifier (Add Axioms)
∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
22 / 30
Example
Remove Quantifier (Add Axioms)
∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
- ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11
l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l00 ≈ 0 → s00 ≈ 0) ∧ . . . ∧ (l11 ≈ 0 → s11 ≈ 0) ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
22 / 30
Example
Remove Quantifier (Add Axioms)
∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l00 ≈ 0 → s00 ≈ 0) ∧ . . . ∧ (l11 ≈ 0 → s11 ≈ 0) ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
23 / 30
Example
Remove Quantifier (Add Axioms)
∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11 l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l00 ≈ 0 → s00 ≈ 0) ∧ . . . ∧ (l11 ≈ 0 → s11 ≈ 0) ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
- ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11
l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l00 ≈ 0 → s00 ≈ 0) ∧ . . . ∧ (l11 ≈ 0 → s11 ≈ 0) ∧ (l01 ≈ 1 ∧ l00 ≈ 1) → (s01 ≈ s00) ∧ . . . ∧ (l11 ≈ 1 ∧ l10 ≈ 1) → (s11 ≈ s10) ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
23 / 30
Example
In Summary
∃ x1 (x0 ⊆ x1 → sum(x0) ≈ sum(x0 ∩ x1))
- ∃ l00, l01, l10, l11 ∃ s00, s01, s10, s11
l0 ≈ l00 + l01 ∧ l1 ≈ l10 + l11 ∧ s0 ≈ s00 + s01 ∧ s1 ≈ s10 + s11 ∧ (l00 ≈ 0 → s00 ≈ 0) ∧ . . . ∧ (l11 ≈ 0 → s11 ≈ 0) ∧ (l01 ≈ 1 ∧ l00 ≈ 1) → (s01 ≈ s00) ∧ . . . ∧ (l11 ≈ 1 ∧ l10 ≈ 1) → (s11 ≈ s10) ∧ (l10 ≈ 0 → s10 + s11 ≈ s11)
24 / 30
(Counter-)Example
Transformation
(card(x) ≤ 5 ∧ sum(x) ≤ 5)
- (l0 ≈ 0 → s0 ≈ 0) ∧ (l1 ≈ 0 → s1 ≈ 0) ∧
(l0 ≈ 1 ∧ l1 ≈ 1) → (s0 ≈ s1) ∧ (l1 ≤ 5 ∧ s1 ≤ 5)
25 / 30
(Counter-)Example
Transformation
(card(x) ≤ 5 ∧ sum(x) ≤ 5)
- (l0 ≈ 0 → s0 ≈ 0) ∧ (l1 ≈ 0 → s1 ≈ 0) ∧
(l0 ≈ 1 ∧ l1 ≈ 1) → (s0 ≈ s1) ∧ (l1 ≤ 5 ∧ s1 ≤ 5) Elements of sets are natural numbers (F = N) l0 → 0 s0 → 0 l1 → 5 s1 → 5
25 / 30
(Counter-)Example
Transformation
(card(x) ≤ 5 ∧ sum(x) ≤ 5)
- (l0 ≈ 0 → s0 ≈ 0) ∧ (l1 ≈ 0 → s1 ≈ 0) ∧
(l0 ≈ 1 ∧ l1 ≈ 1) → (s0 ≈ s1) ∧ (l1 ≤ 5 ∧ s1 ≤ 5) Elements of sets are natural numbers (F = N) l0 → 0 s0 → 0 l1 → 5 s1 → 5 Cannot be extended!
25 / 30
Sum Constructive Structures
Definition (sum constructive)
A structure is called sum constructive if and only if its element support F has the following property: For all c ∈ F there exist infinitely many a, b ∈ F, such that a = b and a + b = c.
26 / 30
Sum Constructive Structures
Definition (sum constructive)
A structure is called sum constructive if and only if its element support F has the following property: For all c ∈ F there exist infinitely many a, b ∈ F, such that a = b and a + b = c. Sum constructive : Z, Q, R, . . . Not sum constructive : N, R+, any finite set, . . .
26 / 30
(Counter-)Example
Formula
(l0 ≈ 0 → s0 ≈ 0) ∧ (l1 ≈ 0 → s1 ≈ 0) ∧ (l0 ≈ 1 ∧ l1 ≈ 1) → (s0 ≈ s1) ∧ (l1 ≤ 5 ∧ s1 ≤ 5) Elements of sets are integers (F = Z) l0 → 0 s0 → 0 l1 → 5 s1 → 5
27 / 30
(Counter-)Example
Formula
(l0 ≈ 0 → s0 ≈ 0) ∧ (l1 ≈ 0 → s1 ≈ 0) ∧ (l0 ≈ 1 ∧ l1 ≈ 1) → (s0 ≈ s1) ∧ (l1 ≤ 5 ∧ s1 ≤ 5) Elements of sets are integers (F = Z) l0 → 0 s0 → 0 l1 → 5 s1 → 5 Can be extended!
27 / 30
(Counter-)Example
Formula
(l0 ≈ 0 → s0 ≈ 0) ∧ (l1 ≈ 0 → s1 ≈ 0) ∧ (l0 ≈ 1 ∧ l1 ≈ 1) → (s0 ≈ s1) ∧ (l1 ≤ 5 ∧ s1 ≤ 5) Elements of sets are integers (F = Z) l0 → 0 s0 → 0 l1 → 5 s1 → 5 Can be extended! x → ∅ x → {5, 1, −1, 2, −2}
27 / 30
Properties
Theorem (Decision Procedure)
If we are considering sum constructive structures and we have a decision procedure for the resulting arithmetical fragment, we have a decision procedure for BAPAS.
28 / 30
Properties
Theorem (Decision Procedure)
If we are considering sum constructive structures and we have a decision procedure for the resulting arithmetical fragment, we have a decision procedure for BAPAS.
Complexity
Let F be the input formula.
◮ Size of result is bounded by O(22size(F)) ◮ Time for transformation bounded by O(22size(F)) ◮ Number of quantifier alternations does not change
28 / 30
Conclusion
◮ Introduced BAPAS as extension of BAPA ◮ Presented a transformation from BAPAS to pure arithmetic ◮ Decision procedure for BAPAS3 ◮ Properties are proven ◮ Implementation is ongoing
3Under certain conditions 29 / 30
Outlook
◮ min and max as additional bridging function ◮ Developement of a general approach for new bridging functions ◮ Consider intervals instead of sets and try to extend the developed
methods
◮ Consider if the developed methods can be extend for reasoning with
the duration calculus
30 / 30
The constant U
◮ UA ∈ Pf (F), ◮ MAXC := card(U) ◮ MAXS := sum(U) ◮ MAXCA = cardA(UA) := |UA| ◮ MAXSA = sumA(UA) := e∈UA
e
◮ ∀ x p(x) true iff pA(o) true for all o ∈ P(UA) ◮ ∃ x p(x) true iff pA(o) true for at least one o ∈ P(UA) ◮ o ∈ Pf (F), then ∁Ao := {e | e ∈ UA and e ∈ o}.
31 / 30
Duration Calculus
◮ Temporal logic ◮ Zhou Chaochen, C. A. R. Hoare, and Anders P. Ravn (1991) ◮ Talks about intervals ◮ Example: (l ≥ 60) → (
- Leak ≤ 0.05 ∗ l)
32 / 30