Bỏ qua

Chương 2: Cách học lại toán và dùng AI làm gia sư

Câu hỏi mở đầu

Nếu toán học là những cấu trúc buộc phải xuất hiện, thì một người trưởng thành nên học lại nó thế nào để thật sự hiểu, chứ không chỉ có cảm giác là mình hiểu? Và khi một người khác, hay một cỗ máy, đưa ra một khẳng định toán học trông rất thuyết phục, làm sao ta kiểm chứng được nó?

Cảm giác hiểu và sự hiểu

Hãy thử một thí nghiệm nhỏ. Ở Chương 1, bạn đã đọc lập luận vì sao bàn cờ bị cắt hai góc đối diện không phủ kín được bằng domino. Lúc đọc, mọi thứ có vẻ sáng rõ. Bây giờ đừng lật lại trang ấy. Lấy một tờ giấy và viết lại lập luận từ đầu tới cuối, bằng lời của bạn.

Nhiều người sẽ kẹt ở đâu đó: "hai ô kề nhau khác màu, rồi... sao nữa nhỉ?". Khoảng cách giữa "đọc thấy rõ" và "tự làm lại được" chính là điều chương này muốn bạn nhận ra. Cảm giác trôi chảy khi đọc một lời giải hay đến từ việc nhận ra từng bước khi chúng hiện ra trước mắt. Nhận ra dễ hơn nhiều so với tự tạo ra. Ta gọi hiện tượng này là ảo giác hiểu (illusion of understanding): cảm giác đã hiểu mà không có năng lực đi kèm.

Ảo giác ấy đặc biệt mạnh trong thời có máy. Một trợ lý AI có thể giải thích bất kỳ khái niệm nào, ngay lập tức, rõ ràng, kiên nhẫn. Đọc những lời giải thích như vậy rất dễ chịu, và rất dễ tưởng rằng mình đang học. Nhưng nếu toán học là những cấu trúc bắt buộc, thì hiểu một cấu trúc nghĩa là tự mình thấy được vì sao nó buộc phải như thế. Không ai thấy hộ bạn được.

Vậy làm sao biết mình hiểu thật? Có ba phép thử đơn giản:

  1. Tự làm lại. Đóng sách, tự viết lại lời giải hay chứng minh từ đầu.
  2. Giải thích bằng lời của mình. Nói cho một người khác, hoặc một tờ giấy, nghe mà không dùng lại câu chữ của sách.
  3. Áp dụng vào trường hợp mới. Đổi đề một chút và xem mình còn làm được không: bàn cờ \(6 \times 6\) thì sao? Cắt hai ô không nằm ở góc thì sao?

Qua được cả ba, bạn hiểu. Hỏng ở phép thử nào, đó là chỗ cần học tiếp.

Học như một vòng lặp

Học một khái niệm toán không phải một đường thẳng từ "chưa biết" tới "biết". Nó là một vòng lặp:

flowchart LR
    A["Đọc chậm, có giấy bút"] --> B["Tự làm lại, không nhìn sách"]
    B --> C["Kiểm chứng kết quả"]
    C --> D["Giải thích lại bằng lời của mình"]
    D --> E["Tìm ranh giới và phản ví dụ"]
    E --> A

Vì sao lại là vòng lặp? Vì mỗi vòng làm lộ ra một chỗ hổng mới, và chỗ hổng chỉ lộ ra khi bạn tự làm. Đọc thêm không làm lộ chỗ hổng; tự làm thì có. Cấu trúc này không do ai đặt ra: nếu hiểu nghĩa là tự tạo lại được, thì cách duy nhất để biết mình hiểu là thử tạo lại, và mỗi lần thử hỏng lại cho ta một việc để đọc tiếp.

Cách đọc một trang toán. Đọc toán chậm hơn đọc báo nhiều lần, và điều đó là bình thường. Với mỗi định nghĩa, hãy tự tạo hai ví dụ thỏa định nghĩa và một ví dụ không thỏa. Với mỗi phát biểu, thử nó với vài con số trước khi đọc chứng minh. Với mỗi bước của chứng minh, hỏi: bước này dùng điều gì ở phía trên? Bỏ một giả thiết đi thì bước nào hỏng?

Cách dùng bảy bước của mỗi chương. Mọi chương của sách đi qua cùng bảy bước, và mỗi bước có một việc cho bạn:

  • Vấn đề: dừng lại vài phút, tự đoán câu trả lời trước khi đọc tiếp.
  • Cấu trúc nguyên thủy: hình dung bằng đồ vật thật như sỏi, giấy, đồng xu.
  • Ký hiệu: dịch ngược mỗi công thức ra lời thường.
  • Trường hợp cụ thể: tự tính trước, rồi mới so với lời giải.
  • Phản ví dụ và ranh giới: tìm thêm một phản ví dụ của riêng bạn.
  • Phát biểu chặt chẽ: đọc từng chữ, kiểm từng bước.
  • Sợi chỉ: tìm xem cấu trúc vừa học đã gặp ở đâu trước đó.

Lời giải bài tập nằm trong những khối thu gọn. Chỉ mở chúng sau khi đã tự làm, hoặc sau khi đã bí thật sự ít nhất mười lăm phút.

Bộ công cụ kiểm chứng

