Mercurial > hg > Members > kono > Proof > ZF-in-agda
diff src/VL.agda @ 431:a5f8084b8368
reorganiztion for apkg
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 21 Dec 2020 10:23:37 +0900 |
parents | |
children | d122d0c1b094 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/VL.agda Mon Dec 21 10:23:37 2020 +0900 @@ -0,0 +1,86 @@ +open import Level +open import Ordinals +module VL {n : Level } (O : Ordinals {n}) where + +open import zf +open import logic +import OD +open import Relation.Nullary +open import Relation.Binary +open import Data.Empty +open import Relation.Binary +open import Relation.Binary.Core +open import Relation.Binary.PropositionalEquality +open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ; _⊔_ to _n⊔_ ) +import BAlgbra +open BAlgbra O +open inOrdinal O +import OrdUtil +import ODUtil +open Ordinals.Ordinals O +open Ordinals.IsOrdinals isOrdinal +open Ordinals.IsNext isNext +open OrdUtil O +open ODUtil O + +open OD O +open OD.OD +open ODAxiom odAxiom +-- import ODC +open _∧_ +open _∨_ +open Bool +open HOD + +-- The cumulative hierarchy +-- V 0 := ∅ +-- V α + 1 := P ( V α ) +-- V α := ⋃ { V β | β < α } + +V : ( β : Ordinal ) → HOD +V β = TransFinite V1 β where + V1 : (x : Ordinal ) → ( ( y : Ordinal) → y o< x → HOD ) → HOD + V1 x V0 with trio< x o∅ + V1 x V0 | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a) + V1 x V0 | tri≈ ¬a refl ¬c = Ord o∅ + V1 x V0 | tri> ¬a ¬b c with Oprev-p x + V1 x V0 | tri> ¬a ¬b c | yes p = Power ( V0 (Oprev.oprev p ) (subst (λ k → _ o< k) (Oprev.oprev=x p) <-osuc )) + V1 x V0 | tri> ¬a ¬b c | no ¬p = + record { od = record { def = λ y → (y o< x ) ∧ ((lt : y o< x ) → odef (V0 y lt) x ) } ; odmax = x; <odmax = λ {x} lt → proj1 lt } + +-- +-- L ⊆ HOD ⊆ V +-- +-- HOD=V : (x : HOD) → V (odmax x) ∋ x +-- HOD=V x = {!!} + +-- +-- Definition for Power Set +-- +record Definitions : Set (suc n) where + field + Definition : HOD → HOD + +open Definitions + +Df : Definitions → (x : HOD) → HOD +Df D x = Power x ∩ Definition D x + +-- The constructible Sets +-- L 0 := ∅ +-- L α + 1 := Df (L α) -- Definable Power Set +-- V α := ⋃ { L β | β < α } + +L : ( β : Ordinal ) → Definitions → HOD +L β D = TransFinite L1 β where + L1 : (x : Ordinal ) → ( ( y : Ordinal) → y o< x → HOD ) → HOD + L1 x L0 with trio< x o∅ + L1 x L0 | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a) + L1 x L0 | tri≈ ¬a refl ¬c = Ord o∅ + L1 x L0 | tri> ¬a ¬b c with Oprev-p x + L1 x L0 | tri> ¬a ¬b c | yes p = Df D ( L0 (Oprev.oprev p ) (subst (λ k → _ o< k) (Oprev.oprev=x p) <-osuc )) + L1 x L0 | tri> ¬a ¬b c | no ¬p = + record { od = record { def = λ y → (y o< x ) ∧ ((lt : y o< x ) → odef (L0 y lt) x ) } ; odmax = x; <odmax = λ {x} lt → proj1 lt } + +V=L0 : Set (suc n) +V=L0 = (x : Ordinal) → V x ≡ L x record { Definition = λ y → y }