Autarkies for DQCNF Oliver Kullmann 1 Ankit Shukla 2 1 Swansea University 2 JKU, Linz FMCAD 2019, San Jose, California, USA 1
DQCNF: Dependency Quantified Boolean CNF Formula Quantifier Prefix Matrix F = F 0 ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) ∃ d ( x ) ∃ e ( y ) : Matrix Propositional formula in CNF F 0 = ( a ∨ b ∨ x ) ∧ ( a ∨ b ∨ x ) ∧ ( a ∨ b ∨ y ) ∧ ( a ∨ b ∨ y ) ∧ ( c ∨ x ∨ y ) ∧ ( c ∨ x ∨ y ∨ a ) ∧ ( c ∨ x ∨ y ) ∧ ( c ∨ x ∨ y ) ∧ ( d ∨ e ∨ x ) ∧ ( d ∨ e ∨ x ∨ c ) ∧ ( d ∨ e ∨ y ) ∧ ( d ∨ e ∨ y ) Dependency set D a = { x } , D b = { y } , D c = { x, y } , D d = { x } , D e = { y } 2
Solve DQCNF: SAT or UNSAT? DQCNF formula F := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) ∃ d ( x ) ∃ e ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } , { d, e, x } , { d, e, x, c } , { d, e, y } , { d, e, y } 3
Solve DQCNF: SAT or UNSAT? DQCNF formula F := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) ∃ d ( x ) ∃ e ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } , { d, e, x } , { d, e, x, c } , { d, e, y } , { d, e, y } DQCNF Satisfiability F is satisfiable, if there exists a total assignment: map each existential variable v to a boolean function over the dependency-set of v , f = { fa x , fb y , fc x,y , fd x , fe y } such that the matrix after substitution and simplification becomes satisfiable. 3
Solve DQCNF: SAT or UNSAT? DQCNF formula F := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) ∃ d ( x ) ∃ e ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } , { d, e, x } , { d, e, x, c } , { d, e, y } , { d, e, y } DQCNF Satisfiability F is satisfiable, if there exists a total assignment: map each existential variable v to a boolean function over the dependency-set of v , f = { fa x , fb y , fc x,y , fd x , fe y } such that the matrix after substitution and simplification becomes satisfiable. 3
Solve DQCNF: SAT or UNSAT? DQCNF formula F := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) ∃ d ( x ) ∃ e ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } , { d, e, x } , { d, e, x, c � } , { d, e, y } , { d, e, y } DQCNF Satisfiability F is satisfiable, if there exists a total assignment: map each existential variable v to a boolean function over the dependency-set of v , f = { fa x , fb y , fc x,y , fd x , fe y } such that the matrix after substitution and simplification becomes satisfiable. 3
Rules of the game Given a DQCNF formula F : 1 Pick existential variables, assign it a boolean function of universal variables and substitute it in the matrix. 4
Rules of the game Given a DQCNF formula F : 1 Pick existential variables, assign it a boolean function of universal variables and substitute it in the matrix. 2 The corresponding clauses becomes tautology. 4
Rules of the game Given a DQCNF formula F : 1 Pick existential variables, assign it a boolean function of universal variables and substitute it in the matrix. 2 The corresponding clauses becomes tautology. Ques. What are allowed values? 4
Rules of the game Given a DQCNF formula F : 1 Pick existential variables, assign it a boolean function of universal variables and substitute it in the matrix. 2 The corresponding clauses becomes tautology. Ques. What are allowed values? Ans. Any boolean function based on the dependency set . 4
Rules of the game Given a DQCNF formula F : 1 Pick existential variables, assign it a boolean function of universal variables and substitute it in the matrix. 2 The corresponding clauses becomes tautology. Ques. What are allowed values? Ans. Any boolean function based on the dependency set . Values of boolean functions ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) ∃ d ( x ) ∃ e ( y ) a �→ 0 , 1 , x, ¬ x b �→ 0 , 1 , y, ¬ y c �→ 0 , 1 , x, ¬ x, y, ¬ y, x ∨ y, x ∧ y, ... 4
Solve DQCNF: piece by piece DQCNF formula F := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) ∃ d ( x ) ∃ e ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } , { d, e, x } , { d, e, x, c } , { d, e, y } , { d, e, y } Solve the DQCNF Choices a, b, c, d, e 5
Solve DQCNF: piece by piece DQCNF formula F := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) ∃ d ( x ) ∃ e ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } , { d, e, x } , { d, e, x, c } , { d, e, y } , { d, e, y } Solve the DQCNF Choices a, b, c, d, e 5
Solve DQCNF: piece by piece DQCNF formula F := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) ∃ d ( x ) ∃ e ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } , { d, e, x } , { d, e, x, c } , { d, e, y } , { d, e, y } Solve the DQCNF Pick d, e 5
Solve DQCNF: piece by piece DQCNF formula F := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) ∃ d ( x ) ∃ e ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } , { d, e, x } , { d, e, x, c } , { d, e, y } , { d, e, y } Solve the DQCNF Pick d, e d �→ ¬ x , e �→ ¬ y 5
Solve DQCNF: piece by piece DQCNF formula F 1 := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } , { x, y, x } , { x, y, x, c } , { x, y, y } , { x, y, y } Solve the DQCNF Pick d, e d �→ ¬ x , e �→ ¬ y 5
Solve DQCNF: piece by piece DQCNF formula F 1 := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } , { x, e, x } , ✘✘✘✘✘ { x, y, x, c } , ✘✘✘✘ ✘ { x, y, y } , ✘✘✘✘ { x, y, y } ✘✘✘✘ ✘ ✘ ✘ Solve the DQCNF Pick d, e d �→ ¬ x , e �→ ¬ y 5
Solve DQCNF: piece by piece DQCNF formula F 1 := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } Solve the DQCNF Pick d, e d �→ ¬ x , e �→ ¬ y 5
Solve DQCNF: piece by piece DQCNF formula F 1 := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } Solve the DQCNF 6
Solve DQCNF: piece by piece DQCNF formula F 1 := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } Solve the DQCNF 6
Solve DQCNF: piece by piece DQCNF formula F 1 := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } Rule 2. Corresponding clauses becomes tautology! Solve the DQCNF 6
Solve DQCNF: piece by piece DQCNF formula F 1 := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } Solve the DQCNF 6
Solve DQCNF: piece by piece DQCNF formula F 1 := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } Solve the DQCNF Pick c 6
Solve DQCNF: piece by piece DQCNF formula F 1 := ∀ x, y ∃ a ( x ) ∃ b ( y ) ∃ c ( x, y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { c, x, y } , { c, x, y, a } , { c, x, y } , { c, x, y } Solve the DQCNF Pick c c = x ↔ y [ ( x ∨ ¬ y ) ∧ ( ¬ x ∨ y ) ] 6
Solve DQCNF: piece by piece DQCNF formula F 2 := ∀ x, y ∃ a ( x ) ∃ b ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { x ↔ y, x, y } , { x ↔ y, x, y, a } , { x ↔ y, x, y } , { x ↔ y, x, y } Solve the DQCNF Pick c c = x ↔ y [ ( x ∨ ¬ y ) ∧ ( ¬ x ∨ y ) ] 6
Solve DQCNF: piece by piece DQCNF formula F 2 := ∀ x, y ∃ a ( x ) ∃ b ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } , { x ↔ y, x, y } , ✭✭✭✭✭✭✭ ✭ ✭✭✭✭✭✭ ✭ { x ↔ y, x, y, a } , ✭✭✭✭✭✭ { x ↔ y, x, y } , ✭✭✭✭✭✭ ✭ { x ↔ y, x, y } ✭ Solve the DQCNF Pick c c = x ↔ y [ ( x ∨ ¬ y ) ∧ ( ¬ x ∨ y ) ] 6
Solve DQCNF: piece by piece DQCNF formula F 2 := ∀ x, y ∃ a ( x ) ∃ b ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } Solve the DQCNF Pick c c = x ↔ y [ ( x ∨ ¬ y ) ∧ ( ¬ x ∨ y ) ] 6
Solve DQCNF piece by piece DQCNF formula F 2 := ∀ x, y ∃ a ( x ) ∃ b ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } Solve the DQCNF 7
Solve DQCNF piece by piece DQCNF formula F 2 := ∀ x, y ∃ a ( x ) ∃ b ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } Solve the DQCNF 7
Solve DQCNF piece by piece DQCNF formula F 2 := ∀ x, y ∃ a ( x ) ∃ b ( y ) : { a, b, x } , { a, b, x } , { a, b, y } , { a, b, y } Solve the DQCNF Pick a, b 7
Recommend
More recommend