後続基数より小さい順序数をその基数へ単射する

この章を読むか、読書案内と依存マップで別のルートを選べます。

読書案内 · 依存マップ

後続基数は、もとの基数を真に上回る最初の基数です。δL の中で κ の後続基数であると仮定します。本章では、任意の順序数 α ∈ δ から κ への内部単射があることを証明します。証明は整礎帰納法と順序数の三分法を組み合わせます。排中律には二つの明確な役割があります。順序数の三分法を与えることと、κ ∈ α の場合に、α が基数でないことを、より小さい行き先が単に存在するという形へ変えることです。

{-# OPTIONS --cubical --safe --guardedness #-}

open import Base.Prelude
open import Base.Classical using ( LEM )

module L.GCH.BelowSuccessorCardinal { : Level} (lem : LEM (ℓ-suc )) where

宇宙レベルを一つ固定し、階層で使われる命題のレベルにおける排中律を仮定します。この古典的仮定は明示され、そのレベルも正確に定められています。証明では、まず順序数の三分法を通して使い、後に Ex を直接判定するためにもう一度使います。残りの材料は VL、順序数、内部単射についての構造的事実です。

open import FOL.ZFStructure using ( module hPropStructure )
open import V.Hierarchy {} using ( 𝒮ᵥ; regularityV; ∈-irrefl )
open import L.Constructible {} using ( 𝒮ʟ; IsOrd; isL )
open import L.Ordinal {} using ( mem-ord )
open import L.Ordinal.Linear {} lem using ( Tri; ord-tri )

議論は二つの構造の間を行き来します。周囲の階層は整礎的な所属関係とその非反射性を与え、構成可能宇宙は順序数と基数の述語を与えます。順序数の三分法が現在の順序数と κ を比較し、包含の符号化と単射の推移性が内部単射を構成して合成します。

open import L.Cardinal {} lem using ( InjL; SuccCardL; IsCardinalL )
open import L.InjectionComposition {} lem using ( inclusion-coded; injl-trans )

open import Cubical.Data.Sigma using ( _×_ )
open import Cubical.Data.Sum using ( _⊎_; inl; inr )
import Cubical.Data.Empty as Empty

例外となる分岐が与えるのは、切り詰められた証人だけです。そのため、証明は和型と空型で判定を場合分けし、命題的切り詰めで単なる存在を表し、整礎帰納法で所属関係を降ります。これらの論理形式は、命題的に切り詰められた結論 InjL と一致します。

import Cubical.HITs.PropositionalTruncation as PT
open PT using ( ∥_∥₁; ∣_∣₁; squash₁ )
import Cubical.Induction.WellFounded as WF

open hPropStructure 𝒮ᵥ using ( _∈ˢ_ )

周囲の階層の論域を SV.S と書きます。所属に関する帰納法はこの型の上で行われます。その要素は V の集合であり、この時点では L に属する証明をまだ伴いません。

module SV = hPropStructure 𝒮ᵥ using ( S )

構成可能宇宙の論域を SL.S と書きます。その要素は、周囲の集合とその構成可能性の証明からなる依存対です。SuccCardLIsCardinalLInjL はいずれもこの論域の要素について述べます。

module SL = hPropStructure 𝒮ʟ using ( S )

δκ の後続基数であり、順序数 αδ に属すると仮定します。目標 InjL α κ は、α から κ への内部単射が単に存在することを述べます。これは、κ の後続基数より小さい順序数の濃度はすべて κ 以下である、という主張の正確な形です。

below-succ-injects :
    (κ δ : SL.S)  SuccCardL δ κ
   (α : SL.S)  IsOrd (fst α)   fst α ∈ˢ fst δ 
   InjL α κ

整礎帰納法は α の基礎となる集合に施されます。述語 P a は、周囲の集合 a を考察中の順序数とみなすために必要なデータ、すなわち構成可能性の証明、順序数であること、δ に属することをちょうど補います。これらの仮定のもとで、(a , la) から κ への内部単射を要求します。

below-succ-injects κ δ (ordδ , _ , κ∈δ , least) α =
  WF.WFI.induction regularityV {P = P} step (fst α) (snd α)
  where
  P : SV.S  Type (ℓ-suc )
  P a = (la :  isL a )  IsOrd a   a ∈ˢ fst δ   InjL (a , la) κ

κ ∈ δ であり δ が順序数なので、κ 自身も順序数です。したがって帰納段階では、aκ の基礎となる集合に順序数の三分法を適用できます。帰納仮定は a の各要素で利用でき、これは三分法の第三の分岐が必要とするものです。

  ordκ : IsOrd (fst κ)
  ordκ = mem-ord {A = fst δ} ordδ (fst κ) κ∈δ

  step : (a : SV.S)  (∀ a'   a' ∈ˢ a   P a')  P a
  step a ih la orda a∈δ = go (ord-tri a orda (fst κ) ordκ)
    where

周囲の集合 a と証明 la を対にして、L の対応する要素 α' を得ます。これにより、整礎帰納法は単純な論域 SV.S 上で行いながら、濃度に関する主張は本来の論域 SL.S で述べられます。

    α' : SL.S
    α' = a , la

κ ∈ a の分岐を考えます。もし α'L-基数なら、SuccCardL δ κ の最小性により δα' に含まれます。a ∈ δ なので a ∈ a が従い、所属の非反射性に反します。したがってこの分岐では α' は基数ではありえません。

Ex は、ここで必要な非基数性を肯定的に表します。すなわち、α' が内部単射するような γ ∈ α' が単に存在する、という主張です。

    not-card :  fst κ ∈ˢ a   IsCardinalL α'  Empty.⊥
    not-card κ∈a c = ∈-irrefl a (least α' orda c κ∈a α' a∈δ)

    Ex : Type (ℓ-suc )
    Ex =  Σ[ γ  SL.S ] ( fst γ ∈ˢ a  × InjL α' γ) ∥₁

命題 Ex に排中律を適用します。成立するなら、必要な単なる証人はすでに得られています。反証されるなら、任意の要素 γα' から γ への単射が矛盾を導きます。これは順序数 α' が基数であるという条件にほかなりません。

    some-γ :  fst κ ∈ˢ a   Ex
    some-γ κ∈a = decide (lem (Ex , squash₁))
      where
      decide : Ex  (Ex  Empty.⊥)  Ex

反証の分岐は not-card と矛盾するため、どちらの結果からも Ex が得られます。この段階で排中律が与えるのは場合分けです。切り詰めを取り除くことも、特定の γ を選ぶこともありません。

      decide (inl e)  = e
      decide (inr ¬e) =
        Empty.rec (not-card κ∈a  γ γ∈a inj  ¬e  γ , γ∈a , inj ∣₁))

Ex の切り詰め前の内容は、γ ∈ aα' から γ への内部単射からなります。順序数の要素は順序数であり、δ は推移的なので、γ は再び帰納述語を満たします。帰納仮定が γ から κ への単射を与え、内部単射の推移性が二つを合成します。

    from-γ : Σ[ γ  SL.S ] ( fst γ ∈ˢ a  × InjL α' γ)  InjL α' κ
    from-γ (γ , γ∈a , α↪γ) =
      injl-trans α' γ κ α↪γ

γ で帰納仮定を使うには、P の三つの条件をすべて与えます。構成可能性は γ第二成分であり、順序数であることは γ ∈ aa の順序数性から従い、δ への所属は γ ∈ a ∈ δ と順序数 δ の推移性から従います。

        (ih (fst γ) γ∈a (snd γ)
            (mem-ord {A = a} orda (fst γ) γ∈a)
            (ordδ .fst γ∈a a∈δ))

三分法の第一の分岐は a ∈ κ です。順序数は推移的なので、a の各要素は κ の要素でもあります。この包含を符号化すれば、α' から κ への内部単射が得られます。

    go : Tri a (fst κ)  InjL α' κ
    go (inl a∈κ)       =
      inclusion-coded α' κ  z z∈a  ordκ .fst z∈a a∈κ)

等しい場合には、a ≡ fst κ に沿って同じ包含を移送すれば、必要な単射が得られます。残る κ ∈ a の場合には、先に得た切り詰められた証人を InjL α' κ へ消去します。InjL 自身が命題なので、この消去は正当です。

    go (inr (inl e))   =
      inclusion-coded α' κ  z z∈a  subst  w   z ∈ˢ w ) e z∈a)
    go (inr (inr κ∈a)) = PT.rec squash₁ from-γ (some-γ κ∈a)

これで順序数の三分法の三つの分岐がすべて閉じます。したがって、後続基数 δ より小さい任意の順序数は、その基数 κ へ内部単射します。所属の整礎性により、証明は γ へ降りられます。排中律は二箇所で使われます。ord-tri が三分法を得る箇所と、κ より上の分岐が切り詰められた小さい行き先を得る箇所です。