Bachelor's project - ``Automatic Geometric Theorem Proving'' - Magma

8 downloads 41 Views 318KB Size Report
Jul 17, 2003 ... Cinderella. Configuration. OpenMath. Lines, Points, etc. Polynomial equations. Singular. Polynomial equations. Theorem is True or False. 1. 2.
12

Bachelor’s project “Automatic Geometric Theorem Proving” Dan Roozemond 17th July 2003

/k

1/18

12 1. Contents • Introduction • How to use Algebra • Example • Obtaining a ‘certificate’ • OpenMath • Demo • Things to come

/k

2/18

12 2. Introduction Configuration

Cinderella

1 Lines, Points, etc 2 Polynomial equations

OpenMath

3 Polynomial equations 4 Theorem is True or False

Singular

/k

3/18

12 3. How to use Algebra - 1 • Work in the Ring Q[X1, . . . , Xl ], • Configuration: c1(X), . . . , cn(X), • Thesis: t(X),

/k

4/18

12 3. How to use Algebra - 1 • Work in the Ring Q[X1, . . . , Xl ], • Configuration: c1(X), . . . , cn(X), • Thesis: t(X), Thesis holds ⇔

∀(X : c1(X) = . . . = cn(X) = 0 : t(X) = 0),

/k

4/18

12 3. How to use Algebra - 2 Thesis holds ⇔

∀(X : c1(X) = . . . = cn(X) = 0 : t(X) = 0), • Use the Ideal I = (c1, . . . , cn) ⊆ Q[X1, . . . , Xl ], • If t ∈ I , then: t = f1c1 + . . . + fncn.

/k

5/18

12 3. How to use Algebra - 2 Thesis holds ⇔

∀(X : c1(X) = . . . = cn(X) = 0 : t(X) = 0), • Use the Ideal I = (c1, . . . , cn) ⊆ Q[X1, . . . , Xl ], • If t ∈ I , then: t = f1c1 + . . . + fncn. • Gröbner Basis G = GB(I) • t ∈ I ⇔ remainder on division of t by G is 0.

/k

5/18

12 4. Example - Circle Theorem of Appolonius B = (0, 2b) P = (p,q)

(0, b)

(a,b)

O (a, 0)

/k

(2a, 0) = A

6/18

12 4. Circle Theorem of Appolonius B = (0, 2b) P = (p,q)

(0, b)

(a,b)

O (a, 0)

(2a, 0) = A

Q[a, b, m1, m2, p, q, s, y] c1 = (m1 − a)2 + m22 − s2 (a, 0) is on the circle

/k

7/18

12 4. Circle Theorem of Appolonius B = (0, 2b) P = (p,q)

(0, b)

(a,b)

O (a, 0)

(2a, 0) = A

Q[a, b, m1, m2, p, q, s, y] c1 = (m1 − a)2 + m22 − s2 (a, 0) is on the circle 2 2 2 c2 = (m1) + (m2 − b) − s (0, b) is on the circle

/k

7/18

12 4. Circle Theorem of Appolonius B = (0, 2b) P = (p,q)

(0, b)

(a,b)

O (a, 0)

(2a, 0) = A

Q[a, b, m1, m2, p, q, s, y] c1 = (m1 − a)2 + m22 − s2 (a, 0) is on the circle 2 2 2 c2 = (m1) + (m2 − b) − s (0, b) is on the circle 2 2 2 c3 = (m1 − a) + (m2 − b) − s (a, b) is on the circle

/k

7/18

12 4. Circle Theorem of Appolonius B = (0, 2b) P = (p,q)

(0, b)

(a,b)

O (a, 0)

(2a, 0) = A

Q[a, b, m1, m2, p, q, s, y] c1 c2 c3 c4

= (m1 − a)2 + m22 − s2 = (m1)2 + (m2 − b)2 − s2 = (m1 − a)2 + (m2 − b)2 − s2 = −2 · a · p + 2 · b · q

(a, 0) is on the circle (0, b) is on the circle (a, b) is on the circle OP perpendicular AB

/k

7/18

12 4. Circle Theorem of Appolonius B = (0, 2b) P = (p,q)

(a,b)

(0, b)

O (a, 0)

(2a, 0) = A

Q[a, b, m1, m2, p, q, s, y] c1 c2 c3 c4 c5

= (m1 − a)2 + m22 − s2 = (m1)2 + (m2 − b)2 − s2 = (m1 − a)2 + (m2 − b)2 − s2 = −2 · a · p + 2 · b · q = −2 · a · q − 2 · b · p + 2 · a · 2 · b

(a, 0) is on the circle (0, b) is on the circle (a, b) is on the circle OP perpendicular AB P on AB

/k

7/18

12 4. Circle Theorem of Appolonius B = (0, 2b) P = (p,q)

(a,b)

(0, b)

O (a, 0)

(2a, 0) = A

Q[a, b, m1, m2, p, q, s, y] c1 c2 c3 c4 c5 c6

