Documentation

Analysis.Section_3_1

Аналіз I, Глава 3.1 #

У цій главі ми пропонуємо версію теорії множин Цермело-Франкеля (з атомами), яка намагається максимально точно наслідувати оригінальний тексту Аналізу I, Глава 3.1. Вся нумерація посилається на оригінальний текст.

Я (пр.перекл. Терренс Тао) намагався зробити переклад якомога точнішим перефразуванням оригінального тексту. Коли є вибір між більш ідіоматичним рішенням Lean та більш точним перекладом, я зазвичай обирав останній. Зокрема, будуть місця, де код Lean можна було б "підбуцнути", щоб зробити його більш елегантним та ідіоматичним, але я свідомо уникав цього вибору.

Основні конструкції та результати цього розділу:

Інші аксіоми теорії множин Цермело-Френкеля обговорюються в наступних розділах.

Деякі технічні зауваження:

Деякі аксіоми теорії Цермело-Франкеля з атомами

Instances

    Визначення 3.1.1 (об'єкти можуть бути елементами множин)

    Equations

    Аксіома 3.1 (Множини це об'єкти)

    Equations
    @[reducible, inline]
    Equations
    Instances For

      Аксіома 3.1 (Множини це об'єкти)

      @[simp]

      Аксіома 3.1 (Множини це об'єкти)

      @[reducible, inline]
      abbrev Chapter3.SetTheory.Set.ext [SetTheory] {X Y : Set} (h : ∀ (x : Object), x X x Y) :
      X = Y

      Аксіома 3.2 (Рівність множин)

      Equations
      • =
      Instances For
        theorem Chapter3.SetTheory.Set.ext_iff [SetTheory] (X Y : Set) :
        X = Y ∀ (x : Object), x X x Y

        Аксіома 3.2 (Рівність множин)

        @[simp]

        Axiom 3.3 (порожня множина). Примітка: можливо, доведеться явно перетворити ∅ на Set через існуючу нотацію теорії множин Mathlib.

        Порожня множина не має елементів

        Порожня множина унікальна

        theorem Chapter3.SetTheory.Set.nonempty_def [SetTheory] {X : Set} (h : X ) :
        ∃ (x : Object), x X

        Лема 3.1.5 (Одиничний вибір)

        @[simp]

        Axiom 3.3(a) (сінглтон). Зверніть увагу, що, можливо, доведеться явно перетворити {a} на Set через існуючу нотацію теорії множин Mathlib.

        @[simp]
        theorem Chapter3.SetTheory.Set.mem_union [SetTheory] (x : Object) (X Y : Set) :
        x X Y x X x Y

        Аксіома 3.4 (Попарне об'єднання)

        Аксіома 3.3(b) (пара). Зверніть увагу, що часто доводиться перетворювати {a,b} на Set

        @[simp]
        theorem Chapter3.SetTheory.Set.mem_pair [SetTheory] (x a b : Object) :
        x {a, b} x = a x = b

        Аксіома 3.3(b) (пара). Зверніть увагу, що часто доводиться перетворювати {a,b} на Set

        @[simp]
        theorem Chapter3.SetTheory.Set.mem_triple [SetTheory] {c : Object} (x a b : Object) :
        x {a, b, c} x = a x = b x = c

        Ремарка 3.1.8

        theorem Chapter3.SetTheory.Set.pair_uniq [SetTheory] (a b : Object) :
        ∃! X : Set, ∀ (x : Object), x X x = a x = b

        Ремарка 3.1.8

        Ремарка 3.1.8

        Ремарка 3.1.8

        theorem Chapter3.SetTheory.Set.pair_eq_pair [SetTheory] {a b c d : Object} (h : {a, b} = {c, d}) :
        a = c b = d a = d b = c

        Вправа 3.1.1

        @[reducible, inline]
        Equations
        Instances For
          theorem Chapter3.SetTheory.Set.union_congr_left [SetTheory] (A A' B : Set) (h : A = A') :
          A B = A' B

          Ремарка 3.1.11. (Ці результати можна довести або прямим переписуванням, або за допомогою екстенсіональності.)

          theorem Chapter3.SetTheory.Set.union_congr_right [SetTheory] (A B B' : Set) (h : B = B') :
          A B = A B'

          Ремарка 3.1.11. (Ці результати можна довести або прямим переписуванням, або за допомогою екстенсіональності.)

          Лема 3.1.12 (Основні властивості об'єднань) / Вправа 3.1.3

          Лема 3.1.12 (Основні властивості об'єднань) / Вправа 3.1.3

          theorem Chapter3.SetTheory.Set.union_assoc [SetTheory] (A B C : Set) :
          A B C = A (B C)

          Лема 3.1.12 (Основні властивості об'єднань) / Вправа 3.1.3

          Твердження 3.1.27(c)

          Твердження 3.1.27(a)

          Твердження 3.1.27(a)

          Приклад 3.1.10

          Визначення 3.1.14.

          Equations

          Визначення 3.1.14. Зверніть увагу, що операція строгої підмножини в Mathlib позначається , а не .

          Equations
          theorem Chapter3.SetTheory.Set.subset_def [SetTheory] (X Y : Set) :
          X Y xX, x Y

          Визначення 3.1.14.

          Визначення 3.1.14. Зверніть увагу, що операція строгої підмножини в Mathlib позначається , а не .

          theorem Chapter3.SetTheory.Set.subset_congr_left [SetTheory] {A A' B : Set} (hAA' : A = A') (hAB : A B) :
          A' B

          Ремарка 3.1.15

          Приклади 3.1.16

          Приклади 3.1.16

          theorem Chapter3.SetTheory.Set.subset_trans [SetTheory] {A B C : Set} (hAB : A B) (hBC : B C) :
          A C

          Твердження 3.1.17 (Часткове впорядкування через підмножини)

          theorem Chapter3.SetTheory.Set.subset_antisymm [SetTheory] (A B : Set) (hAB : A B) (hBA : B A) :
          A = B

          Твердження 3.1.17 (Часткове впорядкування через підмножини)

          theorem Chapter3.SetTheory.Set.ssubset_trans [SetTheory] (A B C : Set) (hAB : A B) (hBC : B C) :
          A C

          Твердження 3.1.17 (Часткове впорядкування через підмножини)

          @[reducible, inline]

          This defines the subtype A.toSubtype for any A:Set. To produce an element x' of this subtype, use ⟨ x, hx ⟩, where x:Object and hx:x ∈ A. The object x associated to a subtype element x' is recovered as x.val, and the property hx that x belongs to A is recovered as x.property Це визначає підтип A.toSubtype для будь-якого A:Set. Щоб створити елемент x' цього підтипу, використовуйте ⟨ x, hx ⟩, де x:Object та hx:x ∈ A. Об'єкт x, пов'язаний з елементом підтипу x', відновлюється як x.val, а властивість hx, що x належить A, відновлюється як x.property.

          Equations
          Instances For

            Елементи множини (неявно приведені до підтипу) також є елементами множини (щодо операції належності теорії множин).

            theorem Chapter3.SetTheory.Set.coe_inj [SetTheory] (A : Set) (x y : A.toSubtype) :
            x = y x = y

            Якщо є доказ hx для x ∈ A, тоді A.subtype_mk hx зробить елемент A (розглядаємий як підтип) відповідним x.

            Equations
            Instances For
              theorem Chapter3.SetTheory.Set.subtype_mk_coe [SetTheory] {A : Set} {x : Object} (hx : x A) :
              (A.subtype_mk hx) = x
              @[reducible, inline]
              Equations
              Instances For
                theorem Chapter3.SetTheory.Set.specification_axiom [SetTheory] {A : Set} {P : A.toSubtypeProp} {x : Object} (h : x A.specify P) :
                x A

                Аксіома 3.6 (аксіома виділення)

                Аксіома 3.6 (аксіома виділення)

                theorem Chapter3.SetTheory.Set.specification_axiom'' [SetTheory] {A : Set} (P : A.toSubtypeProp) (x : Object) :
                x A.specify P ∃ (h : x A), P x, h

                Аксіома 3.6 (аксіома виділення)

                theorem Chapter3.SetTheory.Set.specify_congr [SetTheory] {A A' : Set} (hAA' : A = A') {P : A.toSubtypeProp} {P' : A'.toSubtypeProp} (hPP' : ∀ (x : Object) (h : x A) (h' : x A'), P x, h P' x, h') :
                A.specify P = A'.specify P'

                Ця вправа може вимагати певного розуміння того, як підтипи реалізовані в Lean.

                @[simp]
                theorem Chapter3.SetTheory.Set.mem_inter [SetTheory] (x : Object) (X Y : Set) :
                x X Y x X x Y

                Визначення 3.1.22 (Перетин)

                Equations
                @[simp]
                theorem Chapter3.SetTheory.Set.mem_sdiff [SetTheory] (x : Object) (X Y : Set) :
                x X \ Y x X xY

                Визначення 3.1.26 (Різниця)

                Твердження 3.1.27(d) / Вправа 3.1.6

                theorem Chapter3.SetTheory.Set.subset_union [SetTheory] {A X : Set} (hAX : A X) :
                A X = X

                Твердження 3.1.27(b)

                theorem Chapter3.SetTheory.Set.union_subset [SetTheory] {A X : Set} (hAX : A X) :
                X A = X

                Твердження 3.1.27(b)

                Твердження 3.1.27(c)

                theorem Chapter3.SetTheory.Set.inter_assoc [SetTheory] (A B C : Set) :
                A B C = A (B C)

                Твердження 3.1.27(e)

                Твердження 3.1.27(f)

                Твердження 3.1.27(f)

                theorem Chapter3.SetTheory.Set.union_compl [SetTheory] {A X : Set} (hAX : A X) :
                A X \ A = X

                Твердження 3.1.27(f)

                theorem Chapter3.SetTheory.Set.inter_compl [SetTheory] {A X : Set} (hAX : A X) :
                A (X \ A) =

                Твердження 3.1.27(f)

                theorem Chapter3.SetTheory.Set.compl_union [SetTheory] {A B X : Set} (hAX : A X) (hBX : B X) :
                X \ (A B) = X \ A (X \ B)

                Твердження 3.1.27(g)

                theorem Chapter3.SetTheory.Set.compl_inter [SetTheory] {A B X : Set} (hAX : A X) (hBX : B X) :
                X \ (A B) = X \ A X \ B

                Твердження 3.1.27(g)

                Не з підручника: множини утворюють дистрибутивну решітку.

                Equations
                • One or more equations did not get rendered due to their size.

                Множини мають мінімальний елемент.

                Equations

                Визначення неперетинності (з використанням попередніх прикладів)

                @[reducible, inline]
                abbrev Chapter3.SetTheory.Set.replace [SetTheory] (A : Set) {P : A.toSubtypeObjectProp} (hP : ∀ (x : A.toSubtype) (y y' : Object), P x y P x y'y = y') :
                Equations
                Instances For
                  theorem Chapter3.SetTheory.Set.replacement_axiom [SetTheory] {A : Set} {P : A.toSubtypeObjectProp} (hP : ∀ (x : A.toSubtype) (y y' : Object), P x y P x y'y = y') (y : Object) :
                  y A.replace hP ∃ (x : A.toSubtype), P x y

                  Аксіома 3.7 (Аксіомна схема підстановки)

                  @[reducible, inline]
                  Equations
                  Instances For

                    Аксіома 3.8 (Аксіома нескінченності)

                    Equations
                    Instances For
                      @[simp]
                      theorem Chapter3.SetTheory.Object.ofnat_eq [SetTheory] {n : } :
                      n = n
                      @[simp]
                      theorem Chapter3.SetTheory.Set.nat_equiv_inj [SetTheory] (n m : ) :
                      n = m n = m
                      @[simp]
                      theorem Chapter3.SetTheory.Object.natCast_inj [SetTheory] (n m : ) :
                      n = m n = m
                      theorem Chapter3.SetTheory.Set.subset_tfae [SetTheory] (A B C : Set) :
                      [A B, A B = B, A B = A].TFAE

                      Вправа 3.1.5. Тут можна використовувати тактики tfae_have та tfae_finish.

                      Вправа 3.1.7

                      Вправа 3.1.7

                      Вправа 3.1.7

                      Вправа 3.1.7

                      Вправа 3.1.7

                      Вправа 3.1.7

                      Вправа 3.1.8

                      Вправа 3.1.8

                      theorem Chapter3.SetTheory.Set.partition_left [SetTheory] {A B X : Set} (h_union : A B = X) (h_inter : A B = ) :
                      A = X \ B

                      Вправа 3.1.9

                      theorem Chapter3.SetTheory.Set.partition_right [SetTheory] {A B X : Set} (h_union : A B = X) (h_inter : A B = ) :
                      B = X \ A

                      Вправа 3.1.9

                      Вправа 3.1.10

                      theorem Chapter3.SetTheory.Set.specification_from_replacement [SetTheory] {A : Set} {P : A.toSubtypeProp} :
                      BA, ∀ (x : A.toSubtype), x B P x

                      Вправа 3.1.11. Завдання полягає в тому, щоб довести це без використання Set.specify, Set.specification_axiom або Set.specification_axiom.

                      theorem Chapter3.SetTheory.Set.subset_union_subset [SetTheory] {A B A' B' : Set} (hA'A : A' A) (hB'B : B' B) :
                      A' B' A B

                      Вправа 3.1.12.

                      theorem Chapter3.SetTheory.Set.subset_inter_subset [SetTheory] {A B A' B' : Set} (hA'A : A' A) (hB'B : B' B) :
                      A' B' A B

                      Вправа 3.1.12.

                      theorem Chapter3.SetTheory.Set.subset_diff_subset_counter [SetTheory] :
                      ∃ (A : Set) (B : Set) (A' : Set) (B' : Set), A' A B' B ¬A' \ B' A \ B

                      Вправа 3.1.12.

                      theorem Chapter3.SetTheory.Set.singleton_iff [SetTheory] (A : Set) (hA : A ) :
                      (¬BA, B ) ∃ (x : Object), A = {x}

                      Вправа 3.1.13

                      @[simp]

                      Ін'єктивність перетворення. Зауважте, однак, що ми НЕ стверджуємо, що перетворення є сюръєктивним (і насправді парадокс Рассела цьому перешкоджає).

                      Сумісність операції належності ∈

                      Сумісність порожньої множини

                      Сумісність підмножини

                      Сумісність синглтона

                      Сумісність об'еднання

                      Сумісність пари

                      Сумісність підтипу

                      Сумісність перетину

                      Сумісність різниці множин

                      Сумісність неперетинності