Up to index of Isabelle/HOL/ex
theory Dense_Linear_Order_Ex(* ID: $Id: Dense_Linear_Order_Ex.thy,v 1.2 2007/07/22 15:53:51 chaieb Exp $ Author: Amine Chaieb, TU Muenchen *) header {* Examples for Ferrante and Rackoff's quantifier elimination procedure *} theory Dense_Linear_Order_Ex imports Main begin lemma "∃(y::'a::{ordered_field,recpower,number_ring, division_by_zero}) <2. x + 3* y < 0 ∧ x - y >0" by ferrack lemma "~ (ALL x (y::'a::{ordered_field,recpower,number_ring, division_by_zero}). x < y --> 10*x < 11*y)" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. x < y --> (10*(x + 5*y + -1) < 60*y)" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. x ~= y --> x < y" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. (x ~= y & 10*x ~= 9*y & 10*x < y) --> x < y" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. (x ~= y & 5*x <= y) --> 500*x <= 100*y" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (EX (y::'a::{ordered_field,recpower,number_ring, division_by_zero}). 4*x + 3*y <= 0 & 4*x + 3*y >= -1)" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) < 0. (EX (y::'a::{ordered_field,recpower,number_ring, division_by_zero}) > 0. 7*x + y > 0 & x - y <= 9)" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (0 < x & x < 1) --> (ALL y > 1. x + y ~= 1)" by ferrack lemma "EX x. (ALL (y::'a::{ordered_field,recpower,number_ring, division_by_zero}). y < 2 --> 2*(y - x) ≤ 0 )" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). x < 10 | x > 20 | (EX y. y>= 0 & y <= 10 & x+y = 20)" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z. x + y < z --> y >= z --> x < 0" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z. x + 7*y < 5* z & 5*y >= 7*z & x < 0" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z. abs (x + y) <= z --> (abs z = z)" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z. x + 7*y - 5* z < 0 & 5*y + 7*z + 3*x < 0" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) 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))" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. x < y --> (EX z>0. x+z = y)" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. x < y --> (EX z>0. x+z = y)" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. (EX z>0. abs (x - y) <= z )" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. (ALL z<0. (z < x --> z <= y) & (z > y --> z >= x))" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. (ALL z>=0. abs (3*x+7*y) <= 2*z + 1)" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. (ALL z<0. (z < x --> z <= y) & (z > y --> z >= x))" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero})>0. (ALL y. (EX z. 13* abs z ≠ abs (12*y - x) & 5*x - 3*(abs y) <= 7*z))" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). abs (4*x + 17) < 4 & (ALL y . abs (x*34 - 34*y - 9) ≠ 0 --> (EX z. 5*x - 3*abs y <= 7*z))" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (EX y > abs (23*x - 9). (ALL z > abs (3*y - 19* abs x). x+z > 2*y))" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (EX y< abs (3*x - 1). (ALL z >= (3*abs x - 1). abs (12*x - 13*y + 19*z) > abs (23*x) ))" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). abs x < 100 & (ALL y > x. (EX z<2*y - x. 5*x - 3*y <= 7*z))" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z w. 7*x<3*y --> 5*y < 7*z --> z < 2*w --> 7*(2*w-x) > 2*y" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z w. 5*x + 3*z - 17*w + abs (y - 8*x + z) <= 89" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z w. 5*x + 3*z - 17*w + 7* (y - 8*x + z) <= max y (7*z - x + w)" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z w. min (5*x + 3*z) (17*w) + 5* abs (y - 8*x + z) <= max y (7*z - x + w)" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z. (EX w >= (x+y+z). w <= abs x + abs y + abs z)" by ferrack lemma "~(ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (EX y z w. 3* x + z*4 = 3*y & x + y < z & x> w & 3*x < w + y))" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. (EX z w. abs (x-y) = (z-w) & z*1234 < 233*x & w ~= y)" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (EX y z w. min (5*x + 3*z) (17*w) + 5* abs (y - 8*x + z) <= max y (7*z - x + w))" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z. (ALL w >= abs (x+y+z). w >= abs x + abs y + abs z)" by ferrack lemma "EX z. (ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. (EX w >= (x+y+z). w <= abs x + abs y + abs z))" by ferrack lemma "EX z. (ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) < abs z. (EX y w. x< y & x < z & x> w & 3*x < w + y))" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y. (EX z. (ALL w. abs (x-y) = abs (z-w) --> z < x & w ~= y))" by ferrack lemma "EX y. (ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (EX z w. min (5*x + 3*z) (17*w) + 5* abs (y - 8*x + z) <= max y (7*z - x + w)))" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) z. (ALL w >= 13*x - 4*z. (EX y. w >= abs x + abs y + z))" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (ALL y < x. (EX z > (x+y). (ALL w. 5*w + 10*x - z >= y --> w + 7*x + 3*z >= 2*y)))" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (ALL y. (EX z > y. (ALL w . w < 13 --> w + 10*x - z >= y --> 5*w + 7*x + 13*z >= 2*y)))" by ferrack lemma "EX (x::'a::{ordered_field,recpower,number_ring, division_by_zero}) y z w. min (5*x + 3*z) (17*w) + 5* abs (y - 8*x + z) <= max y (7*z - x + w)" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (EX y. (ALL z>19. y <= x + z & (EX w. abs (y - x) < w)))" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (EX y. (ALL z>19. y <= x + z & (EX w. abs (x + z) < w - y)))" by ferrack lemma "ALL (x::'a::{ordered_field,recpower,number_ring, division_by_zero}). (EX y. abs y ~= abs x & (ALL z> max x y. (EX w. w ~= y & w ~= z & 3*w - z >= x + y)))" by ferrack end
lemma
∃y<2::'a. x + (3::'a) * y < (0::'a) ∧ (0::'a) < x - y
lemma
¬ (∀x y. x < y --> (10::'a) * x < (11::'a) * y)
lemma
∀x y. x < y --> (10::'a) * (x + (5::'a) * y + (-1::'a)) < (60::'a) * y
lemma
∃x y. x ≠ y --> x < y
lemma
∃x y. x ≠ y ∧ (10::'a) * x ≠ (9::'a) * y ∧ (10::'a) * x < y --> x < y
lemma
∀x y. x ≠ y ∧ (5::'a) * x ≤ y --> (500::'a) * x ≤ (100::'a) * y
lemma
∀x. ∃y. (4::'a) * x + (3::'a) * y ≤ (0::'a) ∧
(-1::'a) ≤ (4::'a) * x + (3::'a) * y
lemma
∀x<0::'a. ∃y>0::'a. (0::'a) < (7::'a) * x + y ∧ x - y ≤ (9::'a)
lemma
∃x. (0::'a) < x ∧ x < (1::'a) --> (∀y>1::'a. x + y ≠ (1::'a))
lemma
∃x. ∀y<2::'a. (2::'a) * (y - x) ≤ (0::'a)
lemma
∀x. x < (10::'a) ∨ (20::'a) < x ∨ (∃y≥0::'a. y ≤ (10::'a) ∧ x + y = (20::'a))
lemma
∀x y z. x + y < z --> z ≤ y --> x < (0::'a)
lemma
∃x y z. x + (7::'a) * y < (5::'a) * z ∧ (7::'a) * z ≤ (5::'a) * y ∧ x < (0::'a)
lemma
∀x y z. ¦x + y¦ ≤ z --> ¦z¦ = z
lemma
∃x y z.
x + (7::'a) * y - (5::'a) * z < (0::'a) ∧
(5::'a) * y + (7::'a) * z + (3::'a) * x < (0::'a)
lemma
∀x y z.
¦(5::'a) * x + (3::'a) * y + z¦ ≤ (5::'a) * x + (3::'a) * y + z ∧
- ((5::'a) * x + (3::'a) * y + z) ≤ ¦(5::'a) * x + (3::'a) * y + z¦ ∨
(5::'a) * x + (3::'a) * y + z ≤ ¦(5::'a) * x + (3::'a) * y + z¦ ∧
¦(5::'a) * x + (3::'a) * y + z¦ ≤ - ((5::'a) * x + (3::'a) * y + z)
lemma
∀x y. x < y --> (∃z>0::'a. x + z = y)
lemma
∀x y. x < y --> (∃z>0::'a. x + z = y)
lemma
∀x y. ∃z>0::'a. ¦x - y¦ ≤ z
lemma
∃x y. ∀z<0::'a. (z < x --> z ≤ y) ∧ (y < z --> x ≤ z)
lemma
∃x y. ∀z≥0::'a. ¦(3::'a) * x + (7::'a) * y¦ ≤ (2::'a) * z + (1::'a)
lemma
∃x y. ∀z<0::'a. (z < x --> z ≤ y) ∧ (y < z --> x ≤ z)
lemma
∃x>0::'a.
∀y. ∃z. (13::'a) * ¦z¦ ≠ ¦(12::'a) * y - x¦ ∧
(5::'a) * x - (3::'a) * ¦y¦ ≤ (7::'a) * z
lemma
∃x. ¦(4::'a) * x + (17::'a)¦ < (4::'a) ∧
(∀y. ¦x * (34::'a) - (34::'a) * y - (9::'a)¦ ≠ (0::'a) -->
(∃z. (5::'a) * x - (3::'a) * ¦y¦ ≤ (7::'a) * z))
lemma
∀x. ∃y>¦(23::'a) * x - (9::'a)¦.
∀z>¦(3::'a) * y - (19::'a) * ¦x¦¦. (2::'a) * y < x + z
lemma
∀x. ∃y<¦(3::'a) * x - (1::'a)¦.
∀z≥(3::'a) * ¦x¦ - (1::'a).
¦(23::'a) * x¦ < ¦(12::'a) * x - (13::'a) * y + (19::'a) * z¦
lemma
∃x. ¦x¦ < (100::'a) ∧
(∀y>x. ∃z<(2::'a) * y - x. (5::'a) * x - (3::'a) * y ≤ (7::'a) * z)
lemma
∀x y z w.
(7::'a) * x < (3::'a) * y -->
(5::'a) * y < (7::'a) * z -->
z < (2::'a) * w --> (2::'a) * y < (7::'a) * ((2::'a) * w - x)
lemma
∃x y z w.
(5::'a) * x + (3::'a) * z - (17::'a) * w + ¦y - (8::'a) * x + z¦ ≤ (89::'a)
lemma
∃x y z w.
(5::'a) * x + (3::'a) * z - (17::'a) * w + (7::'a) * (y - (8::'a) * x + z)
≤ max y ((7::'a) * z - x + w)
lemma
∃x y z w.
min ((5::'a) * x + (3::'a) * z) ((17::'a) * w) +
(5::'a) * ¦y - (8::'a) * x + z¦
≤ max y ((7::'a) * z - x + w)
lemma
∀x y z. ∃w≥x + y + z. w ≤ ¦x¦ + ¦y¦ + ¦z¦
lemma
¬ (∀x. ∃y z w.
(3::'a) * x + z * (4::'a) = (3::'a) * y ∧
x + y < z ∧ w < x ∧ (3::'a) * x < w + y)
lemma
∀x y. ∃z w. ¦x - y¦ = z - w ∧ z * (1234::'a) < (233::'a) * x ∧ w ≠ y
lemma
∀x. ∃y z w.
min ((5::'a) * x + (3::'a) * z) ((17::'a) * w) +
(5::'a) * ¦y - (8::'a) * x + z¦
≤ max y ((7::'a) * z - x + w)
lemma
∃x y z. ∀w≥¦x + y + z¦. ¦x¦ + ¦y¦ + ¦z¦ ≤ w
lemma
∃z. ∀x y. ∃w≥x + y + z. w ≤ ¦x¦ + ¦y¦ + ¦z¦
lemma
∃z. ∀x<¦z¦. ∃y w. x < y ∧ x < z ∧ w < x ∧ (3::'a) * x < w + y
lemma
∀x y. ∃z. ∀w. ¦x - y¦ = ¦z - w¦ --> z < x ∧ w ≠ y
lemma
∃y. ∀x. ∃z w. min ((5::'a) * x + (3::'a) * z) ((17::'a) * w) +
(5::'a) * ¦y - (8::'a) * x + z¦
≤ max y ((7::'a) * z - x + w)
lemma
∃x z. ∀w≥(13::'a) * x - (4::'a) * z. ∃y. ¦x¦ + ¦y¦ + z ≤ w
lemma
∃x. ∀y<x. ∃z>x + y.
∀w. y ≤ (5::'a) * w + (10::'a) * x - z -->
(2::'a) * y ≤ w + (7::'a) * x + (3::'a) * z
lemma
∃x. ∀y. ∃z>y. ∀w<13::'a.
y ≤ w + (10::'a) * x - z -->
(2::'a) * y ≤ (5::'a) * w + (7::'a) * x + (13::'a) * z
lemma
∃x y z w.
min ((5::'a) * x + (3::'a) * z) ((17::'a) * w) +
(5::'a) * ¦y - (8::'a) * x + z¦
≤ max y ((7::'a) * z - x + w)
lemma
∀x. ∃y. ∀z>19::'a. y ≤ x + z ∧ (∃w. ¦y - x¦ < w)
lemma
∀x. ∃y. ∀z>19::'a. y ≤ x + z ∧ (∃w. ¦x + z¦ < w - y)
lemma
∀x. ∃y. ¦y¦ ≠ ¦x¦ ∧ (∀z>max x y. ∃w. w ≠ y ∧ w ≠ z ∧ x + y ≤ (3::'a) * w - z)