Mercurial > hg > Members > kono > Proof > ZF-in-agda
diff OD.agda @ 261:d9d178d1457c
ε-induction from TransFinite induction
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 17 Sep 2019 09:29:27 +0900 |
parents | 8b85949bde00 |
children | 53744836020b |
line wrap: on
line diff
--- a/OD.agda Thu Sep 05 10:58:06 2019 +0900 +++ b/OD.agda Tue Sep 17 09:29:27 2019 +0900 @@ -350,6 +350,17 @@ ; proj2 = λ x⊆A lt → record { proj1 = x⊆A lt ; proj2 = lt } } +open import Data.Unit + +ε-induction : { ψ : OD → Set (suc n)} + → ( {x : OD } → ({ y : OD } → x ∋ y → ψ y ) → ψ x ) + → (x : OD ) → ψ x +ε-induction {ψ} ind x = subst (λ k → ψ k ) oiso (ε-induction-ord (osuc (od→ord x)) <-osuc ) where + induction : (ox : Ordinal) → ((oy : Ordinal) → oy o< ox → ψ (ord→od oy)) → ψ (ord→od ox) + induction ox prev = ind ( λ {y} lt → subst (λ k → ψ k ) oiso (prev (od→ord y) (o<-subst (c<→o< lt) refl diso ))) + ε-induction-ord : (ox : Ordinal) { oy : Ordinal } → oy o< ox → ψ (ord→od oy) + ε-induction-ord ox {oy} lt = TransFinite {λ oy → ψ (ord→od oy)} induction oy + OD→ZF : ZF OD→ZF = record { ZFSet = OD