Bước kiểm chứng trong vòng lặp cần công cụ. Kiểm chứng (verification) là việc kiểm tra xem một kết quả có đúng không. Sau đây là sáu công cụ đơn giản nhưng bắt được phần lớn lỗi, dù lỗi do bạn, do sách hay do máy gây ra.

  1. Thay số cụ thể. Một đẳng thức đúng với mọi số thì phải đúng với số bạn chọn. Nên chọn những số "lạ" như 3, 7, \(-2\), \(\frac12\), thay vì 0 hay 1.
  2. Xét trường hợp biên. Trường hợp biên (edge case) là chỗ các đại lượng đạt giá trị đặc biệt: bằng 0, bằng nhau, rất lớn. Công thức diện tích hình thang phải trở thành công thức hình chữ nhật khi hai đáy bằng nhau.
  3. Kiểm tra đơn vị. Quãng đường phải đo bằng đơn vị độ dài; không thể cộng mét với giây.
  4. Ước lượng bậc độ lớn. Trước khi tính chính xác, hỏi: đáp số cỡ hàng trăm, hàng triệu hay hàng tỉ?
  5. Làm ngược lại. Tìm được nghiệm (solution) thì thay lại vào phương trình (equation); chia xong thì nhân lại.
  6. Chủ động tìm phản ví dụ. Đừng chỉ tìm những trường hợp khẳng định đúng; hãy cố làm cho nó sai.

Ký hiệu cho việc kiểm chứng

Vài ký hiệu sẽ giúp ghi việc kiểm chứng cho gọn. Như mọi ký hiệu, chúng là quy ước.

  • Dấu \(\approx\) đọc là "xấp xỉ" (approximately equal): hai số gần bằng nhau; khi cần, phải nói rõ gần đến mức nào.
  • Ký hiệu khoa học (scientific notation) viết một số dương thành \(m \times 10^k\), với \(1 \leq m < 10\)\(k\) là số nguyên. Chẳng hạn \(31.536.000 = 3{,}1536 \times 10^7\). Số mũ \(k\) cho biết bậc độ lớn (order of magnitude) của số: số ấy cỡ \(10^k\). Ở đây dấu \(\times\) chỉ phép nhân; ta dùng nó trong ký hiệu khoa học cho dễ đọc, còn ở chỗ khác thường dùng dấu chấm \(\cdot\).
  • Đơn vị được viết kèm con số: \(15 \text{ m/s}\) là mười lăm mét mỗi giây. Đơn vị nhân chia được như số: \(\frac{\text{m}}{\text{s}} \cdot \text{s} = \text{m}\).
  • Dấu \(\neq\) đọc là "khác". Hãy đặc biệt cẩn thận với dấu này. Khi sao chép công thức từ một trang web hay từ một cuộc trò chuyện với máy sang chỗ khác, dấu khác đôi khi mất nét gạch chéo và biến thành dấu bằng. Một khẳng định đúng như "\(7 - 2 \neq 2 - 7\)" có thể trở thành một khẳng định sai. Mỗi lần gặp dấu bằng, hãy tự hỏi: ở đây ý là "bằng" hay "khác"?

Làm bằng tay

Ví dụ 1 (thay số và trường hợp biên). Kiểm tra khẳng định "\((a + b)^2 = a^2 + b^2\) với mọi số \(a\), \(b\)".

Thử \(a = 0\), \(b = 5\): vế trái là \(5^2 = 25\), vế phải là \(0 + 25 = 25\). Khớp! Nếu dừng ở đây, ta sẽ tin khẳng định. Thử \(a = 1\), \(b = 2\): vế trái là \(3^2 = 9\), vế phải là \(1 + 4 = 5\). Không khớp, nên khẳng định sai: \(a = 1\), \(b = 2\) là một phản ví dụ.

Đẳng thức đúng là \((a + b)^2 = a^2 + 2ab + b^2\). Hình vuông cạnh \(a + b\) gồm một hình vuông \(a^2\), một hình vuông \(b^2\)hai hình chữ nhật \(ab\); công thức sai đã quên hai hình chữ nhật ấy. Kiểm với \(a = 1\), \(b = 2\): \(1 + 2 \cdot 1 \cdot 2 + 4 = 9\), khớp với vế trái.

Hình vuông cạnh a cộng b chia thành bốn mảnh
Hình vuông cạnh \(a + b\) gồm bốn mảnh. Công thức sai \((a + b)^2 = a^2 + b^2\) bỏ quên hai mảnh \(ab\).

Vì sao lần thử đầu đánh lừa ta? Vì khi \(a = 0\) thì phần bị bỏ quên \(2ab\) bằng 0. Số 0 là một trường hợp biên làm nhiều công thức sai trông như đúng. Hình dưới vẽ hai vế khi \(b = 1\): chúng chỉ gặp nhau đúng tại \(a = 0\).

Đồ thị hai biểu thức chỉ gặp nhau tại x bằng 0
Với \(b = 1\), hai vế \((x + 1)^2\)\(x^2 + 1\) chỉ bằng nhau tại \(x = 0\). Thử đúng tại 0 là một phép thử rất yếu.

Ví dụ 2 (làm ngược lại và trường hợp biên). Giả sử một trợ lý AI đưa ra lời giải sau: "Giải phương trình \(x^2 = 3x\). Chia hai vế cho \(x\), được \(x = 3\). Vậy phương trình có nghiệm duy nhất \(x = 3\)."

Làm ngược lại: thay \(x = 3\) vào, vế trái là 9, vế phải là \(3 \cdot 3 = 9\). Nghiệm này đúng. Nhưng "làm ngược lại" chỉ kiểm được những nghiệm đã tìm ra, không kiểm được nghiệm bị bỏ sót. Xét trường hợp biên \(x = 0\): vế trái là 0, vế phải là 0. Vậy \(x = 0\) cũng là nghiệm, và lời giải trên đã làm mất nó.

Chỗ sai là bước "chia hai vế cho \(x\)": phép chia ấy chỉ hợp lệ khi \(x\) khác 0, mà ta chưa biết điều đó. Cách làm đúng là chuyển vế: \(x^2 - 3x = 0\), tức \(x(x - 3) = 0\). Một tích bằng 0 khi có một thừa số bằng 0, nên \(x = 0\) hoặc \(x = 3\).

