Mercurial > hg > Members > kono > Proof > ZF-in-agda
comparison HOD.agda @ 140:312e27aa3cb5
remove otrans again. start over
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 07 Jul 2019 23:02:47 +0900 |
parents | 53077af367e9 |
children | 21b2654985c4 |
comparison
equal
deleted
inserted
replaced
139:53077af367e9 | 140:312e27aa3cb5 |
---|---|
14 -- Ordinal Definable Set | 14 -- Ordinal Definable Set |
15 | 15 |
16 record HOD {n : Level} : Set (suc n) where | 16 record HOD {n : Level} : Set (suc n) where |
17 field | 17 field |
18 def : (x : Ordinal {n} ) → Set n | 18 def : (x : Ordinal {n} ) → Set n |
19 otrans : {x : Ordinal {n} } → def x → { y : Ordinal {n} } → y o< x → def y | |
20 | 19 |
21 open HOD | 20 open HOD |
22 open import Data.Unit | 21 open import Data.Unit |
23 | 22 |
24 open Ordinal | 23 open Ordinal |
47 eq→ ( ⇔→== {n} {x} {y} eq ) {z} m = proj1 eq m | 46 eq→ ( ⇔→== {n} {x} {y} eq ) {z} m = proj1 eq m |
48 eq← ( ⇔→== {n} {x} {y} eq ) {z} m = proj2 eq m | 47 eq← ( ⇔→== {n} {x} {y} eq ) {z} m = proj2 eq m |
49 | 48 |
50 -- Ordinal in HOD ( and ZFSet ) | 49 -- Ordinal in HOD ( and ZFSet ) |
51 Ord : { n : Level } → ( a : Ordinal {n} ) → HOD {n} | 50 Ord : { n : Level } → ( a : Ordinal {n} ) → HOD {n} |
52 Ord {n} a = record { def = λ y → y o< a ; otrans = lemma } where | 51 Ord {n} a = record { def = λ y → y o< a } |
53 lemma : {x : Ordinal} → x o< a → {y : Ordinal} → y o< x → y o< a | |
54 lemma {x} x<a {y} y<x = ordtrans {n} {y} {x} {a} y<x x<a | |
55 | 52 |
56 od∅ : {n : Level} → HOD {n} | 53 od∅ : {n : Level} → HOD {n} |
57 od∅ {n} = Ord o∅ | 54 od∅ {n} = Ord o∅ |
58 | 55 |
59 postulate | 56 postulate |
92 | 89 |
93 _c≤_ : {n : Level} → HOD {n} → HOD {n} → Set (suc n) | 90 _c≤_ : {n : Level} → HOD {n} → HOD {n} → Set (suc n) |
94 a c≤ b = (a ≡ b) ∨ ( b ∋ a ) | 91 a c≤ b = (a ≡ b) ∨ ( b ∋ a ) |
95 | 92 |
96 cseq : {n : Level} → HOD {n} → HOD {n} | 93 cseq : {n : Level} → HOD {n} → HOD {n} |
97 cseq x = record { def = λ y → def x (osuc y) ; otrans = lemma } where | 94 cseq x = record { def = λ y → def x (osuc y) } where |
98 lemma : {ox : Ordinal} → def x (osuc ox) → { oy : Ordinal}→ oy o< ox → def x (osuc oy) | |
99 lemma {ox} oox<Ox {oy} oy<ox = otrans x oox<Ox (osucc oy<ox ) | |
100 | 95 |
101 def-subst : {n : Level } {Z : HOD {n}} {X : Ordinal {n} }{z : HOD {n}} {x : Ordinal {n} }→ def Z X → Z ≡ z → X ≡ x → def z x | 96 def-subst : {n : Level } {Z : HOD {n}} {X : Ordinal {n} }{z : HOD {n}} {x : Ordinal {n} }→ def Z X → Z ≡ z → X ≡ x → def z x |
102 def-subst df refl refl = df | 97 def-subst df refl refl = df |
103 | 98 |
104 o<→c< : {n : Level} {x y : Ordinal {n} } → x o< y → Ord y ∋ Ord x | 99 o<→c< : {n : Level} {x y : Ordinal {n} } → x o< y → Ord y ∋ Ord x |
143 c3 lx (Φ .lx) d not | t | () | 138 c3 lx (Φ .lx) d not | t | () |
144 c3 lx (OSuc .lx x₁) d not with not ( record { lv = lx ; ord = OSuc lx x₁ } ) | 139 c3 lx (OSuc .lx x₁) d not with not ( record { lv = lx ; ord = OSuc lx x₁ } ) |
145 ... | t with t (case2 (s< s<refl ) ) | 140 ... | t with t (case2 (s< s<refl ) ) |
146 c3 lx (OSuc .lx x₁) d not | t | () | 141 c3 lx (OSuc .lx x₁) d not | t | () |
147 | 142 |
148 transitive : {n : Level } { z y x : HOD {suc n} } → z ∋ y → y ∋ x → z ∋ x | |
149 transitive {n} {z} {y} {x} z∋y x∋y with ordtrans ( c<→o< {suc n} {x} {y} x∋y ) ( c<→o< {suc n} {y} {z} z∋y ) | |
150 ... | t = otrans z z∋y (c<→o< {suc n} {x} {y} x∋y ) | |
151 | |
152 ∅5 : {n : Level} → { x : Ordinal {n} } → ¬ ( x ≡ o∅ {n} ) → o∅ {n} o< x | 143 ∅5 : {n : Level} → { x : Ordinal {n} } → ¬ ( x ≡ o∅ {n} ) → o∅ {n} o< x |
153 ∅5 {n} {record { lv = Zero ; ord = (Φ .0) }} not = ⊥-elim (not refl) | 144 ∅5 {n} {record { lv = Zero ; ord = (Φ .0) }} not = ⊥-elim (not refl) |
154 ∅5 {n} {record { lv = Zero ; ord = (OSuc .0 ord) }} not = case2 Φ< | 145 ∅5 {n} {record { lv = Zero ; ord = (OSuc .0 ord) }} not = case2 Φ< |
155 ∅5 {n} {record { lv = (Suc lv) ; ord = ord }} not = case1 (s≤s z≤n) | 146 ∅5 {n} {record { lv = (Suc lv) ; ord = ord }} not = case1 (s≤s z≤n) |
156 | 147 |
204 o<→¬c> {n} {x} {y} olt clt = o<> olt (c<→o< clt ) where | 195 o<→¬c> {n} {x} {y} olt clt = o<> olt (c<→o< clt ) where |
205 | 196 |
206 o≡→¬c< : {n : Level} → { x y : HOD {n} } → (od→ord x ) ≡ ( od→ord y) → ¬ x c< y | 197 o≡→¬c< : {n : Level} → { x y : HOD {n} } → (od→ord x ) ≡ ( od→ord y) → ¬ x c< y |
207 o≡→¬c< {n} {x} {y} oeq lt = o<¬≡ (orefl oeq ) (c<→o< lt) | 198 o≡→¬c< {n} {x} {y} oeq lt = o<¬≡ (orefl oeq ) (c<→o< lt) |
208 | 199 |
209 ∅0 : {n : Level} → record { def = λ x → Lift n ⊥ ; otrans = λ () } == od∅ {n} | 200 ∅0 : {n : Level} → record { def = λ x → Lift n ⊥ } == od∅ {n} |
210 eq→ ∅0 {w} (lift ()) | 201 eq→ ∅0 {w} (lift ()) |
211 eq← ∅0 {w} (case1 ()) | 202 eq← ∅0 {w} (case1 ()) |
212 eq← ∅0 {w} (case2 ()) | 203 eq← ∅0 {w} (case2 ()) |
213 | 204 |
214 ∅< : {n : Level} → { x y : HOD {n} } → def x (od→ord y ) → ¬ ( x == od∅ {n} ) | 205 ∅< : {n : Level} → { x y : HOD {n} } → def x (od→ord y ) → ¬ ( x == od∅ {n} ) |
234 csuc x = Ord ( osuc ( od→ord x )) | 225 csuc x = Ord ( osuc ( od→ord x )) |
235 | 226 |
236 -- Power Set of X ( or constructible by λ y → def X (od→ord y ) | 227 -- Power Set of X ( or constructible by λ y → def X (od→ord y ) |
237 | 228 |
238 ZFSubset : {n : Level} → (A x : HOD {suc n} ) → HOD {suc n} | 229 ZFSubset : {n : Level} → (A x : HOD {suc n} ) → HOD {suc n} |
239 ZFSubset A x = record { def = λ y → def A y ∧ def x y ; otrans = lemma } where | 230 ZFSubset A x = record { def = λ y → def A y ∧ def x y } where |
240 lemma : {z : Ordinal} → def A z ∧ def x z → {y : Ordinal} → y o< z → def A y ∧ def x y | |
241 lemma {z} d {y} y<z = record { proj1 = otrans A (proj1 d) y<z ; proj2 = otrans x (proj2 d) y<z } | |
242 | 231 |
243 Def : {n : Level} → (A : HOD {suc n}) → HOD {suc n} | 232 Def : {n : Level} → (A : HOD {suc n}) → HOD {suc n} |
244 Def {n} A = Ord ( sup-o ( λ x → od→ord ( ZFSubset A (ord→od x )) ) ) | 233 Def {n} A = Ord ( sup-o ( λ x → od→ord ( ZFSubset A (ord→od x )) ) ) |
245 | 234 |
246 OrdSubset : {n : Level} → (A x : Ordinal {suc n} ) → ZFSubset (Ord A) (Ord x) ≡ Ord ( minα A x ) | 235 OrdSubset : {n : Level} → (A x : Ordinal {suc n} ) → ZFSubset (Ord A) (Ord x) ≡ Ord ( minα A x ) |
294 ; Replace = Replace | 283 ; Replace = Replace |
295 ; infinite = Ord omega | 284 ; infinite = Ord omega |
296 ; isZF = isZF | 285 ; isZF = isZF |
297 } where | 286 } where |
298 Select : (X : HOD {suc n} ) → ((x : HOD {suc n} ) → Set (suc n) ) → HOD {suc n} | 287 Select : (X : HOD {suc n} ) → ((x : HOD {suc n} ) → Set (suc n) ) → HOD {suc n} |
299 Select X ψ = record { def = λ x → ((y : Ordinal {suc n} ) → X ∋ ord→od y → ψ (ord→od y)) ∧ (X ∋ ord→od x ) ; otrans = lemma } where | 288 Select X ψ = record { def = λ x → ( def X x ∧ ψ ( ord→od x )) } |
300 lemma : {x : Ordinal} → ((y : Ordinal) → X ∋ ord→od y → ψ (ord→od y)) ∧ (X ∋ ord→od x) → | |
301 {y : Ordinal} → y o< x → ((y₁ : Ordinal) → X ∋ ord→od y₁ → ψ (ord→od y₁)) ∧ (X ∋ ord→od y) | |
302 lemma {x} select {y} y<x = record { proj1 = proj1 select ; proj2 = y<X } where | |
303 y<X : X ∋ ord→od y | |
304 y<X = otrans X (proj2 select) (o<-subst y<x (sym diso) (sym diso) ) | |
305 Replace : HOD {suc n} → (HOD {suc n} → HOD {suc n} ) → HOD {suc n} | 289 Replace : HOD {suc n} → (HOD {suc n} → HOD {suc n} ) → HOD {suc n} |
306 Replace X ψ = Select ( Ord (sup-o ( λ x → od→ord (ψ (ord→od x ))))) ( λ x → ¬ (∀ (y : Ordinal ) → ¬ ( def X y ∧ ( x == ψ (Ord y) )))) | 290 Replace X ψ = Select ( Ord (sup-o ( λ x → od→ord (ψ (ord→od x ))))) ( λ x → ¬ (∀ (y : Ordinal ) → ¬ ( def X y ∧ ( x == ψ (Ord y) )))) |
307 _,_ : HOD {suc n} → HOD {suc n} → HOD {suc n} | 291 _,_ : HOD {suc n} → HOD {suc n} → HOD {suc n} |
308 x , y = Ord (omax (od→ord x) (od→ord y)) | 292 x , y = Ord (omax (od→ord x) (od→ord y)) |
309 Union : HOD {suc n} → HOD {suc n} | 293 Union : HOD {suc n} → HOD {suc n} |
367 ord-power→ : (a : Ordinal ) ( t : HOD) → Def (Ord a) ∋ t → {x : HOD} → t ∋ x → Ord a ∋ x | 351 ord-power→ : (a : Ordinal ) ( t : HOD) → Def (Ord a) ∋ t → {x : HOD} → t ∋ x → Ord a ∋ x |
368 ord-power→ a t P∋t {x} t∋x with osuc-≡< (sup-lb (POrd P∋t)) | 352 ord-power→ a t P∋t {x} t∋x with osuc-≡< (sup-lb (POrd P∋t)) |
369 ... | case1 eq = proj1 (def-subst (Ltx t∋x) (sym (subst₂ (λ j k → j ≡ k ) oiso oiso ( cong (λ k → ord→od k) (sym eq) ))) refl ) where | 353 ... | case1 eq = proj1 (def-subst (Ltx t∋x) (sym (subst₂ (λ j k → j ≡ k ) oiso oiso ( cong (λ k → ord→od k) (sym eq) ))) refl ) where |
370 Ltx : {n : Level} → {x t : HOD {suc n}} → t ∋ x → Ord (od→ord t) ∋ x | 354 Ltx : {n : Level} → {x t : HOD {suc n}} → t ∋ x → Ord (od→ord t) ∋ x |
371 Ltx {n} {x} {t} lt = c<→o< lt | 355 Ltx {n} {x} {t} lt = c<→o< lt |
372 ... | case2 lt = otrans (Ord a) (proj1 (lemma1 lt) ) | 356 ... | case2 lt = {!!} where |
373 (c<→o< {suc n} {x} {Ord (od→ord t)} (Ltx t∋x) ) where | |
374 sp = sup-x (λ x → od→ord ( ZFSubset (Ord a) (ord→od x))) | 357 sp = sup-x (λ x → od→ord ( ZFSubset (Ord a) (ord→od x))) |
375 minsup : HOD | 358 minsup : HOD |
376 minsup = ZFSubset (Ord a) ( ord→od ( sup-x (λ x → od→ord ( ZFSubset (Ord a) (ord→od x))))) | 359 minsup = ZFSubset (Ord a) ( ord→od ( sup-x (λ x → od→ord ( ZFSubset (Ord a) (ord→od x))))) |
377 Ltx : {n : Level} → {x t : HOD {suc n}} → t ∋ x → Ord (od→ord t) ∋ x | 360 Ltx : {n : Level} → {x t : HOD {suc n}} → t ∋ x → Ord (od→ord t) ∋ x |
378 Ltx {n} {x} {t} lt = c<→o< lt | 361 Ltx {n} {x} {t} lt = c<→o< lt |
425 union→ : (X z u : HOD) → (X ∋ u) ∧ (u ∋ z) → Union X ∋ z | 408 union→ : (X z u : HOD) → (X ∋ u) ∧ (u ∋ z) → Union X ∋ z |
426 union→ X z u xx with trio< ( od→ord u ) ( osuc ( od→ord z )) | 409 union→ X z u xx with trio< ( od→ord u ) ( osuc ( od→ord z )) |
427 union→ X z u xx | tri< a ¬b ¬c with osuc-< a (c<→o< (proj2 xx)) | 410 union→ X z u xx | tri< a ¬b ¬c with osuc-< a (c<→o< (proj2 xx)) |
428 union→ X z u xx | tri< a ¬b ¬c | () | 411 union→ X z u xx | tri< a ¬b ¬c | () |
429 union→ X z u xx | tri≈ ¬a b ¬c = def-subst {suc n} {_} {_} {X} {osuc (od→ord z)} (proj1 xx) refl b | 412 union→ X z u xx | tri≈ ¬a b ¬c = def-subst {suc n} {_} {_} {X} {osuc (od→ord z)} (proj1 xx) refl b |
430 union→ X z u xx | tri> ¬a ¬b c = otrans X (proj1 xx) c | 413 union→ X z u xx | tri> ¬a ¬b c = {!!} |
431 union← : (X z : HOD) (X∋z : Union X ∋ z) → (X ∋ union-u {X} {z} X∋z ) ∧ (union-u {X} {z} X∋z ∋ z ) | 414 union← : (X z : HOD) (X∋z : Union X ∋ z) → (X ∋ union-u {X} {z} X∋z ) ∧ (union-u {X} {z} X∋z ∋ z ) |
432 union← X z X∋z = record { proj1 = lemma ; proj2 = <-osuc } where | 415 union← X z X∋z = record { proj1 = lemma ; proj2 = <-osuc } where |
433 lemma : X ∋ union-u {X} {z} X∋z | 416 lemma : X ∋ union-u {X} {z} X∋z |
434 lemma = def-subst {suc n} {_} {_} {X} {od→ord (Ord (osuc ( od→ord z )))} X∋z refl ord-Ord | 417 lemma = def-subst {suc n} {_} {_} {X} {od→ord (Ord (osuc ( od→ord z )))} X∋z refl ord-Ord |
435 | 418 |
436 -- ψiso : {ψ : HOD {suc n} → Set (suc n)} {x y : HOD {suc n}} → ψ x → x ≡ y → ψ y | 419 -- ψiso : {ψ : HOD {suc n} → Set (suc n)} {x y : HOD {suc n}} → ψ x → x ≡ y → ψ y |
437 -- ψiso {ψ} t refl = t | 420 -- ψiso {ψ} t refl = t |
438 selection : {X : HOD } {ψ : (x : HOD ) → Set (suc n)} {y : HOD} → (((y₁ : HOD) → X ∋ y₁ → ψ y₁) ∧ (X ∋ y)) ⇔ (Select X ψ ∋ y) | 421 selection : {ψ : HOD → Set (suc n)} {X y : HOD} → ((X ∋ y) ∧ ψ y) ⇔ (Select X ψ ∋ y) |
439 selection {X} {ψ} {y} = record { proj1 = λ s → record { | 422 selection {X} {ψ} {y} = {!!} |
440 proj1 = λ y1 y1<X → proj1 s (ord→od y1) y1<X ; proj2 = subst (λ k → def X k ) (sym diso) (proj2 s) } | |
441 ; proj2 = λ s → record { proj1 = λ y1 dy1 → | |
442 subst (λ k → ψ k ) oiso ((proj1 s) (od→ord y1) (def-subst {suc n} {_} {_} {X} {_} dy1 refl (sym diso ))) | |
443 ; proj2 = def-subst {suc n} {_} {_} {X} {od→ord y} (proj2 s ) refl diso } } where | |
444 -- ψ< : {ψ : HOD {suc n} → HOD {suc n}} {x y y' : HOD {suc n}} → ψ y ∋ x → ψ y' == x | |
445 -- ψ< = {!!} | |
446 replacement← : {ψ : HOD → HOD} (X x : HOD) → X ∋ x → Replace X ψ ∋ ψ x | 423 replacement← : {ψ : HOD → HOD} (X x : HOD) → X ∋ x → Replace X ψ ∋ ψ x |
447 replacement← {ψ} X x lt = record { proj1 = lemma | 424 replacement← {ψ} X x lt = {!!} |
448 ; proj2 = sup-o∋ψx | |
449 } | |
450 where | |
451 sup-o∋ψx : Ord (sup-o (λ x₁ → od→ord (ψ (ord→od x₁)))) ∋ ord→od (od→ord (ψ x)) | |
452 sup-o∋ψx = def-subst {suc n} {_} {_} {Ord (sup-o (λ x₁ → od→ord (ψ (ord→od x₁))))} { od→ord (ord→od (od→ord (ψ x)))} | |
453 (sup-c< ψ {x}) refl (sym diso) | |
454 lemma : (y : Ordinal) → Ord (sup-o (λ x₁ → od→ord (ψ (ord→od x₁)))) ∋ ord→od y → | |
455 ¬ ((y₁ : Ordinal) → ¬ def X y₁ ∧ (ord→od y == ψ (Ord y₁))) | |
456 lemma y lt1 not = not (minα (od→ord x) (sup-x ( λ w → od→ord (ψ (ord→od w ))))) (record { | |
457 proj1 = ? | |
458 ; proj2 = subst₂ (λ k j → k == j ) refl oiso (o≡→== {!!}) } ) where | |
459 lemma1 : y o< osuc ( od→ord (ψ (ord→od ( sup-x ( λ w → od→ord (ψ (ord→od w ))) )))) | |
460 lemma1 = o<-subst (sup-lb lt1) diso refl | |
461 lemma2 : ord→od y ≡ ψ (ord→od ( sup-x ( λ w → od→ord (ψ (ord→od w ))))) | |
462 lemma2 with osuc-≡< lemma1 | |
463 lemma2 | case1 refl = subst (λ k → ord→od y ≡ k ) oiso refl | |
464 lemma2 | case2 t = {!!} | |
465 replacement→ : {ψ : HOD → HOD} (X x : HOD) → (lt : Replace X ψ ∋ x) → ¬ ( (y : HOD) → ¬ (x == ψ y)) | 425 replacement→ : {ψ : HOD → HOD} (X x : HOD) → (lt : Replace X ψ ∋ x) → ¬ ( (y : HOD) → ¬ (x == ψ y)) |
466 replacement→ {ψ} X x lt = contra-position lemma (proj1 lt (od→ord x) (proj2 lt)) where | 426 replacement→ {ψ} X x lt = contra-position lemma {!!} where |
467 lemma : ( (y : HOD) → ¬ (x == ψ y)) → ( (y : Ordinal) → ¬ def X y ∧ (ord→od (od→ord x) == ψ (Ord y)) ) | 427 lemma : ( (y : HOD) → ¬ (x == ψ y)) → ( (y : Ordinal) → ¬ def X y ∧ (ord→od (od→ord x) == ψ (Ord y)) ) |
468 lemma not y not2 = not (ord→od y) (subst₂ ( λ k j → k == j ) oiso (cong (λ k → ψ k ) Ord-ord ) (proj2 not2 )) | 428 lemma not y not2 = not (ord→od y) (subst₂ ( λ k j → k == j ) oiso (cong (λ k → ψ k ) Ord-ord ) (proj2 not2 )) |
469 | 429 |
470 ∅-iso : {x : HOD} → ¬ (x == od∅) → ¬ ((ord→od (od→ord x)) == od∅) | 430 ∅-iso : {x : HOD} → ¬ (x == od∅) → ¬ ((ord→od (od→ord x)) == od∅) |
471 ∅-iso {x} neq = subst (λ k → ¬ k) (=-iso {n} ) neq | 431 ∅-iso {x} neq = subst (λ k → ¬ k) (=-iso {n} ) neq |
474 proj1 (regularity x not ) = x∋minimul x not | 434 proj1 (regularity x not ) = x∋minimul x not |
475 proj2 (regularity x not ) = record { eq→ = lemma1 ; eq← = λ {y} d → lemma2 {y} d } where | 435 proj2 (regularity x not ) = record { eq→ = lemma1 ; eq← = λ {y} d → lemma2 {y} d } where |
476 lemma1 : {x₁ : Ordinal} → def (Select (minimul x not) (λ x₂ → (minimul x not ∋ x₂) ∧ (x ∋ x₂))) x₁ → def od∅ x₁ | 436 lemma1 : {x₁ : Ordinal} → def (Select (minimul x not) (λ x₂ → (minimul x not ∋ x₂) ∧ (x ∋ x₂))) x₁ → def od∅ x₁ |
477 lemma1 {x₁} s = ⊥-elim ( minimul-1 x not (ord→od x₁) lemma3 ) where | 437 lemma1 {x₁} s = ⊥-elim ( minimul-1 x not (ord→od x₁) lemma3 ) where |
478 lemma3 : def (minimul x not) (od→ord (ord→od x₁)) ∧ def x (od→ord (ord→od x₁)) | 438 lemma3 : def (minimul x not) (od→ord (ord→od x₁)) ∧ def x (od→ord (ord→od x₁)) |
479 lemma3 = proj1 s x₁ (proj2 s) | 439 lemma3 = {!!} |
480 lemma2 : {x₁ : Ordinal} → def od∅ x₁ → def (Select (minimul x not) (λ x₂ → (minimul x not ∋ x₂) ∧ (x ∋ x₂))) x₁ | 440 lemma2 : {x₁ : Ordinal} → def od∅ x₁ → def (Select (minimul x not) (λ x₂ → (minimul x not ∋ x₂) ∧ (x ∋ x₂))) x₁ |
481 lemma2 {y} d = ⊥-elim (empty (ord→od y) (def-subst {suc n} {_} {_} {od∅} {od→ord (ord→od y)} d refl (sym diso) )) | 441 lemma2 {y} d = ⊥-elim (empty (ord→od y) (def-subst {suc n} {_} {_} {od∅} {od→ord (ord→od y)} d refl (sym diso) )) |
482 | 442 |
483 extensionality : {A B : HOD {suc n}} → ((z : HOD) → (A ∋ z) ⇔ (B ∋ z)) → A == B | 443 extensionality : {A B : HOD {suc n}} → ((z : HOD) → (A ∋ z) ⇔ (B ∋ z)) → A == B |
484 eq→ (extensionality {A} {B} eq ) {x} d = def-iso {suc n} {A} {B} (sym diso) (proj1 (eq (ord→od x))) d | 444 eq→ (extensionality {A} {B} eq ) {x} d = def-iso {suc n} {A} {B} (sym diso) (proj1 (eq (ord→od x))) d |