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