comparison OD.agda @ 396:8c092c042093

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 27 Jul 2020 15:11:54 +0900
parents 77c6123f49ee
children 382a4a411aff
comparison
equal deleted inserted replaced
395:77c6123f49ee 396:8c092c042093
137 od∅ = Ord o∅ 137 od∅ = Ord o∅
138 138
139 odef : HOD → Ordinal → Set n 139 odef : HOD → Ordinal → Set n
140 odef A x = def ( od A ) x 140 odef A x = def ( od A ) x
141 141
142 _∋_ : ( a x : HOD ) → Set n
143 _∋_ a x = odef a ( od→ord x )
144
145 _c<_ : ( x a : HOD ) → Set n
146 x c< a = a ∋ x
147
148 d→∋ : ( a : HOD ) { x : Ordinal} → odef a x → a ∋ (ord→od x)
149 d→∋ a lt = subst (λ k → odef a k ) (sym diso) lt
150
151 cseq : HOD → HOD
152 cseq x = record { od = record { def = λ y → odef x (osuc y) } ; odmax = osuc (odmax x) ; <odmax = lemma } where
153 lemma : {y : Ordinal} → def (od x) (osuc y) → y o< osuc (odmax x)
154 lemma {y} lt = ordtrans <-osuc (ordtrans (<odmax x lt) <-osuc )
155
156 odef-subst : {Z : HOD } {X : Ordinal }{z : HOD } {x : Ordinal }→ odef Z X → Z ≡ z → X ≡ x → odef z x
157 odef-subst df refl refl = df
158
159 otrans : {a x y : Ordinal } → odef (Ord a) x → odef (Ord x) y → odef (Ord a) y
160 otrans x<a y<x = ordtrans y<x x<a
161
162 odef→o< : {X : HOD } → {x : Ordinal } → odef X x → x o< od→ord X
163 odef→o< {X} {x} lt = o<-subst {_} {_} {x} {od→ord X} ( c<→o< ( odef-subst {X} {x} lt (sym oiso) (sym diso) )) diso diso
164
165 odefo→o< : {X y : Ordinal } → odef (ord→od X) y → y o< X
166 odefo→o< {X} {y} lt = subst₂ (λ j k → j o< k ) diso diso ( c<→o< (subst (λ k → odef (ord→od X) k ) (sym diso ) lt ))
167
142 -- If we have reverse of c<→o<, everything becomes Ordinal 168 -- If we have reverse of c<→o<, everything becomes Ordinal
143 o<→c<→HOD=Ord : ( o<→c< : {x y : Ordinal } → x o< y → odef (ord→od y) x ) → {x : HOD } → x ≡ Ord (od→ord x) 169 o<→c<→HOD=Ord : ( o<→c< : {x y : Ordinal } → x o< y → odef (ord→od y) x ) → {x : HOD } → x ≡ Ord (od→ord x)
144 o<→c<→HOD=Ord o<→c< {x} = ==→o≡ ( record { eq→ = lemma1 ; eq← = lemma2 } ) where 170 o<→c<→HOD=Ord o<→c< {x} = ==→o≡ ( record { eq→ = lemma1 ; eq← = lemma2 } ) where
145 lemma1 : {y : Ordinal} → odef x y → odef (Ord (od→ord x)) y 171 lemma1 : {y : Ordinal} → odef x y → odef (Ord (od→ord x)) y
146 lemma1 {y} lt = subst ( λ k → k o< od→ord x ) diso (c<→o< {ord→od y} {x} (subst (λ k → odef x k ) (sym diso) lt)) 172 lemma1 {y} lt = subst ( λ k → k o< od→ord x ) diso (c<→o< {ord→od y} {x} (d→∋ x lt))
147 lemma2 : {y : Ordinal} → odef (Ord (od→ord x)) y → odef x y 173 lemma2 : {y : Ordinal} → odef (Ord (od→ord x)) y → odef x y
148 lemma2 {y} lt = subst (λ k → odef k y ) oiso (o<→c< {y} {od→ord x} lt ) 174 lemma2 {y} lt = subst (λ k → odef k y ) oiso (o<→c< {y} {od→ord x} lt )
149
150 _∋_ : ( a x : HOD ) → Set n
151 _∋_ a x = odef a ( od→ord x )
152
153 _c<_ : ( x a : HOD ) → Set n
154 x c< a = a ∋ x
155
156 cseq : HOD → HOD
157 cseq x = record { od = record { def = λ y → odef x (osuc y) } ; odmax = osuc (odmax x) ; <odmax = lemma } where
158 lemma : {y : Ordinal} → def (od x) (osuc y) → y o< osuc (odmax x)
159 lemma {y} lt = ordtrans <-osuc (ordtrans (<odmax x lt) <-osuc )
160
161 odef-subst : {Z : HOD } {X : Ordinal }{z : HOD } {x : Ordinal }→ odef Z X → Z ≡ z → X ≡ x → odef z x
162 odef-subst df refl refl = df
163
164 otrans : {a x y : Ordinal } → odef (Ord a) x → odef (Ord x) y → odef (Ord a) y
165 otrans x<a y<x = ordtrans y<x x<a
166
167 odef→o< : {X : HOD } → {x : Ordinal } → odef X x → x o< od→ord X
168 odef→o< {X} {x} lt = o<-subst {_} {_} {x} {od→ord X} ( c<→o< ( odef-subst {X} {x} lt (sym oiso) (sym diso) )) diso diso
169
170 odefo→o< : {X y : Ordinal } → odef (ord→od X) y → y o< X
171 odefo→o< {X} {y} lt = subst₂ (λ j k → j o< k ) diso diso ( c<→o< (subst (λ k → odef (ord→od X) k ) (sym diso ) lt ))
172 175
173 -- avoiding lv != Zero error 176 -- avoiding lv != Zero error
174 orefl : { x : HOD } → { y : Ordinal } → od→ord x ≡ y → od→ord x ≡ y 177 orefl : { x : HOD } → { y : Ordinal } → od→ord x ≡ y → od→ord x ≡ y
175 orefl refl = refl 178 orefl refl = refl
176 179
261 264
262 -- another possible restriction. We reqest no minimality on odmax, so it may arbitrary larger. 265 -- another possible restriction. We reqest no minimality on odmax, so it may arbitrary larger.
263 odmax<od→ord : { x y : HOD } → x ∋ y → Set n 266 odmax<od→ord : { x y : HOD } → x ∋ y → Set n
264 odmax<od→ord {x} {y} x∋y = odmax x o< od→ord x 267 odmax<od→ord {x} {y} x∋y = odmax x o< od→ord x
265 268
266 -- open import Relation.Binary.HeterogeneousEquality as HE using (_≅_ )
267 -- postulate f-extensionality : { n : Level} → Relation.Binary.PropositionalEquality.Extensionality n (suc n) 269 -- postulate f-extensionality : { n : Level} → Relation.Binary.PropositionalEquality.Extensionality n (suc n)
268 270
269 in-codomain : (X : HOD ) → ( ψ : HOD → HOD ) → OD 271 in-codomain : (X : HOD ) → ( ψ : HOD → HOD ) → OD
270 in-codomain X ψ = record { def = λ x → ¬ ( (y : Ordinal ) → ¬ ( odef X y ∧ ( x ≡ od→ord (ψ (ord→od y ))))) } 272 in-codomain X ψ = record { def = λ x → ¬ ( (y : Ordinal ) → ¬ ( odef X y ∧ ( x ≡ od→ord (ψ (ord→od y ))))) }
271 273
285 287
286 refl-⊆ : {A : HOD} → A ⊆ A 288 refl-⊆ : {A : HOD} → A ⊆ A
287 refl-⊆ {A} = record { incl = λ x → x } 289 refl-⊆ {A} = record { incl = λ x → x }
288 290
289 od⊆→o≤ : {x y : HOD } → x ⊆ y → od→ord x o< osuc (od→ord y) 291 od⊆→o≤ : {x y : HOD } → x ⊆ y → od→ord x o< osuc (od→ord y)
290 od⊆→o≤ {x} {y} lt = ⊆→o≤ {x} {y} (λ {z} x>z → subst (λ k → def (od y) k ) diso (incl lt (subst (λ k → def (od x) k ) (sym diso) x>z ))) 292 od⊆→o≤ {x} {y} lt = ⊆→o≤ {x} {y} (λ {z} x>z → subst (λ k → def (od y) k ) diso (incl lt (d→∋ x x>z)))
291 293
292 -- if we have od→ord (x , x) ≡ osuc (od→ord x), ⊆→o≤ → c<→o< 294 -- if we have od→ord (x , x) ≡ osuc (od→ord x), ⊆→o≤ → c<→o<
293 ⊆→o≤→c<→o< : ({x : HOD} → od→ord (x , x) ≡ osuc (od→ord x) ) 295 ⊆→o≤→c<→o< : ({x : HOD} → od→ord (x , x) ≡ osuc (od→ord x) )
294 → ({y z : HOD } → ({x : Ordinal} → def (od y) x → def (od z) x ) → od→ord y o< osuc (od→ord z) ) 296 → ({y z : HOD } → ({x : Ordinal} → def (od y) x → def (od z) x ) → od→ord y o< osuc (od→ord z) )
295 → {x y : HOD } → def (od y) ( od→ord x ) → od→ord x o< od→ord y 297 → {x y : HOD } → def (od y) ( od→ord x ) → od→ord x o< od→ord y
313 } 315 }
314 316
315 power< : {A x : HOD } → x ⊆ A → Ord (osuc (od→ord A)) ∋ x 317 power< : {A x : HOD } → x ⊆ A → Ord (osuc (od→ord A)) ∋ x
316 power< {A} {x} x⊆A = ⊆→o≤ (λ {y} x∋y → subst (λ k → def (od A) k) diso (lemma y x∋y ) ) where 318 power< {A} {x} x⊆A = ⊆→o≤ (λ {y} x∋y → subst (λ k → def (od A) k) diso (lemma y x∋y ) ) where
317 lemma : (y : Ordinal) → def (od x) y → def (od A) (od→ord (ord→od y)) 319 lemma : (y : Ordinal) → def (od x) y → def (od A) (od→ord (ord→od y))
318 lemma y x∋y = incl x⊆A (subst (λ k → def (od x) k ) (sym diso) x∋y ) 320 lemma y x∋y = incl x⊆A (d→∋ x x∋y)
319 321
320 open import Data.Unit 322 open import Data.Unit
321 323
322 ε-induction : { ψ : HOD → Set n} 324 ε-induction : { ψ : HOD → Set n}
323 → ( {x : HOD } → ({ y : HOD } → x ∋ y → ψ y ) → ψ x ) 325 → ( {x : HOD } → ({ y : HOD } → x ∋ y → ψ y ) → ψ x )
347 rmax : Ordinal 349 rmax : Ordinal
348 rmax = sup-o X (λ y X∋y → od→ord (ψ (ord→od y))) 350 rmax = sup-o X (λ y X∋y → od→ord (ψ (ord→od y)))
349 rmax< : {y : Ordinal} → (y o< rmax) ∧ def (in-codomain X ψ) y → y o< rmax 351 rmax< : {y : Ordinal} → (y o< rmax) ∧ def (in-codomain X ψ) y → y o< rmax
350 rmax< lt = proj1 lt 352 rmax< lt = proj1 lt
351 353
352 d→∋ : ( a : HOD ) { x : Ordinal} → odef a x → a ∋ (ord→od x)
353 d→∋ a lt = subst (λ k → odef a k ) (sym diso) lt
354
355 -- 354 --
356 -- If we have LEM, Replace' is equivalent to Replace 355 -- If we have LEM, Replace' is equivalent to Replace
357 -- 356 --
358 in-codomain' : (X : HOD ) → ((x : HOD) → X ∋ x → HOD) → OD 357 in-codomain' : (X : HOD ) → ((x : HOD) → X ∋ x → HOD) → OD
359 in-codomain' X ψ = record { def = λ x → ¬ ( (y : Ordinal ) → ¬ ( odef X y ∧ ((lt : odef X y) → x ≡ od→ord (ψ (ord→od y ) (d→∋ X lt) )))) } 358 in-codomain' X ψ = record { def = λ x → ¬ ( (y : Ordinal ) → ¬ ( odef X y ∧ ((lt : odef X y) → x ≡ od→ord (ψ (ord→od y ) (d→∋ X lt) )))) }
369 Union U = record { od = record { def = λ x → ¬ (∀ (u : Ordinal ) → ¬ ((odef U u) ∧ (odef (ord→od u) x))) } 368 Union U = record { od = record { def = λ x → ¬ (∀ (u : Ordinal ) → ¬ ((odef U u) ∧ (odef (ord→od u) x))) }
370 ; odmax = osuc (od→ord U) ; <odmax = umax< } where 369 ; odmax = osuc (od→ord U) ; <odmax = umax< } where
371 umax< : {y : Ordinal} → ¬ ((u : Ordinal) → ¬ def (od U) u ∧ def (od (ord→od u)) y) → y o< osuc (od→ord U) 370 umax< : {y : Ordinal} → ¬ ((u : Ordinal) → ¬ def (od U) u ∧ def (od (ord→od u)) y) → y o< osuc (od→ord U)
372 umax< {y} not = lemma (FExists _ lemma1 not ) where 371 umax< {y} not = lemma (FExists _ lemma1 not ) where
373 lemma0 : {x : Ordinal} → def (od (ord→od x)) y → y o< x 372 lemma0 : {x : Ordinal} → def (od (ord→od x)) y → y o< x
374 lemma0 {x} x<y = subst₂ (λ j k → j o< k ) diso diso (c<→o< (subst (λ k → def (od (ord→od x)) k) (sym diso) x<y)) 373 lemma0 {x} x<y = subst₂ (λ j k → j o< k ) diso diso (c<→o< (d→∋ (ord→od x) x<y ))
375 lemma2 : {x : Ordinal} → def (od U) x → x o< od→ord U 374 lemma2 : {x : Ordinal} → def (od U) x → x o< od→ord U
376 lemma2 {x} x<U = subst (λ k → k o< od→ord U ) diso (c<→o< (subst (λ k → def (od U) k) (sym diso) x<U)) 375 lemma2 {x} x<U = subst (λ k → k o< od→ord U ) diso (c<→o< (d→∋ U x<U))
377 lemma1 : {x : Ordinal} → def (od U) x ∧ def (od (ord→od x)) y → ¬ (od→ord U o< y) 376 lemma1 : {x : Ordinal} → def (od U) x ∧ def (od (ord→od x)) y → ¬ (od→ord U o< y)
378 lemma1 {x} lt u<y = o<> u<y (ordtrans (lemma0 (proj2 lt)) (lemma2 (proj1 lt)) ) 377 lemma1 {x} lt u<y = o<> u<y (ordtrans (lemma0 (proj2 lt)) (lemma2 (proj1 lt)) )
379 lemma : ¬ ((od→ord U) o< y ) → y o< osuc (od→ord U) 378 lemma : ¬ ((od→ord U) o< y ) → y o< osuc (od→ord U)
380 lemma not with trio< y (od→ord U) 379 lemma not with trio< y (od→ord U)
381 lemma not | tri< a ¬b ¬c = ordtrans a <-osuc 380 lemma not | tri< a ¬b ¬c = ordtrans a <-osuc
453 lemma = subst (λ k → od→ord (Union (k , ( k , k ))) ≡ od→ord (nat→ω (Suc n))) (sym oiso) refl 452 lemma = subst (λ k → od→ord (Union (k , ( k , k ))) ≡ od→ord (nat→ω (Suc n))) (sym oiso) refl
454 453
455 _=h=_ : (x y : HOD) → Set n 454 _=h=_ : (x y : HOD) → Set n
456 x =h= y = od x == od y 455 x =h= y = od x == od y
457 456
457 open import Relation.Binary.HeterogeneousEquality as HE using (_≅_ )
458
459 ord∋eq : {n : Level } {A i : HOD } → { f : (x : HOD ) → A ∋ x → Set n}
460 → ( ( x : Ordinal ) → ( lx : odef A x ) → f (ord→od x) (d→∋ A lx) )
461 → ( lt : A ∋ i ) → f i lt
462 ord∋eq {n} {A} {i} {f} of lt = subst (λ k → odef A k ) ? (of (od→ord i) ?)
463
464 nat→ω-iso : {i : HOD} → (lt : infinite ∋ i ) → nat→ω ( ω→nat i lt ) ≡ i
465 nat→ω-iso {i} lt = ord∋eq {_} {infinite} {i} (λ x lx → lemma lx ) lt where
466 lemma : {x : Ordinal} → (lx : infinite-d x ) → nat→ω ( ω→nat (ord→od x) (d→∋ infinite lx) ) ≡ ord→od x
467 lemma = {!!}
468
458 infixr 200 _∈_ 469 infixr 200 _∈_
459 -- infixr 230 _∩_ _∪_ 470 -- infixr 230 _∩_ _∪_
460 471
461 pair→ : ( x y t : HOD ) → (x , y) ∋ t → ( t =h= x ) ∨ ( t =h= y ) 472 pair→ : ( x y t : HOD ) → (x , y) ∋ t → ( t =h= x ) ∨ ( t =h= y )
462 pair→ x y t (case1 t≡x ) = case1 (subst₂ (λ j k → j =h= k ) oiso oiso (o≡→== t≡x )) 473 pair→ x y t (case1 t≡x ) = case1 (subst₂ (λ j k → j =h= k ) oiso oiso (o≡→== t≡x ))
483 union→ X z u xx not = ⊥-elim ( not (od→ord u) ( record { proj1 = proj1 xx 494 union→ X z u xx not = ⊥-elim ( not (od→ord u) ( record { proj1 = proj1 xx
484 ; proj2 = subst ( λ k → odef k (od→ord z)) (sym oiso) (proj2 xx) } )) 495 ; proj2 = subst ( λ k → odef k (od→ord z)) (sym oiso) (proj2 xx) } ))
485 union← : (X z : HOD) (X∋z : Union X ∋ z) → ¬ ( (u : HOD ) → ¬ ((X ∋ u) ∧ (u ∋ z ))) 496 union← : (X z : HOD) (X∋z : Union X ∋ z) → ¬ ( (u : HOD ) → ¬ ((X ∋ u) ∧ (u ∋ z )))
486 union← X z UX∋z = FExists _ lemma UX∋z where 497 union← X z UX∋z = FExists _ lemma UX∋z where
487 lemma : {y : Ordinal} → odef X y ∧ odef (ord→od y) (od→ord z) → ¬ ((u : HOD) → ¬ (X ∋ u) ∧ (u ∋ z)) 498 lemma : {y : Ordinal} → odef X y ∧ odef (ord→od y) (od→ord z) → ¬ ((u : HOD) → ¬ (X ∋ u) ∧ (u ∋ z))
488 lemma {y} xx not = not (ord→od y) record { proj1 = subst ( λ k → odef X k ) (sym diso) (proj1 xx ) ; proj2 = proj2 xx } 499 lemma {y} xx not = not (ord→od y) record { proj1 = d→∋ X (proj1 xx) ; proj2 = proj2 xx }
489 500
490 ψiso : {ψ : HOD → Set n} {x y : HOD } → ψ x → x ≡ y → ψ y 501 ψiso : {ψ : HOD → Set n} {x y : HOD } → ψ x → x ≡ y → ψ y
491 ψiso {ψ} t refl = t 502 ψiso {ψ} t refl = t
492 selection : {ψ : HOD → Set n} {X y : HOD} → ((X ∋ y) ∧ ψ y) ⇔ (Select X ψ ∋ y) 503 selection : {ψ : HOD → Set n} {X y : HOD} → ((X ∋ y) ∧ ψ y) ⇔ (Select X ψ ∋ y)
493 selection {ψ} {X} {y} = record { 504 selection {ψ} {X} {y} = record {
523 -- 534 --
524 -- 535 --
525 ∩-≡ : { a b : HOD } → ({x : HOD } → (a ∋ x → b ∋ x)) → a =h= ( b ∩ a ) 536 ∩-≡ : { a b : HOD } → ({x : HOD } → (a ∋ x → b ∋ x)) → a =h= ( b ∩ a )
526 ∩-≡ {a} {b} inc = record { 537 ∩-≡ {a} {b} inc = record {
527 eq→ = λ {x} x<a → record { proj2 = x<a ; 538 eq→ = λ {x} x<a → record { proj2 = x<a ;
528 proj1 = odef-subst {_} {_} {b} {x} (inc (odef-subst {_} {_} {a} {_} x<a refl (sym diso) )) refl diso } ; 539 proj1 = odef-subst {_} {_} {b} {x} (inc (d→∋ a x<a)) refl diso } ;
529 eq← = λ {x} x<a∩b → proj2 x<a∩b } 540 eq← = λ {x} x<a∩b → proj2 x<a∩b }
530 -- 541 --
531 -- Transitive Set case 542 -- Transitive Set case
532 -- we have t ∋ x → Ord a ∋ x means t is a subset of Ord a, that is (Ord a) ∩ t =h= t 543 -- we have t ∋ x → Ord a ∋ x means t is a subset of Ord a, that is (Ord a) ∩ t =h= t
533 -- OPwr (Ord a) is a sup of (Ord a) ∩ t, so OPwr (Ord a) ∋ t 544 -- OPwr (Ord a) is a sup of (Ord a) ∩ t, so OPwr (Ord a) ∋ t
538 lemma refl (lemma1 lemma-eq )where 549 lemma refl (lemma1 lemma-eq )where
539 lemma-eq : ((Ord a) ∩ t) =h= t 550 lemma-eq : ((Ord a) ∩ t) =h= t
540 eq→ lemma-eq {z} w = proj2 w 551 eq→ lemma-eq {z} w = proj2 w
541 eq← lemma-eq {z} w = record { proj2 = w ; 552 eq← lemma-eq {z} w = record { proj2 = w ;
542 proj1 = odef-subst {_} {_} {(Ord a)} {z} 553 proj1 = odef-subst {_} {_} {(Ord a)} {z}
543 ( t→A (odef-subst {_} {_} {t} {od→ord (ord→od z)} w refl (sym diso) )) refl diso } 554 ( t→A (d→∋ t w)) refl diso }
544 lemma1 : {a : Ordinal } { t : HOD } 555 lemma1 : {a : Ordinal } { t : HOD }
545 → (eq : ((Ord a) ∩ t) =h= t) → od→ord ((Ord a) ∩ (ord→od (od→ord t))) ≡ od→ord t 556 → (eq : ((Ord a) ∩ t) =h= t) → od→ord ((Ord a) ∩ (ord→od (od→ord t))) ≡ od→ord t
546 lemma1 {a} {t} eq = subst (λ k → od→ord ((Ord a) ∩ k) ≡ od→ord t ) (sym oiso) (cong (λ k → od→ord k ) (==→o≡ eq )) 557 lemma1 {a} {t} eq = subst (λ k → od→ord ((Ord a) ∩ k) ≡ od→ord t ) (sym oiso) (cong (λ k → od→ord k ) (==→o≡ eq ))
547 lemma2 : (od→ord t) o< (osuc (od→ord (Ord a))) 558 lemma2 : (od→ord t) o< (osuc (od→ord (Ord a)))
548 lemma2 = ⊆→o≤ {t} {Ord a} (λ {x} x<t → subst (λ k → def (od (Ord a)) k) diso (t→A (subst (λ k → def (od t) k) (sym diso) x<t))) 559 lemma2 = ⊆→o≤ {t} {Ord a} (λ {x} x<t → subst (λ k → def (od (Ord a)) k) diso (t→A (d→∋ t x<t)))
549 lemma : od→ord ((Ord a) ∩ (ord→od (od→ord t)) ) o< sup-o (Ord (osuc (od→ord (Ord a)))) (λ x lt → od→ord ((Ord a) ∩ (ord→od x))) 560 lemma : od→ord ((Ord a) ∩ (ord→od (od→ord t)) ) o< sup-o (Ord (osuc (od→ord (Ord a)))) (λ x lt → od→ord ((Ord a) ∩ (ord→od x)))
550 lemma = sup-o< _ lemma2 561 lemma = sup-o< _ lemma2
551 562
552 -- 563 --
553 -- Every set in HOD is a subset of Ordinals, so make OPwr (Ord (od→ord A)) first 564 -- Every set in HOD is a subset of Ordinals, so make OPwr (Ord (od→ord A)) first
589 lemma9 : def (od (Ord (Ordinals.osuc O (od→ord (Ord (od→ord A)))))) (od→ord (Ord (od→ord A))) 600 lemma9 : def (od (Ord (Ordinals.osuc O (od→ord (Ord (od→ord A)))))) (od→ord (Ord (od→ord A)))
590 lemma9 = <-osuc 601 lemma9 = <-osuc
591 lemmab : od→ord ((Ord (od→ord A)) ∩ (ord→od (od→ord (Ord (od→ord A) )))) o< sup1 602 lemmab : od→ord ((Ord (od→ord A)) ∩ (ord→od (od→ord (Ord (od→ord A) )))) o< sup1
592 lemmab = sup-o< (Ord (osuc (od→ord (Ord (od→ord A))))) lemma9 603 lemmab = sup-o< (Ord (osuc (od→ord (Ord (od→ord A))))) lemma9
593 lemmad : Ord (osuc (od→ord A)) ∋ t 604 lemmad : Ord (osuc (od→ord A)) ∋ t
594 lemmad = ⊆→o≤ (λ {x} lt → subst (λ k → def (od A) k ) diso (t→A (subst (λ k → def (od t) k ) (sym diso) lt))) 605 lemmad = ⊆→o≤ (λ {x} lt → subst (λ k → def (od A) k ) diso (t→A (d→∋ t lt)))
595 lemmac : ((Ord (od→ord A)) ∩ (ord→od (od→ord (Ord (od→ord A) )))) =h= Ord (od→ord A) 606 lemmac : ((Ord (od→ord A)) ∩ (ord→od (od→ord (Ord (od→ord A) )))) =h= Ord (od→ord A)
596 lemmac = record { eq→ = lemmaf ; eq← = lemmag } where 607 lemmac = record { eq→ = lemmaf ; eq← = lemmag } where
597 lemmaf : {x : Ordinal} → def (od ((Ord (od→ord A)) ∩ (ord→od (od→ord (Ord (od→ord A)))))) x → def (od (Ord (od→ord A))) x 608 lemmaf : {x : Ordinal} → def (od ((Ord (od→ord A)) ∩ (ord→od (od→ord (Ord (od→ord A)))))) x → def (od (Ord (od→ord A))) x
598 lemmaf {x} lt = proj1 lt 609 lemmaf {x} lt = proj1 lt
599 lemmag : {x : Ordinal} → def (od (Ord (od→ord A))) x → def (od ((Ord (od→ord A)) ∩ (ord→od (od→ord (Ord (od→ord A)))))) x 610 lemmag : {x : Ordinal} → def (od (Ord (od→ord A))) x → def (od ((Ord (od→ord A)) ∩ (ord→od (od→ord (Ord (od→ord A)))))) x