Ví dụ 3 (kiểm tra đơn vị). Một chiếc xe đang chạy với vận tốc \(v\) (m/s) thì tăng tốc đều với gia tốc \(a\), nghĩa là mỗi giây vận tốc tăng thêm \(a\) mét mỗi giây; đơn vị của \(a\) vì thế là \(\text{m/s}^2\). Có người đề xuất công thức quãng đường đi được sau \(t\) giây là \(s = vt + at\). Công thức này có thể đúng không?

Kiểm từng số hạng. Số hạng \(vt\) có đơn vị \(\frac{\text{m}}{\text{s}} \cdot \text{s} = \text{m}\), là độ dài, tốt. Số hạng \(at\) có đơn vị \(\frac{\text{m}}{\text{s}^2} \cdot \text{s} = \frac{\text{m}}{\text{s}}\), là vận tốc, không phải độ dài. Cộng một độ dài với một vận tốc là vô nghĩa, nên công thức chắc chắn sai. Một ứng viên khác là \(s = vt + \frac12 at^2\): số hạng thứ hai có đơn vị \(\frac{\text{m}}{\text{s}^2} \cdot \text{s}^2 = \text{m}\), tốt. Công thức này qua được phép thử đơn vị. Nhưng qua phép thử chưa có nghĩa là đúng: \(s = vt + at^2\) cũng qua được, và phép thử đơn vị không nói được hệ số \(\frac12\) từ đâu ra. (Công thức có hệ số \(\frac12\) là công thức đúng; Phần IV sẽ cho biết vì sao.)

Ví dụ 4 (ước lượng bậc độ lớn). Một năm có bao nhiêu giây?

Tính chính xác: \(365 \cdot 24 \cdot 3600 = 31.536.000 \approx 3{,}15 \times 10^7\). Nhưng trước khi tính, ta có thể ước lượng nhẩm bằng cách làm tròn cả ba thừa số lên: \(400 \cdot 25 \cdot 4000 = 40.000.000 = 4 \times 10^7\). Vì làm tròn lên cả ba lần, đáp số thật phải nhỏ hơn con số này một chút; và quả thật \(3{,}15 \times 10^7 < 4 \times 10^7\), cùng bậc \(10^7\). Một sự trùng hợp dễ nhớ: \(\pi \times 10^7 \approx 31.415.927\), chỉ chênh với số giây trong năm chưa tới \(0{,}4\%\).

Ước lượng thật sự hữu ích khi không thể tính chính xác. Một người uống bao nhiêu lít nước trong đời? Không ai biết chính xác, nhưng với giả định 2 lít mỗi ngày trong 75 năm, ta có \(2 \cdot 365 \cdot 75 = 54.750\), tức cỡ \(5 \times 10^4\) lít. Kiểu ước lượng dựa trên vài giả định nêu rõ như thế thường được gọi là ước lượng Fermi (Fermi estimate). Giả định có thể sai, nhưng bậc độ lớn khá vững: với 1 lít mỗi ngày ta được khoảng \(2{,}7 \times 10^4\), với 3 lít mỗi ngày khoảng \(8{,}2 \times 10^4\), vẫn cùng bậc.

Các con số trong chương trên một thang bậc độ lớn
Các con số của chương trên một thang mà mỗi vạch lớn gấp 10 lần vạch trước. Trên thang này, câu hỏi quan trọng là "gần vạch nào", không phải chữ số cuối cùng.

Khi kiểm chứng không đủ

Sáu công cụ trên rất mạnh, nhưng chúng có ranh giới rõ ràng. Biết ranh giới cũng quan trọng như biết công cụ.

Kiểm chứng bác bỏ được, nhưng không chứng minh được.Chương 1, biểu thức \(n^2 + n + 41\) cho số nguyên tố bốn mươi lần liên tiếp rồi hỏng. Tình huống này không hiếm; ta có thể cố ý tạo ra nó. Hai công thức \(f(n) = n\)\(g(n) = n + (n - 1)(n - 2)(n - 3)\) cho cùng kết quả tại \(n = 1, 2, 3\), rồi tách xa nhau.

Hai công thức trùng nhau tại ba điểm rồi tách xa
Nhìn ba số đầu 1, 2, 3, không thể biết số tiếp theo là 4 hay 10.

Vì vậy, câu đố quen thuộc "cho dãy 1, 2, 3, hãy tìm số tiếp theo" không có đáp án duy nhất nếu không nói rõ quy luật. Chỉ khi miền cần kiểm tra là hữu hạn, việc thử hết mọi trường hợp mới là một chứng minh.

Phép thử đơn vị là điều kiện cần, không phải điều kiện đủ. Như Ví dụ 3 cho thấy, một công thức sai hệ số vẫn qua được phép thử đơn vị.

Ước lượng sai bậc khi giả định sai. Nhầm "mỗi ngày" thành "mỗi năm" làm kết quả lệch 365 lần, tức hơn hai bậc độ lớn. Quên nhân với 60 khi đổi giờ ra phút làm lệch 60 lần. Ước lượng chỉ tốt bằng các giả định của nó, nên luôn ghi rõ giả định ra.

