| author | huffman | 
| Thu, 14 Dec 2006 18:10:38 +0100 | |
| changeset 21847 | 59a68ed9f2f2 | 
| parent 19640 | 40ec89317425 | 
| permissions | -rw-r--r-- | 
| 19640 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 1 | (* | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 2 | ID: $Id$ | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 3 | Author: Amine Chaieb, TU Muenchen | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 4 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 5 | Examples for Ferrante and Rackoff Algorithm. | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 6 | *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 7 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 8 | theory Ferrante_Rackoff_Ex | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 9 | imports Complex_Main | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 10 | begin | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 11 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 12 | lemma "~ (ALL (x::real) y. x < y --> 10*x < 11*y)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 13 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 14 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 15 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 16 | lemma "ALL (x::real) y. x < y --> (10*(x + 5*y + -1) < 60*y)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 17 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 18 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 19 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 20 | lemma "EX (x::real) y. x ~= y --> x < y" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 21 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 22 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 23 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 24 | lemma "EX (x::real) y. (x ~= y & 10*x ~= 9*y & 10*x < y) --> x < y" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 25 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 26 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 27 | lemma "ALL (x::real) y. (x ~= y & 5*x <= y) --> 500*x <= 100*y" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 28 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 29 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 30 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 31 | (* 1 Alternations *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 32 | lemma "ALL (x::real). (EX (y::real). 4*x + 3*y <= 0 & 4*x + 3*y >= -1)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 33 | by ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 34 | lemma "ALL (x::real) < 0. (EX (y::real) > 0. 7*x + y > 0 & x - y <= 9)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 35 | by ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 36 | lemma "EX (x::real). (0 < x & x < 1) --> (ALL y > 1. x + y ~= 1)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 37 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 38 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 39 | lemma "EX (x::real). (ALL y. y < 2 --> 2*(y - x) \<le> 0 )" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 40 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 41 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 42 | lemma "ALL (x::real). x < 10 | x > 20 | (EX y. y>= 0 & y <= 10 & x+y = 20)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 43 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 44 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 45 | (* Formulae with 3 quantifiers *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 46 | (* 0 Alternations *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 47 | lemma "ALL (x::real) y z. x + y < z --> y >= z --> x < 0" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 48 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 49 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 50 | lemma "EX (x::real) y z. x + 7*y < 5* z & 5*y >= 7*z & x < 0" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 51 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 52 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 53 | lemma "ALL (x::real) y z. abs (x + y) <= z --> (abs z = z)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 54 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 55 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 56 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 57 | lemma "EX (x::real) y z. x + 7*y - 5* z < 0 & 5*y + 7*z + 3*x < 0" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 58 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 59 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 60 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 61 | lemma "ALL (x::real) y z. (abs (5*x+3*y+z) <= 5*x+3*y+z & abs (5*x+3*y+z) >= - (5*x+3*y+z)) | (abs (5*x+3*y+z) >= 5*x+3*y+z & abs (5*x+3*y+z) <= - (5*x+3*y+z))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 62 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 63 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 64 | (* 1 Alternations *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 65 | lemma "ALL (x::real) y. x < y --> (EX z>0. x+z = y)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 66 | by ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 67 | lemma "ALL (x::real) y. (EX z>0. abs (x - y) <= z )" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 68 | by ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 69 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 70 | lemma "EX (x::real) y. (ALL z<0. (z < x --> z <= y) & (z > y --> z >= x))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 71 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 72 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 73 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 74 | lemma "EX (x::real) y. (ALL z>=0. abs (3*x+7*y) <= 2*z + 1)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 75 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 76 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 77 | lemma "EX (x::real) y. (ALL z<0. (z < x --> z <= y) & (z > y --> z >= x))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 78 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 79 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 80 | (* 2 Alternations *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 81 | lemma "EX (x::real)>0. (ALL y. (EX z. 13* abs z \<noteq> abs (12*y - x) & 5*x - 3*(abs y) <= 7*z))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 82 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 83 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 84 | lemma "EX (x::real). abs (4*x + 17) < 4 & (ALL y . abs (x*34 - 34*y - 9) \<noteq> 0 \<longrightarrow> (EX z. 5*x - 3*abs y <= 7*z))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 85 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 86 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 87 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 88 | lemma "ALL (x::real). (EX y > abs (23*x - 9). (ALL z > abs (3*y - 19* abs x). x+z > 2*y))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 89 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 90 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 91 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 92 | lemma "ALL (x::real). (EX y< abs (3*x - 1). (ALL z >= (3*abs x - 1). abs (12*x - 13*y + 19*z) > abs (23*x) ))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 93 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 94 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 95 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 96 | lemma "EX (x::real). abs x < 100 & (ALL y > x. (EX z<2*y - x. 5*x - 3*y <= 7*z))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 97 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 98 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 99 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 100 | (* Formulae with 4 quantifiers *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 101 | (* 0 Alternations *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 102 | lemma "ALL (x::real) y z w. 7*x<3*y --> 5*y < 7*z --> z < 2*w --> 7*(2*w-x) > 2*y" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 103 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 104 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 105 | lemma "ALL (x::real) y. ALL z >x. ALL w > y. abs (z-x) + abs (y-w + x) <= z - x + w-y+abs x" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 106 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 107 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 108 | lemma "EX (x::real) y z w. 5*x + 3*z - 17*w + abs (y - 8*x + z) <= 89" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 109 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 110 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 111 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 112 | lemma "EX (x::real) y z w. 5*x + 3*z - 17*w + 7* (y - 8*x + z) <= max y (7*z - x + w)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 113 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 114 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 115 | |
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 116 | lemma "EX (x::real) y z w. min (5*x + 3*z) (17*w) + 5* abs (y - 8*x + z) <= max y (7*z - x + w)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 117 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 118 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 119 | (* 1 Alternations *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 120 | lemma "ALL (x::real) y z. (EX w >= (x+y+z). w <= abs x + abs y + abs z)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 121 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 122 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 123 | lemma "~(ALL (x::real). (EX y z w. 3* x + z*4 = 3*y & x + y < z & x> w & 3*x < w + y))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 124 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 125 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 126 | lemma "ALL (x::real) y. (EX z w. abs (x-y) = (z-w) & z*1234 < 233*x & w ~= y)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 127 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 128 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 129 | lemma "ALL (x::real). (EX y z w. min (5*x + 3*z) (17*w) + 5* abs (y - 8*x + z) <= max y (7*z - x + w))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 130 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 131 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 132 | lemma "EX (x::real) y z. (ALL w >= abs (x+y+z). w >= abs x + abs y + abs z)" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 133 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 134 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 135 | (* 2 Alternations *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 136 | lemma "EX z. (ALL (x::real) y. (EX w >= (x+y+z). w <= abs x + abs y + abs z))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 137 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 138 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 139 | lemma "EX z. (ALL (x::real) < abs z. (EX y w. x< y & x < z & x> w & 3*x < w + y))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 140 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 141 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 142 | lemma "ALL (x::real) y. (EX z. (ALL w. abs (x-y) = abs (z-w) --> z < x & w ~= y))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 143 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 144 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 145 | lemma "EX y. (ALL (x::real). (EX z w. min (5*x + 3*z) (17*w) + 5* abs (y - 8*x + z) <= max y (7*z - x + w)))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 146 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 147 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 148 | lemma "EX (x::real) z. (ALL w >= 13*x - 4*z. (EX y. w >= abs x + abs y + z))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 149 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 150 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 151 | (* 3 Alternations *) | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 152 | lemma "EX (x::real). (ALL y < x. (EX z > (x+y). | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 153 | (ALL w. 5*w + 10*x - z >= y --> w + 7*x + 3*z >= 2*y)))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 154 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 155 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 156 | lemma "EX (x::real). (ALL y. (EX z > y. | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 157 | (ALL w . w < 13 --> w + 10*x - z >= y --> 5*w + 7*x + 13*z >= 2*y)))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 158 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 159 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 160 | lemma "ALL (x::real). (EX y. (ALL z>19. y <= x + z & (EX w. abs (y - x) < w)))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 161 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 162 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 163 | lemma "ALL (x::real). (EX y. (ALL z>19. y <= x + z & (EX w. abs (x + z) < w - y)))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 164 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 165 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 166 | lemma "ALL (x::real). (EX y. abs y ~= abs x & (ALL z> max x y. (EX w. w ~= y & w ~= z & 3*w - z >= x + y)))" | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 167 | apply ferrack | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 168 | done | 
| 
40ec89317425
added Ferrante and Rackoff Algorithm -- by Amine Chaieb;
 wenzelm parents: diff
changeset | 169 | end |