| author | blanchet | 
| Fri, 26 Apr 2013 14:16:05 +0200 | |
| changeset 51796 | f0ee854aa2bd | 
| parent 48934 | f9a800f21434 | 
| child 58881 | b9556a055632 | 
| permissions | -rw-r--r-- | 
| 48932 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 1 | (* Title: HOL/Library/Sum_of_Squares_Remote.thy | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 2 | Author: Amine Chaieb, University of Cambridge | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 3 | Author: Philipp Meyer, TU Muenchen | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 4 | *) | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 5 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 6 | header {* Examples with remote CSDP *}
 | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 7 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 8 | theory Sum_of_Squares_Remote | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 9 | imports Sum_of_Squares | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 10 | begin | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 11 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 12 | lemma "(3::real) * x + 7 * a < 4 & 3 < 2 * x \<Longrightarrow> a < 0" | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 13 | by (sos remote_csdp) | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 14 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 15 | lemma "a1 >= 0 & a2 >= 0 \<and> (a1 * a1 + a2 * a2 = b1 * b1 + b2 * b2 + 2) \<and> (a1 * b1 + a2 * b2 = 0) --> a1 * a2 - b1 * b2 >= (0::real)" | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 16 | by (sos remote_csdp) | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 17 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 18 | lemma "(3::real) * x + 7 * a < 4 & 3 < 2 * x --> a < 0" | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 19 | by (sos remote_csdp) | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 20 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 21 | lemma "(0::real) <= x & x <= 1 & 0 <= y & y <= 1 --> x^2 + y^2 < 1 |(x - 1)^2 + y^2 < 1 | x^2 + (y - 1)^2 < 1 | (x - 1)^2 + (y - 1)^2 < 1" | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 22 | by (sos remote_csdp) | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 23 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 24 | lemma "(0::real) <= x & 0 <= y & 0 <= z & x + y + z <= 3 --> x * y + x * z + y * z >= 3 * x * y * z" | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 25 | by (sos remote_csdp) | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 26 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 27 | lemma "((x::real)^2 + y^2 + z^2 = 1) --> (x + y + z)^2 <= 3" | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 28 | by (sos remote_csdp) | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 29 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 30 | lemma "(w^2 + x^2 + y^2 + z^2 = 1) --> (w + x + y + z)^2 <= (4::real)" | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 31 | by (sos remote_csdp) | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 32 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 33 | lemma "(x::real) >= 1 & y >= 1 --> x * y >= x + y - 1" | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 34 | by (sos remote_csdp) | 
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 35 | |
| 
c6e679443adc
actual use of (sos remote_csdp) via ISABELLE_FULL_TEST;
 wenzelm parents: diff
changeset | 36 | end |