# Makes a global table `CADExamples` full of pure CAD examples (unquantified) :-`CADExamples` := table([ #2.4: '`Sphere and Catastrophe`' = [ z^2+y^2+x^2-1 = 0, z^3+x*z+y = 0 ], #2.6: '`Arnon-84-2`' = [ 144*y^2+96*x^2*y+9*x^4+105*x^2+70*x-98 = 0, x*y^2+6*x*y+x^3+9*x = 0 ], #2.17: '`McCallum Trivariate Random Polynomial`' = ( (y-1)*z^4+x*z^3+x*(1-y)*z^2+ (y-x-1)*z+y = 0 ), #6.2: '`Concentric Circles`' = [ x^2+y^2-9 = 0, x^2+y^2-1 = 0 ], #6.3: '`Non-Concentric Circles`' = [ x^2+y^2-9 = 0, x^2+(y-1)^2-1 = 0 ], #2.5: '`Arnon-84`' = ( y^4-2*y^3+y^2-3*x^2*y+2*x^4 = 0 ), #5.1: '`Piano Movers Problem (Davenport) (Original)`' = ':-Or'( ':-And'((x-a)^2+(y-b)^2-9 = 0, y*b >= 0), ':-And'(x*(y-b)^2+y*(a-x)*(y-b) >= 0, (y-1)*(b-1) >= 0), ':-And'((x+1)*(y-b)^2+(y-1)*(a-x)*(y-b) >= 0, x*a >= 0), ':-And'(y*(x-a)^2+x*(b-y)*(x-a) >= 0,(x+1)*(a+1) >= 0), (y-1)*(x-a)^2+(x+1)*(b-y)*(x-a) >= 0 ), ### 8: TTICAD Examples #8.1: '`Intersection`' = ':-Or'( x*z+z*y-2*x = 0, ':-And'( z^2-y = 0, 2*x^2-y^2-z^2 < 0 ) ), #8.2: Intersection B # different variable ordering for above - z > x > y rather than z > y > x #8.3: '`Random`' = ':-Or'(16*x^2+4*x*y^2-4*z+1 = 0, ':-And'(4*x+2*y^2*z+1 = 0, 2*x^2*z-x-2*y^2 < 0) ), #8.4: Random B # different variable ordering for above - z > x > y rather than z > y > x #8.5: '`Ellipse`' = ':-And'(':-Or'(x^2+y^2-1 = 0, b^2*x^2-2*b^2*x*c+b^2*c^2+a^2*y^2-a^2*b^2 = 0), a > 0, a-1 < 0, b > 0, b-1 < 0, c > 0, c-1 < 0), #8.6: Ellipse B # different variable ordering for above - x > y > c > b > a rather than # y > x > c > b > a #8.7: '`Solotareff`' = ':-Or'(':-And'(3*x^2-2*x-a = 0, x^3-x^2-a*x-2*b+a-2 > 0, 4*a-1 > 0, 4*a-7 < 0, x+1 > 0, x < 0), ':-And'(3*y^2-2*y-a = 0, y^3-y^2-a*y-a+2 > 0, 4*b+3 > 0, 4*b-3 < 0, y > 0, y-1 < 0) ), #8.8: Solotareff B # different variable ordering for above - y > x > a> b rather than y > x > b > a #8.9: '`Collision`' = ':-Or'(':-And'(x^2-2*x*t+t^2+4*y^2-80*y+396 = 0, t > 0), ':-And'(x^2-2*x*a*t+5*a^2*t^2+4*y^2-8*y*a*t-4 = 0, a > 0) ), #8.10: Collision B # different variable ordering for above - t > x > y > a rather than # y > x > t > a #8.11: '`Kahan`' = ':-Or'(':-And'(8*y^3*x+8*y*x^3+20*y^3+84*y*x^2+288*y*x+324*y = 0, -225*x^2-324*x+63*y^2-4*x^4-52*x^3+12*y^2*x+4*y^4 < 0), ':-And'(2*y = 0, 2*x+9 < 0), ':-And'(8*y = 0, 8*x^2+56*x+8*y^2+96 < 0), ':-And'(y = 0, x^2+7*x+y^2+12 < 0), ':-And'(8*y^3*x+8*y*x^3+20*y^3+84*y*x^2+288*y*x+324*y = 0, -4*x^4-52*x^3-252*x^2+12*y^2*x-540*x+36*y^2+4*y^4-432 <= 0, 4*x^4+52*x^3+225*x^2-12*y^2*x+324*x-63*y^2-4*y^4 < 0), ':-And'(2*y = 0, -2*x-6 < 0, 2*x <= 0, 8*y = 0, -8*x^2-56*x-8*y^2-96 < 0, 2*x^2+8*x+2*y^2 <= 0) ), #8.12: Kahan B # different variable ordering for above - x > y rather than y > x #8.13: '`ArcSin`' = ':-Or'(':-And'(-2*x*y = 0, y^2-x^2+1 < 0), ':-And'(16*y^3*x-16*y*x^3+8*y*x = 0, 1-4*x^2+4*y^2+4*x^4-24*x^2*y^2+4*y^4 <= 0), ':-And'(y = 0, 1-x <= 0), ':-And'(y = 0, x+1 <= 0) ), #8.14: ArcSin B # different variable ordering for above - x > y rather than y > x #8.15: '`2D Example`' = ':-Or'(':-And'(x^2+y^2-1 = 0, 4*x*y-1 < 0), ':-And'(x^2-8*x+16+y^2-2*y = 0, 4*x*y-4*x-17 < 0) ), #8.16: 2D Example B # different variable ordering for above - x > y rather than y > x #8.17: '`3D Example`' = ':-Or'(':-And'(x^2+y^2+z^2-1 = 0, 4*x*y*z-1 < 0), ':-And'(x^2-8*x+y^2-2*y+z^2-4*z+20 = 0, 4*y*x*z-8*y*x-4*x*z+8*x-16*y*z+32*y+16*z-33 < 0) ), '`3D Sphere`' = ':-And'( z - x - 1 < 0, z - y - 1 < 0, x^2 + y^2 - 1 = 0 ), #8.18: 3D Example B # different variable ordering for above - z > y > x rather than z > x > y '`ProjectionCAD 1`' = ':-Or'( ':-And'( y^2 + x^2 - 1 = 0, y*x - 1/4 < 0 ), ':-And'( (x-4)^2 + (y-1)^2 - 1 = 0, (x-4)*(y-1) - 1/4 < 0 ) ), '`ProjectionCAD 2`' = ':-Or'( ':-And'( y^2 + x^2 - 1 = 0, x^3 + y^3 - 1 = 0, y*x - 1/4 < 0 ), ':-And'( (x-4)^2 + (y-1)^2 - 1 = 0, (x-4)^3 + (y-1)^3 -1 = 0, (x-4)*(y-1) - 1/4 < 0 ) ) ]): # end table