![Page 1: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/1.jpg)
ILP Modulo Data
Pete Manolios Vasilis Papavasileiou Mirek Riedewald
Northeastern University
{pete,vpap,mirek}@ccs.neu.edu
October 23, 2014
![Page 2: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/2.jpg)
Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …
Id Diff1 1282 1173 89… …
Id Amountx1 a1x2 a2… …xn an
stocks quotes
portfolio
%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n
xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤
∑1≤i≤n ai/3, for every sector s∑
{i | 1≤i≤n,ci=small} ai ≤∑
1≤i≤n ai/4
![Page 3: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/3.jpg)
Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …
Id Diff1 1282 1173 89… …
Id Amountx1 a1x2 a2… …xn an
stocks quotes
portfolio
%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n
xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤
∑1≤i≤n ai/3, for every sector s∑
{i | 1≤i≤n,ci=small} ai ≤∑
1≤i≤n ai/4
![Page 4: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/4.jpg)
Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …
Id Diff1 1282 1173 89… …
Id Amountx1 a1x2 a2… …xn an
stocks quotes
portfolio
%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n
xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤
∑1≤i≤n ai/3, for every sector s∑
{i | 1≤i≤n,ci=small} ai ≤∑
1≤i≤n ai/4
![Page 5: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/5.jpg)
Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …
Id Diff1 1282 1173 89… …
Id Amountx1 a1x2 a2… …xn an
stocks quotes
portfolio
%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n
xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤
∑1≤i≤n ai/3, for every sector s∑
{i | 1≤i≤n,ci=small} ai ≤∑
1≤i≤n ai/4
![Page 6: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/6.jpg)
Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …
Id Diff1 1282 1173 89… …
Id Amountx1 a1x2 a2… …xn an
stocks quotes
portfolio
%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n
xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤
∑1≤i≤n ai/3, for every sector s∑
{i | 1≤i≤n,ci=small} ai ≤∑
1≤i≤n ai/4
![Page 7: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/7.jpg)
Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …
Id Diff1 1282 1173 89… …
Id Amountx1 a1x2 a2… …xn an
stocks quotes
portfolio
%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n
xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤
∑1≤i≤n ai/3, for every sector s∑
{i | 1≤i≤n,ci=small} ai ≤∑
1≤i≤n ai/4
![Page 8: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/8.jpg)
Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …
Id Diff1 1282 1173 89… …
Id Amountx1 a1x2 a2… …xn an
stocks quotes
portfolio
%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ nxi = xj, 1 ≤ i < j ≤ n
∑{i | 1≤i≤n,si=s} ai ≤
∑1≤i≤n ai/3, for every sector s∑
{i | 1≤i≤n,ci=small} ai ≤∑
1≤i≤n ai/4
![Page 9: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/9.jpg)
Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …
Id Diff1 1282 1173 89… …
Id Amountx1 a1x2 a2… …xn an
stocks quotes
portfolio
%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ nxi = xj, 1 ≤ i < j ≤ n∑
{i | 1≤i≤n,si=s} ai ≤∑
1≤i≤n ai/3, for every sector s
∑{i | 1≤i≤n,ci=small} ai ≤
∑1≤i≤n ai/4
![Page 10: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/10.jpg)
Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …
Id Diff1 1282 1173 89… …
Id Amountx1 a1x2 a2… …xn an
stocks quotes
portfolio
%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ nxi = xj, 1 ≤ i < j ≤ n∑
{i | 1≤i≤n,si=s} ai ≤∑
1≤i≤n ai/3, for every sector s∑{i | 1≤i≤n,ci=small} ai ≤
∑1≤i≤n ai/4
![Page 11: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/11.jpg)
Motivation
The Logic ∆
Efficient Solving
Experimental Evaluation
![Page 12: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/12.jpg)
Motivation
The Logic ∆
Efficient Solving
Experimental Evaluation
![Page 13: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/13.jpg)
• SQL
Query Languages
• QFLIA
Constraint Languages
• ∆
![Page 14: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/14.jpg)
• SQL
Query Languages
• QFLIA
Constraint Languages
• ∆
![Page 15: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/15.jpg)
• SQL
Query Languages
• QFLIA
Constraint Languages
• ∆
![Page 16: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/16.jpg)
• SQL
Query Languages
• QFLIA
Constraint Languages
• ∆
![Page 17: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/17.jpg)
• SQL
Query Languages
• QFLIA
Constraint Languages
• ∆
![Page 18: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/18.jpg)
∆ ::= QFLIA % Relational Operators
![Page 19: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/19.jpg)
Input Table
portfolio =
{(1, (x1, a1)),(2, (x2, a2)),. . . ,
(n, (xn, an))}
![Page 20: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/20.jpg)
Input Table
portfolio =
{(1, (x1, a1)),(2, (x2, a2)),. . . ,
(n, (xn, an))}
unique ID
![Page 21: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/21.jpg)
Input Table
portfolio =
{(1, (x1, a1)),(2, (x2, a2)),. . . ,
(n, (xn, an))}
unique ID
stock ID
![Page 22: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/22.jpg)
Input Table
portfolio =
{(1, (x1, a1)),(2, (x2, a2)),. . . ,
(n, (xn, an))}
unique ID
stock ID
amount
![Page 23: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/23.jpg)
Cross Product
portfolio× portfolio
![Page 24: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/24.jpg)
σ
⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))
: portfolio × portfolio ⟩
i.e.,
{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,
r = (r1, (r2, r3)) ∈ portfolio,
q1 = r1,q2 = r2}
![Page 25: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/25.jpg)
σ
⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))
: portfolio × portfolio ⟩
i.e.,
{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,
r = (r1, (r2, r3)) ∈ portfolio,
q1 = r1,q2 = r2}
![Page 26: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/26.jpg)
σ
⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))
: portfolio × portfolio ⟩
i.e.,
{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,
r = (r1, (r2, r3)) ∈ portfolio,
q1 = r1,q2 = r2}
![Page 27: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/27.jpg)
σ
⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))
: portfolio × portfolio ⟩
i.e.,
{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,
r = (r1, (r2, r3)) ∈ portfolio,
q1 = r1,q2 = r2}
![Page 28: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/28.jpg)
σ
⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))
: portfolio × portfolio ⟩
i.e.,
{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,
r = (r1, (r2, r3)) ∈ portfolio,
q1 = r1,q2 = r2}
![Page 29: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/29.jpg)
σ
⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))
: portfolio × portfolio ⟩
i.e.,
{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,
r = (r1, (r2, r3)) ∈ portfolio,
q1 = r1,q2 = r2}
![Page 30: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/30.jpg)
σ
⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))
: portfolio × portfolio ⟩
i.e.,
{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,
r = (r1, (r2, r3)) ∈ portfolio,
q1 = r1,q2 = r2}
![Page 31: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/31.jpg)
Constraints
¬∃∃
⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))
: portfolio × portfolio ⟩
¬∨
(q1, (q2, q3)) ∈ portfolio,(r1, (r2, r3)) ∈ portfolio
[q1 = r1 ∧ q2 = r2]
O(n2) entries (general case: O(nn))
![Page 32: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/32.jpg)
Constraints
¬∃∃
⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))
: portfolio × portfolio ⟩
∃∃D : D is not empty
![Page 33: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/33.jpg)
Constraints
¬∃∃
⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))
: portfolio × portfolio ⟩
¬∨
(q1, (q2, q3)) ∈ portfolio,(r1, (r2, r3)) ∈ portfolio
[q1 = r1 ∧ q2 = r2]
O(n2) entries (general case: O(nn))
![Page 34: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/34.jpg)
Constraints
¬∃∃
⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))
: portfolio × portfolio ⟩
¬∨
(q1, (q2, q3)) ∈ portfolio,(r1, (r2, r3)) ∈ portfolio
[q1 = r1 ∧ q2 = r2]
O(n2) entries (general case: O(nn))
![Page 35: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/35.jpg)
Motivation
The Logic ∆
Efficient Solving
Experimental Evaluation
![Page 36: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/36.jpg)
F ∈ ∃∆
iff
{F ∈ ∆∃∃ only appears with positive polarity in F
![Page 37: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/37.jpg)
∃∃
⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))
: portfolio × portfolio ⟩
p ∈ [portfolio× portfolio]∧ first(left(p)) = first(right(p))∧ second(left(p)) = second(right(p))
q ∈ portfolio∧ r ∈ portfolio∧ first(left((q, r))) = first(right((q, r)))∧ second(left((q, r))) = second(right((q, r)))
p 7→ (q, r)
(q1, (q2, q3)) ∈ portfolio∧ (r1, (r2, r3)) ∈ portfolio∧ q1 = r1∧ q2 = r2
q 7→ (q1, (q2, q3))r 7→ (r1, (r2, r3))
![Page 38: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/38.jpg)
∃∃
⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))
: portfolio × portfolio ⟩
p ∈ [portfolio× portfolio]∧ first(left(p)) = first(right(p))∧ second(left(p)) = second(right(p))
q ∈ portfolio∧ r ∈ portfolio∧ first(left((q, r))) = first(right((q, r)))∧ second(left((q, r))) = second(right((q, r)))
p 7→ (q, r)
(q1, (q2, q3)) ∈ portfolio∧ (r1, (r2, r3)) ∈ portfolio∧ q1 = r1∧ q2 = r2
q 7→ (q1, (q2, q3))r 7→ (r1, (r2, r3))
![Page 39: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/39.jpg)
∃∃
⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))
: portfolio × portfolio ⟩
p ∈ [portfolio× portfolio]∧ first(left(p)) = first(right(p))∧ second(left(p)) = second(right(p))
q ∈ portfolio∧ r ∈ portfolio∧ first(left((q, r))) = first(right((q, r)))∧ second(left((q, r))) = second(right((q, r)))
p 7→ (q, r)
(q1, (q2, q3)) ∈ portfolio∧ (r1, (r2, r3)) ∈ portfolio∧ q1 = r1∧ q2 = r2
q 7→ (q1, (q2, q3))r 7→ (r1, (r2, r3))
![Page 40: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/40.jpg)
∃∃
⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))
: portfolio × portfolio ⟩
p ∈ [portfolio× portfolio]∧ first(left(p)) = first(right(p))∧ second(left(p)) = second(right(p))
q ∈ portfolio∧ r ∈ portfolio∧ first(left((q, r))) = first(right((q, r)))∧ second(left((q, r))) = second(right((q, r)))
p 7→ (q, r)
(q1, (q2, q3)) ∈ portfolio∧ (r1, (r2, r3)) ∈ portfolio∧ q1 = r1∧ q2 = r2
q 7→ (q1, (q2, q3))r 7→ (r1, (r2, r3))
![Page 41: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/41.jpg)
∃∃
⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))
: portfolio × portfolio ⟩
p ∈ [portfolio× portfolio]∧ first(left(p)) = first(right(p))∧ second(left(p)) = second(right(p))
q ∈ portfolio∧ r ∈ portfolio∧ first(left((q, r))) = first(right((q, r)))∧ second(left((q, r))) = second(right((q, r)))
p 7→ (q, r)
(q1, (q2, q3)) ∈ portfolio∧ (r1, (r2, r3)) ∈ portfolio∧ q1 = r1∧ q2 = r2
q 7→ (q1, (q2, q3))r 7→ (r1, (r2, r3))
![Page 42: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/42.jpg)
Table Membership
(x1, . . . , xk) ∈ {(y1,1, . . . , y1,k), . . . , (yl,1, . . . , yl,k)}
table (concrete and symbolic data)
![Page 43: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/43.jpg)
Table Membership
(x1, . . . , xk) ∈ {(y1,1, . . . , y1,k), . . . , (yl,1, . . . , yl,k)}
table (concrete and symbolic data)
![Page 44: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/44.jpg)
ILP % T [CAV 2013]
stably-infinite
∼
Data
≥
QFLIA
∃∆
![Page 45: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/45.jpg)
ILP % T [CAV 2013]
stably-infinite
∼
Data
≥
QFLIA
∃∆
![Page 46: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/46.jpg)
ILP % T [CAV 2013]
stably-infinite
∼
Data
≥
QFLIA
∃∆
![Page 47: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/47.jpg)
ILP % T [CAV 2013]
stably-infinite
∼
Data
≥
QFLIA
∃∆
![Page 48: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/48.jpg)
ILP % T [CAV 2013]
stably-infinite
∼
Data
≥
QFLIA
∃∆
![Page 49: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/49.jpg)
Branching and Propagation Modulo Data
Input
C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧
. . .
{C}
−→Branch{C · x < 2, C · x ≥ 2}−→
Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}−→
D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}−→ . . .
{(1, 2),(2, 3),
(3, 2),
(a, b)}
{(1, 2),(a, b)}
{(2, 3),(3, 2),
(a, b)}
{(2, 3)(3, 2)}
{(2, 3)(3, 2),
(a, b)}
(x, y) ∈
(x, y) ∈(x, y) ∈
(x, y) ∈(x, y) ∈
x < 2 x ≥ 2
x = a x = a
![Page 50: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/50.jpg)
Branching and Propagation Modulo Data
Input
C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧
. . .
{C}
−→Branch{C · x < 2, C · x ≥ 2}−→
Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}−→
D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}−→ . . .
{(1, 2),(2, 3),
(3, 2),
(a, b)}
{(1, 2),(a, b)}
{(2, 3),(3, 2),
(a, b)}
{(2, 3)(3, 2)}
{(2, 3)(3, 2),
(a, b)}
(x, y) ∈
(x, y) ∈(x, y) ∈
(x, y) ∈(x, y) ∈
x < 2 x ≥ 2
x = a x = a
![Page 51: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/51.jpg)
Branching and Propagation Modulo Data
Input
C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧
. . .
{C}−→
Branch{C · x < 2, C · x ≥ 2}
−→Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}−→
D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}−→ . . .
{(1, 2),(2, 3),
(3, 2),
(a, b)}
{(1, 2),(a, b)}
{(2, 3),(3, 2),
(a, b)}
{(2, 3)(3, 2)}
{(2, 3)(3, 2),
(a, b)}
(x, y) ∈
(x, y) ∈(x, y) ∈
(x, y) ∈(x, y) ∈
x < 2 x ≥ 2
x = a x = a
![Page 52: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/52.jpg)
Branching and Propagation Modulo Data
Input
C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧
. . .
{C}−→
Branch{C · x < 2, C · x ≥ 2}−→
Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}
−→D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}−→ . . .
{(1, 2),(2, 3),
(3, 2),
(a, b)}
{(1, 2),(a, b)}
{(2, 3),(3, 2),
(a, b)}
{(2, 3)(3, 2)}
{(2, 3)(3, 2),
(a, b)}
(x, y) ∈
(x, y) ∈(x, y) ∈
(x, y) ∈(x, y) ∈
x < 2 x ≥ 2
x = a x = a
![Page 53: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/53.jpg)
Branching and Propagation Modulo Data
Input
C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧
. . .
{C}−→
Branch{C · x < 2, C · x ≥ 2}−→
Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}−→
D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}
−→ . . .
{(1, 2),(2, 3),
(3, 2),
(a, b)}
{(1, 2),(a, b)}
{(2, 3),(3, 2),
(a, b)}
{(2, 3)(3, 2)}
{(2, 3)(3, 2),
(a, b)}
(x, y) ∈
(x, y) ∈(x, y) ∈
(x, y) ∈(x, y) ∈
x < 2 x ≥ 2
x = a x = a
![Page 54: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/54.jpg)
Branching and Propagation Modulo Data
Input
C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧
. . .
{C}−→
Branch{C · x < 2, C · x ≥ 2}−→
Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}−→
D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}−→ . . .
{(1, 2),(2, 3),
(3, 2),
(a, b)}
{(1, 2),(a, b)}
{(2, 3),(3, 2),
(a, b)}
{(2, 3)(3, 2)}
{(2, 3)(3, 2),
(a, b)}
(x, y) ∈
(x, y) ∈(x, y) ∈
(x, y) ∈(x, y) ∈
x < 2 x ≥ 2
x = a x = a
![Page 55: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/55.jpg)
Motivation
The Logic ∆
Efficient Solving
Experimental Evaluation
![Page 56: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/56.jpg)
http://scip.zib.de
http://caml.inria.fr
https://github.com/vasilisp/inez
![Page 57: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/57.jpg)
Benchmarks
http://www.ccs.neu.edu/home/vpap/fmcad-2014.html
![Page 58: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/58.jpg)
1
10
100
1000
1 10 100 1000
Inez
Tim
e (s
)
InezDB Time (s)
![Page 59: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/59.jpg)
1
10
100
1000
1 10 100 1000
Z3
Tim
e (s
)
InezDB Time (s)
![Page 60: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff](https://reader035.vdocuments.mx/reader035/viewer/2022081612/5f1b4f5e2c621240c0463613/html5/thumbnails/60.jpg)
The End