Máy móc cũng có ranh giới. Trong nhiều ngôn ngữ lập trình, phép cộng \(0{,}1 + 0{,}2\) cho ra \(0{,}30000000000000004\) chứ không phải \(0{,}3\). Máy không "tính nhầm". Máy lưu số thực dưới dạng số dấu phẩy động (floating-point number), tức một xấp xỉ gồm hữu hạn chữ số nhị phân, và \(0{,}1\) không viết được chính xác bằng hữu hạn chữ số nhị phân, giống như \(\frac13\) không viết được chính xác bằng hữu hạn chữ số thập phân. Sai số làm tròn nhỏ ấy là một quy ước biểu diễn có giới hạn đã biết, nhưng người dùng phải biết nó tồn tại. Với trợ lý AI, ranh giới còn rộng hơn: như Ví dụ 2 cho thấy, một lời giải có thể trôi chảy, tự tin, và vẫn sai. Hãy coi mọi đầu ra của máy là một khẳng định cần kiểm chứng, không phải một chứng minh.

Phát biểu chặt chẽ

Một đẳng thức đúng với mọi giá trị của các biến gọi là hằng đẳng thức (identity).

Mệnh đề 1 (bình phương của một tổng). Với mọi số \(a\), \(b\), ta có \((a + b)^2 = a^2 + 2ab + b^2\).

Chứng minh. Dùng tính phân phối (distributivity) của phép nhân đối với phép cộng (nhân một số với một tổng thì bằng tổng các tích), hai lần:

\[ (a + b)^2 = (a + b)(a + b) = a(a + b) + b(a + b) = a^2 + ab + ba + b^2 . \]

\(ba = ab\) (đổi chỗ hai thừa số không làm thay đổi tích), hai số hạng giữa gộp thành \(2ab\). \(\square\)

Chứng minh này đúng cho mọi số, kể cả số âm và phân số, còn hình vuông ở Ví dụ 1 chỉ minh họa cho \(a\), \(b\) dương. Hình giúp ta thấy, chứng minh giúp ta chắc.

Mệnh đề 2 (bác bỏ và chứng minh không đối xứng). Xét một khẳng định dạng "với mọi số tự nhiên \(n\), điều \(P(n)\) đúng".

(a) Nếu có một số \(n_0\)\(P(n_0)\) sai, thì khẳng định sai.

(b) Cho một công thức \(f\) và một danh sách hữu hạn các số tự nhiên khác nhau \(n_1, n_2, \dots, n_k\). Công thức

\[ g(n) = f(n) + (n - n_1)(n - n_2) \cdots (n - n_k) \]

cho cùng giá trị với \(f\) tại mọi số trong danh sách, nhưng khác \(f\) tại mọi số tự nhiên khác. Vì vậy, kiểm tra hữu hạn trường hợp không bao giờ phân biệt được \(f\) với \(g\).

(c) Nếu miền của \(n\) chỉ gồm hữu hạn số, thì kiểm tra lần lượt từng số là một chứng minh hợp lệ. Cách chứng minh này gọi là kiểm tra vét cạn (exhaustive check).

Chứng minh. (a) "Với mọi \(n\)" nghĩa là không có ngoại lệ nào; \(n_0\) là một ngoại lệ.

(b) Tại \(n = n_i\), thừa số \(n - n_i\) bằng 0, nên cả tích bằng 0 và \(g(n_i) = f(n_i)\). Tại một số \(n\) không nằm trong danh sách, mọi thừa số \(n - n_1, \dots, n - n_k\) đều khác 0, mà tích của các số khác 0 thì khác 0, nên \(g(n) \neq f(n)\).

(c) Mỗi trường hợp đã được kiểm, và không còn trường hợp nào khác. \(\square\)

Ở Chương 1, việc máy thử hết các cách lát domino trên bàn cờ \(5 \times 5\) là một ví dụ của (c).

Mệnh đề 3 (nguyên lý thứ nguyên). Cho \(A\)\(B\) là hai đại lượng khác 0. Giả sử khi đổi đơn vị độ dài sang một đơn vị nhỏ hơn \(\lambda\) lần (chẳng hạn từ mét sang xentimét thì \(\lambda = 100\)), số đo của \(A\) được nhân với \(\lambda^p\), còn số đo của \(B\) được nhân với \(\lambda^q\), trong đó \(p\), \(q\) là số nguyên. Nếu đẳng thức \(A = B\) đúng dù ta chọn đơn vị độ dài nào, thì \(p = q\).

Số \(p\) nói đại lượng "chứa độ dài bao nhiêu lần", tức thứ nguyên (dimension) của nó đối với độ dài: một độ dài có \(p = 1\), một diện tích có \(p = 2\) (đổi mét sang xentimét, số đo diện tích nhân \(100^2\)), một thể tích có \(p = 3\), một vận tốc tính bằng m/s có \(p = 1\).

Chứng minh. Trong đơn vị cũ, \(A = B\). Trong đơn vị mới, \(\lambda^p A = \lambda^q B\). Chia hai vế cho \(A\) (bằng \(B\) và khác 0), được \(\lambda^p = \lambda^q\) với mọi \(\lambda > 0\). Lấy \(\lambda = 2\): \(2^p = 2^q\). Nếu \(p > q\) thì \(2^p = 2^q \cdot 2^{p - q} \geq 2 \cdot 2^q > 2^q\), mâu thuẫn; tương tự nếu \(p < q\). Vậy \(p = q\). \(\square\)

Mệnh đề này là một phiên bản chặt chẽ của trực giác "không cộng được mét với giây". Ý nghĩa sâu hơn nối thẳng với Chương 1: đơn vị đo là quy ước, còn một quy luật đúng thì không được phụ thuộc vào quy ước. Hai vế của nó phải biến đổi giống hệt nhau khi ta đổi quy ước.

Dùng AI làm gia sư mà không bị phụ thuộc

Một trợ lý AI có thể là gia sư rất tốt, với điều kiện bạn giữ quyền làm việc về phía mình. Vài nguyên tắc:

  1. Tự làm trước. Làm bài ít nhất mười lăm phút trước khi hỏi, và ghi lại chính xác chỗ mình bí.
  2. Xin gợi ý, không xin lời giải. Xin từng bậc gợi ý, mỗi lần một bước.
  3. Nhờ chấm bài. Đưa lời giải của bạn và hỏi bước nào chưa chặt chẽ.
  4. Đảo vai. Bạn giải thích, máy đóng vai người hỏi vặn. Đây chính là phép thử thứ hai của sự hiểu.
  5. Nhờ tạo biến thể và phản ví dụ. Đó là nguyên liệu cho phép thử thứ ba.
  6. Kiểm chứng mọi đầu ra bằng sáu công cụ ở trên; khi có thể, tính lại theo một cách độc lập: bằng tay, hoặc bằng một công cụ tính toán khác.
  7. Giữ một sổ lỗi. Mỗi lỗi, của bạn hay của máy, ghi một dòng: lỗi gì, công cụ nào bắt được. Sau vài tuần, sổ lỗi cho biết bạn hay sai ở đâu.

Cách đặt câu hỏi quyết định rất nhiều:

Thay vì hỏi Hãy hỏi
"Giải giúp tôi bài này." "Tôi đã làm tới đây và bí ở bước này. Đừng giải hộ; hãy gợi ý một bước."
"Giải thích kết quả này cho tôi." "Tôi hiểu kết quả này như sau. Chỗ nào tôi hiểu sai?"
"Đáp số này đúng không?" "Chỉ cho tôi một cách tự kiểm chứng đáp số này mà không phải giải lại."

Cuốn sách tự áp dụng nguyên tắc thứ sáu: mọi đáp số trong các ví dụ và lời giải đều đã được kiểm lại bằng một chương trình tính toán độc lập. Dù vậy, hãy đọc sách với cùng thái độ bạn dành cho máy: kiểm chứng, đừng tin suông.

Sợi chỉ

  • S7. Xấp xỉ và sai số. Ước lượng bậc độ lớn, \(\pi \times 10^7\) giây trong một năm, sai số làm tròn của máy khi cộng \(0{,}1 + 0{,}2\): toán học không bỏ qua sai số mà hỏi sai bao nhiêu và vì sao (ước lượng, ranh giới).
  • S6. Biểu diễn khác nhau của cùng một cấu trúc. Hằng đẳng thức \((a + b)^2 = a^2 + 2ab + b^2\) vừa là một phép tính, vừa là một hình vuông cắt bốn mảnh; hình giúp thấy, chứng minh giúp chắc.
  • S1. Bất biến qua biến đổi. Nguyên lý thứ nguyên nói rằng một quy luật đúng phải bất biến khi ta đổi đơn vị đo, giống như ở Chương 1, sự bất khả không phụ thuộc vào màu sơn.

Tóm tắt

  • Cảm giác hiểu khi đọc khác với sự hiểu; ba phép thử của sự hiểu là tự làm lại, giải thích bằng lời của mình, và áp dụng vào trường hợp mới.
  • Học là một vòng lặp: đọc, tự làm, kiểm chứng, giải thích lại, tìm ranh giới; mỗi vòng làm lộ một chỗ hổng mới.
  • Sáu công cụ kiểm chứng: thay số cụ thể, xét trường hợp biên, kiểm tra đơn vị, ước lượng bậc độ lớn, làm ngược lại, chủ động tìm phản ví dụ.
  • Một phản ví dụ đủ để bác bỏ khẳng định "với mọi"; hữu hạn ví dụ không đủ để chứng minh nó trên một miền vô hạn, còn trên miền hữu hạn thì kiểm tra vét cạn là chứng minh.
  • Phép thử đơn vị và ước lượng là điều kiện cần, không phải điều kiện đủ; ước lượng chỉ tốt bằng giả định của nó.
  • Một quy luật đúng không phụ thuộc vào quy ước đo lường, nên hai vế của nó phải cùng thứ nguyên.
  • Máy tính và trợ lý AI có ranh giới; mọi đầu ra của chúng là khẳng định cần kiểm chứng, và cách dùng AI tốt nhất là để nó gợi ý, chấm bài, hỏi vặn, chứ không làm hộ.

Bài tập

A. Tư duy

A1. Áp dụng ba phép thử của sự hiểu cho bổ đề bắt tay ở Chương 1. Mỗi phép thử cụ thể là làm gì? Với phép thử thứ ba, hãy tìm một tình huống mới mà bổ đề vẫn áp dụng được.

Lời giải

Phép thử thứ nhất: đóng sách và viết lại chứng minh "lập danh sách các cái bắt tay, đếm số tên theo hai cách". Phép thử thứ hai: giải thích cho một người chưa học vì sao tổng các số tự đếm luôn chẵn, không dùng lại câu chữ của sách.

Phép thử thứ ba: trên một mạng xã hội mà quan hệ bạn bè luôn là hai chiều (A là bạn của B thì B là bạn của A), tổng số bạn của mọi người bằng hai lần số cặp bạn bè, nên là số chẵn; và số người có một số lẻ bạn bè là số chẵn. Lập luận y hệt, chỉ thay "cái bắt tay" bằng "cặp bạn bè". Nếu quan hệ chỉ một chiều (như "theo dõi"), điều kiện "mỗi quan hệ có hai người, được đếm ở cả hai phía" không còn, và kết luận có thể hỏng. Nhận ra điều kiện nào làm lập luận chạy được chính là dấu hiệu của sự hiểu.

A2. Vì sao thử một đẳng thức với \(a = 0\) hay \(a = 1\) thường là phép thử yếu? Hãy tìm hai biểu thức khác nhau nhưng cho cùng giá trị tại cả \(a = 0\)\(a = 1\).

Lời giải

Tại 0 và 1, rất nhiều phép toán "suy biến": nhân với 0 xóa mọi thứ, nhân với 1 không làm gì, \(0^2 = 0\)\(1^2 = 1\). Vì vậy những biểu thức khác nhau dễ trùng giá trị tại đó.

Ví dụ \(a^2\)\(a\): tại \(a = 0\) cả hai bằng 0, tại \(a = 1\) cả hai bằng 1, nhưng tại \(a = 3\) thì \(9 \neq 3\). Tương tự, \(a^3\)\(a\) trùng nhau tại \(0\), \(1\) và cả \(-1\). Nên thử với những số "lạ" như 3, 7, \(-2\), \(\frac12\).

A3. Một người nói: "Máy tính không bao giờ sai." Dùng ví dụ \(0{,}1 + 0{,}2\) và lời giải phương trình \(x^2 = 3x\) ở Ví dụ 2 để bàn về câu nói này: sai sót nằm ở máy hay ở người, và mỗi loại cần được đề phòng thế nào?

Lời giải

Với \(0{,}1 + 0{,}2\), máy làm đúng theo quy ước biểu diễn của nó: số thực được lưu bằng hữu hạn chữ số nhị phân, và \(0{,}1\) chỉ được lưu gần đúng. Kết quả \(0{,}30000000000000004\) là hệ quả của quy ước ấy, không phải một lỗi ngẫu nhiên. Cách đề phòng: biết rằng phép tính với số thập phân trên máy là xấp xỉ, và so sánh hai số thực bằng cách xem chúng có đủ gần nhau không, thay vì đòi chúng bằng nhau tuyệt đối.

Với lời giải \(x^2 = 3x\), sai sót nằm ở lập luận: chia cho một biểu thức có thể bằng 0. Loại lỗi này có thể do người hay do một trợ lý AI tạo ra; nó trông trôi chảy nhưng sai. Cách đề phòng: kiểm chứng bằng trường hợp biên (thử \(x = 0\)) và luôn hỏi "phép chia này có hợp lệ không?". Vậy câu nói trên đúng một nửa: máy tính số học thường làm đúng theo quy ước của nó, nhưng quy ước có giới hạn, còn lập luận thì do người hoặc máy viết ra đều có thể sai.

B. Tính toán

B1. Kiểm tra khẳng định "\((a - b)^2 = a^2 - b^2\) với mọi \(a\), \(b\)" bằng thay số. Tìm đẳng thức đúng và kiểm lại. Khẳng định sai kia tình cờ đúng khi nào?

Lời giải

Với \(a = 3\), \(b = 1\): vế trái \((3 - 1)^2 = 4\), vế phải \(9 - 1 = 8\). Vậy khẳng định sai.

Đẳng thức đúng là \((a - b)^2 = a^2 - 2ab + b^2\). Kiểm lại: \(9 - 2 \cdot 3 \cdot 1 + 1 = 4\), khớp.

Khẳng định sai trùng với đẳng thức đúng khi \(a^2 - 2ab + b^2 = a^2 - b^2\), tức \(2b^2 = 2ab\), tức \(b(b - a) = 0\). Điều này xảy ra khi \(b = 0\) hoặc \(a = b\). Đó chính là những trường hợp biên dễ đánh lừa người kiểm tra.

B2. Kiểm tra khẳng định "\(\frac{a + b}{a + c} = \frac{b}{c}\)" (tức "gạch bỏ \(a\) ở tử và mẫu") bằng \(a = 1\), \(b = 2\), \(c = 3\). Khẳng định này đúng khi nào (với các mẫu số khác 0)?

Lời giải

Với \(a = 1\), \(b = 2\), \(c = 3\): vế trái \(\frac{3}{4}\), vế phải \(\frac{2}{3}\). Hai số khác nhau, vì \(3 \cdot 3 = 9\) còn \(4 \cdot 2 = 8\). Vậy khẳng định sai.

Hai phân số bằng nhau khi tích chéo bằng nhau: \((a + b)c = (a + c)b\), tức \(ac + bc = ab + bc\), tức \(ac = ab\), tức \(a(c - b) = 0\). Vậy khẳng định chỉ đúng khi \(a = 0\) hoặc \(b = c\).

B3. Một học sinh "rút gọn" \(\frac{16}{64}\) bằng cách gạch hai chữ số 6, được \(\frac{1}{4}\). Kiểm tra kết quả. Làm tương tự với \(\frac{19}{95}\), \(\frac{26}{65}\), \(\frac{49}{98}\)\(\frac{12}{24}\). Em rút ra được bài học gì?

Lời giải

\(\frac{16}{64} = \frac{16 : 16}{64 : 16} = \frac{1}{4}\): kết quả đúng! Tương tự, "gạch 9" cho \(\frac{19}{95} = \frac15\), đúng vì \(19 \cdot 5 = 95\); "gạch 6" cho \(\frac{26}{65} = \frac25\), đúng vì \(26 \cdot 5 = 130 = 65 \cdot 2\); "gạch 9" cho \(\frac{49}{98} = \frac48\), đúng vì \(\frac{49}{98} = \frac12\).

Nhưng \(\frac{12}{24}\), "gạch 2", cho \(\frac14\), trong khi \(\frac{12}{24} = \frac12\). Sai.

Bài học: một phương pháp sai vẫn có thể cho kết quả đúng trong vài trường hợp đặc biệt. Kết quả đúng không chứng minh được phương pháp đúng. (Kiểm tra vét cạn bằng máy cho thấy: trong các phân số nhỏ hơn 1 có tử và mẫu là số có hai chữ số, không chữ số nào bằng 0, chỉ có đúng bốn phân số ở trên "gạch chữ số giống nhau" mà vẫn đúng.)

B4. Một công cụ khẳng định \(1763 = 41 \cdot 42\)\(899 = 29 \cdot 31\). Kiểm tra từng khẳng định, trước hết bằng chữ số tận cùng, rồi bằng phép nhân.

Lời giải

Chữ số tận cùng của \(41 \cdot 42\) là chữ số tận cùng của \(1 \cdot 2\), tức 2. Nhưng 1763 tận cùng bằng 3. Vậy khẳng định thứ nhất sai mà không cần nhân. Nhân thật: \(41 \cdot 42 = 1722\). (Thực ra \(1763 = 41 \cdot 43\).)

Với \(29 \cdot 31\), chữ số tận cùng là của \(9 \cdot 1\), tức 9, khớp với 899. Nhân: \(29 \cdot 31 = 29 \cdot 30 + 29 = 870 + 29 = 899\). Khẳng định thứ hai đúng. Để ý rằng phép thử chữ số tận cùng chỉ bác bỏ được; khi nó khớp, ta vẫn phải nhân để chắc chắn.

B5. Một người 40 tuổi đã sống khoảng bao nhiêu giờ, bao nhiêu phút? Viết kết quả bằng ký hiệu khoa học và nêu bậc độ lớn. Bỏ qua năm nhuận ảnh hưởng thế nào?

Lời giải

Số giờ: \(40 \cdot 365 \cdot 24 = 350.400 \approx 3{,}5 \times 10^5\) giờ, bậc \(10^5\). Số phút: \(350.400 \cdot 60 = 21.024.000 \approx 2{,}1 \times 10^7\) phút, bậc \(10^7\).

Trong 40 năm có khoảng 10 năm nhuận, tức thêm khoảng 10 ngày, hay \(10 \cdot 24 = 240\) giờ. So với 350.400 giờ, phần thêm này chưa tới \(0{,}1\%\), không làm thay đổi bậc độ lớn.

B6. Ước lượng số nhịp tim trong đời người, với giả định 70 nhịp mỗi phút trong 75 năm. Nếu giả định là 60 nhịp mỗi phút thì kết quả thay đổi bao nhiêu?

Lời giải

Số phút trong 75 năm: \(75 \cdot 365 \cdot 24 \cdot 60 = 39.420.000\). Nhân với 70: \(2.759.400.000 \approx 2{,}8 \times 10^9\) nhịp, bậc \(10^9\) (vài tỉ nhịp).

Với 60 nhịp mỗi phút: \(39.420.000 \cdot 60 = 2.365.200.000 \approx 2{,}4 \times 10^9\). Kết quả giảm khoảng một phần bảy, nhưng vẫn cùng bậc \(10^9\). Giả định sai vài chục phần trăm không làm hỏng bậc độ lớn; nhầm "mỗi phút" thành "mỗi giờ" thì làm lệch 60 lần.

B7. Bán kính \(r\) của một hình tròn đo bằng mét. Trong bốn công thức \(\pi r\), \(\pi r^2\), \(2\pi r\), \(\pi r^3\), công thức nào có thể cho diện tích, công thức nào có thể cho chu vi? Phép thử đơn vị có chọn được giữa \(\pi r\)\(2\pi r\) không?

Lời giải

Số \(\pi\) không có đơn vị. Vậy \(\pi r\)\(2\pi r\) có đơn vị mét (độ dài), \(\pi r^2\) có đơn vị mét vuông (diện tích), \(\pi r^3\) có đơn vị mét khối (thể tích). Chỉ \(\pi r^2\) có thể là diện tích; chỉ \(\pi r\)\(2\pi r\) có thể là chu vi.

Phép thử đơn vị không chọn được giữa \(\pi r\)\(2\pi r\), vì chúng chỉ khác nhau một hệ số không có đơn vị. Cần một phép thử khác, chẳng hạn ước lượng: chu vi hình tròn phải lớn hơn chu vi hình vuông nội tiếp, tức lớn hơn \(4 \cdot r\sqrt2 \approx 5{,}66r\), mà \(\pi r \approx 3{,}14r\) quá nhỏ. Vậy chu vi là \(2\pi r \approx 6{,}28r\).

B8. Chiều dài dây của một con lắc là \(\ell\) (m), gia tốc trọng trường là \(g\) (\(\text{m/s}^2\)). Trong các công thức cho chu kỳ (period) dao động \(T\) (tính bằng giây) sau, công thức nào có đơn vị đúng: \(2\pi \frac{\ell}{g}\), \(2\pi\sqrt{\frac{\ell}{g}}\), \(2\pi\sqrt{\frac{g}{\ell}}\), \(2\pi \ell g\)? (Căn bậc hai của một đơn vị là đơn vị mà bình phương lên được đơn vị ấy.)

Lời giải

Đơn vị của \(\frac{\ell}{g}\)\(\frac{\text{m}}{\text{m/s}^2} = \text{s}^2\). Vậy \(2\pi\frac{\ell}{g}\) có đơn vị \(\text{s}^2\), sai. \(\sqrt{\frac{\ell}{g}}\) có đơn vị \(\text{s}\), đúng. \(\frac{g}{\ell}\) có đơn vị \(\frac{1}{\text{s}^2}\), nên \(\sqrt{\frac{g}{\ell}}\) có đơn vị \(\frac{1}{\text{s}}\), sai. \(\ell g\) có đơn vị \(\frac{\text{m}^2}{\text{s}^2}\), sai.

Chỉ \(2\pi\sqrt{\frac{\ell}{g}}\) qua được phép thử, và đây cũng chính là công thức vật lý quen biết cho con lắc dao động nhỏ.

