comparison src/zorn.agda @ 596:f484cff027e4

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 14 Jun 2022 00:25:59 +0900
parents 96f377d87427
children 2595d2f6487b
comparison
equal deleted inserted replaced
595:96f377d87427 596:f484cff027e4
246 fc∨sup : FClosure A f p x ∨ ((a : Ordinal) → FClosure A f p a → (a ≡ x) ∨ (a << x) ) 246 fc∨sup : FClosure A f p x ∨ ((a : Ordinal) → FClosure A f p a → (a ≡ x) ∨ (a << x) )
247 f-min : (x1 : Ordinal) → ( (a : Ordinal) → FClosure A f p a → (a ≡ x1 ) ∨ (a << x1) ) → FClosure A f p x1 ∨ ( x o≤ x1 ) 247 f-min : (x1 : Ordinal) → ( (a : Ordinal) → FClosure A f p a → (a ≡ x1 ) ∨ (a << x1) ) → FClosure A f p x1 ∨ ( x o≤ x1 )
248 248
249 data Fc∨sup (A : HOD) {y : Ordinal} (ay : odef A y) ( f : Ordinal → Ordinal ) : (x : Ordinal) → Set n where 249 data Fc∨sup (A : HOD) {y : Ordinal} (ay : odef A y) ( f : Ordinal → Ordinal ) : (x : Ordinal) → Set n where
250 Finit : {z : Ordinal} → z ≡ y → Fc∨sup A ay f z 250 Finit : {z : Ordinal} → z ≡ y → Fc∨sup A ay f z
251 Fc : {p x : Ordinal} → p o< x → Fc∨sup A ay f p → FChain A f p x → Fc∨sup A ay f x 251 Fc : {p x : Ordinal} → p o< osuc x → Fc∨sup A ay f p → FChain A f p x → Fc∨sup A ay f x
252 252
253 record ZChain ( A : HOD ) (x : Ordinal) ( f : Ordinal → Ordinal ) ( z : Ordinal ) : Set (Level.suc n) where 253 record ZChain ( A : HOD ) (x : Ordinal) ( f : Ordinal → Ordinal ) ( z : Ordinal ) : Set (Level.suc n) where
254 field 254 field
255 chain : HOD 255 chain : HOD
256 chain⊆A : chain ⊆' A 256 chain⊆A : chain ⊆' A
582 u-next {z} u = record { u = UZFChain.u u ; u<x = UZFChain.u<x u ; chain∋z = ZChain.f-next ( uzc u ) (UZFChain.chain∋z u) } 582 u-next {z} u = record { u = UZFChain.u u ; u<x = UZFChain.u<x u ; chain∋z = ZChain.f-next ( uzc u ) (UZFChain.chain∋z u) }
583 u-initial : {z : Ordinal} → odef Uz z → * y ≤ * z 583 u-initial : {z : Ordinal} → odef Uz z → * y ≤ * z
584 u-initial {z} u = ZChain.initial ( uzc u ) (UZFChain.chain∋z u) 584 u-initial {z} u = ZChain.initial ( uzc u ) (UZFChain.chain∋z u)
585 u-chain∋x : odef Uz y 585 u-chain∋x : odef Uz y
586 u-chain∋x = record { u = y ; u<x = y<x ; chain∋z = ZChain.chain∋x (prev y y<x ay ) } 586 u-chain∋x = record { u = y ; u<x = y<x ; chain∋z = ZChain.chain∋x (prev y y<x ay ) }
587 u-mono : ( a b : Ordinal ) → b o< x → a o< b → (za : ZChain A y f a) (zb : ZChain A y f b) → ZChain.chain za ⊆' ZChain.chain zb 587 u-mono : ( a b : Ordinal ) → b o< x → a o< osuc b → (za : ZChain A y f a) (zb : ZChain A y f b) → ZChain.chain za ⊆' ZChain.chain zb
588 u-mono a b b<x = TransFinite {λ a → a o< b → (za : ZChain A y f a) (zb : ZChain A y f b) 588 u-mono a b b<x = TransFinite {λ a → a o< osuc b → (za : ZChain A y f a) (zb : ZChain A y f b)
589 → ZChain.chain za ⊆' ZChain.chain zb } uind a where 589 → ZChain.chain za ⊆' ZChain.chain zb } uind a where
590 open ZChain 590 open ZChain
591 uind : (a : Ordinal) 591 uind : (a : Ordinal)
592 → ((c : Ordinal) → c o< a → c o< b → (za : ZChain A y f c) (zb : ZChain A y f b) → chain za ⊆' chain zb) 592 → ((c : Ordinal) → c o< a → c o< osuc b → (za : ZChain A y f c) (zb : ZChain A y f b) → chain za ⊆' chain zb)
593 → a o< b → (za : ZChain A y f a) (zb : ZChain A y f b) → chain za ⊆' chain zb 593 → a o< osuc b → (za : ZChain A y f a) (zb : ZChain A y f b) → chain za ⊆' chain zb
594 uind a previ a<b za zb {i} zai = um01 where 594 uind a previ a≤b za zb {i} zai = um01 where
595 FC : Fc∨sup A (chain⊆A za (chain∋x za)) f i 595 FC : Fc∨sup A (chain⊆A za (chain∋x za)) f i
596 FC = fc∨sup za zai 596 FC = fc∨sup za zai
597 FCb : Fc∨sup A (chain⊆A zb (chain∋x zb)) f i 597 -- y≤fc : {a p : Ordinal} → Fc∨sup A p f i → * y ≤ * p
598 FCb = {!!} 598 -- y≤fc = {!!}
599 um01 : odef (chain zb) i 599 um01 : odef (chain zb) i
600 um01 with FC 600 um01 with FC
601 ... | Finit i=y = subst (λ k → odef (chain zb) k ) (sym i=y) ( chain∋x zb ) 601 ... | Finit i=y = subst (λ k → odef (chain zb) k ) (sym i=y) ( chain∋x zb )
602 ... | Fc {p} {i} p<i pFC fc with initial za zai 602 ... | Fc {p} {i} p≤i pFC fc with initial za zai
603 ... | case1 y=i = subst (λ k → odef (chain zb) k ) (subst₂ (λ j k → j ≡ k ) &iso &iso (cong (&) y=i)) ( chain∋x zb ) 603 ... | case1 y=i = subst (λ k → odef (chain zb) k ) (subst₂ (λ j k → j ≡ k ) &iso &iso (cong (&) y=i)) ( chain∋x zb )
604 ... | case2 y<i with (FChain.fc∨sup fc) 604 ... | case2 y<i with (FChain.fc∨sup fc)
605 ... | case1 fc = um02 i fc where 605 ... | case1 fc = um02 i fc where
606 um02 : (i : Ordinal) → FClosure A f p i → odef (chain zb) i 606 um02 : (i : Ordinal) → FClosure A f p i → odef (chain zb) i
607 um02 i (init ap i=p ) = {!!} 607 um02 i (init ap i=p ) = subst (λ k → odef (chain zb) k ) (sym i=p) (previ a {!!} {!!} za zb {!!} ) where
608 um02 i (fsuc j fc) = f-next zb ( um02 j fc ) 608 um02 i (fsuc j fc) = f-next zb ( um02 j fc )
609 ... | case2 sup = {!!} 609 ... | case2 sup = {!!}
610 -- is-max zb (chain∋x zb) {!!} (chain⊆A za zai) {!!} y<i where 610 -- is-max zb (chain∋x zb) {!!} (chain⊆A za zai) {!!} y<i where
611 -- pFC0 : Fc∨sup A (chain⊆A za (chain∋x za)) f p 611 -- pFC0 : Fc∨sup A (chain⊆A za (chain∋x za)) f p
612 -- pFC0 = pFC 612 -- pFC0 = pFC