Найдите и исправьте ошибку в "доказательстве" следствия: 1 = 2, где деление на ноль замаскировано сложными преобразованиями; объясните, как обнаруживать такие тонкие допущения
Приведу классическое «доказательство» и укажу ошибку. Пусть a=ba=ba=b. 1. a=ba=ba=b. 2. Умножим на aaa: a2=aba^2=aba2=ab. 3. Вычтем b2b^2b2: a2−b2=ab−b2a^2-b^2=ab-b^2a2−b2=ab−b2. 4. Сверху факторизуем: (a−b)(a+b)=b(a−b)(a-b)(a+b)=b(a-b)(a−b)(a+b)=b(a−b). 5. Умножим/разделим на (a−b)(a-b)(a−b) и получим a+b=ba+b=ba+b=b. 6. Подставляя a=ba=ba=b: b+b=b⇒2b=bb+b=b\Rightarrow 2b=bb+b=b⇒2b=b. 7. Делим на bbb (предполагая b≠0b\neq0b=0): 2=12=12=1. Где ошибка: шаг 5 недопустим, потому что из предположения a=ba=ba=b следует a−b=0a-b=0a−b=0. Деление на (a−b)(a-b)(a−b) — деление на ноль — запрещено, поэтому переход от (a−b)(a+b)=b(a−b)(a-b)(a+b)=b(a-b)(a−b)(a+b)=b(a−b) к a+b=ba+b=ba+b=b не является корректным. На самом деле при a=ba=ba=b равенство в шаге 4 даёт 0=00=00=0, что ничего нового не даёт. Как обнаруживать такие тонкие допущения: - Проверяйте, не делится ли на ноль выражение, которое вы сокращаете. Перед сокращением фактора (X)(X)(X) убедитесь, что из начальных условий не следует X=0X=0X=0. - Следите за неявными делениями: факторизация с последующим «сокращением» эквивалентна делению на этот множитель. - Подставьте конкретные значения, удовлетворяющие предположениям (например, a=b=1a=b=1a=b=1) и проверьте, все ли шаги остаются допустимы; если на каком-то шаге появляется «деление на 0», это видно по вычислению. - Думайте в терминах логических эквивалентностей: операции должны сохранять равенство в обе стороны; деление на ноль не обратимо и разрушает эквивалентность. - Особые случаи: извлечение корня даёт ±, деление на выражения, зависящие от переменных, требует проверки на ноль, умножение на ноль может замаскировать потерю информации. Итог: ошибка — деление на ноль в шаге сокращения множителя (a−b)(a-b)(a−b). Следствие 2=12=12=1 неверно.
Пусть a=ba=ba=b.
1. a=ba=ba=b.
2. Умножим на aaa: a2=aba^2=aba2=ab.
3. Вычтем b2b^2b2: a2−b2=ab−b2a^2-b^2=ab-b^2a2−b2=ab−b2.
4. Сверху факторизуем: (a−b)(a+b)=b(a−b)(a-b)(a+b)=b(a-b)(a−b)(a+b)=b(a−b).
5. Умножим/разделим на (a−b)(a-b)(a−b) и получим a+b=ba+b=ba+b=b.
6. Подставляя a=ba=ba=b: b+b=b⇒2b=bb+b=b\Rightarrow 2b=bb+b=b⇒2b=b.
7. Делим на bbb (предполагая b≠0b\neq0b=0): 2=12=12=1.
Где ошибка: шаг 5 недопустим, потому что из предположения a=ba=ba=b следует a−b=0a-b=0a−b=0. Деление на (a−b)(a-b)(a−b) — деление на ноль — запрещено, поэтому переход от (a−b)(a+b)=b(a−b)(a-b)(a+b)=b(a-b)(a−b)(a+b)=b(a−b) к a+b=ba+b=ba+b=b не является корректным. На самом деле при a=ba=ba=b равенство в шаге 4 даёт 0=00=00=0, что ничего нового не даёт.
Как обнаруживать такие тонкие допущения:
- Проверяйте, не делится ли на ноль выражение, которое вы сокращаете. Перед сокращением фактора (X)(X)(X) убедитесь, что из начальных условий не следует X=0X=0X=0.
- Следите за неявными делениями: факторизация с последующим «сокращением» эквивалентна делению на этот множитель.
- Подставьте конкретные значения, удовлетворяющие предположениям (например, a=b=1a=b=1a=b=1) и проверьте, все ли шаги остаются допустимы; если на каком-то шаге появляется «деление на 0», это видно по вычислению.
- Думайте в терминах логических эквивалентностей: операции должны сохранять равенство в обе стороны; деление на ноль не обратимо и разрушает эквивалентность.
- Особые случаи: извлечение корня даёт ±, деление на выражения, зависящие от переменных, требует проверки на ноль, умножение на ноль может замаскировать потерю информации.
Итог: ошибка — деление на ноль в шаге сокращения множителя (a−b)(a-b)(a−b). Следствие 2=12=12=1 неверно.