B9. Tìm lỗi trong lời giải sau bằng cách làm ngược lại: "Giải \(\frac{x^2 - 4}{x - 2} = 4\). Rút gọn vế trái được \(x + 2 = 4\), nên \(x = 2\)."

Lời giải

Thay \(x = 2\) vào phương trình ban đầu: mẫu số \(x - 2\) bằng 0, nên vế trái không xác định. Vậy \(x = 2\) không phải nghiệm.

Chỗ sai: \(\frac{x^2 - 4}{x - 2} = \frac{(x - 2)(x + 2)}{x - 2}\) chỉ rút gọn được thành \(x + 2\) khi \(x \neq 2\). Với điều kiện \(x \neq 2\), phương trình trở thành \(x + 2 = 4\), cho \(x = 2\), trái với điều kiện. Vậy phương trình vô nghiệm. Làm ngược lại đã bắt được lỗi mà nhìn lời giải thì khó thấy.

C. Phản ví dụ và chứng minh

C1. Chứng minh rằng với mọi số \(a\), \(b\), ta có \((a - b)^2 = a^2 - 2ab + b^2\). Suy ra \((a + b)^2 - (a - b)^2 = 4ab\), và kiểm lại với \(a = 5\), \(b = 3\).

Lời giải

Dùng tính chất phân phối như ở Mệnh đề 1:

\[ (a - b)^2 = (a - b)(a - b) = a(a - b) - b(a - b) = a^2 - ab - ba + b^2 = a^2 - 2ab + b^2 . \]

Trừ đẳng thức này khỏi Mệnh đề 1:

\[ (a + b)^2 - (a - b)^2 = (a^2 + 2ab + b^2) - (a^2 - 2ab + b^2) = 4ab . \]

Kiểm lại với \(a = 5\), \(b = 3\): \((a + b)^2 = 64\), \((a - b)^2 = 4\), hiệu là \(60\); còn \(4ab = 4 \cdot 15 = 60\). Khớp. \(\square\)

C2. (a) Tính \(g(1)\), \(g(2)\), \(g(3)\), \(g(4)\) với \(g(n) = n + (n - 1)(n - 2)(n - 3)\). (b) Tìm một số \(c\) sao cho công thức \(h(n) = n + c(n - 1)(n - 2)(n - 3)\) cho \(h(1) = 1\), \(h(2) = 2\), \(h(3) = 3\)\(h(4) = 100\). (c) Giải thích vì sao câu hỏi "dãy 1, 2, 3, ... số tiếp theo là gì?" không có đáp án duy nhất.

Lời giải

(a) Ba giá trị đầu: tích \((n - 1)(n - 2)(n - 3)\) bằng 0 khi \(n = 1, 2, 3\), nên \(g(1) = 1\), \(g(2) = 2\), \(g(3) = 3\). Còn \(g(4) = 4 + 3 \cdot 2 \cdot 1 = 10\).

(b) Với mọi \(c\), ta vẫn có \(h(1) = 1\), \(h(2) = 2\), \(h(3) = 3\). Cần \(h(4) = 4 + c \cdot 6 = 100\), tức \(6c = 96\), \(c = 16\).

(c) Lập luận ở (b) dùng được cho bất kỳ số nào thay cho 100: với số mong muốn \(M\), chọn \(c = \frac{M - 4}{6}\). Vậy mọi số đều có thể là "số tiếp theo" của một quy luật nào đó khớp với 1, 2, 3. Câu hỏi chỉ có đáp án khi quy luật được nói rõ. Đây là một trường hợp cụ thể của Mệnh đề 2(b).

C3. Giả sử chu kỳ \(T\) của con lắc chỉ phụ thuộc vào chiều dài \(\ell\) (m) và gia tốc trọng trường \(g\) (\(\text{m/s}^2\)) theo dạng \(T = C \ell^x g^y\), với \(C\) là một hằng số không có đơn vị. Dùng nguyên lý thứ nguyên để tìm \(x\)\(y\). (Gợi ý: đơn vị của \(\ell^x g^y\)\(\text{m}^x \cdot \left(\frac{\text{m}}{\text{s}^2}\right)^y = \text{m}^{x + y} \cdot \text{s}^{-2y}\), và nó phải là \(\text{s}^1\).) Phép thử đơn vị có cho biết \(C\) không?

Lời giải

Để \(\text{m}^{x + y} \cdot \text{s}^{-2y}\) trùng với \(\text{s}^1\), số mũ (exponent) của mét phải là 0 và số mũ của giây phải là 1:

\[ x + y = 0, \qquad -2y = 1 . \]

Từ phương trình thứ hai, \(y = -\frac12\); thay vào phương trình thứ nhất, \(x = \frac12\). Vậy \(T = C \ell^{1/2} g^{-1/2} = C\sqrt{\frac{\ell}{g}}\), trong đó số mũ \(\frac12\) nghĩa là lấy căn bậc hai (square root); Chương 12 sẽ giải thích vì sao.

Phép thử đơn vị không cho biết \(C\), vì \(C\) không có đơn vị. Chỉ phân tích vật lý mới cho \(C = 2\pi\). Dù vậy, chỉ từ đơn vị, ta đã biết một điều không hiển nhiên: dây dài gấp 4 lần thì chu kỳ chỉ gấp 2 lần. \(\square\)

Câu hỏi để ngỏ

Hai chương đầu đã nói nhiều về cấu trúc, quy ước và cách kiểm chứng. Nhưng nếu gỡ bỏ hết tên gọi, con số và ký hiệu, thì còn lại gì làm điểm xuất phát? Trước cả khi biết đếm, hành động tư duy nguyên thủy nhất mà mọi toán học dựa vào là gì?