Cơ sở Groebner và chứng minh định lý hình học bằng máy tính

60 596 1
Cơ sở Groebner và chứng minh định lý hình học bằng máy tính

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỞ ĐẦU Với sự phát triển nhanh chóng của công nghệ thông tin và truyền thông, các phương tiện - thiết bị dạy học hiện đại đã và đang được sử dụng một cách có hiệu quả trong giáo dục. Phần mềm dạy học là một trong những phương tiện dạy học hỗ trợ giáo viên thực hiện được phần nào các ý tưởng sư phạm của mình. Maple là một phần mềm toán học tạo ra một cách tiếp cận mới sinh động và sáng tạo. Ngoài các câu lệnh có chức năng kiểm tra, tính toán, minh hoạ hình ảnh,…nó còn cho phép các giáo viên có thể sử dụng ngôn ngữ lập trình của Maple để tạo các công cụ mới, các gói câu lệnh mới. Vì thế, Maple có khả năng đầy đủ để giảng dạy và học tập từ bậc phổ thông (các gói chức năng về đại số, số học, giải tích, hình học,…) lên đại học (đại số tuyến tính, phương trình vi phân, hình học cao cấp, đại số hiện đại,…). Xuất phát từ ý tưởng rằng có rất nhiều định lý hình học hoàn toàn được mô tả bằng các khái niệm đại số bằng cách biểu diễn các hình hình học trong toạ độ Đề-các vuông góc. Khi đó, hầu hết các hình hình học và biên của nó có thể xem là tập không điểm của các đa thức, và các quan hệ giữa chúng đều có thể mô tả bằng các phương trình đa thức cũng như tập không điểm phải xét trên trường số thực. Như vậy, để kiểm tra tính đúng - sai của một giả thuyết hay một định lý hình học nào đó hoàn toàn có thể thực hiện được nhờ những kết quả quan trọng liên quan đến khái niệm cơ sở Groebner được nhà toán học Bruno Buchberger đưa ra năm 1965 trong luận án phó tiến sĩ của mình. Tính toán hình thức hay còn gọi là Đại số máy tính, xuất hiện khoảng ba chục năm nay và gần đây trở thành một chuyên ngành độc lập. Đây là một chuyên ngành kết hợp chặt chẽ toán học và khoa học máy tính. Nó được ra đời dưới ảnh hưởng của sự phát triển và phổ cập máy tính cá nhân. Một mặt, sự phát triển này đòi hỏi phải xây dựng các lý thuyết toán học làm cơ sở cho việc thiết lập thuật toán và các phần mềm toán học. Mặt khác, khả năng tính toán mỗi ngày một tăng của máy tính giúp triển khai tính toán thực sự nhiều thuật toán. Sự phát triển của Đại số máy tính cũng có tác dụng tích cực trở lại trong nghiên cứu toán học lý thuyết. Nhiều kết quả lý thuyết đã được phán đoán hoặc có được phản ví dụ nhờ sử dụng máy tính. Hầu hết những vấn đề mà lý thuyết cơ sở Groebner cho lời giải bằng thuật toán đã được biết trước đó, đó là tính giải được. Tuy nhiên giữa việc chứng minh tính giải được và thực hiện tính toán trên thực tế là khoảng cách lớn. Hơn nữa, nhiều đối tượng trong các ngành khá trừu tượng như Đại số giao hoán và Hình học đại số có thể tính toán thông qua cơ sở Groebner chứng tỏ có một tầm quan trọng của lý thuyết này. Mục đích của luận văn là giới thiệu thuật toán tính cơ sở Groebner cho các Iđêan đa thức, để trình bày một số ứng dụng của lý thuyết cơ sở Groebner trong tính toán hình thức bằng máy tính là Đại số giao hoán và Hình học đại số. Hiện nay, có nhiều phần mềm xử lý toán học như Maple, Macaulay, CoCoA ... để phục vụ cho việc tính toán. Nhưng luận văn này chọn phần mềm Maple để trình bày cách đại số hóa bài toán hình học và chứng minh định lý hình học bằng máy tính. Tuy nhiên, nếu chỉ đơn thuần sử dụng gói công cụ Groebner của Maple thì giáo viên nhiều khi khó thực hiện được kịch bản sư phạm của mình. Giải pháp cho vấn đề này là giáo viên sử dụng ngôn ngữ lập trình của Maple để xây dựng các gói công cụ phù hợp. Do đó, chúng tôi đã xây dựng gói GeoProver để hỗ trợ chứng minh một số định lý hình học sơ cấp.

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC KHOA HỌC BÙI ĐỨC THẮNG CƠ SỞ GROEBNER VÀ CHỨNG MINH ĐỊNH LÝ HÌNH HỌC BẰNG MÁY TÍNH LUẬN VĂN THẠC SĨ TOÁN HỌC THÁI NGUYÊN, 2015 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC KHOA HỌC BÙI ĐỨC THẮNG CƠ SỞ GROEBNER VÀ CHỨNG MINH ĐỊNH LÝ HÌNH HỌC BẰNG MÁY TÍNH Chuyên ngành: Phƣơng pháp Toán sơ cấp Mã số: 60.46.40 LUẬN VĂN THẠC SĨ TOÁN HỌC Ngƣời hƣớng dẫn khoa học: TS. Nguyễn Danh Nam THÁI NGUYÊN, 2015 Công trình đƣợc hoàn thành tại Trƣờng Đại học Khoa học – Đại học Thái Nguyên Ngƣời hƣớng dẫn khoa học: TS. Nguyễn Danh Nam Phản biện 1: PGS.TS. Nguyễn Việt Hải Phản biện 2: PGS.TS. Trịnh Thanh Hải Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn họp tại: Trƣờng Đại học Khoa học – Đại học Thái Nguyên Ngày 31 tháng 5 năm 2015 Có thể tìm hiểu tại: Thƣ viện Trƣờng Đại học Khoa học và Trung tâm Học liệu - Đại học Thái Nguyên 0 MỤC LỤC Trang MỤC LỤC .................................................................................................................. 1 MỞ ĐẦU .................................................................................................................... 2 CHƢƠNG 1: CƠ SỞ GROEBNER ......................................................................... 4 1.1. Thứ tự từ .............................................................................................................. 5 1.2. Iđêan khởi đầu và cơ sở Groebner . ..................................................................... 6 1.3. Định lý Hilbert về không điểm .........................................................................10 CHƢƠNG 2: PHẦN MỀM MAPLE VÀ GÓI LỆNH GEOPROVER .............. 12 2.1. Phần mềm Maple ..............................................................................................12 2.2. Gói câu lệnh GeoProver ....................................................................................13 CHƢƠNG 3: CHỨNG MINH ĐỊNH LÝ HÌNH HỌC BẰNG MÁY TÍNH ..... 16 3.1. Đại số hóa giả thiết và kết luận của định lý ....................................................... 16 3.2. Quy trình chứng minh định lý hình học bằng máy tính ..................................... 20 3.3. Chứng minh một số định lý hình học ................................................................. 25 KẾT LUẬN .............................................................................................................. 56 TÀI LIỆU THAM KHẢO ...................................................................................... 57 1 MỞ ĐẦU Với sự phát triển nhanh chóng của công nghệ thông tin và truyền thông, các phương tiện - thiết bị dạy học hiện đại đã và đang được sử dụng một cách có hiệu quả trong giáo dục. Phần mềm dạy học là một trong những phương tiện dạy học hỗ trợ giáo viên thực hiện được phần nào các ý tưởng sư phạm của mình. Maple là một phần mềm toán học tạo ra một cách tiếp cận mới sinh động và sáng tạo. Ngoài các câu lệnh có chức năng kiểm tra, tính toán, minh hoạ hình ảnh,…nó còn cho phép các giáo viên có thể sử dụng ngôn ngữ lập trình của Maple để tạo các công cụ mới, các gói câu lệnh mới. Vì thế, Maple có khả năng đầy đủ để giảng dạy và học tập từ bậc phổ thông (các gói chức năng về đại số, số học, giải tích, hình học,…) lên đại học (đại số tuyến tính, phương trình vi phân, hình học cao cấp, đại số hiện đại,…). Xuất phát từ ý tưởng rằng có rất nhiều định lý hình học hoàn toàn được mô tả bằng các khái niệm đại số bằng cách biểu diễn các hình hình học trong toạ độ Đề-các vuông góc. Khi đó, hầu hết các hình hình học và biên của nó có thể xem là tập không điểm của các đa thức, và các quan hệ giữa chúng đều có thể mô tả bằng các phương trình đa thức cũng như tập không điểm phải xét trên trường số thực. Như vậy, để kiểm tra tính đúng - sai của một giả thuyết hay một định lý hình học nào đó hoàn toàn có thể thực hiện được nhờ những kết quả quan trọng liên quan đến khái niệm cơ sở Groebner được nhà toán học Bruno Buchberger đưa ra năm 1965 trong luận án phó tiến sĩ của mình. Tính toán hình thức hay còn gọi là Đại số máy tính, xuất hiện khoảng ba chục năm nay và gần đây trở thành một chuyên ngành độc lập. Đây là một chuyên ngành kết hợp chặt chẽ toán học và khoa học máy tính. Nó được ra đời dưới ảnh hưởng của sự phát triển và phổ cập máy tính cá nhân. Một mặt, sự phát triển này đòi hỏi phải xây dựng các lý thuyết toán học làm cơ sở cho việc thiết lập thuật toán và các phần mềm toán học. Mặt khác, khả năng tính toán mỗi ngày một tăng của máy tính giúp triển khai tính toán thực sự nhiều thuật toán. Sự phát triển của Đại số máy tính cũng có tác dụng tích cực trở lại trong nghiên cứu toán học lý thuyết. 2 Nhiều kết quả lý thuyết đã được phán đoán hoặc có được phản ví dụ nhờ sử dụng máy tính. Hầu hết những vấn đề mà lý thuyết cơ sở Groebner cho lời giải bằng thuật toán đã được biết trước đó, đó là tính giải được. Tuy nhiên giữa việc chứng minh tính giải được và thực hiện tính toán trên thực tế là khoảng cách lớn. Hơn nữa, nhiều đối tượng trong các ngành khá trừu tượng như Đại số giao hoán và Hình học đại số có thể tính toán thông qua cơ sở Groebner chứng tỏ có một tầm quan trọng của lý thuyết này. Mục đích của luận văn là giới thiệu thuật toán tính cơ sở Groebner cho các Iđêan đa thức, để trình bày một số ứng dụng của lý thuyết cơ sở Groebner trong tính toán hình thức bằng máy tính là Đại số giao hoán và Hình học đại số. Hiện nay, có nhiều phần mềm xử lý toán học như Maple, Macaulay, CoCoA ... để phục vụ cho việc tính toán. Nhưng luận văn này chọn phần mềm Maple để trình bày cách đại số hóa bài toán hình học và chứng minh định lý hình học bằng máy tính. Tuy nhiên, nếu chỉ đơn thuần sử dụng gói công cụ Groebner của Maple thì giáo viên nhiều khi khó thực hiện được kịch bản sư phạm của mình. Giải pháp cho vấn đề này là giáo viên sử dụng ngôn ngữ lập trình của Maple để xây dựng các gói công cụ phù hợp. Do đó, chúng tôi đã xây dựng gói GeoProver để hỗ trợ chứng minh một số định lý hình học sơ cấp. 3 Chƣơng 1 CƠ SỞ GROEBNER Khái niệm cơ sở Groebner ra đời trong những năm 1970 để giải quyết bài toán chia đa thức. Sau hơn 20 năm khái niệm này đã có những ứng dụng to lớn trong nhiều chuyên ngành toán học khác nhau từ Đại số đến Hình học, Tô pô, Tổ hợp và Tối ưu [9]. Việc sử dụng các hệ đa thức giống như cơ sở Groebner đã xuất hiện từ đầu thế kỉ này với các công trình của Gordan, Macaulay, Hilbert. Người đầu tiên thấy được tầm quan trọng của thuật toán chia là nhà toán học người Áo Broebner. Ông đã đặt vấn đề tính cơ sở Groebner làm một đề tài luận án phó tiến sĩ cho học trò của ông là Buchberger. Năm 1970, Buchberger tìm thấy một thuật toán hữu hiệu để tính cơ sở Groebner. Sau này người ta mới phát hiện ra rằng Groebner đã biết những nét cơ bản của thuật toán này từ những năm 50. Cùng thời gian này cũng xuất hiện những kĩ thuật tương tự giống như thuật toán chia trong các công trình của Hironaka về giải kì dị, của Grauert trong Giải tích phức và của Cohn trong Lý thuyết vành không giao hoán [9]. Cơ sở Groebner được nghiên cứu đúng thời kì máy tính cá nhân ra đời và bắt đầu trở nên phổ cập. Ngay lập tức người ta thấy rằng có thể lập trình thuật toán chia để giải quyết các bài toán với các biến số mà ngày nay được gọi là tính toán hình thức (symbol computation). Bản thân thuật toán chia đã chứa đựng những thuận lợi cơ bản cho việc lập trình như: (1) Việc sắp xếp thứ tự các hạng tử của một đa thức cho phép ta biểu diễn một đa thức như một véc-tơ các hệ số và do đó ta có thể đưa dữ liệu về các đa thức vào trong máy tính một cách dễ dàng. (2) Việc xét hạng tử lớn nhất của các đa thức cho phép máy tính chỉ cần thử tọa độ đầu tiên của các véc-tơ tương ứng. Về mặt lý thuyết khái niệm cơ sở Groebner cũng đưa ra những phương pháp và vấn đề nghiên cứu mới. Trước tiên, người ta thấy rằng nhiều khi chỉ cần xét tập hợp các hạng tử đầu của cơ sở Groebner là đủ để có các thông tin cần thiết về hệ đa 4 thức ban đầu. Có thể thay các hạng tử này bằng các đơn thức nên thực chất là ta phải xét một số hữu hạn các bộ số tự nhiên ứng với các số mũ của các biến trong đơn thức. Ta có thể coi các bộ số tự nhiên này như những điểm nguyên là các điểm có tọa độ là các số nguyên. Vì vậy, nhiều bài toán Hình học và Đại số có thể quy về việc xét các tính chất tổ hợp hay tô pô của một tập hợp hữu hạn các điểm nguyên. Sau đây luận văn trình bày một số kiến thức cơ bản về cơ sở Groebner trước khi đưa ra thuật toán để chứng minh định lý hình học. 1.1. THỨ TỰ TỪ 1.1.1. Định nghĩa Định nghĩa 1.1. Thứ tự từ  là một thứ tự toàn phần trên tập M tất cả các đơn thức của vành K[x] thoả mãn các tính chất sau: i) Với mọi m  M, 1  m. ii) Nếu m1, m2, m  M mà m1  m2 thì mm1  mm2. 1.1.2. Một số thứ tự từ Định nghĩa 1.2. Thứ tự từ điển là thứ tự      le x xác định như sau: x1 1 ... x n n  le x x1 1 ... x n n nếu thành phần đầu tiên khác không kể từ bên trái của véctơ   1   1 , ...,  n là một số âm. Nói cách khác, nếu tồn tại 0  i  n sao cho  n   1   1 , ...,  n   n , nhưng  i  1   i 1 . Thứ tự từ điển tương tự như cách sắp xếp các từ trong từ điển, và do đó có tên gọi như vậy. Định nghĩa 1.3. Thứ tự từ điển phân bậc là thứ tự  g le x xác định như sau:     x 1 1 ... x n n  g le x x 1 1 ... x n n nếu       và thành phần đầu tiên khác không kể từ bên trái của véctơ   1   1 , ...,  n một số âm. Nói cách khác, x1 ... x n  g le x x 1 ... x n n 1 hoặc  1  ...   n   1  ...   n 1 n nếu     nếu   n  là  1  ...   n   1  ...   n và x1 ... x n  le x x1 ... x n . 1 n n 1 Định nghĩa 1.4. Thứ tự từ điển ngược là thứ tự x1 1 ... x n n  r le x x1 1 ... x n n  d eg ( x1 1 ... x n n )  d eg ( x1 1 ... x n n ) hoặc d eg ( x1 1 ... x n n )  d eg ( x1 1 ... x n n )     d e g ( x1 1 ... x n n )  d e g ( x1 1 ... x n n ) 5 hoặc  r le x xác định như sau:     d eg ( x1 1 ... x n n )  d eg ( x1 1 ... x n n ) và thành phần đầu tiên khác không kể từ bên phải của véctơ   1   1 ,...,  n   n  là một số dương. Nói cách khác, x1 ... x n  r le x x1 ... x n nếu  1  ...   n n 1 hoặc  1  ...   nhưng  i  i n   1  ...   n n 1 và và tồn tại 1  i  n sao cho  n   1  ...   n   n , ...,  i  1   i  1 . Thứ tự từ điển ngược được định nghĩa như theo sơ đồ của thứ tự từ điển phân bậc, chứ không phải của thứ tự từ điển - một điều tưởng chừng không tự nhiên. Thực ra việc so sánh bậc tổng thể trước trong trường hợp này là bắt buộc để đảm bảo đơn thức 1 là nhỏ nhất. Mệnh đề 1.1. Ba thứ tự kể trên là các thứ tự từ. 1.2. IĐÊAN KHỞI ĐẦU VÀ CƠ SỞ GROEBNER 1.2.1. Từ khởi đầu, đơn thức khởi đầu Định nghĩa 1.5. Cho  là một thứ tự từ và f  R  K  x1 , ..., x n  . Từ khởi đầu của f , kí hiệu là in   f  , là từ lớn nhất của đa thức f đối với thứ tự từ  . Nếu in   f    x a , 0    K , thì lc   f    được gọi là hệ số đầu và lm  f x a là đơn thức đầu của f đối với thứ tự từ  . Nếu thứ tự từ  đã được ngầm hiểu, ta sẽ viết in  f  (tương ứng lc  f  , lm  f  ) thay cho in   f  (tương ứng lc   f , lm   f  ). Từ khởi đầu của đa thức 0 được xem là không xác định (có thể nhận giá trị tuỳ ý). Từ khởi đầu còn gọi là từ đầu hay từ đầu tiên. Như vậy nếu trong biểu diễn chính tắc của đa thức f ta viết các từ theo thứ tự giảm dần, thì in  f  sẽ xuất hiện đầu tiên. Đương nhiên cách viết này cũng như từ khởi đầu của tự từ đã chọn. 6 f phụ thuộc vào thứ 1.2.2. Iđêan khởi đầu và cơ sở Groebner Định nghĩa 1.6. Cho I là iđêan của R và  là một thứ tự từ, Iđêan khởi đầu của I, kí hiệu là in   I  , là iđêan của R sinh bởi các từ khởi đầu của các phần tử của I, nghĩa là: in   I    in  f f  I  Cũng như trên ta sẽ viết in  I  thay vì in   I  nếu  đã rõ. Rõ ràng cũng có in  I   Im  f  f  I  nên in  I  là iđêan đơn thức. Vấn đề đặt ra là làm thế nào để xác định được iđêan khởi đầu in  I  của một iđêan I cho trước. Cách tốt nhất là tìm một hệ sinh tối tiểu của nó. Tuy nhiên, mọi iđêan đơn thức đều có một tập sinh đơn thức và tập đó hữu hạn. Do đó ta có thể đưa vào khái niệm quan trọng sau đây: Định nghĩa 1.7. Cho  là một thứ tự từ và I là iđêan của R. Tập hữu hạn các đa thức khác không g 1 , ..., g s  I được gọi là một cơ sở Groebner của I đối với thứ tự từ  , nếu: in   I Tập g 1 , ..., g s  I    in   g 1  , ..., in   g s   được gọi là một cơ sở Groebner, nếu nó là cơ sở Groebner của iđêan sinh bởi chính các phần tử này. Mệnh đề 1.2. Cho I là một iđêan tuỳ ý của R. Nếu Groebner của I đối với một thứ tự từ nào đó, thì g 1 , ..., g s là g 1 , ..., g s  I là cơ sở cơ sở của I. Định nghĩa 1.8. Cơ sở Groebner rút gọn của iđêan I đối với một thứ tự từ đã cho là một cơ sở Groebner G của I thoả mãn các tính chất sau: i) lc  g   1 với mọi ii) Với mọi in  g '  | m g G g G . và mọi từ m của g không tồn tại g '  G \  g  để . Mệnh đề 1.3. Cho I  0 . Khi đó đối với mỗi thứ tự từ, I có duy nhất một cơ sở Groebner rút gọn. Mọi cơ sở Groebner rút gọn đều là cơ sở Groebner tối tiểu. 7 Định nghĩa 1.9. Cho I là iđêan của vành R. Tập hợp: I  r  R n  N : r  I  n lập thành một iđêan. Iđêan này được gọi là căn của I. Rõ ràng I  I . Nếu I  I thì I được gọi là một iđêan căn. 1.2.3. Một số tính chất của cơ sở Groebner Cơ sở Groebner có một số tính chất sau: (i) Cho I là một iđêan tuỳ ý của R. Nếu với một thứ tự từ nào đó thì g 1 , ..., g s g 1 , ..., g s là cơ sở Groebner của I đối là cơ sở của iđêan I. (ii) Cho  là một thứ tự từ. Khi đó mọi iđêan đều có cơ sở Groebner tối tiểu và mọi cơ sở Groebner tối tiểu của cùng một iđêan đều chung số lượng phần tử và chung tập từ khởi đầu. (iii) Cho I  0 . Khi đó đối với mỗi thứ tự từ, I có duy nhất một cơ sở Groebner rút gọn. (iv) Cho trước s là một số nguyên dương. Khi đó tồn tại iđêan I sinh tối tiểu bởi f 1 , ..., f s nhưng in ( I ) thực sự chứa ( in ( f 1 ) , ..., in ( f s ) ) . Định lý 1.1. Cho G  I là một cơ sở hữu hạn của iđêan I. Khi đó, G là cơ sở Groebner của I nếu và chỉ nếu với mọi g G f  I , chia hết cho in ( f ) in ( g ) với nào đó. Chứng minh. G là cơ sở Groebner của I  (với G   g 1 , ..., g s  ). Cần chứng minh với mọi f  I , in ( f ) chia hết cho Thuận: Với mọi i n ( I )  ( i n ( g 1 ) , ..., i n ( g s ) ) . in ( I )  ( in ( g 1 ) , ..., in ( g s ) ) i n ( g ) với g  I khi và chỉ khi nào đó. s f  I , do I  ( g 1 , ..., g s ) nên f   fi g i . i 1 Ta có in ( g k ) in ( f )  in ( I )  in ( f )  ( in ( g 1 ) , ..., in ( g s ) ) với 1  k  s . 8  in ( f ) chia hết cho Nghịch: Rõ ràng thì in ( f ) chia hết cho ( in ( g 1 ) , ..., in ( g s ) )  in ( I ) in ( g ) với g I . Với nào đó  f  R  K [x ] , * in ( f )  in ( I )  . kí hiệu M(f) là tập tất cả các đơn thức của f. Cho  là một thứ tự từ trên M. Với f  g  M ( f )  'M (g ) , , hay in ( f )  ( in ( g 1 ) , ..., in ( g s ) ) in ( I )  ( in ( g 1 ) , ..., in ( g s ) )  in ( I )  ( in ( g 1 ) , ..., in ( g s ) ) Định lý 1.2. Với mỗi đa thức f  I f ,g  R ta định nghĩa nghĩa là: - Nếu M ( f )  M (g) thì f  * g và g  * f . - Nếu M ( f )  M (g) thì f  * g . - Nếu M ( f )  M (g) , sắp xếp các đơn thức của M (f ) và M (g) theo thứ tự giảm dần. Tại cặp đơn thức khác nhau đầu tiên kể từ bên trái, đa thức nào có đơn thức bé hơn thì bé hơn. Khi đó * là giả thứ tự tốt trên R và là mở rộng của giả thứ tự trên tập các từ của R. Chứng minh. Vì  là thứ tự từ nên nó là thứ tự tốt. Kiểm tra được * giả thứ tự toàn phần. Cần chứng minh nó là giả thứ tự tốt. Giả sử nó không là giả thứ tự tốt suy ra tồn tại tập A   gồm các đa thức trên R và A không có phần tử nhỏ nhất theo giả thứ tự *. Trên A: Gọi A1 là tập các đa thức có cùng đơn thức đầu bé nhất (điều này là tồn tại do  là thứ tự tốt trên M). Trên A1: Gọi A2 là tập các đa thức có cùng đơn thức thứ hai bé nhất (đa thức được viết theo thứ tự giảm dần các đơn thức). … Trên An: Gọi An+1 là tập các đa thức có cùng đơn thức thứ n + 1 bé nhất. Rõ ràng A  A1  ...  A n  ... Gọi mi là đơn thức thứ i của Ai , i = 1, 2, … m 1  m 2  ...  m n  ... Điều này mâu thuẫn với M(A) tập các đơn thức của các đa thức của A là có phần tử nhỏ nhất. 9 Định lý 1.3. Cho I là iđêan của vành R = K[x]. Trên R cố định một thứ tự từ và cho T  in ( I ) là một từ nào đó. Khi đó tập các đa thức f  I với in ( f )  T chỉ có một phần tử tối tiểu (theo giả thứ tự định nghĩa như ở Định lý 1.2). Chứng minh. Theo Định lý 1.2 thì tập đó có phần tử tối tiểu. Bây giờ chứng minh nó duy nhất. Thật vậy, giả sử ngược lại, tập đó có ít nhất 2 phần tử tối tiểu khác nhau f và g. Khi đó chúng có dạng: f  T   1x a1   2x a2  ...   n x an g  T  1x a1  2x a2  ...   n x an trong đó  i ,  i  0 ,  i  1, n . Gọi k là chỉ số nhỏ nhất mà  Do I là iđêan và f ,g  I k  k   1 . Không mất tính tổng quát ta giả sử k  1 . . f , 1.g  I   1 . f   1.g  I .  (  1   1 )T  ( 1  1   1  1 ). x a 1  ( 2  1   1  2 ). x a 2  ...  ( n  1   1  n ). x a n  I  ( Do  1 1   1 ) T  ( 2  1   1  2 ). x  1  1  1  0   (1   1) 1  0 a2  ...  ( n  1   1  n ). x an I . , và do K là một trường nên tồn tại   K sao cho . Từ đó suy ra:  ((  1   1 ) T  ( 2  1   1  2 ). x a2  ...  ( n  1   1  n ). x )  I an .  T   ( 2  1   1  2 ). x a 2  ...   ( n  1   1  n ). x a n  I . Điều này mâu thuẫn với f, g là phần tử tối tiểu. 1.3. ĐỊNH LÝ HILBERT VỀ KHÔNG ĐIỂM Không gian afin n - chiều trên trường K là tập A Kn gồm các điểm n  a 1 , ..., a n   K . Khi K đã rõ, ta chỉ kí hiệu đơn giản là f  x   K  x  xác định một hàm từ A n A n . Mỗi đa thức vào K biến mỗi điểm  a 1 , ..., a n  thành phần tử f  a 1 , ..., a n  . Thông thường khi xét không gian afin n - chiều ta đôi khi xét cùng với vành đa thức n - biến K  x  . Để nói rõ mối liên quan này, đôi khi x 1 , ..., x n còn gọi là các toạ độ của không gian 10 A n . Với mỗi tập A  K  x  , kí hiệu Z  A  là tập nghiệm chung của các đa thức f  A trong không gian Z A  A n  a : 1 , ..., a n   A n f  a 1 , ..., a n   0, f  A  Mỗi phần tử của tập này còn được gọi là không điểm của tập đa thức A. Định lý 1.4. (Định lý Hilbert về không điểm) Cho K là trường, K là bao đóng đại số của K và f , f 1 , ..., f n  K  x  . Các điều khẳng định sau tương đương: i) Với mọi a  A Kn , f 1  a   ...  f n  a   0 suy ra f  a   0 . ii) Tồn tại 0  s  N sao cho f s   f 1 , ..., f n  . Chú ý rằng hai điều kiện trên có thể diễn đạt như sau: i) Z  f 1 , ..., f n   Z  f  , trong đó các tập không điểm xét trong A Kn . ii) f   f 1 , ..., f n . Định lý 1.5. Cho I   f 1 , ..., f n  là iđêan và f là đa thức của K  x  . Gọi G là cơ sở Groebner của iđêan  f 1 , ..., f n ,1  fy  trong vành K  x , y  , trong đó y là biến mới. Khi đó các điều kiện sau tương đương: i) f  I . ii) G chứa một đa thức hằng. iii)  f 1 , ..., f n ,1  fy   K  x , y  . Hệ quả. Cho I   f 1 , ..., f n  là iđêan và f là đa thức của K  x  . Khi đó, ta f  có I   I khi và chỉ khi 1 là cơ sở Groebner rút gọn của iđêan f 1 , ..., f n ,1  fy   K  x , y  . 11 Chƣơng 2 PHẦN MỀM MAPLE VÀ GÓI LỆNH GEOPROVER 2.1. PHẦN MỀM MAPLE Một thực tế là những bài toán đặt ra trong thực tiễn thường là không thể giải quyết bằng những mẹo mực tính toán mang tính thủ công, mà phải dùng tới năng lực tính toán của máy tính điện tử. Phần mềm tính toán ra đời nhằm đáp ứng nhu cầu của thực tiễn, đưa các tính toán phức tạp trở thành công cụ làm việc dễ dàng cho mọi người. Phần mềm Maple là kết quả nghiên cứu của nhóm các nhà khoa học Trường Đại học Waterloo (Canada) và là một trong những bộ phần mềm toán học được sử dụng rỗng rãi nhất hiện nay. Maple là phần mềm có môi trường tính toán khá phong phú, hỗ trợ hầu hết các lĩnh vực của toán học như: Giải tích số, đồ thị, đại số hình thức, ... do đó ta dễ dàng tính được các giá trị gần đúng, rút gọn biểu thức, giải phương trình, bất phương trình, hệ phương trình, tính giới hạn, đạo hàm, tích phân của hàm số, vẽ đồ thị, tính diện tích, thể tích, số phức,... và lập trình giải các bài toán với cấu trúc chương trình đơn giản. Ngoài ra, với phần mềm này ta dễ dàng biên soạn các sách giáo khoa điện tử với chức năng Hyperlink tạo các siêu liên kết văn bản rất đơn giản mà không cần đến sự hỗ trợ của bất kì một phần mềm nào khác (chẳng hạn Page Text, Word, FrontPage...). Với các chức năng trên, Maple là công cụ hỗ trợ đắc lực cho những người làm Toán. Phân mềm Maple tích hợp gói Groebner làm công cụ khai thác những ứng dụng của cơ sở Groebner trong giải một số bài toán hình học phẳng. Một thứ tự từ được gọi là một termorder. Khi xét các thứ tự từ dễ sử dụng nhất là thứ tự từ điển ngược. Thứ tự từ điển được gọi là plex (tức pure lexicographic) và thứ tự từ điển ngược được gọi là tdeg (tức total degree). Maple cần biết termorder muốn dùng plex hay tdeg và một danh sách các biến. Các lệnh sử dụng phổ biến trong gói Groebner của Maple là normalf để thực hiện thuật toán chia và gbasis để tính một cơ sở Groebner. Kết quả là phần dư của đa thức f trong phép chia cho các đa thức thuộc danh sách polylist sử dụng thứ tự từ quy định bởi termorder. 12 Nếu sử dụng các đa thức với hệ số nguyên hay hữu tỷ trong normalf hay gbasic, Maple sẽ giả định rằng ta đang thực hiện trên trường ℚ. Chú ý rằng ở đây không giới hạn trên kích thước của các hệ số. Để Maple cố định một biến trong trường cơ sở (một tham số), ta chỉ cần bỏ qua nó trong danh sách các biến trong termorder. Ta thấy Maple là một ngôn ngữ lập trình bậc cao, rất mạnh nhưng cũng dễ tiếp cận. Về lập trình tính toán vượt xa các ngôn ngữ khác trên cả hai phương diện: mạnh và đơn giản, bởi vì mỗi hàm của nó tương đương với cả một gói chương trình con. Nắm được phần này, người đọc có thể tự mình thiết lập nhưng gói chương trình phục vụ cho mục đích riêng của mình (chưa sẵn có trong Maple). Maple cho ta công cụ lý tưởng để soạn giáo trình và giáo án điện tử. Tóm lại, đây là phương tiện để người thầy thiết lập công cụ hỗ trợ cho phương pháp và phong cách giảng dạy của mình, không bị lệ thuộc vào những gì có sẵn. 2.2. GÓI LỆNH GEOPROVER Gói Groebner trong Maple chưa cung cấp đủ những câu lệnh đủ mạnh giúp đại số hoá các định lý hình học. Vì vậy, gói GeoProver được xây dựng dựa trên ngôn ngữ lập trình Maple để giải quyết vấn đề này, từ đó ta có thể dùng máy tính để kiểm tra tính đúng sai của một giả thuyết hình học. Sau đây là các câu lệnh được sử dụng trong gói: [> restart: with(Groebner): [> read(“D:/Maple/GeoProver.mpl”): with(geoprover): Để sử dụng gói này, chúng ta phải chú ý đường dẫn đến file GeoProver.mpl trong câu lệnh trên. Cần chú ý, kết quả trả lại của các câu lệnh trong gói này là 0 nếu giả thiết đưa ra luôn đúng. Sau đây là một số câu lệnh cơ bản trong gói câu lệnh GeoProver: Kiểm tra ba điểm thẳng hàng: [> A:= Point(x1, x2): B:= Point(x3, x4): C:= Point(x5, x6): [> is_collinear(A, B, C); x1x4 – x1x6 – x3x2 + x5x2 – x5x4 13 Điều trên có nghĩa là với điều kiện ba điểm A, B, C thẳng hàng thì ta có đa thức trên. Kiểm tra ba đường thẳng đồng quy: [> D_:= Point(1, 2): E:= Point(3, 0): F:= Point(0, 1): [> is_concurrent(pp_line(A, B), pp_line(C, D_), pp_line(E, F)); –x4x6 + 2x4x5 + x2x6 – 2x2x5 + 2x2x3 – 2x1x4 – x6x2x3 + x6x1x4 Kiểm tra hai đường thẳng trực giao: [> is_orthogonal(pp_line(A, B), pp_line(C, D_)); 2x4 – 2x2 – x4x6 + x2x6 + x1x5 – x3x5 – x1 + x3 Kiểm tra hai đường thẳng song song: [> is_parallel(pp_line(A, B), pp_line(C, D_)); x4x5 – x4 – x2x5 + x2 – 2x1 + x1x6 + 2x3 – x3x6 Kiểm tra đường thẳng tiếp xúc với đường tròn: [> is_cl_tangent(p3_circle(D_, E, F), pp_line(A, B)); –4x22x32 – 4x12x42 + 16x1x42 + 16x22x3 + 8x12x4 + 8x2x32 – 8x42 + 16x4x2 – 8x22 + 4x12 – 8x1x3 + 4x32 + 16x1x2 – 8x3x1x4 – 16x2x3 – 16x1x4 – 8x1x2x3 – 16x4x2x3 + 8x2x3x1x4 – 16x2x1x4 + 16x3x4 Kiểm tra hai đường tròn tiếp xúc với nhau: [> is_cc_tangent(p3_circle(D_, E, F), p3_circle(Point(0, 0), Point(-1, 0), C)); 92x62 – 4x52 – 8x53 – 8x5x62 – 40x5x6 – 4x54 – 8x52x62 – 40x52x6 – 4x64 – 40x63 Kiểm tra điểm thuộc đường thẳng: [> on_line(E, pp_line(A, B)); 3x – 3x2 + x2x3 – x1x4 Kiểm tra điểm thuộc đường tròn: [> on_circle(A, p3_circle(D_, E, F)); –x12 – x22 + 4x1 + 2x2 – 3 Kiểm tra bốn điểm cùng thuộc một đường tròn: [> is_concyclic(A, F, C, E); –8x1x6 + 8x2x5 + 6x6 – 6x2 + 2x12x6 + 2x22x6 – 2x2x52 – 2x2x62 14 Kiểm tra khoảng cách bằng nhau (AB = EF), hai góc bằng nhau: [> eq_dist(A, B, E, F); x12 – 2x1x3 + x32 + x42 – 2x4x2 + x22 – 4 [> eq_angle(A, B, C, D_, E, F): Ngoài ra còn nhiều câu lệnh để khai báo và kiểm tra khác như: khai báo điểm, trung điểm của đoạn thẳng, đường thẳng qua hai điểm, đường tròn qua ba điểm, đường cao, trung tuyến của tam giác, trọng tâm, trực tâm của tam giác, tâm và bán kính đường tròn nội tiếp, tâm và bán kính đường tròn ngoại tiếp, đường tròn Ơle, đường thẳng qua một điểm và vuông góc (song song) với một đường thẳng, góc giữa hai đường thẳng (hoặc góc xác định bởi ba điểm), khoảng cách, diện tích tam giác, điểm đối xứng qua một điểm (đường thẳng, đường tròn), điểm ngẫu nhiên, giao điểm của hai đường thẳng, giao điểm thứ hai (khác giao điểm đã cho) của hai đường tròn (đường thẳng và đường tròn), vẽ đồ thị... Với các câu lệnh trên, về cơ bản ta có thể đại số hóa được hầu hết các bài toán hình học trong mặt phẳng và kiểm nghiệm tính đúng sai của nó. 15 Chƣơng 3 CHỨNG MINH ĐỊNH LÝ HÌNH HỌC BẰNG MÁY TÍNH 3.1. ĐẠI SỐ HÓA ĐỊNH LÝ HÌNH HỌC 3.1.1. Các bƣớc đại số hóa định lý hình học Người ta nhận thấy rằng rất nhiều định lý hình học hoàn toàn được mô tả bằng các khái niệm đại số. Khi biểu diễn các hình hình học trong toạ độ Đề-các vuông góc thì hầu hết các hình hình học và biên của nó có thể xem là tập không điểm của các đa thức, và các quan hệ giữa chúng đều có thể mô tả bằng các phương trình đa thức cũng như tập không điểm phải xét trên trường số thực. Quy trình chứng minh định lý hình học trên Maple được tóm tắt thông qua các bước sau đây: Bƣớc l: Đại số hóa bài toán hình học. Bƣớc 2: Chạy trên phần mềm Maple tìm cơ sở Groebner của iđêan (f1 = 0,..., fs, 1 - yg) với chú ý xem các biến độc lập như tham số. Bƣớc 3: Cơ sở Groebner của iđêan (f1 = 0, ... , fs, 1 - yg) chứa các đa thức 1 khi và chỉ khi định lý hình học cần chứng minh là đúng. Nếu tại bước 2 ta vẫn xem các biến độc lập là biến, thì tại bước 3 nếu cơ sở Groebner của iđêan (f1 = 0, ..., fs, 1 - yg) chứa đa thức 1 hoặc chứa đa thức chỉ chứa biến độc lập, thì ta vẫn kết luận được định lý hình học cần chứng minh là đúng. Tuy nhiên điều ngược lại chỉ đúng nếu ta chọn thứ tự từ khử đối với các biến không độc lập và y (chẳng hạn dùng plex và xếp các biến độc lập ở sau cùng). 3.1.2. Đại số hóa một số định lý hình học Giả sử cho định lý hình học với: Giả thiết: Được mô tả bởi hệ phương trình 𝑓1 = ⋯ = 𝑓𝑠 = 0. Kết luận: Khi đó mọi nghiệm thực của nó phải thoả mãn hệ phương trình 𝑔1 = ⋯ = 𝑔𝑟 = 0 với 𝑓1 , … , 𝑓𝑠 , 𝑔1 , … , 𝑔𝑟 ∈ ℝ 𝑢1 , … , 𝑢𝑡 , 𝑥1 , … , 𝑥𝑛 là những đa thức với hệ số thực. Các biến 𝑢1 , … , 𝑢𝑡 độc lập đại số (tức là toạ độ của các điểm tương ứng với các biến này có thể chọn tuỳ ý), còn các biến 𝑥1 , … , 𝑥𝑛 là phụ thuộc, nghĩa là từng biến trong danh sách này phải xuất hiện trong ít nhất một đa thức fi nào đó. 16 Ta sử dụng ngôn ngữ đại số để mô tả một số định lý hình học sau đây: Ví dụ 3.1. Trong một tam giác, ba đường trung trực đồng quy. Hình 3.1 Đại số hóa định lý trên như sau: Không mất tính chất tổng quát, ta có thể đặt tọa độ các điểm A(0, 0), B(c, 0) và điểm C(a, b). Giả sử các đường trung trực của các cạnh AB và BC cắt nhau tại điểm O1(x1, y1). Các đường trung trực hoàn toàn được xác định bởi các điểm A, B, C và O1 và ta có các phương trình sau đây: 𝑐 (p1): 𝑥1 − = 0 2 (p2): 𝑐−𝑎 𝑏 . 𝑥1 − 𝑦1 + 𝑏 2 −𝑐 2 +𝑎 2 2𝑏 =0 Giả sử rằng các đường trung trực của AB và AC cắt nhau tại điểm O2(x2, y2). Điều này dẫn đến hai phương trình khác như sau: 𝑐 (𝑝1′ ): 𝑥2 − = 0 2 (𝑝3 ): 𝑎 𝑏 𝑎2 . 𝑥2 + 𝑦2 − − =0 𝑏 2 2𝑏 Từ đó, ta có hệ 𝐺 = {𝑝1 , 𝑝2 , 𝑝1′ , 𝑝3 }. Ta cần chứng minh 𝑂1 ≡ 𝑂2 nghĩa là 𝑥1 , 𝑦1 = 𝑥2 , 𝑦2 . Để sử dụng phương pháp cơ sở Groebner, cơ sở Groebner G’ của G được tính và mục tiêu là chứng minh 𝑥1 − 𝑥2 → 𝐺 ′ = 0 và 𝑦1 − 𝑦2 → 𝐺 ′ = 0. Với đa thức phía trái của phương trình là mệnh đề được mô tả. Ví dụ 3.2. (Định lý con bướm) Cho đường tròn tâm O. Các điểm A, B, C, D thuộc đường tròn trên. Gọi P là giao điểm của AC và BD. Gọi F, G tương ứng là giao điểm của đường thẳng đi qua P và vuông góc với OP với đường thẳng AB, CD. Khi đó P là trung điểm của FG. 17 Chứng minh. Ta chọn hệ trục toạ độ Đề-các với điểm P là gốc toạ độ, trục hoành nằm trên đoạn thẳng OP. Khai báo tọa độ các điểm như sau: Hình 3.2 [> P:= Point(0, 0): O_:= Point(u1, 0): [> A:= Point(u2, u3): B:= Point(u4, x1): [> C:= Point(x2, x3): D_:= Point(x4, x5): [> F:= Point(0, x6): G:= Point(0, x7): Ta khai báo đường tròn tâm O, bán kính OA: [> c:= pc_circle(O_, A): Từ giả thiết B, C, D thuộc đường tròn tâm O ta có: [> on_circle(B, c), on_circle(C, c), on_circle(D_, c); u42 + x12 – 2u1u4 + 2u2u1 – u22 – u32, x22 + x32 – 2u1x2 + 2u2u1 – u22 – u32, x42 + x52 – 2u1u4 + 2u2u1 – u22 – u32 Từ giả thiết P là giao điểm của AC và BD, F thuộc AB và G thuộc CD, ta có: [> on_line(P, pp_line(A, C)), on_line(P, pp_line(B, D_)), on_line(F, pp_line(A, B)), on_line(G, pp_line(D_, C)); u3x2 – u2x3, x1x4 – u4x5, x6u2 – x6u4 + u3u4 – u2x1, x7x4 – x7x2 + x2x5 – x3x4 Kết luận điểm P là trung điểm của đoạn thẳng FG được cho bởi đa thức: [> numer(sqrdist(P, midpoint(F, G))); (x7 + x6)2 18 Ví dụ 3.3. (Định lý về điểm Phéc-ma) Cho tam giác ABC. Lấy BC, CA, AB làm cạnh dựng các tam giác cân đồng dạng BCP, CAQ, ABR ra phía ngoài tam giác. Khi đó các đường thẳng AP, BQ, CR đồng quy tại một điểm. Điểm đó được gọi là điểm Phéc-ma. Ta chọn hệ trục toạ độ Đề-các với điểm A là gốc toạ độ, trục hoành nằm trên đoạn thẳng AB: [> A:= Point(0, 0): B:= Point(u1, 0): [> C:= Point(u2, u3): P:= Point(x1, x2): [> Q:= Point(x3, x4): R:= Point(x5, x6): Hình 3.3 Từ giả thiết dựng ra ngoài tam giác ABC ba tam giác đều ta có hệ đa thức sau: [> polys:={eq_dist(P, B, B, C), eq_dist(P, C, B, C), eq_dist(Q, A, A, C), eq_dist(Q, C, A, C), eq_dist(R, B, A, B), eq_dist(R, A, A, B)}; polys= {–2x1u1 + x12 + x22 – u22 + 2u2u1 – u32, –2u2x1 + x12 – 2u3x2 + x22 + 2u2u1 – u12, x32 + x42 – u22 – u32, –2u2x3 + x32 – 2u3x4 + x42, x52 + x62 – u12, –2u1x5 + x52 + x6 2 } Kết luận ba đường thẳng đồng quy được cho bởi đa thức: [> con:=is_concurrent(pp_line(A, P), pp_line(B, Q), pp_line(C, R)); 19 con:=x2u1u3x5 – x2u1x6u2 – x2x3u3x5 + x2x3x6u2 + x2u2x4u1 – x2u1x4x5 + x1x4u3x5 – x1x4x6u2 + x1x4u1x6 – x1u1x4u3 Trong ba ví dụ trên, các biến ui là các biến độc lập, các biến xi là các biến phụ thuộc. Chúng ta phải phân biệt các biến này để tìm các trường hợp suy biến của định lý (hay là các trường hợp mà định lý không còn đúng). 3.2. QUY TRÌNH CHỨNG MINH ĐỊNH LÝ BẰNG MÁY TÍNH 3.2.1. Các bƣớc chứng minh định lý hình học bằng máy tính Để chứng minh định lý hình học bằng cơ sở Groebner với sự hỗ trợ của phần mềm Maple ta phải tiến hành theo các bước sau: Bƣớc 1: Chọn hệ trục toạ độ để biểu diễn các điểm và các dữ kiện của định lý. Ta chọn sao cho số lượng các biến trong cơ sở Groebner là ít nhất bởi vì số lượng biến càng nhiều, thời gian tính toán trên máy tính càng lâu. Bƣớc 2: Đại số hoá giả thiết và kết luận của định lý. Bƣớc 3: Liệt kê một danh sách bao gồm các đa thức giả thiết và một đa thức kết luận được nhân với một biến phụ thuộc mới, sau đó trừ đi 1. Bƣớc 4: Tìm đa thức dư của đa thức 1 cho các đa thức trong danh sách trên bằng lệnh: [> normalf(1, WL, T), trong đó WL là danh sách các đa thức, T là một thứ tự từ. Nếu kết quả trả lại bằng 0 thì định lý luôn đúng. Ngược lại chúng ta tiếp tục tìm cơ sở Groebner rút gọn của iđêan sinh bởi WL. Bƣớc 5: Tìm cơ sở Groebner rút gọn G của WL. Bƣớc 6: Tìm iđêan khử bằng các dòng lệnh sau: [> for j from 1 to nops(G) do k[j]:= degree(leadterm(G[j], plex(T’)), {T’}): if k[j] = 0 then print(G[j]); fi: od; Trong đó T là một thứ tự từ đối với các biến phụ thuộc. Bƣớc 7: Giải các phương trình đa thức sinh ra iđêan khử để tìm ra các trường hợp suy biến. Chú ý rằng khi đại số hoá giả thiết và kết luận của định lý ta không tránh khỏi kết quả của các phép tính toán không là một đa thức. Lúc đó, ta dùng câu lệnh 20 numer() để lấy phần tử thức. Còn phần mẫu thức bằng 0 chúng ta coi như một trường hợp suy biến, cần xét thêm. Sau đây là một số nhận xét về các bước trên: (1) Phương pháp trình bày ở trên có thể đòi hỏi tính toán cồng kềnh so với chứng minh bằng hình học, nhưng phương pháp này có lợi thế là có thể thực hiện được bằng máy tính và không đòi hỏi sự lắt léo nào (như vẽ thêm đường, chọn thêm điểm). Khi đã đại số hoá được bài toán thì thời gian chạy máy tính không đáng kể. (2) Khi đại số hoá bài toán hình học phải đảm bảo để các toạ độ u1,...,ut được chọn tuỳ ý, hay nói cách khác chúng độc lập đại số trên Z(f1,...,fs). Chú ý rằng có nhiều cách đại số hoá một bài toán hình học, và do đó có thể nhận được nhiều bài toán T tương ứng mà độ phức tạp của lời giải có thể rất khác nhau. (3) Bằng phương pháp này ta có thể xây dựng các giả thuyết hình học. Sau đó ta đại số hoá và tìm các trường hợp suy biến. Từ đó, chúng ta có thể khẳng định được nhìn chung giả thuyết đó có đúng hay không? Điều này cũng đem lại một lợi thế khác: tìm phản ví dụ dựa trên các trường hợp suy biến cho một số bài toán hình học. 3.2.2. Xét các trƣờng hợp suy biến của định lý Không phải bài toán nào cũng tương đương với phát biểu hình học của nó, bởi vì khi xét tập không điểm của các đa thức trong giả thiết, ta không hề phân biệt đâu là biến độc lập, đâu là biến phụ thuộc. Như vậy có thể có một số điểm nào đó sẽ ứng với một hình hình học ngoại lai, hay như thông thường vẫn nói là trường hợp suy biến. Ví dụ 3.4. Nếu ABCD là một hình thoi thì hai đường chéo AC và BD vuông góc với nhau và cắt nhau tại điểm N là trung điểm của mỗi đường chéo. Sau đây ta sẽ đại số hoá định lý trên. Ta chọn hệ trục toạ độ Đề-các mà gốc toạ độ là A và trục hoành trùng với tia AB (nhằm hạn chế tối đa các biến độc lập). Ta sẽ dùng phần mềm Maple để thiết lập các hệ phương trình giả thiết và kết luận. Trong Maple, khi khai báo các điểm mà toạ độ của nó chứa tham số và sử dụng các câu lệnh để thực hiện các phép tính trên các điểm đó thì bao giờ Maple cũng yêu 21 cầu các điểm đó phải thoả mãn một số điều kiện nhất định để thực hiện được phép tính. Khi dùng lệnh khai báo một đường thẳng đi qua hai điểm có toạ độ cho trước dưới dạng tham số thì Maple sẽ đưa ra một thông báo là hai điểm đó phải là hai điểm phân biệt (tức là chúng ta phải đưa ra câu lệnh giả thiết rằng hai điểm đó là phân biệt trước khi khai báo đường thẳng). Với mỗi thủ tục đó khi thực hiện phép tính sẽ rất phức tạp mà nhiều khi chưa chắc đã làm được. Do vậy, vấn đề xây dựng một gói công cụ mới dựa trên ngôn ngữ lập trình Maple để giải quyết vấn đề trên là không thể thiếu được. Sau đây là các câu lệnh để đưa ra hệ phương trình giả thiết và kết luận của định lý: Ta tiến hành khai báo các điểm: [> A:=Point(0, 0): B:=Point(u1, 0): C:=Point(u2, u3): D_:=Point(x1, x2): N:=Point(x3, x4): Hình 3.4 Các biến u1, u2, u3 là các biến độc lập, còn các biến x1, x2, x3, x4 là các biến phụ thuộc và nó bị ràng buộc bởi điều kiện ABCD là hình thoi và N là giao điểm của hai đường chéo. Từ giả thiết AB = AD và N  AC , N  BD ta có các phương trình: [> sqrdist(A, B ) - sqrdist(A, D_) = 0; u 1  x1  x 2  0 2 2 2 [> on_line(N, pp_line(B, D_)) = 0; x 2 x 3  x 4 x1  x 4 u 1  x 2 u 1  0 22 [> on_line(N, pp_line(A, C)) = 0; u 3 x3  u 2 x4  0 Từ giả thiết AD // CB và CD // AB ta có các phương trình: [> is_parallel(pp_line(A, D_), pp_line(C, B)) = 0; x 2 u 2  x 2 u 1  x1u 3  0 [> is_parallel(pp_line(C, D_), pp_line(A, B)) = 0; u3  x2  0 Từ kết luận AC  BD và N là trung điểm của AC, BD ta có: [> is_orthogonal(pp_line(C, A), pp_line(D_, B)) = 0; x 2 u 3  u 2 x1  u 2 u 1  0 [> sqrdist(N, B) - sqrdist(N, D_) = 0; u 1  2 u 1 x 3  x1  2 x1 x 3  x 2  2 x 2 x 4  0 2 2 2 [> sqrdist(N, A) - sqrdist(N, C) = 0;  u 2  2u 2 x3  u 3  2u 3 x4  0 2 2 Như vậy định lý trên được chia thành hai bài toán vì định lý có hai kết luận riêng biệt. Ta sẽ dùng cơ sở Groebner để kiểm định từng kết luận: Giả thiết 1: Cho hệ phương trình:  f 1  u 1  x1  x 2  0   f 2  x 2 u 2  x 2 u 1  x1u 3  0  f  u  x  0 3 2  3 2 2 2 Kết luận 1: Khi đó mọi nghiệm thực của nó phải thoả mãn hệ phương trình: g 1  x 2 u 3  u 2 x1  u 2 u 1  0 (nghĩa là A C  B D ) Giả thiết 2: Cho hệ phương trình:         f 1  u 1  x1  x 2  0 2 2 2 f 2  x 2 u 2  x 2 u 1  x1u 3  0 f3  u3  x2  0 f 4  x 2 x 3  x 4 x1  x 4 u 1  x 2 u 1  0 f5  u 3 x3  u 2 x4  0 Kết luận 2: Khi đó mọi nghiệm thực của nó phải thoả mãn hệ phương trình: 23  g 2  u 1  2 u 1 x 3  x1  2 x1 x 3  x 2  2 x 2 x 4  0  2 2  g 3   u 2  2u 2 x3  u 3  2u 3 x4  0 2 2 2 (N là trung điểm của AC và BD) Bây giờ ta sử dụng phần mềm Maple đối với iđêan I1 để kiểm định kết luận thứ nhất g1: 𝐼1 = 𝑓1 , 𝑓2 , 𝑓3 , 𝑧𝑔1 − 1 ⊂ ℝ 𝑢1 , 𝑢2 , 𝑢3 , 𝑥1 , 𝑥2 , 𝑧 theo thứ tự từ điển với [> L1 : [> L 2 : z  x1  x 2  u 1  u 2  u 3 , ta được có sở Groebner sau:  u 1  x1  x 2 , x 2 u 2  x 2 u 1  x1u 3 ,  x 2  u 3 ,  x 2 u 3  u 2 x 1  u 2 u 1  z  1  :   2 2 2  z , x1 , x 2 , u 1 , u 2 , u 3  : Ta tìm đa thức dư của đa thức 1 khi chia cho các đa thức trong danh sách L1 đối với thứ tự từ điển trên: [> normalf(1, L1, plex(L2)); 1 Ta thấy đa thức dư là 1, do vậy kết luận g1 chưa đúng. Để xem định lý suy biến trong trường hợp nào ta hãy tìm cơ sở Groebner G của I1 và tìm iđêan khử 𝐼1′ : [> G:= gbasis(L1, plex(L2)); G :  u 3 , x 2 , x 1  u 1 , 2 z u 2 u 1  1  Dựa trên cơ sở Groebner trên, ta khai báo các biến phụ thuộc vào danh sách L3 và sử dụng các câu lệnh của Maple để đưa ra 𝐼′1 : [> L 3 :  z , x1 , x 2  : [> for j from 1 to nops(G) do k[j]:= degree(leadterm(G[j], plex(L3)), {L3}): if k[j] = 0 then print(G[j]); fi; od; u3 Như vậy, ta tìm được iđêan khử 𝐼1′ = 𝑢3 . Trường hợp suy biến của định lý ứng với nghiệm của phương trình u3  0 , tức là điểm C có toạ độ  u 2 , 0  hay nói cách khác điểm C nằm trên trục hoành của hệ trục tọa độ đã chọn và khi đó hình thoi suy biến thành một đường thẳng. Ta tiếp tục kiểm định đối với kết luận g2: 24 𝐼2 = 𝑓1 , 𝑓2 , 𝑓3 , 𝑓4 , 𝑓5 , 𝑧𝑔2 − 1 ⊂ ℝ 𝑢1 , 𝑢2 , 𝑢3 , 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑧 theo thứ tự từ điển với z  x1  x 2  x 3  x 4  u 1  u 2  u 3 , ta được có sở Groebner sau: : ' [> L 1 [ u 12  x1  x 2 , x 2 u 2  x 2 u 1  x1u 3 ,  x 2  u 3 , x 2 x 3  x 4 x1  x 4 u 1  x 2 u 1 , 2 2 x 2 x 3  x 4 x 1  x 4 u 1  x 2 u 1 ,  u 12  2 u 1 x 3  x 12  2 x 1 x 3  x 22  2 x 2 x 4  z  1 ]: [> L 2 : '  z , x1 , x 2 , x 3 , x 4 , u 1 , u 2 , u 3  : [> normalf(1, L1, plex(𝐿′2 )); 1 [> G:= gbasis(𝐿′1 , plex(𝐿′2 )); G :  u 3 , x 4 , x 2 , x1  u 1 , 4 zu 1 x 3  1  Dựa trên cơ sở Groebner trên, ta khai báo các biến phụ thuộc vào danh sách 𝐿′3 và sử dụng các câu lệnh của Maple để đưa ra iđêan khử 𝐼′2 : ' [> L 3 :  z , x1 , x 2 , x 3 , x 4  : [> for j from 1 to nops(G) do k[j]:= degree(leadterm(G[j], plex(𝐿′3 )), {𝐿′3 }): if k[j] = 0 then print(G[j]); fi; od; u3 Như vậy, ta tìm được iđêan khử 𝐼2′ = 𝑢3 . Trường hợp suy biến của định lý ứng với nghiệm của phương trình u3  0 , tức là hình thoi suy biến thành một đường thẳng. Kiểm định tương tự cho kết luận g3 ta cũng có kết quả tương tự. 3.3. CHỨNG MINH MỘT SỐ ĐỊNH LÝ HÌNH HỌC Sau đây chúng tôi trình bày phương pháp chứng minh một số định lý hình học sơ cấp bằng máy tính. Phần mềm Maple sẽ đưa ra kết luận về tính đúng sai của định lý hình học. Sau khi có kết quả từ máy tính, chúng tôi sẽ chứng minh định lý đó bằng toán học và phát triển thêm các bài toán khác. 25 Định lý 1. (Đường thẳng Ơle) Gọi O, H, G lần lượt là tâm của đường tròn ngoại tiếp, trực tâm và trọng tâm của ABC cho trước. Khi đó, ba điểm O, H, G thẳng hàng và điểm G chia đoạn thẳng OH theo tỉ số 1:3. Trước tiên, trong hệ tọa độ Đề-các vuông góc ta tiến hành khai báo tọa độ của các điểm như sau: [> A:=Point(a1, a2): B:=Point(b1, b2): C:=Point(c1, c2): [> O_:=intersection_point(p_bisector(A, B), p_bisector(B, C)); M:=[( –b2a22 + b2c22 + b2c12 – b2a12 – c22a2 – c12a2 + b22a2 – b22c2 + c2a22 + c2a12 + b12a2 – b12c2)/(2(c2a1 – a1b2 – b1c2 + b2c1 + a2b1 – c1a2)), –(a1c22 + a1b22 + a1b12 – a1c12 + b1c22 + b1c12 – b1a22 – b1a12 – c1b22 + c1a22 + c1a12 – c1b12)/(2(c2a1 – a1b2 – b1c2 + b2c1 + a2b1 – c1a2))] [> H:=intersection_point(altitude(A, B, C),altitude(B, C, A)); H:=[( –c2a22 + c22a2 + b2a22 + a1a2b1 – a1c1a2 + c1a1c2 – b22a2 – b2c22 + b22c2 – b1c1c2 + b1b2c1 – b1a1b2)/(c2a1 – a1b2 – b1c2 + b2c1 + a2b1 – c1a2), (b2a2b1 – b2b1c2 – c1b12 + a1b12 + b2c1c2 + b1c12 – a2c2c1 – a1c12 + a2c2a1 – a2a1b2 – b1a12 + c1a12)/(c2a1 – a1b2 – b1c2 + b2c1 + a2b1 – c1a2))] [> G:=intersection_point(median(A, B, C),median(B, C, A)); 𝐺≔ 𝑏1 𝑎1 𝑐1 𝑎2 𝑏2 𝑐2 + + , + + 3 3 3 3 3 3 Để kiểm tra các kết luận của định lý, ta sử dụng câu lệnh sau đây: [> is_collinear(O_, H, G); 0 [> sqrdist(G,varpoint(O_, H, 1/3)); 0 Cả hai câu lệnh trên đều cho kết quả bằng 0. Điều đó có nghĩa là định lý trên là đúng. Bây giờ ta chứng minh bằng toán học như sau: Chứng minh. Gọi A’, B’, C’ lần lượt là trung điểm của các cạnh BC, CA, AB. Ta chứng minh giao điểm của đường thẳng HO và đường thẳng AA’ chính là trọng tâm G của ABC. Thật vậy, ta có: HA = 2OA' và HA // OA' ⇒ suy ra G là trọng tâm ABC. Từ đó ta suy ra H, G, O thẳng hàng. 26 𝐺𝐴 𝐺𝐴′ = 𝐻𝐴 𝑂𝐴′ = 2, Hình 3.5 Hơn nữa, nếu gọi O9 là tâm đường tròn Ơle của ABC hay O9 là tâm đường tròn ngoại tiếp A’B’C’ thì ta có O, G, O9 thẳng hàng (theo chứng minh trên với điểm G là trọng tâm A’B’C’ và điểm O là trực tâm của A’B’C’). Đặc biệt, bốn điểm H, G, O và O9 lập thành một hàng điểm điều hoà với 𝐺𝑂 = −2𝐺𝑂9 và 𝐺𝐻 = −2𝐺𝑂 . Định lý 2. (Đường tròn Ơle) Trong tam giác ba trung điểm của ba cạnh, ba chân các đường cao, ba trung điểm của ba đoạn thẳng nối trực tâm với các đỉnh của tam giác là 9 điểm nằm trên một đường tròn với tâm O9 là trung điểm của đoạn thẳng OH. Đường tròn này được gọi là đường tròn Ơle. Trong hệ tọa độ Đề-các vuông góc ta có thể chọn tọa độ các điểm với A là gốc tọa độ và trục Ox với đơn vị là điểm B. Điểm C là điểm tùy ý. [> A:=Point(0, 0): B:=Point(u1, 0): C:=Point(u2, u3) : Gọi O9 là trung điểm của đoạn thẳng OH. Ta xác định tọa độ của các điểm O, H và O9 như sau: [> O_:=intersection_point(p_bisector(A, B), p_bisector(B, C)); 𝑢1 −𝑢32 − 𝑢22 + 𝑢1 𝑢2 𝑂_ ≔ ,− 2 2𝑢3 [> H:=intersection_point(altitude(A, B, C), altitude(B, C, A)); 27 𝐻 ≔ 𝑢2 , 𝑢1 − 𝑢2 𝑢2 𝑢3 [> O9:=midpoint(O_, H); 𝑂9 ≔ 𝑢2 𝑢1 𝑢1 𝑢2 − 𝑢22 + 𝑢32 + , 2 4 4𝑢3 Ta chỉ ra điểm O9 là tâm của đường tròn đi qua 9 điểm trên như sau: [> sqrdist(O9, midpoint(A, B)) - sqrdist(O9, midpoint(B, C)); 0 [> sqrdist(O9, midpoint(A, B)) - sqrdist(O9, midpoint(H, C)); 0 [> D_:=intersection_point(pp_line(A, B), pp_line(H, C)); 𝐷_ ≔ 𝑢2 , 0 [> sqrdist(O9, midpoint(A, B)) - sqrdist(O9, D_); 0 Biểu thức cuối cùng trả lại kết quả bằng 0 chứng tỏ rằng kết luận trong định lý là đúng hay nói cách khác định lý được chứng minh. Sau đây là chứng minh toán học của định lý. Chứng minh. Giả sử ABC có H là trực tâm. Gọi D, E, F, P, L, T lần lượt là trung điểm của các đoạn thẳng BC, CA, AB, AH, HB, HC. Gọi K, M, N lần lượt là chân của các đường cao của ABC. Gọi (O) là đường tròn ngoại tiếp DEF. Hình 3.6 28 Ta có DK = EF = AB và KE // DF nên DEKF là hình thang cân. Do đó, ta 2 có điểm K thuộc đường tròn (O). Do DL // AK, DF // BC và BC  AK nên ta có LDF = 900. Tương tự, ta có LEF = 900. Suy ra tứ giác EFDL nội tiếp hay điểm L thuộc đường tròn (O). Chứng minh tương tự ta có bốn điểm T, P, N, M cũng thuộc đường tròn (O). Định lý 3. Có bốn giao điểm được tạo thành bởi ba cặp các đường phân giác trong và ngoài của ABC cho trước. Các điểm này là tâm đường tròn nội tiếp và tâm các đường tròn bàng tiếp của tam giác. Chọn tọa độ của các điểm với hai biến độc lập là u1, u2 (tọa độ của điểm C): [> A:=Point(0, 0): B:=Point(1, 0): C:=Point(u1, u2): P:=Point(x1, x2): Điểm P khai báo ở trên là giao điểm của ba đường phân giác nếu và chỉ nếu hệ đa thức sau có kết quả bằng 0 với x1, x2 là các số không xác định được lấy hệ số trên trường ℚ 𝑢1 , 𝑢2 . [> polys:={on_bisector(P, A, B, C), on_bisector(P, B, C, A), on_bisector(P, C, A, B)}; polys:= {–2x2 + 2u1x2 + 2x2x1 – 2x2u1x1 – u2x22 + u2 – 2u2x1 + u2x12, –2u1x2u22 – u23 – u2u12 + 2u22x2 + 2x2u12 – u2x22 – 2u13x2 + 2u23x1 + u2x12 + 2u1x22u2 + 2u2x1u12 – 2u2x12u1 – 2u22x1x2 – 2x2u1x1 + 2u12x2x1, 2x2u1x1 – u2x12 + u2x22} Tiếp theo ta tính cơ sở Groebner bằng câu lệnh sau: [> TO:=plex(x1, x2): [> gb:=gbasis(polys, TO); gb:=[4u2x24 – 8x23u22 – 8x23u12 + 8x23u1 – 4u1x22u2 + 4u2x22u12 – 4u2x22 – u23 + 4u23x22 + 4u22x2, –u22x1 + 2x23u2 – 2u22x22 – 4u12x22 + 2u2x2u1 + 4x22u1 – 2u12u2x2 – u1u22 + 2u1u22x1 + u22 – 2u2x2] Từ kết quả trên ta thấy phương trình của biểu thức thứ nhất có 4 nghiệm với x2 và mỗi phương trình với x1 được rút ra từ phương trình của biểu thức thứ hai. Vì vậy, phương trình có 4 nghiệm ứng với 4 giao điểm. Nghiệm tổng quát liên quan đến phương trình bậc 4 trên trường ℚ 𝑢1 , 𝑢2 . 29 Thật khó để biểu diễn qua căn thức các giá trị này, vì cần đến nhiều tính toán với biểu thức suy ra từ kết quả của lệnh RootOf trong Maple được biết đến như là đa thức tối tiểu. Vì trong tình huống này x2 là khoảng cách từ điểm P đến đường thẳng AB, chúng ta có thể chứng minh mỗi một điểm trong 4 điểm này có khoảng cách bằng nhau đến ba cạnh của tam giác ABC, nghĩa là những điểm này là tâm của đường tròn nội tiếp và 3 đường tròn bàng tiếp tam giác. Ta tính khoảng cách giữa chúng bằng câu lệnh sau: [> con:=[sqrdist_pl(P, pp_line(A, C)) - sqrdist_pl(P, pp_line(A, B)), sqrdist_pl(P, pp_line(B, C)) - sqrdist_pl(P, pp_line(A, B))]; 𝑐𝑜𝑛 ≔ −𝑢 1 𝑥 2 +𝑢 2 𝑥 1 2 𝑢 22 +𝑢 12 − 𝑥22 , 𝑢 22 −2𝑢 2 𝑥 2 +2𝑢 2 𝑥 2 𝑢 1 −2𝑢 22 𝑥 1 +𝑥 22 −2𝑥 22 𝑢 1 +2𝑢 2 𝑥 2 𝑥 1 +𝑢 12 𝑥 22 −2𝑢 2 𝑥 1 𝑢 1 +𝑢 22 𝑥 12 1−2𝑢 1 +𝑢 12 +𝑢 22 −𝑥 22 Tử số của mỗi trong hai biểu thức trên có thể đơn giản bằng 0 với một số giá trị đặc biệt của x1, x2. Điều này có thể kiểm chứng việc tính dạng chuẩn tắc ứng với cơ sở Groebner nói trên: [> map(u->normalf(numer(u), gb, TO), con); [0, 0] Ta cũng có thể chứng minh định lý trên như sau: Bắt đầu với A, B và giao điểm P của các đường phân giác qua A và B. Khi đó AC và BC đối xứng với AB tương ứng qua AP và BP và điểm P phải nằm trên các đường phân giác: [> A:=Point(0, 0): B:=Point(1, 0): P:=Point(u1, u2): [> l1:=pp_line(A, B): [> l2:=sym_line(l1, pp_line(A, P)); l2:=[–2u1u2, –u22 + u12, 0] [> l3:=sym_line(l1, pp_line(B, P)); l3:=[–2(u1 – 1)u2, –u22 + 1 – 2u1 + u12, 2(u1 – 1)u2] [> on_bisector(P, A, B, intersection_point(l2, l3)); 0 Biểu thức cuối cùng được đơn giản bằng 0 và vì vậy định lý được chứng minh bằng máy tính. 30 C P B A Hình 3.7 Định lý 4. (Định lý Ptô-lê-mê) Điều kiện cần và đủ để một tứ giác lồi ABCD nội tiếp được là tích hai đường chéo của nó bằng tích các cạnh đối diện. Ta xác định tọa độ các điểm trong hệ tọa độ Đề-các vuông góc như sau: [> A:=Point(a1, a2): B:=Point(b1, b2); C:=Point(c1, c2): D_:=Point(d1, d2): Bốn điểm A, B, C, D thuộc cùng một đường tròn tương đương với điều kiện sau: [> p4:=on_circle(D_, p3_circle(A, B, C)); p4:= –a1b2c22 + c1a2d22 + c1a2d12 + b1c2d22 + b1c2d12 – a2b1d22 – a2b1d12 + d1c2a12 + d1c2a22 – d1b22c2 + d1b22a2 – d1c12a2 – d1c22a2 – d1b2a12 + d1b2c12 + d1b2c22 – d1b2a22 + a1b2d22 + a1b2d12 – b2c1d22 – b2c1d12 – c2a1d22 – c2a1d12 – d2b1c22 – d2b1c12 + d2a1c22 + d2a1c12 – d2a1b22 – d2a1b12 + d2c1b22 + d2c1b12 – d2c1a22 + d2b1a22 – d2c1a12 + d2b1a12 – d1b12c2 + d1b12a2 – a12b1c2 – c1a2b22 – c1a2b12 – a1b2c12 + a2b1c22 – a22b1c2 + a2b1c12 + a12b2c1 + c2a1b12 + c2a1b22 + a22b2c1 31 Tương tự ta cũng nhận được đa thức có bậc tương tự như trên nếu chúng ta phát biểu dưới dạng định lý về góc định hướng: [> u:=l2_angle(pp_line(A, D_), pp_line(B, D_)): [> v:=l2_angle(pp_line(A, C), pp_line(B, C)): [> w:=normal(numer(u)*denom(v) - denom(u)*numer(v)); w:= a1b2c22 – c1a2d22 – c1a2d12 – b1c2d22 – b1c2d12 + a2b1d22 + a2b1d12 – d1c2a12 – d1c2a22 + d1b22c2 – d1b22a2 + d1c12a2 + d1c22a2 + d1b2a12 – d1b2c12 – d1b2c22 + d1b2a22 – a1b2d22 – a1b2d12 + b2c1d22 + b2c1d12 + c2a1d22 + c2a1d12 + d2b1c22 + d2b1c12 – d2a1c22 – d2a1c12 + d2a1b22 + d2a1b12 – d2c1b22 – d2c1b12 + d2c1a22 – d2b1a22 + d2c1a12 – d2b1a12 + d1b12c2 – d1b12a2 + a12b1c2 + c1a2b22 + c1a2b12 + a1b2c12 – a2b1c22 + a22b1c2 – a2b1c12 – a12b2c1 – c2a1b12 – c2a1b22 – a22b2c1 [> w + p4; 0 Điều kiện này cũng tương đương với định lý Ptô-lê-mê trình bày ở trên. Biểu thức cuối cùng được đơn giản bằng 0 và vì vậy định lý được chứng minh bằng máy tính. Nếu hai đường tròn hoặc một đường tròn và một đường thẳng đã biết một điểm P chung với tọa độ của giao điểm thứ hai Q có thể tính được và được lưu lại như hàm other_cl_point(P, c, d) hoặc other_cc_point(P, c1, c2). Các điều kiện để một đường tròn và một đường thẳng hoặc hai đường tròn tiếp xúc với nhau cũng được xây dựng theo cách tương tự. Chứng minh. Ta sẽ sử dụng phép nghịch đảo để chứng minh định lý trên. Vì phép nghịch đảo có khả năng biến đường tròn thành đường thẳng. Do đó, chúng ta có thể vận dụng khả năng này để chuyển bài toán chứng minh các điểm nằm trên đường tròn về bài toán chứng minh các điểm nằm trên đường thẳng đơn giản hơn bằng cách chọn cực nghịch đảo nằm trên một đường tròn nào đó. Xét bài toán ban đầu như sau: Cho một tứ giác lồi ABCD. Phép nghịch đảo cực D phương tích k biến các điểm A, B, C lần lượt thành A’, B’, C’. Từ đó ta suy ra điều kiện cần và đủ để bốn điểm A, B, C, D cùng nằm trên một đường tròn là ba điểm A’, B’, C’ cùng nằm trên một đường thẳng. 32 Điều kiện ba điểm A’, B’, C thẳng hàng là: A’C = A’B + B’C’ (*). Hình 3.8 Theo tính chất của phép nghịch đảo, ta có đẳng thức (*) tương đương với: 𝑘 𝐴𝐶 𝐴𝐵 𝐵𝐶 = 𝑘 + 𝑘 𝐷𝐴. 𝐷𝐶 𝐷𝐴. 𝐷𝐵 𝐷𝐵. 𝐷𝐶 Nhân hai vế của đẳng thức trên với DA.DB.DC.|k| ta được: AC.DB = AB.CD + AD.BC Định lý được chứng minh. Định lý 5. (Định lý Mi-quen) Cho tam giác ABC. Lấy các điểm tùy ý P, Q, R trên các cạnh AB, BC, AC. Khi đó ba đường tròn đi qua mỗi đỉnh và hai điểm đã chọn trên các cạnh kề đồng quy tại một điểm. Điểm đó được gọi là điểm Mi-quen. Trong hệ tọa độ Đề-các vuông góc, ta xác định các điểm như sau: [> A:=Point(0, 0): B:=Point(1, 0): C:=Point(c1, c2): Các điểm P, Q, R thuộc các cạnh của tam giác có thể được khai báo với ba biến phụ không xác định u1, u2, u3 như sau: [> P:=varpoint(A, B, u1); Q:=varpoint(B, C, u2); R:=varpoint(A, C, u3); P:= [u1, 0] Q:= [u2c1 + 1 – u2, u2c2] R:= [u3c1, u3c2] Điểm X khác điểm P là giao điểm của hai đường tròn đi qua P được xác định như sau: 33 [> X:=other_cc_point(P, p3_circle(A, P, R), p3_circle(B, P, Q)): Ta tiếp tục sử dụng câu lệnh sau để kiểm tra: [> on_circle(X, p3_circle(C, Q, R)); 0 Kết quả trên bằng 0 nghĩa là đường tròn thứ ba cũng đi qua điểm X. C(c1, c2) Q R X A(0, 0) B(1, 0) P Hình 3.9 Chứng minh. Hai đường tròn (BPQ) và (CQR) cùng đi qua điểm Q nên chúng còn cắt nhau ở một điểm thứ hai X (có thể trùng với điểm Q). Vì BPQX cùng thuộc một đường tròn nên: (XP, XQ) = (BP, BQ) + k Vì CQRX cùng thuộc một đường tròn: (XQ, XR) = (CQ, CR) + k (1) (2) Cộng (1) và (2) ta có: (XP, XQ) + (XQ, XR) = (BP, BQ) + (CQ, CR) + k Vì B, Q, C là ba điểm thẳng hàng nên theo hệ thức Sác-lơ ta có: (XP, XR) = (BP, CR) + k hay (XP, XR) = (AP, AR) + k Do đó 4 điểm A, R, P, X cùng thuộc một đường tròn. Ta xét thêm bài toán liên quan đến điểm Mi-quen: Cho tứ giác lồi ABCD. Gọi E = AB  CD, F = AD  BC. Chứng minh rằng bốn đường tròn (EBC), (FCD), (EAD), (FBA) đồng quy tại một điểm. Thật vậy, gọi M = (EBC)  (FCD). Ta có: EMC + FMC + A = ABF + CFD + A = 1800. 34 A B D C E M F Hình 3.10 Suy ra tứ giác EADM nội tiếp, hay điểm M thuộc đường tròn (EDA). Tương tự, ta có điểm M thuộc (FBA). Suy ra (EBC)  (FCD)  (EAD)  (FBA) = M. Ta cũng có thể sử dụng gói GeoProver để kiểm chứng tính đúng đắn của định lý trên. Định lý 6. (Định lý Pa-Puýt) Cho ba điểm A, B, C cùng nằm trên đường thẳng ∆ và ba điểm A’, B’, C’ cùng nằm trên đường thẳng ∆’. Đường thẳng ∆ cắt ∆’ tại E0. Khi đó, ba giao điểm R = AB’  A’B, Q = AC’ A’C, P = BC’  B’C cùng nằm trên một đường thẳng. Theo trên ta thấy không có ràng buộc về tọa độ của các điểm A, B, P, Q. Các điểm phụ thuộc là C và R. Vì vậy, ta có thể đặt tọa độ các điểm như sau: [> A:=Point(u1, u2): B:=Point(u3, u4): C:=Point(x1, u5): [> P:=Point(u6, u7): Q:=Point(u8, u9): R:=Point(u0, x2): Trong các điểm trên thì u0,...,u9 là các biến độc lập và x1, x2 là các biến phụ thuộc, các điều kiện của đa thức: [> polys:={is_collinear(A, B, C), is_collinear(P, Q, R)}; polys:= {u1u4 – u1u5 – u2u3 + u3u5 + u2x1 – x1u4, u6u9 – u6x2 – u8u7 + u8x2 + u0u7 – u0u9} Kết luận của định lý được biểu diễn bởi: [>con:=is_collinear(intersection_point(pp_line(A, Q), pp_line(P, B)), intersection_point(pp_line(A, R), pp_line(P, C)), 35 intersection_point(pp_line(B, R), pp_line(Q, C))): Kết quả của câu lệnh trên là một biểu thức hữu tỉ với nhiều hạng tử. Đa thức này mô tả điều kiện thẳng hàng của các điểm qua x1, x2. Do đó, ta giải phương trình với ẩn x1, x2 và đã được tách ra. Vì vậy: [> sol:=solve(polys,{x1, x2}); 𝑠𝑜𝑙 ≔ 𝑥2 = 𝑢6 𝑢9 − 𝑢0 𝑢9 − 𝑢8 𝑢7 + 𝑢0 𝑢7 𝑢1 𝑢4 − 𝑢1 𝑢5 − 𝑢2 𝑢3 + 𝑢3 𝑢5 , 𝑥1 = 𝑢6 − 𝑢8 −𝑢2 + 𝑢4 [> normal(subs(sol, con)); 0 Điều này chứng tỏ rằng định lý trên đúng vì biểu thức trong con thay các biến phụ thuộc bởi các biểu thức hữu tỉ với ẩn u được đơn giản bằng 0. Hình 3.11 Hầu hết các định lý được mô tả bởi các dạng tuyến tính đều có thể giải một cách “hình học” và toàn bộ định lý có thể được phiên dịch sang ngôn ngữ tọa độ. Thật vậy, ta đặt tọa độ như sau: [> A:=Point(u1, u2): B:=Point(u3, u4): P:=Point(u6, u7): Q:=Point(u8, u9): [> C:=varpoint(A, B, u5); R:=varpoint(P, Q, u10); C:= [u3u5 + u1 – u1u5, u5u4 + u2 – u2u5] R:= [u10u8 + u6 – u6u10, u10u9 + u7 – u7u10] 36 [> is_collinear( intersection_point(pp_line(A, Q), pp_line(P, B)), intersection_point(pp_line(A, R), pp_line(P, C)), intersection_point(pp_line(B, R), pp_line(Q, C))); 0 Kết quả bằng 0 chứng tỏ định lý trên là đúng. Chứng minh. Gọi M = AC’  A’B, N = A’C  BC’. Xét chùm đường thẳng tâm A ta có: (AE0, AA’, AB’, AC’) = (B, A’, R, M) = (E0, A’, B’, C’) (1) Xét chùm đường thẳng tâm C ta có: (C0E0, CA’, CB’, CC’) = (E0, A’, B’, C’) = (B, N, P, C’) (2) Từ (1), (2) ta suy ra: (B, A’, R, M) = (B, N, P, C’) (3) Xét chùm đường thẳng tâm Q ta có: (QB, QA’, QR, QM) = (B, A’, R, M) và (QB, QN, QP, QC’) = (B, N, P, C’) (4) c' ' b' a' q p r e0 M N a  b c Hình 3.12 Từ (3), (4) ta suy ra: (QB, QA’, QR, QM) = (QB, QN, QP, QC’). Từ đó suy ra QR  QP hay ba điểm P, Q, R thẳng hàng. Định lý 7. (Điểm Phéc-ma) Cho tam giác ABC tùy ý và P, Q và R là ba đỉnh của ba tam giác đều dựng trên các cạnh BC, AC và AB ra phía ngoài tam giác. Khi đó các đường thẳng AP, BQ và CR cùng đi qua một điểm. Điểm này gọi là điểm Phéc-ma của tam giác ABC. Một khó khăn khi đại số hóa định lý này là khó phân biệt giữa cạnh và đường thẳng. Ta xác định tọa độ của các điểm A, B, C là các biến độc lập và tọa độ của các điểm P, Q, R là các biến phụ thuộc: 37 [> A:=Point(0, 0): B:=Point(0, 2): C:=Point(u1, u2): [> P:=Point(x1, x2): Q:=Point(x3, x4): R:=Point(x5, x6): Từ giả thiết của bài toán, ta có đa thức sau: [> polys:={eq_dist(P, B, B, C), eq_dist(P, C, B, C), eq_dist(Q, A, A, C), eq_dist(Q, C, A, C), eq_dist(R, B, A, B), eq_dist(R, A, A, B)}; polys:= {x52 – 4x6 + x62, x32 + x42 – u22 – u12, x52 + x62 – 4, –2u1x3 + x32 – 2u2x4 + x42, –2u1x1 + x12 – 2u2x2 + x22 + 4u2 – 4, x12 – 4x2 + x22 – u12 – u22 + 4u2} Những đa thức trên có thể được chia thành ba nhóm về mối quan hệ biểu diễn tọa độ của mỗi điểm P, Q, R. Với mỗi cặp ta thấy phương trình chỉ có hai nghiệm (đỉnh tam giác điều ở phía trong và phía ngoài của tam giác vì ta có thể đơn giản về phương trình bậc hai và phương trình bậc nhất; phương trình đường thẳng của đường trung trực tương ứng. Vì vậy, ta có toàn bộ 8 nghiệm và kết luận đúng cho nhiều nhất là hai trong số chúng: [> con:=is_concurrent(pp_line(A, P), pp_line(B, Q), pp_line(C, R)); con:= –x2x3u2x5 + x2x3u1x6 – 2x2u1x3 + 2x2x3x5 + x1x4u2x5 – x1x4u1x6 – 2x1u2x5 + 2x1u1x6 – 2x1x3x6 – 2x1x3x6 + 2x1x3u2 Tổ hợp tuyến tính của các biến đã cho để tạo thành một biến mới u và áp dụng phân tích cơ sở Groebner để mở rộng hệ phương trình với bậc nhỏ nhất của biến u: [> polys1:=[x1+x2+x3+x4+x5+x6-u, op(polys)]; polys1:= [x1 + x2 + x3 + x4 + x5 + x6 – u, x52 – 4x6 + x62, x32 + x42 – u22 – u12, x52 + x62 – 4, –2u1x3 + x32 – 2u2x4 + x42, –2u1x1 + x12 – 2u2x2 + x22 + 4u2 – 4, x12 – 4x2 + x22 – u12 – u22 + 4u2] [> vars:=[x1,x2,x3,x4,x5,x6,u]; vars:= [x1, x2, x3, x4, x5, x6, u] [> iso:=gsolve(polys1, vars): Mỗi đa thức trong kết luận trên đều được đơn giản về 0. Vì vậy định lý được chứng minh bằng máy tính. [> map(x->normalf(con, x[1], x[2]), [op(iso)]); 38 𝑢12 − 4 + 𝑢22 𝑢1 𝑢 + (𝑢14 + 2𝑢13 − 3𝑢24 + 4𝑢2 𝑢13 − 2𝑢22 𝑢12 + 6𝑢2 𝑢12 2 −𝑢2 + 𝑢1 + 2 −4𝑢12 − 8𝑢1 − 16𝑢1 𝑢2 + 2𝑢1 𝑢22 − 24𝑢2 + 4𝑢1 𝑢23 + 6𝑢23 + 12𝑢22 )/(2 𝑢12 − 4𝑢2 + 𝑢22 𝑢1 𝑢 (−𝑢2 + 𝑢1 + 2)), 0, − + (𝑢14 + 4𝑢2 𝑢13 − 4𝑢13 + 2𝑢2 𝑢12 2 𝑢1 − 𝑢2 2 2 2 −2𝑢2 𝑢1 − 20𝑢1 𝑢2 + 16𝑢1 𝑢2 + 4𝑢1 𝑢23 − 24𝑢22 − 3𝑢24 + 18𝑢23 )/(2 (𝑢1 − 𝑢2 )), 3 2 2 2 −3𝑢2 − 2𝑢2 𝑢1 + 𝑢1 𝑢2 + 2𝑢1 − 6𝑢2 + 𝑢1 𝑢2 + 9𝑢22 − 2𝑢1 + 𝑢1 − 𝑢1 𝑢2 𝑢] [− Ta có thể chứng minh trong trường hợp tổng quát của định lý (dựng tam giác các tam giác cân đồng dạng ra phía ngoài hoặc phía trong) bằng cách sử dụng góc định hướng. Khi đó, ta có thể sử dụng hàm p3_angle(A,B,C)-p3_angle(P,Q,R) thay cho hàm eq_angle(A,B,C,P,Q,R). Kết luận của định lý được cho bởi đa thức dưới đây: [> polys2:={eq_dist(P, B, P, C), eq_dist(Q, A, Q, C), eq_dist(R, A, R, B), eq_angle(R, A, B, P, B, C), eq_angle(Q, C, A, P, B, C)}; polys2:= {–u12 + 2u1x3 – u22 + 2u2x4, – 4 + 4x6, 4 – 4x2 – u12 + 2u1x1 – u22 + 2u2x2, –(–x2x5 + 4x5 + x2u2x5 – 2u2x5 + x5u1x1 + 2x1x6 – x6u2x1 + x2u1x6 – 2u1x6)/(x6(–2x2 + 4 + u2x2 – 2u2 + u1x1)), (u1x2u22 + 2x1u12 + 4u1x4 – 2u1x4x2 + u13x2 – u23x1 – u2x1u12 – 2u1u22 – 4x3u2 + 2u22x1 – x2u12x3 – 2u1x1x1 + 2x3u12 + 2x3u22 + x2x3u22 + 2x2x3u2 – 2u13 + u22x1x4 + u12x1x4 – 2u2x1x4)/((u2x4 – u22 – u12 + u1u3) (–2x2 + 4 + u2x2 – 2u2 + u1x1))} Giải phương trình đa thức, ta được các nghiệm sau: [> sol:=solve(polys2, {x1, x2, x3, x4, x6}); sol:= {x6 = 1, x2 = – x4 = 𝑢1𝑢5 𝑢 1𝑥5 2 2 + +1+ 𝑢2 2 𝑢2 2 1 1 2 2 , 𝑥1 = –x5 + u2x5 + u1, , x3 = – 𝑢2 2 – 𝑢 2𝑥5 2 } [> normal(subs(sol,con)); 0 Kết quả được đơn giản bằng 0 chứng tỏ rằng định lý là đúng. Chứng minh. Ta chứng minh cho trường hợp tổng quát như sau: Cho ABC. Lấy BC, CA, AB làm cạnh dựng các tam giác cân đồng dạng BCA', ACB', ABC' (cân 39 tại A', B', C'; A', B', C' nằm ngoài tam giác). Khi đó, các đường thẳng AA', BB', CC' đồng quy. Thật vậy, ta gọi A", B", C" lần lượt là giao của AA', BB', CC' với các cạnh đối BC, CA, AB. Sử dụng định lý Xê-va, ta cần chứng minh: A " B B "C C " A . . 1 A "C B " A C " B (*) Gọi E, F là hình chiếu của B và C xuống AA', ta có: 𝐴"𝐵 𝐵𝐸 𝑆∆𝐵𝐴𝐴′ 𝐴𝐵. 𝐵𝐴′ . sin 𝐵 + 𝛼 𝐴𝐵. sin 𝐵 + 𝛼 = = = = ′ 𝐴"𝐶 𝐶𝐹 𝑆∆𝐶𝐴′𝐴 𝐴𝐶. 𝐶𝐴 . sin 𝐶 + 𝛼 𝐴𝐶. sin 𝐶 + 𝛼 Tương tự ta có: 𝐵"𝐶 𝐵𝐶. sin 𝐶 + 𝛼 𝐶"𝐴 𝐶𝐴. sin 𝐴 + 𝛼 = ; = 𝐵"𝐴 𝐴𝐵. sin 𝐴 + 𝛼 𝐶"𝐵 𝐶𝐵. sin 𝐵 + 𝛼 (trong đó  là góc đáy của tam giác cân). Hình 3.13 Thay vào vế trái của (*) ta có: 𝐴𝐵 𝐵𝐶 𝐶𝐴 sin 𝐵 + 𝛼 sin 𝐶 + 𝛼 sin 𝐴 + 𝛼 . . . . . =1 𝐴𝐶 𝐴𝐵 𝐶𝐵 sin 𝐶 + 𝛼 sin 𝐴 + 𝛼 sin 𝐵 + 𝛼 Bây giờ, ta xét các trường hợp đặc biệt của định lý: (1) Các ABC', BCA', CAB' là các tam giác đều ( = 600) thì các đường thẳng AA', BB', CC' đồng quy. 40 (2) Các ABC', BCA', CAB' là các tam giác vuông cân ( = 450) ở A', B', C', lúc này A', B', C' là tâm các hình vuông dựng trên các cạnh BC, CA, AB và ta cũng có AA', BB', CC' đồng quy. (3) Lấy BC, CA, AB làm cạnh dựng ba hình vuông ra phía ngoài ABC là BCMN, ACEF, ABGH. Gọi A', B', C' lần lượt là trung điểm của MN, EF, GH. Khi đó AA', BB', CC' đồng quy (với góc  thoả mãn tan = 2). Định lý 8. (Định lý Đờ-giác) Nếu hai tam giác ABC và A’B’C’ đồng dạng với nhau và thỏa mãn AB // A’B’, BC // B’C’ và AC // A’C’, thì ba đường thẳng AA’, BB’ và CC’ đồng quy hoặc song song với nhau. Trong hệ trục tọa độ Đề-các vuông góc, lấy các điểm A, B, C, A’ tùy ý. Chọn điểm B’ trên đường thẳng đi qua A’ song song với AB và C’ là giao điểm của đường thẳng đi qua A’ song song với AC và đường thẳng đi qua B’ song song với BC. Khi đó ta có: [> A:=Point(a1, a2): B:=Point(b1, b2): C:=Point(c1, c2): A’:=Point(d1, d2): [> B’:=line_slider(par_line(A’, pp_line(A, B)), u); [> C’:=intersection_point(par_line(A’, pp_line(A, C)), par_line(B’, pp_line(B, C))); B’ :=[ u, − C’ :=[ − 𝑑 1 𝑏2 − 𝑑 1 𝑎 2 + 𝑑 2 𝑎 1 − 𝑑 2 𝑏1 − 𝑢𝑏2 + 𝑢𝑎 2 − 𝑏1 𝑑 1 + 𝑐1 𝑢 − 𝑐2 𝑑 1 +𝑢𝑎 1 − 𝑎 1 + 𝑏1 − 𝑎 1 + 𝑏1 ,− ] 𝑑 2 𝑏1 − 𝑑 1 𝑎 2 + 𝑢𝑎 2 + 𝑑 2 𝑎 1 − 𝑢𝑐 2 − 𝑑 1 𝑐2 − 𝑎 1 + 𝑏1 ] [> is_concurrent(pp_line(A, A’), pp_line(B, B’), pp_line(C, C’)); 0 Như vậy, ba đường thẳng AA’, BB’, CC’ đồng quy. Ta cũng có thể phiên dịch bài toán trên về dạng tuyến tính. Không có ràng buộc nào với các điểm A, B, C, A’, chỉ có điểm B’ phải thỏa mãn AB // A’B’ và điểm C’ phải thỏa mãn BC // B’C’, AC // A’C’. Do vậy, ta có thể xác định tọa độ các điểm như sau: [> A:=Point(u1, u2): B:=Point(u3, u4): C:=Point(u5, u6): A’:=Point(u7, u8): B’:=Point(u9, x1): C’:=Point(x2, x3): 41 Theo phân tích trên thì u1,...,u9 là các biến độc lập và x1, x2, x3 là các biến phụ thuộc. Ta có đa thức điều kiện được biểu diễn như sau: [>polys:={is_parallel(pp_line(A’, B’),pp_line(A, B)), is_parallel(pp_line(B’, C’),pp_line(B, C)), is_parallel(pp_line(A’, C’),pp_line(A, C))}; polys := {u1x1 – x1u3 – u8u1 + u8u3 + u7u2 – u7u4 – u9u2 + u9u4, u1x3 – x3u5 – u8u1 + u8u5 – u7u6 + u7u2 + u6x2 – u2x2, x3u3 – x3u5 – x1u3 – x1u5 – u6u9 + u9u4 + u6x2 – x2u4} Kết luận của định lý là: [> con:=is_concurrent(pp_line(A, A’), pp_line(B, B’), pp_line(C, C’)); con:= u8u3u6x2 – u8u3x3u5 – u8u9u6x2 + u8u9x3u5 – u8u9u4u5 + u8u9u4x2 + u8x1u3u5 – u8x1u3x2 – u2u3u6x2 + u2u3x3u5 + u2u9u6x2 – u2u9x3u5 + u2u9u4u5 – u2u9u4x2 – u2x1u3u5 + u2x1u3x2 – x1u1u6x2 + x1u1x3u5 + x1u7u6x2 – x1u7x3u5 + x1u7u2u5 – x1u7u2x2 – x1u8u1u5 + x1u8u1x2 + u4u1u6x2 – u4u1x3u5 – u4u7u6x2 + u4u7x3u5 – u4u7u2u5 + u4u7u2 + u4u8u1u5 – u4u8u1x2 + x3u1u9u4 – x3u1x1u3 – x3u7u9u4 + u6u1u9u4 + u6u1x1u3 + u6u7u9u4 – u6u7x1u3 + u6u7u2u3 – u6u7u2u9 – u6u8u1u3 + u6u8u1u9 Đa thức điều kiện trên là tuyến tính với các biến x1, x2, x3 và vì vậy ta có thể giải phương trình đa thức để tìm nghiệm: [> sol:=solve(polys, {x1, x2, x3}); sol := {x3 = 𝑢7𝑢6+ 𝑢8𝑢1− 𝑢7𝑢2− 𝑢6𝑢9+ 𝑢9𝑢2− 𝑢8𝑢3 𝑢1− 𝑢3 x1 = , x2 = 𝑢9𝑢1+ 𝑢7𝑢5− 𝑢5𝑢9− 𝑢7𝑢3 −𝑢 7 𝑢 2 + 𝑢 7 𝑢 4 + 𝑢 8 𝑢 1 − 𝑢 8 𝑢 3 + 𝑢 9 𝑢 2 − 𝑢 9 𝑢 4 𝑢1− 𝑢3 𝑢1− 𝑢3 , } [> normal(subs(sol, con)); 0 Kết quả trả lại bằng 0 chứng tỏ định lý được chứng minh bằng máy tính. Ta tiếp tục tìm hiểu dạng tổng quát của định lý Đờ-giác: Các đường thẳng AA’, BB’ và CC’ đồng quy nếu và chỉ nếu các giao điểm AB  A’B’, BC  B’C’ và AC  A’C’ thẳng hàng. Trước khi đại số hóa định lý trên, ta có thể đơn giản nó bằng phép biến đổi xạ ảnh sao cho ánh xạ biến các đường thẳng đi qua ba giao điểm đó thành điểm vô cực. Từ đó, tọa độ của các điểm được xác định như sau: 42 [> A:=Point(0, 0): B:=Point(1, 0): C:=Point(u5, u6): A’:=Point(u7, u8): B’:=Point(u9, u1); C’:=Point(u2, x1); Đa thức điều kiện được xác định bởi câu lệnh sau: [> con1:=is_collinear(intersection_point(pp_line(A’, B’), pp_line(A, B)), intersection_point(pp_line(B’, C’), pp_line(B, C)), intersection_point(pp_line(A’, C’), pp_line(A, C))); con1:= u6(–u8u9u7x12u5 – 2 u8u9u1u6u7u2 + u8u9u1u6u7u6 + u8u9u1u22u6 + u8u9x1u2u6 + u8u9u1x1u5 – u8u9u1u2x1u5 – u8u92x1u2u6 + u82u9u2x1u5 + 2u8u9u7x1u1u5 + u8u9u7x1u2u6 – u8u9u7x1u1 + u1u7u8u22u6 + 2u1u7u8u2x1 – u1u7u9x12u5 – 2u1u7x1u8u5 + u12u7u2x1u5 + u9u1u8u2u1 – u9u1u7u6u1 – u7x1u2u6u8 + u5u8u2x1u1 – u1u72x12 – u12u72u6 + u12u72x1 + u12u22u8 + u82u22u6 – u82u9u22u6 – u82u9u1 u5 + u8u92x12u5 – u82u9x1u5 – u8u9x12u5 – u82u92x1u5 + u82u92u2u6 + u82u9u2u1 + u1u72x12u5 + u12u7u8u5 + u12u72u6u2 + u12u7u6u2 – u12u7u22u6 + u1u72x1u6 – u8u22u6u1 – u5u82u2x1 – u5u8u2u12 + u5u82u2u1 + u5u7x12u8)/((–u1 + u8)( –x1 + x1u5 + u1 – u1u5 + u6u9 – u2u6)(x1u5 – u8u5 + u7u6 – u2u6)) [> con2:=is_concurrent(pp_line(A, A’), pp_line(B, B’), pp_line(C, C’)); con2:= u8u2u6 – x1u8u5 – u8u2u6u9 + u9x1u5u8 + u8u1u5 – u8u2u1 + u1u6u7u2 – u7x1u1u5 + u7x1u1 – u1u7u6 Đa thức con2 có dạng tuyến tính với ẩn x1 và hàm phân thức hữu tỉ con1 với tử số là hàm bậc hai với ẩn x1 và các nhân tử là: [> normal(numer(con1) - u6*con2*is_collinear(A’, B’, C’)); 0 Kết quả trả lại bằng 0 chứng tỏ định lý là đúng. Chứng minh. Ta gọi A1 là giao điểm của BC với B’C’, B1 là giao điểm của AC với A’C’, C1 là giao điểm của AB với A’B’. Ta cần chứng minh AA’, BB’ và CC’ đồng quy tại O nếu và chỉ nếu A1, B1 và C1 thẳng hàng. Thật vậy, áp dụng định lý Mê-nê-la-uýt vào các tam giác OBC, OAC, OAB với các cát tuyến tương ứng là A1C’B’, B1C’A’, C1A’B’ ta có: 43 A1C B ' B C 'O . B 'O C 'C . A1 B C1B =1 A ' A B 'O . C1 A A ' O B ' B . B1 A C ' C A ' O . . B 1C C ' C A ' A (1) =1 (2) =1 (3) C1 A’ A B O B’ C A1 C’ B1 Hình 3.14 Từ (1), (2), (3) ta có A1C C 1 B B 1 A . . A1 B C 1 A B 1C = 1 hay ba điểm A1, B1, C1 thẳng hàng. Trường hợp A’, B’, C’ nằm trên các cạnh của ABC và điểm O nằm bên trong ABC, phương pháp chứng minh hoàn toàn tương tự. Định lý 9. (Đường thẳng Simsơn) Cho P là một điểm trên đường tròn ngoại tiếp tam giác ABC và X, Y, Z là chân các đường vuông góc từ điểm P đến các cạnh của tam giác. Khi đó, các điểm X, Y, Z thẳng hàng. Trong hệ trục tọa độ Đề-các vuông góc, chọn tâm O của đường tròn ngoại tiếp làm gốc tọa độ và điểm A thuộc đường tròn nằm trên trục hoành. Định lý được đại số hóa như sau: [> O_:=Point(0, 0): A:=Point(r, 0): B:=circle_slider(O_, A, u2); C:=circle_slider(O_, A, u3); P:=circle_slider(O_, A, u4); 𝐵≔ 𝑟 𝑢22 − 1 2𝑟𝑢2 ,− 2 2 𝑢2 + 1 𝑢2 + 1 44 𝐶≔ 𝑟 𝑢32 − 1 2𝑟𝑢3 ,− 2 2 𝑢3 + 1 𝑢3 + 1 𝑟 𝑢42 − 1 2𝑟𝑢4 𝑃≔ ,− 2 2 𝑢4 + 1 𝑢4 + 1 [> X:=pedalpoint(P, pp_line(A, B)); [> Y:=pedalpoint(P, pp_line(B, C)); [> Z:=pedalpoint(P, pp_line(A, C)); X := [ 𝑟(−2𝑢 2 𝑢 4 + 𝑢 42 − 1 + 𝑢 22 𝑢 42 + 𝑢 22 ) 𝑢 42 + 1 + 𝑢 22 𝑢 42 + 𝑢 22 − 2𝑟𝑢 2(1 + 𝑢 2 𝑢 4 ) 2 𝑢 4 + 1 + 𝑢 22 𝑢 42 + 𝑢 22 ] Y := [r(–2u4u22u3 – 2u4u2u32 + 2u2u4 + 2u4u3 + u22u42 + 2u2u3u42 – u22 – 2u2u3 + u32u42 + u32 + u22u32u42 + u22u32– u42 – 1)/( u22u42 + u22 + u32u42 + u32 + u22u32u42 + u22u32 + u42 + 1), − 2𝑟(𝑢 2 𝑢 42 + 𝑢 3 𝑢 22 + 𝑢 3 𝑢 42 + 𝑢 2 𝑢 32 + 𝑢 22 𝑢 32 𝑢 4 − 2𝑢 4 𝑢 3 𝑢 2 + 𝑢 4 ) 𝑢 22 𝑢 42 + 𝑢 22 + 𝑢 32 𝑢 42 + 𝑢 32 + 𝑢 22 𝑢 32 𝑢 42 + 𝑢 22 𝑢 32 + 𝑢 42 + 1 ] 𝑟(−2𝑢4 𝑢3 + 𝑢42 − 1 + 𝑢32 𝑢42 + 𝑢32 ) 2𝑟𝑢3 (1 + 𝑢4 𝑢3 ) 𝑍: = , − 𝑢42 + 1 + 𝑢32 𝑢42 + 𝑢32 𝑢42 + 1 + 𝑢32 𝑢42 + 𝑢32 [> is_collinear(X, Y, Z); 0 Kết quả trả lại bằng 0 có nghĩa là định lý trên đúng. Chứng minh. Ta sử dụng khái niệm góc định hướng để chứng minh bài toán trên. Để ba điểm X, Y, Z thẳng hàng, ta cần chỉ ra (ZX, ZY) = 0 + kπ (𝑘 ∈ ℤ). Ta có: (ZX, ZY) = (ZX, ZP) + (ZP, ZY) + kπ = (AX, AP) + (CY, CP) + kπ = (BX, AP) + (CB, CP) + kπ = 0 + kπ với (𝑘 ∈ ℤ). Điều này có nghĩa là ba điểm X, Y, Z thẳng hàng. 45 X A P Z C B Y Hình 3.15 Định lý 10. (Định lý con bướm) Cho A, B, C, D là bốn điểm trên đường tròn với tâm O, P là giao điểm của các đường thẳng AC và BD và F tương ứng, G là các giao điểm của các đường thẳng đi qua P và vuông góc với OP với AB, tương ứng CD. Khi đó, điểm P là trung điểm của FG. Trong ví dụ 3.2 ta đã suy ra được đa thức điều kiện để điểm P là trung điểm của đoạn thẳng FG là: [> con:=numer(sqrdist(P, midpoint(F, G))); con:= (x7 + x6)2 Kết quả trên chỉ ra trường hợp suy biến của định lý khi mà A  C và B  D. Ta có thể sử dụng điều kiện ràng buộc sau đây để loại bỏ trường hợp này: [> vars:=[x6, x7, x3, x5, x1, x2, x4]; vars:=[x6, x7, x3, x5, x1, x2, x4] [> sol:=gsolve(polys, vars, {sqrdist(A, C), sqrdist(B, D_)}); sol:= {[[2x4u1u4 – 2x4u1u2 + u22x4 + x4u32 – 2u1u2u4 + u22u4 + u4u32, u22x2 + u32x2 – 2u1u22 + u2u32 + u23, u42 + x12 – 2u1u4 + 2u1u2 – u22 – u32, x3u22 + x3u32 – 2u1u2u3 + u33 + u3u22, 2u4x5u1 – 2x5u1u2 + u22x5 + x5u32 – 2x1u1u2 + u22x1 + u32x1, u4x6u32 – u4u22u3 + 2u1u2u3u4 + u4x6u22 – 2u1u22x6 + u2u32x1 + u23x1 – 2u1u22x1 + u2x6u32 + u23x6, –x7u22u1 + x7u23 + x7u2u32 + x7u22u4 + x7u4u32 + 2u1u22x1 – u23x1 – u2u32x1 – 2u4u3u2u1 + u4u33 + u4u22u3], plex(x7, x6, x5, x4, x3, x2, x1),{ }]} [> map(x->normalf(con, x[1], x[2]), sol); {0} 46 Như vậy, định lý trên là đúng. Ta tiếp tục khai thác thêm bài toán con bước như sau: Cho đường tròn (O) và dây cung AB. Gọi C là trung điểm của AB, qua C kẻ hai cát tuyến tuỳ ý là HI và KJ. Gọi M, N là giao của AB với IJ, KH. Khi đó C cũng là trung điểm của MN. Chứng minh. Ta chú ý rằng OM  AB để chứng minh CN = CM, ta chỉ cần chứng minh hai góc CON và COM bằng nhau. K A N I C M B P Q O H J Hình 3.16 Ta có hai tam giác HCK và ICJ đồng dạng (có các góc tương ứng bằng nhau, do tính chất của hai góc nội tiếp cùng chắn một cung). Từ đó suy ra nếu gọi P, Q lần lượt là trung điểm của HK và IJ thì hai tam giác PCK và QCI đồng dạng nên CPN = CQM. Ngoài ra vì OP  AB nên tứ giác OCNP và OCMQ là tứ giác nội tiếp. Suy ra CPN = CON, và CQM = COM. Vậy CON = COM. Nếu dùng một phép biến đổi afin trong mặt phẳng thì đường tròn biến thành đường elíp, còn khái niệm trung điểm của đoạn thẳng được giữ nguyên. Bởi vậy, bài toán nói trên vẫn đúng nếu thay từ “đường tròn” bởi từ “đường elíp”. Tương tự ta có thể sử dụng gói GeoProver để kiểm tra tính đúng đắn của nhận xét trên. Định lý 11. (Định lý Phây-Bách) Trong một tam giác ABC, đường tròn Phây-Bách (hay còn gọi là đường tròn Ơle) tiếp xúc với các đường tròn nội tiếp và đường trong bàng tiếp của tam giác. Trong hệ tọa độ Đề-các vuông góc, ta xác định các điểm A, B, C và tâm N của đường tròn Phây-Bách c1: 47 [> A:=Point(0, 0): B:=Point(2, 0): C:=Point(u1, u2): [> M:=intersection_point(p_bisector(A, B), p_bisector(B, C)); [> H:=intersection_point(altitude(A, B, C), altitude(B, C, A)); [> N:=midpoint(M, H); 𝑢22 + 𝑢12 − 2𝑢1 𝑀 ≔ 1, 2𝑢2 𝐻 ≔ 𝑢1 , −2 + 𝑢1 𝑢1 𝑢2 𝑢1 1 −2𝑢1 + 𝑢12 − 𝑢22 𝑁≔ + ,− 2 2 4𝑢2 [> c1:=pc_circle(N, midpoint(A, B)); c1:= [2u2, –2(u1 + 1)u2, –2u1 + u12 – u22, 2u1u2] Tọa độ tâm P(x1, x2) các đường tròn bàng tiếp của tam giác ABC bị ràng buộc bởi điều kiện sau đây: [> polys:={on_bisector(P, A, B, C), on_bisector(P, B, C, A)}; polys:= {–2u1x2u22 – 2u23 – 2u2u12 + 4u22x2 + 4x2u12 – 2u2x22 – 2u13x2 + 2u23x1 + 2u2x12 + 2u1x22u2 – 2u2x1u12 – 2u13x1x2 – 4x2u1x1 + 2u12x2x1, –16x2 + 8u1x2 + 8x2x1 – 4x2u1x1 – 2u2x12u1 – 2u22x1x2 – 4x2u1x1 + 2u12x2x1, –16x2 + 8u1x2 + 8x2x1 – 4x2u1x1 – 2u2x22 + 8u2 – 8u2x1 + 2u2x12} Hình 3.17 Kết luận của định lý được biểu diễn bởi đa thức điều kiện sau: 48 [> Q:=pedalpoint(P, pp_line(A, B)): [> con:=is_cc_tangent(pc_circle(P, Q), c1); con:= 64u1u22x12 – 32u12u22x1 + 32u22x22u1 – 16u22x22u12 + 16u23x1x2 + 16x12u12u22 + 16u12x1u2x2 – 16u23x12x2 – 32u22x13u1 – 16u1u23x2 + 16u13u2x2 + 16 u23x1x2u1 – 32u2x12u1x2 + 16u22x14 – 32 u22x13 + 16x12u22 – 16u22 – 32u12u2x2 – 32u1u22x1 + 16u12u22 Đa thức điều kiện polys ở trên có 4 nghiệm tổng quát là tọa độ tâm của bốn đường tròn tiếp xúc. Ta xác định cơ sở Groebner bằng câu lệnh sau: [> TO:=plex(x1, x2): [> gb:=gbasis(polys, TO); gb := [u2x24 + 4x23u1 – 2x23u22 – 2x23u12 – 4u2x22 – 2u1x22u2 + u2x22u12– u23 + 4u22x2 + u23x22, –u22x1 + x23u2 + 4x22u1 – 4 u2x2 + 2u2x2u1 – u22x22 + 2u22 –2u12x22 – u12u2x2 + u1u22x1 – u1u22] [> normalf(con, gb, TO); 0 Kết quả trả lại bằng 0 chứng tỏ định lý trên đúng. Đặc biệt, đường tròn PhâyBách của tam giác ABC cũng là đường tròn Phây-Bách của các tam giác ABH, ACH và BCH. Do đó, ta có 12 đường tròn như vậy tiếp xúc với đường tròn c1. Chứng minh. Ta chứng minh cho bài toán sau đây: Gọi I, O9, Oa lần lượt là tâm đường tròn nội tiếp, tâm đường tròn Phây-Bách và tâm đường tròn bàng tiếp 𝑅 𝑅 2 2 góc A của ABC. Khi đó ta có: 𝐼𝑂9 = − 𝑟 và 𝑂𝑎 𝑂9 = 𝑟𝑎 + , trong đó R, r, ra lần lượt là bán kính đường tròn ngoại tiếp, nội tiếp và bàng tiếp góc A của ABC. Từ đó, suy ra đường tròn nội tiếp và đường tròn Phây-Bách tiếp xúc với nhau. Đồng thời, đường tròn Phây-Bách tiếp xúc với các đường tròn bàng tiếp. Thật vậy, áp dụng định lý Sti-oa vào IOO9 ta có: O O 9 . IG  3 2  O 9 G . IO  O G . IO 9  O G .O O 9 . G O 9 2 O G .IG 2  2  3 2 1 2 O G .IO 2 2 IG 2  1 2 IO 2  O9O 2  2  O G . I O 9  O G .O G . 2 3 OG 2 4 49 2 3 4  IO 9  2 1 3  OG 22 2  3 IG 2 2   OI   (1) Hình 3.18 a  b  c 2 Ta có: GO = 2GO9; OG 2  R 2  2 2 ; IG 2 2  R 2  2 Rr ; 1 9 9 OI  5r 2  p  16 Rr 2 a  b  c  2 p  2r  8Rr 2 2 2 2 2 ; . Thay vào (1), ta được: IO 9  2 2 2 2  1 3  2 a  b  c  1 2 2 2 r  5r  p  16 Rr  R  2 Rr     2 2  9  3   IO 9   R  r    . 2 Gọi R9 là bán kính đường tròn Phây-Bách, ta có: 2R9 = R  IO9 = R9 - r suy ra đường tròn Phây-Bách luôn tiếp xúc với đường tròn nội tiếp. Hai đường tròn này trùng nhau khi và chỉ khi ABC là tam giác đều (R = 2R9 = 2r). Tiếp theo, áp dụng định lý Sti-oa vào OaOO9, vai trò của Oa ở đây tương tự như vai trò của điểm I. Rút gọn ta được: 2 OaO9  2 50 3 2 OG 2  3OaG 2  O Oa 2 (2) a  b  c 2 Mặt khác, ta lại có: OG  R 2  2 2 9 3OaG  3ra  2 2 3 a 2  b  c 2 2 2   p  a ; 2 2 ; O a O 2  R 2  2 R ra ; a  b  c  2 p  2r  8Rr 2 2 2 2 Rr  R 2 2 Thay tất cả vào (2) ta được: 2 OaO9  2 3 R 2  2 p 2 r  3 2  3 4 3 2 R  3 ra  p  r  4 R r  2 2 4 R r  3 ra  2 p  2 3 4 r  2 3 16  2 Rr  3 p  a 2  2 R ra  2 p a  a 2 2  R  2 2 2    2 R ra  2 ra    ra  r  4 R r  4 R ra  a  b  c      2  2 hay 2 2 OaO9 Trong (3), ta cần chứng minh: vậy, thay a  b  c    r  ra 4R ra  r  4 R r  4 R ra  a  b  c   0 2  r  ra  2 (3) (4). Thật vào (4) ta có: ra  r  4 R r  4 R ra  4 R r  r  r ra  4 R ra  r ra  r  0 2 2 2 2 Ta có (4) tương đương với đẳng thức sau: OaO9  2 Vì ta có R9  R 2 R 4 2 2  R ra  ra 2 R  R     ra   O a O 9   ra 2  2   R 9  ra  O a O 9 . . Vậy ta có đường tròn Phây-Bách tiếp xúc với các đường tròn bàng tiếp. Định lý 12. (Điểm Brôca) Cho tam giác ABC. Chứng minh rằng các đường tròn (c1) đi qua A, B và tiếp xúc với cạnh AC; đường tròn (c2) đi qua B, C và tiếp xúc với cạnh AB; đường tròn (c3) đi qua A, C và tiếp xúc với cạnh BC đồng quy tại một điểm. Điểm này được gọi là điểm Brôca. Xác định tọa độ các điểm và các đường tròn trong định lý như sau: [> A:=Point(0, 0): B:=Point(1, 0): C:=Point(u1, u2): M1:=Point(x1, x2): M2:=Point(x3, x4): M3:=Point(x5, x6): c1:=pc_circle(M1, A); c2:=pc_circle(M2, B); c3:=pc_circle(M3, C); c1:= [1, –2x1, –2x2, 0] c2:= [1, –2x3, –2x4, 2x3 – 1] 51 2 c3:= [1, –2x5, –2x6, 2u1x5 – u12 + 2u2x6 – u22] Tiếp theo ta xác định tọa độ các tâm đường tròn được ràng buộc bởi 6 đa thức điều kiện sau đây: [> polys:={is_c1_tangent(c1, pp_line(A, C)), on_circle(B, c1), is_c1_tangent(c2, pp_line(A, B)), on_circle(C, c2), is_c1_tangent(c3, pp_line(B, C)), on_circle(A, c3)}; polys := {2u1x5 – u12 + 2u2x6 – u22, u22 + u12 – 2u1x3 – 2u2x4 + 2x3 – 1 , 1 – 2x1, 4x52 – 8u1x5 – 8u1u22 + 8u2u1x6 – u2x6u12 – 8x5u2x6 + 8u22x5 + 4u14 + 4u24 + 4u22x62 + 8u1x5u2x6 + 16u12x5 – 8u13x5 + 8u12u22 – 8u23x6 – 8u1x52 + 4u12x52 – 8u1x5u22 – 8u13, 4 – 8x3 + 4 x32, 4(u1x1 + u2x2)2} Các đa thức điều kiện là tuyến tính với các biến phụ thuộc. Tọa độ tâm các đường tròn trên đều nhận giá trị hữu tỉ. Bây giờ ta chứng tỏ các giao điểm của hai trong số chúng đều nằm trên đường tròn thứ ba: [> vars:={x1, x2, x3, x4, x5, x6}: [> sol:=solve(polys, vars); 𝑠𝑜𝑙: = 𝑢6 = 𝑥2 = − 𝑢1 1 − 2𝑢1 + 𝑢12 + 𝑢22 , 𝑥3 = 1, 𝑥4 = , 2𝑢2 2𝑢2 𝑢22 − 𝑢12 + 𝑢13 + 𝑢1 𝑢22 1 1 1 , 𝑥5 = 𝑢12 − 𝑢22 + 𝑢1 , 𝑥1 = 2𝑢2 2 2 2 [> P:=other_cc_point(B, subs(sol, c1), subs(sol, c2)); 𝑃: = 𝑢22 + 𝑢1 − 𝑢12 + 𝑢13 + 𝑢1 𝑢22 , 3𝑢22 + 1 − 2𝑢1 + 3𝑢12 − 2𝑢13 − 2𝑢1 𝑢22 + 𝑢14 + 2𝑢12 𝑢22 + 𝑢24 (1 − 2𝑢1 + 𝑢12 + 𝑢22 )𝑢2 3𝑢22 + 1 − 2𝑢1 + 3𝑢12 − 2𝑢13 − 2𝑢1 𝑢22 + 𝑢14 + 2𝑢12 𝑢22 + 𝑢24 [> on_circle(P, subs(sol, c3)); 0 52 C P B A Hình 3.19 Kết quả trả lại bằng 0 chứng tỏ định lý đã được chứng minh. Tóm lại, chúng ta có thể sử dụng phần mềm Maple để tìm cơ sở Groebner của hệ đa thức. Từ đó có thể chứng minh được định lý hình học bằng máy tính. Trên cơ sở kiểm chứng các định lý hình học, chúng ta có thể chứng minh bằng toán học và khai thác bài toán sâu hơn cũng như xây dựng chương trình trên máy tính để kiểm tra tính đúng sai của các mệnh đề toán học đã được đại số hóa. Kết quả của chương 3 chỉ là một số ví dụ điển hình trong việc chứng minh định lý bằng máy tính. Theo cách hoàn toàn tương tự, ta có thể chứng minh các bài toán hình học dưới đây theo các bước đã nêu trong luận văn, trong đó việc đại số hóa định lý đóng vai trò quan trọng trong việc có thể kiểm tra kết luận của định lý bằng phần mềm toán học Maple: 1. Cho hình vuông ABCD và P là một điểm nằm trên đường thẳng song song với BD đi qua C sao cho BD = BP. Gọi Q là giao điểm của BF và CD. Chứng minh rằng DP = DQ. 2. Gọi P, Q, R là chân các đường cao của tam giác ABC. Chứng minh rằng đường cao đi qua điểm Q chia đôi góc PQR. 53 3. Cho tam giác ABC bất kì. Xét chân các đường cao của tam giác và hình chiếu vuông góc của các điểm này trên các cạnh đối diện của tam giác. Chứng minh rằng 6 điểm này cùng nằm trên một đường tròn, gọi là đường tròn Taylor. 4. Chứng minh công thức F ( ABC )  a b c 4 R với F(ABC) là diện tích tam giác ABC, nếu a, b, c là độ dài các cạnh của tam giác và R là bán kính của đường tròn ngoại tiếp tam giác. 5. Cho k là một đường tròn, A là tiếp điểm của tiếp tuyến từ một điểm B đến k, M là trung điểm của AB và D là một điểm trên k. Gọi C là giao điểm thứ hai của DM với k, E là giao điểm thứ hai của BD với k và F là giao điểm thứ hai của BC với k. Chứng tỏ rằng EF song song với AB. 6. Cho A, B, C, D là bốn điểm phân biệt trên một đường thẳng theo thứ tự đó. Các đường tròn với đường kính AC và BD giao nhau tại các điểm X và Y. Đường thẳng XY gặp BC tại điểm Z. Cho P là một điểm trên đường thẳng XY khác điểm Z. Đường thẳng CP cắt đường tròn đường kính AC tại các điểm C và M, và đường thẳng BP cắt đường tròn đường kính BD tại các điểm B và N. Chứng minh rằng các đường thẳng AM, DN và XY đồng quy. 7. Cho tam giác cân ABC với AB = AC. Giả sử rằng: (i) M là trung điểm của BC và O là điểm trên đường thẳng AM sao cho OB vuông góc với AB; (ii) Q là điểm tùy ý trên đoạn thẳng BC khác các điểm B và C; (iii) E nằm trên đường thẳng AB và F nằm trên đường thẳng AC sao cho E, Q và F là phân biệt và thẳng hàng. Chứng minh rằng OQ vuông góc với EF nếu và chỉ nếu QE = QF. 8. Chứng minh rằng khoảng cách d giữa các tâm của đường tròn nội tiếp và đường tròn ngoại tiếp tam giác ABC thỏa mãn 2 2 d  r  2 r  trong đó r là bán kính đường tròn ngoại tiếp và  là bán kính của đường tròn nội tiếp. 54 9. Cho M là một điểm trên đường thẳng AB, AMCD và MBEF là các hình vuông dựng trên cạnh AB và N là giao điểm của các đường tròn ngoại tiếp, khác với điểm M. (i) Chứng minh rằng AF và BC cắt nhau tại điểm N. (ii) Chứng minh rằng tất cả các đường thẳng MN với các giá trị khác nhau của M cắt nhau tại một điểm. 55 KẾT LUẬN Luận văn thu được một số kết quả chính sau đây: 1. Nêu ứng dụng của cơ sở Groebner trong việc chứng minh định lý hình học bằng máy tính. 2. Xây dựng gói GeoProver để kiểm tra tính đúng đắn của một định lý hình học dựa trên ngôn ngữ lập trình của phần mềm Maple. Phương pháp đề xuất trong luận văn có thể đòi hỏi tính toán cồng kềnh so với chứng minh bằng hình học, nhưng phương pháp này có lợi thế là có thể thực hiện được bằng máy tính và không đòi hỏi sự lắt léo nào (như vẽ thêm đường, chọn thêm điểm). Khi đã đại số hoá được bài toán thì thời gian chạy máy tính không đáng kể. 3. Bằng phương pháp này chúng ta có thể xây dựng các giả thuyết hình học. Sau đó chúng ta đại số hoá và tìm các trường hợp suy biến (chú ý ta cần đại số hoá sao cho bài toán nhận được có số lượng biến độc lập là ít nhất). Từ đó, chúng ta có thể khẳng định được nhìn chung giả thuyết đó có đúng hay không ? Điều này cũng đem lại một lợi thế khác: tìm phản ví dụ dựa trên các trường hợp suy biến cho một số bài toán hình học. 4. Đề xuất quy trình chứng minh định lý hình học và minh họa bằng việc chứng minh một số định lý hình học sơ cấp. Từ đó đề xuất định hướng cho việc khai thác các bài toán hình học (đại số hóa, kiểm tra giả thuyết, mở rộng định lý, tổng quát hóa, đặc biệt hóa hoặc nghiên cứu sâu lời giải bài toán, sáng tạo các bài toán mới,...) với sự hỗ trợ của máy tính điện tử. 56 TÀI LIỆU THAM KHẢO [1]. Đỗ Đức Bình (2000). Chứng minh các định lý hình học bằng máy tính. Luận văn Thạc sĩ Toán học, Viện Toán học, Hà Nội. [2]. Trần Việt Cường, Nguyễn Danh Nam (2013). Giáo trình hình học sơ cấp. NXB Giáo dục Việt Nam. [3]. Trần Việt Cường, Nguyễn Danh Nam (2015). Bài tập hình học sơ cấp. NXB Giáo dục Việt Nam. [4]. Phạm Huy Điển (2002). Tính toán, lập trình và giảng dạy toán học trên Maple. NXB Khoa học và Kĩ thuật. [5]. Nguyễn Thị Thúy Hằng (2009). Vài ứng dụng của lý thuyết cơ sở Groebner. Luận văn Thạc sĩ Toán học, Trường Đại học Vinh. [6]. Lê Tuấn Hoa (2003). Đại số máy tính - Cơ sở Groebner. NXB Đại học Quốc gia Hà Nội. [7]. Nguyễn Danh Nam (2009). Ứng dụng cơ sở Groebner chứng minh định lý hình học với sự hỗ trợ của phần mềm Maple. Tạp chí Dạy và Học ngày nay, 08, 38-44. [8]. Trần Trung, Đặng Xuân Cương, Nguyễn Văn Hồng, Nguyễn Danh Nam (2011). Ứng dụng công nghệ thông tin vào dạy học môn Toán ở trường phổ thông. NXB Giáo dục Việt Nam. [9]. Ngô Việt Trung (1999). Cơ sở Groebner trong hình học và đại số. Thông tin Toán học, 3(1), 2-7. [10]. Franz Winkler (1990). Groebner bases in geometry theorem proving and simplest degeneracy conditions. Mathematica Pannonica, 1(1), 15-32. [11]. Shengxiang Xia, Gaoxiang Xia (2009). An application of Groebner bases. The Montana Mathematics Enthusiast, 6(3), 381-394. 57 [...]... định lý (hay là các trường hợp mà định lý không còn đúng) 3.2 QUY TRÌNH CHỨNG MINH ĐỊNH LÝ BẰNG MÁY TÍNH 3.2.1 Các bƣớc chứng minh định lý hình học bằng máy tính Để chứng minh định lý hình học bằng cơ sở Groebner với sự hỗ trợ của phần mềm Maple ta phải tiến hành theo các bước sau: Bƣớc 1: Chọn hệ trục toạ độ để biểu diễn các điểm và các dữ kiện của định lý Ta chọn sao cho số lượng các biến trong cơ. .. tức là hình thoi suy biến thành một đường thẳng Kiểm định tương tự cho kết luận g3 ta cũng có kết quả tương tự 3.3 CHỨNG MINH MỘT SỐ ĐỊNH LÝ HÌNH HỌC Sau đây chúng tôi trình bày phương pháp chứng minh một số định lý hình học sơ cấp bằng máy tính Phần mềm Maple sẽ đưa ra kết luận về tính đúng sai của định lý hình học Sau khi có kết quả từ máy tính, chúng tôi sẽ chứng minh định lý đó bằng toán học và phát... câu lệnh trên, về cơ bản ta có thể đại số hóa được hầu hết các bài toán hình học trong mặt phẳng và kiểm nghiệm tính đúng sai của nó 15 Chƣơng 3 CHỨNG MINH ĐỊNH LÝ HÌNH HỌC BẰNG MÁY TÍNH 3.1 ĐẠI SỐ HÓA ĐỊNH LÝ HÌNH HỌC 3.1.1 Các bƣớc đại số hóa định lý hình học Người ta nhận thấy rằng rất nhiều định lý hình học hoàn toàn được mô tả bằng các khái niệm đại số Khi biểu diễn các hình hình học trong toạ độ... độc lập như tham số Bƣớc 3: Cơ sở Groebner của iđêan (f1 = 0, , fs, 1 - yg) chứa các đa thức 1 khi và chỉ khi định lý hình học cần chứng minh là đúng Nếu tại bước 2 ta vẫn xem các biến độc lập là biến, thì tại bước 3 nếu cơ sở Groebner của iđêan (f1 = 0, , fs, 1 - yg) chứa đa thức 1 hoặc chứa đa thức chỉ chứa biến độc lập, thì ta vẫn kết luận được định lý hình học cần chứng minh là đúng Tuy nhiên điều... thì hầu hết các hình hình học và biên của nó có thể xem là tập không điểm của các đa thức, và các quan hệ giữa chúng đều có thể mô tả bằng các phương trình đa thức cũng như tập không điểm phải xét trên trường số thực Quy trình chứng minh định lý hình học trên Maple được tóm tắt thông qua các bước sau đây: Bƣớc l: Đại số hóa bài toán hình học Bƣớc 2: Chạy trên phần mềm Maple tìm cơ sở Groebner của iđêan... kết quả bằng 0 chứng tỏ rằng kết luận trong định lý là đúng hay nói cách khác định lý được chứng minh Sau đây là chứng minh toán học của định lý Chứng minh Giả sử ABC có H là trực tâm Gọi D, E, F, P, L, T lần lượt là trung điểm của các đoạn thẳng BC, CA, AB, AH, HB, HC Gọi K, M, N lần lượt là chân của các đường cao của ABC Gọi (O) là đường tròn ngoại tiếp DEF Hình 3.6 28 Ta có DK = EF = AB và KE //... on_bisector(P, A, B, intersection_point(l2, l3)); 0 Biểu thức cuối cùng được đơn giản bằng 0 và vì vậy định lý được chứng minh bằng máy tính 30 C P B A Hình 3.7 Định lý 4 (Định lý Ptô-lê-mê) Điều kiện cần và đủ để một tứ giác lồi ABCD nội tiếp được là tích hai đường chéo của nó bằng tích các cạnh đối diện Ta xác định tọa độ các điểm trong hệ tọa độ Đề-các vuông góc như sau: [> A:=Point(a1, a2): B:=Point(b1,... có cơ sở Groebner tối tiểu và mọi cơ sở Groebner tối tiểu của cùng một iđêan đều chung số lượng phần tử và chung tập từ khởi đầu (iii) Cho I  0 Khi đó đối với mỗi thứ tự từ, I có duy nhất một cơ sở Groebner rút gọn (iv) Cho trước s là một số nguyên dương Khi đó tồn tại iđêan I sinh tối tiểu bởi f 1 , , f s nhưng in ( I ) thực sự chứa ( in ( f 1 ) , , in ( f s ) ) Định lý 1.1 Cho G  I là một cơ sở. .. 9 Định lý 1.3 Cho I là iđêan của vành R = K[x] Trên R cố định một thứ tự từ và cho T  in ( I ) là một từ nào đó Khi đó tập các đa thức f  I với in ( f )  T chỉ có một phần tử tối tiểu (theo giả thứ tự định nghĩa như ở Định lý 1.2) Chứng minh Theo Định lý 1.2 thì tập đó có phần tử tối tiểu Bây giờ chứng minh nó duy nhất Thật vậy, giả sử ngược lại, tập đó có ít nhất 2 phần tử tối tiểu khác nhau f và. . .Định nghĩa 1.9 Cho I là iđêan của vành R Tập hợp: I  r  R n  N : r  I  n lập thành một iđêan Iđêan này được gọi là căn của I Rõ ràng I  I Nếu I  I thì I được gọi là một iđêan căn 1.2.3 Một số tính chất của cơ sở Groebner Cơ sở Groebner có một số tính chất sau: (i) Cho I là một iđêan tuỳ ý của R Nếu với một thứ tự từ nào đó thì g 1 , , g s g 1 , , g s là cơ sở Groebner của I đối là cơ sở ... biến định lý (hay trường hợp mà định lý không đúng) 3.2 QUY TRÌNH CHỨNG MINH ĐỊNH LÝ BẰNG MÁY TÍNH 3.2.1 Các bƣớc chứng minh định lý hình học máy tính Để chứng minh định lý hình học sở Groebner. .. 3: CHỨNG MINH ĐỊNH LÝ HÌNH HỌC BẰNG MÁY TÍNH 16 3.1 Đại số hóa giả thiết kết luận định lý 16 3.2 Quy trình chứng minh định lý hình học máy tính 20 3.3 Chứng minh số định lý hình học. .. pháp chứng minh số định lý hình học sơ cấp máy tính Phần mềm Maple đưa kết luận tính sai định lý hình học Sau có kết từ máy tính, chứng minh định lý toán học phát triển thêm toán khác 25 Định lý

Ngày đăng: 10/10/2015, 15:51

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan