Аналіз I, Глава 4.1 #
У цій главі ми пропонуємо версію теорії множин Цермело-Франкеля (з атомами), яка намагається максимально точно наслідувати оригінальний тексту Аналізу I, Глава 4.1. Вся нумерація посилається на оригінальний текст.
Я (пр.перекл. Терренс Тао) намагався зробити переклад якомога точнішим перефразуванням оригінального тексту. Коли є вибір між більш ідіоматичним рішенням Lean та більш точним перекладом, я зазвичай обирав останній. Зокрема, будуть місця, де код Lean можна було б "підбуцнути", щоб зробити його більш елегантним та ідіоматичним, але я свідомо уникав цього вибору.
Основні конструкції та результати цього розділу:
Definition of the "Section 4.1" integers,
Section_4_1.Int
, as formal differencesa —— b
of natural numbersa b:ℕ
, up to equivalence. (This is a quotient of a scaffolding typeSection_4_1.PreInt
, which consists of formal differences without any equivalence imposed.)Визначення цілих чисел із "Глави 4.1",
Section_4_1.Int
, як формальна різницяa —— b
натуральних чиселa b:ℕ
, з точністю до еквівалентності. (Це частка типу каркасного типуSection_4_1.PreInt
, яка складається з формальної різниці без будь-якої визначеної еквівалентності.)операції кільця та порядок цих цілих чисел, а також вкладення ℕ
Еквівалентність із Mathlib-овськими цілими
_root_.Int
(абоℤ
), які ми будемо використовувати в подальшому.
Визначення 4.1.1
Equations
- Section_4_1.PreInt.instSetoid = { r := fun (a b : Section_4_1.PreInt) => a.minuend + b.subtrahend = b.minuend + a.subtrahend, iseqv := Section_4_1.PreInt.instSetoid._proof_1 }
Instances For
Equations
- Section_4_1.«term_——_» = Lean.ParserDescr.trailingNode `Section_4_1.«term_——_» 100 101 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " —— ") (Lean.ParserDescr.cat `term 101))
Instances For
Алгоритмічна розв'язність рівності
Equations
- One or more equations did not get rendered due to their size.
Лема 4.1.3 (Додавання чітко визначене)
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Section_4_1.Int.instOfNat = { ofNat := n —— 0 }
Визначення 4.1.4 (Протилежність цілих чисел) / Вправа 4.1.2
Equations
- One or more equations did not get rendered due to their size.
Твердження 4.1.6 (закони алгебри) / Вправа 4.1.4
Твердження 4.1.6 (закони алгебри) / Вправа 4.1.4
Equations
- Section_4_1.Int.instAddCommGroup = { toAddGroup := Section_4_1.Int.instAddGroup, add_comm := Section_4_1.Int.instAddCommGroup._proof_13 }
Твердження 4.1.6 (закони алгебри) / Вправа 4.1.4
Equations
- One or more equations did not get rendered due to their size.
Твердження 4.1.6 (закони алгебри) / Вправа 4.1.4
Equations
- One or more equations did not get rendered due to their size.
Визначення 4.1.10 (Упорядкування цілих чисел)
Equations
- Section_4_1.Int.instLE = { le := fun (n m : Section_4_1.Int) => ∃ (a : ℕ), m = n + ↑a }
Визначення 4.1.10 (Упорядкування цілих чисел)
Equations
- Section_4_1.Int.instLT = { lt := fun (n m : Section_4_1.Int) => n ≤ m ∧ n ≠ m }
(Не із книги) Встановимо алгорітмічну розв'язність цього порядку.
Equations
- One or more equations did not get rendered due to their size.
(Не із книги) Int має структуру лінійного упорядкування.
Equations
- One or more equations did not get rendered due to their size.
Вправа 4.1.9. Квадрат будь-якого цілого числа є невід'ємним.
Не в книзі: створити еквівалентність між Int та ℤ. Це потребує деякої обізнанності із API Mathlib-овської версії цілих чисел.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Не в книзі: еквівалентність зберігає порядок та операції з кільцем
Equations
- One or more equations did not get rendered due to their size.