implementing the omega test in hol
play

Implementing the Omega Test in HOL Outline: Basic Fourier-Motzkin - PowerPoint PPT Presentation

Implementing the Omega Test in HOL Outline: Basic Fourier-Motzkin variable elimination Omegas extension to F-M variable elimination Implementing this in HOL On the need for efficiency in conversion to DNF ARG lunch p.1 Fourier-Motzkin


  1. Implementing the Omega Test in HOL Outline: Basic Fourier-Motzkin variable elimination Omega’s extension to F-M variable elimination Implementing this in HOL On the need for efficiency in conversion to DNF ARG lunch – p.1

  2. Fourier-Motzkin Variable Elimination The basis for Hodes’s method ( ARITH CONV in HOL and d.p.’s in Isabelle, ACL2 and Coq) Fundamental theorem: ( ∃ x. a ≤ αx ∧ βx ≤ b ) ≡ aβ ≤ αb True over R (and Q ). . . ARG lunch – p.2

  3. Fourier-Motzkin Variable Elimination The basis for Hodes’s method ( ARITH CONV in HOL and d.p.’s in Isabelle, ACL2 and Coq) Fundamental theorem: ( ∃ x. a ≤ αx ∧ βx ≤ b ) ≡ aβ ≤ αb True over R (and Q ). . . . . . false over Z E.g., ( ∃ x. 3 ≤ 2 x ≤ 3) �≡ 6 ≤ 6 ARG lunch – p.2

  4. � ✁ ✁ � ✁ � � ✁ � ✁ ✁ FMVE—Multiple Constraints Let L ( x ) be conjunction of lower bounds on x , indexed by i , of the form a > 0) . ≤ α ( α x Let U ( x ) be conjunction of upper bounds on x , indexed by j , of the form β > 0) . x ≤ b ( β Want to show: � ( ∃ x. L ( x ) ∧ U ( x )) ≡ ≤ α a β b �✄✂ On assumption that core theorem is true. (Similar “ex- tension to n × m constraints” proofs are required for theorems over Z .) ARG lunch – p.3

  5. ☎ ☎ ☎ ☎ ☎ ☎ Multiple Constraints: Induction #1 Many upper bounds, one lower bound. Have: � ( ∃ x. a ≤ αx ∧ U ( x )) ≡ ≤ αb aβ Want ( ∃ x. a ≤ αx ∧ βx ≤ b ∧ U ( x )) ≡ � ≤ αb ∧ aβ ≤ αb aβ ARG lunch – p.4

  6. ✆ ✆ ✆ ✆ ✆ ✆ Multiple Constraints: Induction #1 Many upper bounds, one lower bound. Have: � ( ∃ x. a ≤ αx ∧ U ( x )) ≡ ≤ αb aβ Want ( ∃ x. a ≤ αx ∧ βx ≤ b ∧ U ( x )) ≡ � ≤ αb ∧ aβ ≤ αb aβ Left to right is easy: I.H. gives first conjunct; core theorem gives second. ARG lunch – p.4

  7. ✝ ✝ ✝ ✝ ✝ ✝ Multiple Constraints: Induction #1 Many upper bounds, one lower bound. Have: � ( ∃ x. a ≤ αx ∧ U ( x )) ≡ ≤ αb aβ Want ( ∃ x. a ≤ αx ∧ βx ≤ b ∧ U ( x )) ≡ � ≤ αb ∧ aβ ≤ αb aβ Right to left: I.H. gives us ∃ y. a ≤ αy ∧ U ( y ) ARG lunch – p.5

  8. ✞ ✞ ✞ ✞ ✞ ✞ Multiple Constraints: Induction #1 Many upper bounds, one lower bound. Have: � ( ∃ x. a ≤ αx ∧ U ( x )) ≡ ≤ αb aβ Want ( ∃ x. a ≤ αx ∧ βx ≤ b ∧ U ( x )) ≡ � ≤ αb ∧ aβ ≤ αb aβ Right to left: I.H. gives us ∃ y. a ≤ αy ∧ U ( y ) Core theorem gives ∃ z. a ≤ αz ∧ βz ≤ b ARG lunch – p.5

  9. ✟ ✟ ✟ ✟ ✟ ✟ Multiple Constraints: Induction #1 Many upper bounds, one lower bound. Have: � ( ∃ x. a ≤ αx ∧ U ( x )) ≡ ≤ αb aβ Want ( ∃ x. a ≤ αx ∧ βx ≤ b ∧ U ( x )) ≡ � ≤ αb ∧ aβ ≤ αb aβ Right to left: I.H. gives us ∃ y. a ≤ αy ∧ U ( y ) Core theorem gives ∃ z. a ≤ αz ∧ βz ≤ b y and z both satisfy ( a, α ) -constraint. Minimum of y and z will satisfy both upper-bound constraints. ARG lunch – p.5

  10. ✠ ☛ ✠ ☛ ☛ ✠ ✠ ☛ ✠ ✡ ☛ ☛ ✡ ✠ ☛ ☛ ☛ Multiple Constraints: Induction #2 n upper bounds, m lower bounds. Have: � ( ∃ x. L ( x ) ∧ U ( x )) ≡ ≤ α a β b Want ( ∃ x. a ≤ αx ∧ L ( x ) ∧ U ( x )) ≡ � � ≤ α ∧ ≤ αb a β b aβ ARG lunch – p.6

  11. ✌ ✍ ☞ ✍ ✍ ☞ ☞ ✍ ☞ ☞ ✍ ✍ ✌ ☞ ✍ ✍ ✍ Multiple Constraints: Induction #2 n upper bounds, m lower bounds. Have: � ( ∃ x. L ( x ) ∧ U ( x )) ≡ ≤ α a β b Want ( ∃ x. a ≤ αx ∧ L ( x ) ∧ U ( x )) ≡ � � ≤ α ∧ ≤ αb a β b aβ Left to right: first conjunct by I.H.; second by appeal to induction #1 ARG lunch – p.6

  12. ✏ ✑ ✎ ✑ ✑ ✎ ✎ ✑ ✎ ✎ ✑ ✑ ✏ ✎ ✑ ✑ ✑ Multiple Constraints: Induction #2 n upper bounds, m lower bounds. Have: � ( ∃ x. L ( x ) ∧ U ( x )) ≡ ≤ α a β b Want ( ∃ x. a ≤ αx ∧ L ( x ) ∧ U ( x )) ≡ � � ≤ α ∧ ≤ αb a β b aβ Right to left: I.H. gives ∃ y. L ( y ) ∧ U ( y ) . ARG lunch – p.7

  13. ✓ ✔ ✒ ✔ ✔ ✒ ✒ ✔ ✒ ✒ ✔ ✔ ✓ ✒ ✔ ✔ ✔ Multiple Constraints: Induction #2 n upper bounds, m lower bounds. Have: � ( ∃ x. L ( x ) ∧ U ( x )) ≡ ≤ α a β b Want ( ∃ x. a ≤ αx ∧ L ( x ) ∧ U ( x )) ≡ � � ≤ α ∧ ≤ αb a β b aβ Right to left: I.H. gives ∃ y. L ( y ) ∧ U ( y ) . Induction #1 gives ∃ z. a ≤ αz ∧ U ( z ) . ARG lunch – p.7

  14. ✗ ✗ ✕ ✗ ✗ ✕ ✕ ✗ ✕ ✕ ✗ ✗ ✖ ✕ ✗ ✗ ✖ Multiple Constraints: Induction #2 n upper bounds, m lower bounds. Have: � ( ∃ x. L ( x ) ∧ U ( x )) ≡ ≤ α a β b Want ( ∃ x. a ≤ αx ∧ L ( x ) ∧ U ( x )) ≡ � � ≤ α ∧ ≤ αb a β b aβ Right to left: I.H. gives ∃ y. L ( y ) ∧ U ( y ) . Induction #1 gives ∃ z. a ≤ αz ∧ U ( z ) . y and z both satisfy U . Take their maximum to satisfy L and the other lower bound constraint. ARG lunch – p.7

  15. ✘ ✚ ✚ ✘ ✙ ✚ ✘ ✘ ✚ Exact Shadow Elimination The formula � ≤ α a β b is known as the real shadow . If all of the α or all of the β are equal to 1, then we can use it to eliminate quantifiers over Z . ARG lunch – p.8

  16. ✛ ✛ ✜ ✢ ✛ ✢ ✛ ✢ ✢ Exact Shadow Elimination The formula � ≤ α a β b is known as the real shadow . If all of the α or all of the β are equal to 1, then we can use it to eliminate quantifiers over Z . The core theorem ( ∃ x. a ≤ αx ∧ βx ≤ b ) ≡ aβ ≤ αb is true over Z because. . . ARG lunch – p.8

  17. ✥ ✥ ✥ ✣ ✤ ✥ ✣ ✣ ✣ Exact Shadow Elimination The formula � ≤ α a β b is known as the real shadow . If all of the α or all of the β are equal to 1, then we can use it to eliminate quantifiers over Z . The core theorem ( ∃ x. a ≤ αx ∧ βx ≤ b ) ≡ aβ ≤ αb is true over Z because. . . left to right: transitivity still holds ARG lunch – p.8

  18. ★ ★ ★ ✦ ✧ ★ ✦ ✦ ✦ Exact Shadow Elimination The formula � ≤ α a β b is known as the real shadow . If all of the α or all of the β are equal to 1, then we can use it to eliminate quantifiers over Z . The core theorem ( ∃ x. a ≤ αx ∧ βx ≤ b ) ≡ aβ ≤ αb is true over Z because. . . left to right: transitivity still holds right to left: take x = b if β = 1 , x = a if α = 1 ARG lunch – p.8

  19. ✯ ✰ ✮ ✰ ✯ ✭✮ ✬ ✭ ✪ ✭ ✱ ✩ ✲ ✪ ✩ ✪ ✪ ✩ ✪ ✩ ✪ ✩ Shadows with Splinters Pugh claims that exact shadow eliminations occur frequently Otherwise, following theorem required: Let m be the maximum of all the β s. Then ( ∃ x. L ( x ) ∧ U ( x )) ≡ ( � ( α − 1)( β − 1) ≤ α − a ) b β ✪✄✫ ∨ � � ∃ x. ( α x = a + k ) ∧ L ( x ) ∧ U ( x ) =0 First disjunct known as dark shadow . Other disjuncts known as splinters ARG lunch – p.9

  20. Proof of Core Omega Theorem Result is of form ( ∃ x. L ( x ) ∧ U ( x )) ≡ “dark shadow” ∨ “splinters” Proof has three cases: “dark shadow” ⇒ ∃ x. L ( x ) ∧ U ( x ) “splinters” ⇒ ∃ x. L ( x ) ∧ U ( x ) ( ∃ x. L ( x ) ∧ U ( x )) ∧ ¬ “dark shadow” ⇒ “splinters” ARG lunch – p.10

  21. Core Omega Theorem—Case 1 � i,j ( α i − 1)( β j − 1) ≤ α i b j − a i β j ∃ x. L ( x ) ∧ U ( x ) ⇒ ARG lunch – p.11

  22. Core Omega Theorem—Case 1 � i,j ( α i − 1)( β j − 1) ≤ α i b j − a i β j ∃ x. L ( x ) ∧ U ( x ) ⇒ Do singleton case, extend by two inductions as before: ( α − 1)( β − 1) ≤ αb − aβ ⇒ ∃ x. a ≤ αx ∧ βx ≤ b ARG lunch – p.11

  23. Core Omega Theorem—Case 1 � i,j ( α i − 1)( β j − 1) ≤ α i b j − a i β j ∃ x. L ( x ) ∧ U ( x ) ⇒ Do singleton case, extend by two inductions as before: ( α − 1)( β − 1) ≤ αb − aβ ⇒ ∃ x. a ≤ αx ∧ βx ≤ b Assume opposite, so ¬∃ x. aβ ≤ αβx ≤ αb ARG lunch – p.11

  24. Core Omega Theorem—Case 1 � i,j ( α i − 1)( β j − 1) ≤ α i b j − a i β j ∃ x. L ( x ) ∧ U ( x ) ⇒ Do singleton case, extend by two inductions as before: ( α − 1)( β − 1) ≤ αb − aβ ⇒ ∃ x. a ≤ αx ∧ βx ≤ b Assume opposite, so ¬∃ x. aβ ≤ αβx ≤ αb No multiple of αβ between aβ and αb , so ∃ i. αβi < aβ ≤ αb < αβ ( i + 1) ARG lunch – p.11

  25. Core Omega Theorem—Case 1 � i,j ( α i − 1)( β j − 1) ≤ α i b j − a i β j ∃ x. L ( x ) ∧ U ( x ) ⇒ Do singleton case, extend by two inductions as before: ( α − 1)( β − 1) ≤ αb − aβ ⇒ ∃ x. a ≤ αx ∧ βx ≤ b Assume opposite, so ¬∃ x. aβ ≤ αβx ≤ αb No multiple of αβ between aβ and αb , so ∃ i. αβi < aβ ≤ αb < αβ ( i + 1) Have 0 < αβ ( i + 1) − αb ARG lunch – p.11

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend