mædmax at School Learning Selection in Equational Reasoning Sarah Winkler University of Innsbruck 4th Conference on Artificial Intelligence and Theorem Proving 10 April 2019 1
Equational Theorem Proving 0 + x ≈ x ( − x ) + x ≈ 0 x + ( y + z ) ≈ ( x + y ) + z YES x + y ≈ y + x timeout x · ( y · z ) ≈ ( x · y ) · z NO ( x + y ) · z ≈ ( x · z ) + ( y · z ) a · 0 ≈ 0 input: set of equations E 0 and goal s ≈ t ◮ output: YES if E 0 � s ≈ t or NO otherwise ◮ 2
Equational Theorem Proving 0 + x ≈ x ( − x ) + x ≈ 0 x + ( y + z ) ≈ ( x + y ) + z YES x + y ≈ y + x timeout x · ( y · z ) ≈ ( x · y ) · z NO ( x + y ) · z ≈ ( x · z ) + ( y · z ) a · 0 ≈ 0 input: set of equations E 0 and goal s ≈ t ◮ output: YES if E 0 � s ≈ t or NO otherwise ◮ maedmax equational theorem proving tool based on maximal ordered completion 2
Equational Theorem Proving 0 + x ≈ x ( − x ) + x ≈ 0 x + ( y + z ) ≈ ( x + y ) + z YES x + y ≈ y + x timeout x · ( y · z ) ≈ ( x · y ) · z NO ( x + y ) · z ≈ ( x · z ) + ( y · z ) a · 0 ≈ 0 input: set of equations E 0 and goal s ≈ t ◮ output: YES if E 0 � s ≈ t or NO otherwise ◮ maedmax equational theorem proving tool based on maximal ordered completion ( ma edmax: e quational d eduction max imized) 2
Equational Theorem Proving 0 + x ≈ x ( − x ) + x ≈ 0 x + ( y + z ) ≈ ( x + y ) + z YES x + y ≈ y + x timeout x · ( y · z ) ≈ ( x · y ) · z NO ( x + y ) · z ≈ ( x · z ) + ( y · z ) a · 0 ≈ 0 input: set of equations E 0 and goal s ≈ t ◮ output: YES if E 0 � s ≈ t or NO otherwise ◮ maedmax equational theorem proving tool based on maximal ordered completion ( ma edmax: e quational d eduction max imized) S. Winkler and G. Moser. Maedmax: A Maximal Ordered Completion Tool. In Proc. 9th IJCAR , LNCS 10900, pp. 472-480, 2018. 2
Content Maximal Ordered Completion Learning Experiments Equation Selection Proof Progress Conclusion 3
Maximal Ordered Completion ( E , G ) 0 initialize equations and goals ( E , G ) to ( E 0 , { s ≈ t } ) 4
Maximal Ordered Completion R ⊆ E ± ( E , G ) 0 initialize equations and goals ( E , G ) to ( E 0 , { s ≈ t } ) 1 get terminating rewrite system R from E 4
Maximal Ordered Completion R ⊆ E ± R ( E , G ) success? 0 initialize equations and goals ( E , G ) to ( E 0 , { s ≈ t } ) 1 get terminating rewrite system R from E 2 check for joinable goal or saturation 4
Maximal Ordered Completion R ⊆ E ± R ( E , G ) success? yes 0 initialize equations and goals ( E , G ) to ( E 0 , { s ≈ t } ) 1 get terminating rewrite system R from E 2 check for joinable goal or saturation 4
Maximal Ordered Completion R ⊆ E ± R ( E , G ) success? yes 0 initialize equations and goals ( E , G ) to ( E 0 , { s ≈ t } ) 1 get terminating rewrite system R from E 2 check for joinable goal or saturation 4
Maximal Ordered Completion R ⊆ E ± R ( E , G ) success? yes no E := E ∪ S E G := G ∪ S G 0 initialize equations and goals ( E , G ) to ( E 0 , { s ≈ t } ) 1 get terminating rewrite system R from E 2 check for joinable goal or saturation 3 add some critical pairs S E ⊆ CP > ( R ∪ E ) and S G ⊆ CP > ( R ∪ E , G ) 4
Maximal Ordered Completion R ⊆ E ± R ( E , G ) success? yes no E := E ∪ S E G := G ∪ S G 0 initialize equations and goals ( E , G ) to ( E 0 , { s ≈ t } ) 1 get terminating rewrite system R from E 2 check for joinable goal or saturation 3 add some critical pairs S E ⊆ CP > ( R ∪ E ) and S G ⊆ CP > ( R ∪ E , G ) , repeat from 1 4
Maximal Ordered Completion maxSMT solver R ⊆ E ± R ( E , G ) success? yes no E := E ∪ S E G := G ∪ S G 0 initialize equations and goals ( E , G ) to ( E 0 , { s ≈ t } ) 1 get terminating rewrite system R from E 2 check for joinable goal or saturation 3 add some critical pairs S E ⊆ CP > ( R ∪ E ) and S G ⊆ CP > ( R ∪ E , G ) , repeat from 1 4
Critical Choice Points finding R 5
Critical Choice Points finding R selection Selecting things selection of S E and S G is highly critical ◮ on average only 15% of selected equations and goals used for proof ◮ learn better choice criteria ◮ 5
Critical Choice Points finding R selection proof progress estimate Estimating proof progress heuristic proof progress estimate: if stuck ◮ ◮ add additional (old) equations ◮ or ultimately restart learn better estimate ◮ 5
it’s all about the next (small) thing 6
Content Maximal Ordered Completion Learning Experiments Equation Selection Proof Progress Conclusion 7
Learning Equation Selection Features state: number of iterations, equations, and goals ◮ equation: ◮ ◮ hand-crafted: polarity, size, size difference, age, orientability, linearity, duplicatingness, # of matches and critical pairs on E 8
Learning Equation Selection Features state: number of iterations, equations, and goals ◮ equation: ◮ ◮ hand-crafted: polarity, size, size difference, age, orientability, linearity, duplicatingness, # of matches and critical pairs on E ◮ term structure: ∼ 200 pq -gram counts N. Augsten, M. Böhlen, and J. Gamper. The pq -gram distance between ordered labeled trees. ACM Transactions on Database Systems, 35(1):1–36, 2010. 8
Learning Equation Selection Features state: number of iterations, equations, and goals ◮ equation: ◮ ◮ hand-crafted: polarity, size, size difference, age, orientability, linearity, duplicatingness, # of matches and critical pairs on E ◮ term structure: ∼ 200 pq -gram counts Example ( pq -Grams) f ( i ( f ( i ( x ) , y )) , i ( x )) ≈ i ( y ) 8
Learning Equation Selection Features state: number of iterations, equations, and goals ◮ equation: ◮ ◮ hand-crafted: polarity, size, size difference, age, orientability, linearity, duplicatingness, # of matches and critical pairs on E ◮ term structure: ∼ 200 pq -gram counts Example ( pq -Grams) f ( i ( f ( i ( x ) , y )) , i ( x )) ≈ i ( y ) f i ≈ y ∗ ∗ ∗ ∗ i i ∗ f ∗ ∗ x ∗ y ∗ ∗ i ∗ x ∗ 8
Learning Equation Selection Features state: number of iterations, equations, and goals ◮ equation: ◮ ◮ hand-crafted: polarity, size, size difference, age, orientability, linearity, duplicatingness, # of matches and critical pairs on E ◮ term structure: ∼ 200 pq -gram counts Example ( pq -Grams) abstract symbol names to arities, ◮ f ( i ( f ( i ( x ) , y )) , i ( x )) ≈ i ( y ) variables to X 2 1 ≈ ∗ ∗ ∗ ∗ 1 1 X ∗ 2 ∗ ∗ X ∗ ∗ 1 X ∗ ∗ X ∗ 8
Learning Equation Selection Features state: number of iterations, equations, and goals ◮ equation: ◮ ◮ hand-crafted: polarity, size, size difference, age, orientability, linearity, duplicatingness, # of matches and critical pairs on E ◮ term structure: ∼ 200 pq -gram counts Example ( pq -Grams) abstract symbol names to arities, ◮ f ( i ( f ( i ( x ) , y )) , i ( x )) ≈ i ( y ) variables to X add dummy nodes ◮ 2 1 ≈ ∗ ∗ ∗ ∗ 1 1 X ∗ 2 ∗ ∗ X ∗ ∗ 1 X ∗ ∗ X ∗ 8
Learning Equation Selection Features state: number of iterations, equations, and goals ◮ equation: ◮ ◮ hand-crafted: polarity, size, size difference, age, orientability, linearity, duplicatingness, # of matches and critical pairs on E ◮ term structure: ∼ 200 pq -gram counts Example ( pq -Grams) abstract symbol names to arities, ◮ f ( i ( f ( i ( x ) , y )) , i ( x )) ≈ i ( y ) variables to X add dummy nodes ◮ 2 1 pq -grams: “go p − 1 down, q right” ◮ ≈ ∗ ∗ ∗ ∗ 1 1 X ∗ 2 ∗ ∗ X ∗ ∗ 1 X ∗ ∗ X ∗ 8
Learning Equation Selection Features state: number of iterations, equations, and goals ◮ equation: ◮ ◮ hand-crafted: polarity, size, size difference, age, orientability, linearity, duplicatingness, # of matches and critical pairs on E ◮ term structure: ∼ 200 pq -gram counts Example ( pq -Grams) abstract symbol names to arities, ◮ f ( i ( f ( i ( x ) , y )) , i ( x )) ≈ i ( y ) variables to X add dummy nodes ◮ 2 1 pq -grams: “go p − 1 down, q right” ◮ ≈ ∗ ∗ ∗ ∗ 1 1 X for p = 2, q = 1 obtain ◮ ∗ 2 ∗ ∗ X ∗ 2.*.1 ∗ 1 X ∗ ∗ X ∗ 8
Learning Equation Selection Features state: number of iterations, equations, and goals ◮ equation: ◮ ◮ hand-crafted: polarity, size, size difference, age, orientability, linearity, duplicatingness, # of matches and critical pairs on E ◮ term structure: ∼ 200 pq -gram counts Example ( pq -Grams) abstract symbol names to arities, ◮ f ( i ( f ( i ( x ) , y )) , i ( x )) ≈ i ( y ) variables to X add dummy nodes ◮ 2 1 pq -grams: “go p − 1 down, q right” ◮ ≈ ∗ ∗ ∗ ∗ 1 1 X for p = 2, q = 1 obtain ◮ ∗ 2 ∗ ∗ X ∗ 2.*.1, 2.1.1 ∗ 1 X ∗ ∗ X ∗ 8
Recommend
More recommend