= (m1 − a)2 + m22 − s2 = (m1)2 + (m2 − b)2 − s2 = (m1 − a)2 + (m2 − b)2 − s2 = −2 · a · p + 2 · b · q = −2 · a · q − 2 · b · p + 2 · a · 2 · b =a·b·y−1

(a, 0) is on the circle (0, b) is on the circle (a, b) is on the circle OP perpendicular AB P on AB a, b not equal to zero

/k

7/18

12 4. Circle Theorem of Appolonius B = (0, 2b) P = (p,q)

(a,b)

(0, b)

O (a, 0)

(2a, 0) = A

Q[a, b, m1, m2, p, q, s, y] c1 = (m1 − a)2 + m22 − s2 c2 = (m1)2 + (m2 − b)2 − s2 c3 = (m1 − a)2 + (m2 − b)2 − s2 c4 = −2 · a · p + 2 · b · q c5 = −2 · a · q − 2 · b · p + 2 · a · 2 · b c6 = a · b · y − 1 t = (m1 − p)2 + (m2 − q)2 − s2

(a, 0) is on the circle (0, b) is on the circle (a, b) is on the circle OP perpendicular AB P on AB a, b not equal to zero P is on the circle

/k

7/18

12 4. Circle Theorem of Appolonius > > > > > > > > > > 0

ring r=0,(a,b,m(1..2),p,q,s,y),(c,dp); poly c1=(m(1)-a)^2+m(2)^2-s^2; poly c2=(m(1))^2+(m(2)-b)^2-s^2; poly c3=(m(1)-a)^2+(m(2)-b)^2-s^2; poly c4=-2*a*p+2*b*q; poly c5=-2*a*q-2*b*p+2*a*2*b; poly c6=a*b*y-1; poly t=(m(1)-p)^2+(m(2)-q)^2-s^2; ideal i=(c1,c2,c3,c4,c5,c6); reduce(t,groebner(i));

/k

8/18

12 5. Obtaining a ‘certificate’ - 1 • Use the Ideal I = (c1, . . . , cn) ⊆ Q[X1, . . . , Xl ], • If t ∈ I , then: t = f1c1 + . . . + fncn.

/k

9/18

12 5. Obtaining a ‘certificate’ - 2 Modules:

c1 c2  −1 0  M =  0 −1  ... 

0

 . . . cn ... 0  ... 0   ⊆ (Q[X1, . . . , Xl ])n.  ...

0 . . . −1

/k

10/18

12 5. Obtaining a ‘certificate’ - 3      0 c1 c1  −1   0   −1      0     ∈ M, so  0  ≡  0   ...   ...   ...  0 0 0 

mod M.

/k

11/18

12 5. Obtaining a ‘certificate’ - 3      0 c1 c1  −1   0   −1      0     ∈ M, so  0  ≡  0   ...   ...   ...  0 0 0     0 c1  0  1  0  0   ≡   mod M.  ...   ...  

0

mod M.

0

/k

11/18

12 5. Obtaining a ‘certificate’ - 4   t 0  0   ≡  ...   

0

  c1 0 f1   0  f2  ≡ f1   0 ...   ... fn

0

cn   0    + . . . + fn  0   ... 



    

mod M.

0

/k

12/18

12 6. OpenMath GAP

Singular

Mathematica









Phrasebooks Algebra

Integer

Linear Algebra

Content Dictionaries

Language

/k

13/18

12 6. OpenMath - Example OMA

OMS: arith1.plus

OMS: arith1.power

OMA

OMV: x

OMV: y

OMA

OMI: 2

OMS: arith1.times

OMV: x

/k

OMV: y

14/18

12 6. OpenMath - Example OMA

OMS: arith1.plus

OMS: arith1.power

OMA

OMV: x

OMV: y

OMA

OMI: 2

x2 OMS: arith1.times

OMV: x

/k

OMV: y

14/18

12 6. OpenMath - Example OMA

OMS: arith1.plus

OMS: arith1.power

OMA

OMV: x

OMV: y

OMA

OMI: 2

x2 OMS: arith1.times

OMV: x

OMV: y

x*y

/k

14/18

12 6. OpenMath - Example x

2

OMA

+ y + x*y

OMS: arith1.plus

OMS: arith1.power

OMA

OMV: x

OMV: y

OMA

OMI: 2

x2 OMS: arith1.times

OMV: x

OMV: y

x*y

/k

14/18

12 6. OpenMath - Geometric Theorem OMA

OMS: polygb2.extended_in

OMS: list1.list

Variables

OMA

OMA

OMS: list1.list

Configuration

OMA

OMS: list1.list

Theses

/k

15/18

12 7. Demo

/k

16/18

12 8. Things to come Configuration

Cinderella

1 Lines, Points, etc 2 Polynomial equations

OpenMath

3 Polynomial equations 4 Theorem is True or False

Singular

/k

17/18

12

9. Questions?

/k

18/18