Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 11:2df90eb0896c
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 13 May 2019 20:51:45 +0900 |
parents | 8022e14fce74 |
children | b531d2b417ad e11e95d5ddee |
files | zf.agda |
diffstat | 1 files changed, 59 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/zf.agda Mon May 13 18:25:38 2019 +0900 +++ b/zf.agda Mon May 13 20:51:45 2019 +0900 @@ -117,55 +117,86 @@ minimul = IsZF.minimul ( ZF.isZF zf ) regularity = IsZF.regularity ( ZF.isZF zf ) - russel : Select ( λ x → x ∋ x ) ≈ ∅ - russel with Select ( λ x → x ∋ x ) - ... | s = {!!} +-- russel : Select ( λ x → x ∋ x ) ≈ ∅ +-- russel with Select ( λ x → x ∋ x ) +-- ... | s = {!!} module constructible-set where - data Nat : Set zero where - Zero : Nat - Suc : Nat → Nat - - prev : Nat → Nat - prev (Suc n) = n - prev Zero = Zero + open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ) open import Relation.Binary.PropositionalEquality - data Transtive {n : Level } : ( lv : Nat) → Set n where - Φ : {lv : Nat} → Transtive {n} lv - T-suc : {lv : Nat} → Transtive {n} lv → Transtive lv - ℵ_ : (lv : Nat) → Transtive (Suc lv) + data Ordinal {n : Level } : Set n where + Φ : {lv : Nat} → Ordinal {n} lv + T-suc : {lv : Nat} → Ordinal {n} lv → Ordinal lv + ℵ_ : (lv : Nat) → Ordinal (Suc lv) + + data _o<_ {n : Level } : Ordinal {n} → Ordinal {n} → Set n where + l< : {lx ly : Nat } → {x : Ordinal {n} lx } → {y : Ordinal {n} ly } → lx < ly → x o< y + Φ< : {lx : Nat} → {x : Ordinal {n} lx} → Φ {n} {lx} o< T-suc {n} {lx} x + s< : {lx : Nat} → {x : Ordinal {n} lx} → x o< T-suc {n} {lx} x + ℵΦ< : {lx : Nat} → {x : Ordinal {n} lx } → Φ {n} {lx} o< (ℵ lx) + ℵ< : {lx : Nat} → {x : Ordinal {n} lx } → T-suc {n} {lx} x o< (ℵ lx) + + _o≈_ : {n : Level } {lv : Nat } → Rel ( Ordinal {n} lv ) n + _o≈_ = {!!} + + triO : {n : Level } → {lx ly : Nat} → Trichotomous _o≈_ ( _o<_ {n} {lx} {ly} ) + triO {n} {lv} Φ y = {!!} + triO {n} {lv} (T-suc x) y = {!!} + triO {n} {.(Suc lv)} (ℵ lv) y = {!!} + + + max = Data.Nat._⊔_ - data Constructible {n : Level } {lv : Nat} ( α : Transtive {n} lv ) : Set (suc n) where - fsub : ( ψ : Transtive {n} lv → Set n ) → Constructible α - xself : Transtive {n} lv → Constructible α + maxα : {n : Level } → { lx ly : Nat } → Ordinal {n} lx → Ordinal {n} ly → Ordinal {n} (max lx ly) + maxα x y with x o< y + ... | t = {!!} + + -- X' = { x ∈ X | ψ x } ∪ X , Mα = ( ∪ (β < α) Mβ ) ' + + data Constructible {n : Level } {lv : Nat} ( α : Ordinal {n} lv ) : Set (suc n) where + fsub : ( ψ : Ordinal {n} lv → Set n ) → Constructible α + xself : Ordinal {n} lv → Constructible α record ConstructibleSet {n : Level } : Set (suc n) where field level : Nat - α : Transtive {n} level + α : Ordinal {n} level constructible : Constructible α open ConstructibleSet - data _c∋_ {n : Level } {lv lv' : Nat} {α : Transtive {n} lv } {α' : Transtive {n} lv' } : + data _c∋_ {n : Level } : {lv lv' : Nat} {α : Ordinal {n} lv } {α' : Ordinal {n} lv' } → Constructible {n} {lv} α → Constructible {n} {lv'} α' → Set n where - xself-fsub : (ta : Transtive {n} lv ) ( ψ : Transtive {n} lv' → Set n ) → (xself ta ) t∋ ( fsub ψ) - xself-xself : (ta : Transtive {n} lv ) (tx : Transtive {n} lv' ) → (xself ta ) t∋ ( xself tx) - fsub-fsub : ( ψ : Transtive {n} lv → Set n ) ( ψ₁ : Transtive {n} lv' → Set n ) →( fsub ψ ) t∋ ( fsub ψ₁) - fsub-xself : ( ψ : Transtive {n} lv → Set n ) (tx : Transtive {n} lv' ) → (fsub ψ ) t∋ ( xself tx) + c> : {lv lv' : Nat} {α : Ordinal {n} lv } {α' : Ordinal {n} lv' } + (ta : Constructible {n} {lv} α ) ( tx : Constructible {n} {lv'} α' ) → α' o< α → ta c∋ tx + xself-fsub : {lv : Nat} {α : Ordinal {n} lv } + (ta : Ordinal {n} lv ) ( ψ : Ordinal {n} lv → Set n ) → _c∋_ {n} {_} {_} {α} {α} (xself ta ) ( fsub ψ) + fsub-fsub : {lv lv' : Nat} {α : Ordinal {n} lv } + ( ψ : Ordinal {n} lv → Set n ) ( ψ₁ : Ordinal {n} lv → Set n ) → + ( ∀ ( x : Ordinal {n} lv ) → ψ x → ψ₁ x ) → _c∋_ {n} {_} {_} {α} {α} ( fsub ψ ) ( fsub ψ₁) - _∋_ : {n m : Level} → (ConstructibleSet {n}) → (ConstructibleSet {n} ) → Set m - _∋_ = {!!} + _∋_ : {n : Level} → (ConstructibleSet {n}) → (ConstructibleSet {n} ) → Set n + a ∋ x = constructible a c∋ constructible x + + data _c≈_ {n : Level } : {lv lv' : Nat} {α : Ordinal {n} lv } {α' : Ordinal {n} lv' } → + Constructible {n} {lv} α → Constructible {n} {lv'} α' → Set n where + crefl : {lv : Nat} {α : Ordinal {n} lv } → _c≈_ {n} {_} {_} {α} {α} (xself α ) (xself α ) + feq : {lv : Nat} {α : Ordinal {n} lv } + → ( ψ : Ordinal {n} lv → Set n ) ( ψ₁ : Ordinal {n} lv → Set n ) + → (∀ ( x : Ordinal {n} lv ) → ψ x ⇔ ψ₁ x ) → _c≈_ {n} {_} {_} {α} {α} ( fsub ψ ) ( fsub ψ₁) + + _≈_ : {n : Level} → (ConstructibleSet {n}) → (ConstructibleSet {n} ) → Set n + a ≈ x = constructible a c≈ constructible x - Transtive→ZF : {n m : Level } → ZF {suc n} {m} - Transtive→ZF {n} {m} = record { + ConstructibleSet→ZF : {n : Level } → ZF {suc n} {n} + ConstructibleSet→ZF {n} = record { ZFSet = ConstructibleSet ; _∋_ = _∋_ - ; _≈_ = {!!} + ; _≈_ = _≈_ ; ∅ = record { level = Zero ; α = Φ ; constructible = xself Φ } ; _×_ = {!!} ; Union = {!!}