Аналіз I, Глава 2.3 #
Цей файл є перекладом Глави 2.3 Аналізу I до Lean 4. Вся нумерація посилається на оригінальний текст.
Я (пр.перекл. Терренс Тао) намагався зробити переклад якомога точнішим перефразуванням оригінального тексту. Коли є вибір між більш ідіоматичним рішенням Lean та більш точним перекладом, я зазвичай обирав останній. Зокрема, будуть місця, де код Lean можна було б "підбуцнути", щоб зробити його більш елегантним та ідіоматичним, але я свідомо уникав цього вибору.
Основні конструкції та результати цього розділу:
- Визначення множення та піднесення до степеня для натуральних чисел з "Розділу 2".
Chapter2.Nat
Примітка: наприкінці цього розділу клас Chapter2.Nat
буде замінено на користь стандартного
класу Mathlib _root_.Nat
, або ℕ
. Однак, ми пропрацюємо властивості
Chapter2.Nat
"вручну" в наступних кількох розділах для педагогічних цілей.
Визначення 2.3.1 (Множення натуральних чисел)
Equations
- n.mul m = Chapter2.Nat.recurse (fun (x prod : Chapter2.Nat) => prod + m) 0 n
Instances For
Equations
- Chapter2.Nat.instMul = { mul := Chapter2.Nat.mul }
Визначення 2.3.1 (Множення натуральних чисел)
Ця лема буде корисною для доведення Леми 2.3.2.
(Не із книги) Nat є комутативним півкільцем.
Equations
- One or more equations did not get rendered due to their size.
(Не із книги) Nat є впорядкованим півкільцем.
Визначення 2.3.11 (Піднесення до степеня для натуральних чисел)
Equations
- m.pow n = Chapter2.Nat.recurse (fun (x prod : Chapter2.Nat) => prod * m) 1 n
Instances For
Equations
- Chapter2.Nat.instPow = { pow := Chapter2.Nat.pow }
Визначення 2.3.11 (Піднесення до степеня для натуральних чисел)
Визначення 2.3.11 (Піднесення до степеня для натуральних чисел)