comparison filter.agda @ 385:edbf7459a85f

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 22 Jul 2020 08:08:04 +0900
parents 171a3d587d6e
children 24a66a246316
comparison
equal deleted inserted replaced
384:171a3d587d6e 385:edbf7459a85f
368 lemma Zero Zero i z≤n | i1 = refl 368 lemma Zero Zero i z≤n | i1 = refl
369 lemma Zero (Suc y) i z≤n | i1 = 3⊆-[] {3↑22 f (Suc y) i} 369 lemma Zero (Suc y) i z≤n | i1 = 3⊆-[] {3↑22 f (Suc y) i}
370 lemma (Suc x) (Suc y) i (s≤s x<y) with f i 370 lemma (Suc x) (Suc y) i (s≤s x<y) with f i
371 lemma (Suc x) (Suc y) i (s≤s x<y) | i0 = lemma x y (Suc i) x<y 371 lemma (Suc x) (Suc y) i (s≤s x<y) | i0 = lemma x y (Suc i) x<y
372 lemma (Suc x) (Suc y) i (s≤s x<y) | i1 = lemma x y (Suc i) x<y 372 lemma (Suc x) (Suc y) i (s≤s x<y) | i1 = lemma x y (Suc i) x<y
373
374 lemma12 : (s t : List Three ) → (s 3⊆ t) → ((j2 ∷ s) 3⊆ (j0 ∷ t))
375 lemma12 s t eq = eq
376 lemma13 : (s t : List Three ) → (s 3⊆ t) → ((j2 ∷ s) 3⊆ (j1 ∷ t))
377 lemma13 s t eq = eq
378 lemma14 : (s t : List Three ) → (s 3⊆ t) → ((j2 ∷ s) 3⊆ (j2 ∷ t))
379 lemma14 s t eq = eq
380
381 record Finite3 (p : List Three ) : Set where
382 field
383 3-max : Nat
384 3-func : Nat → Two
385 3-p⊆f : p 3⊆ (3-func 3↑ 3-max)
386 3-f⊆p : (3-func 3↑ 3-max) 3⊆ p
387 373
388 Finite3b : (p : List Three ) → Bool 374 Finite3b : (p : List Three ) → Bool
389 Finite3b [] = true 375 Finite3b [] = true
390 Finite3b (j0 ∷ f) = Finite3b f 376 Finite3b (j0 ∷ f) = Finite3b f
391 Finite3b (j1 ∷ f) = Finite3b f 377 Finite3b (j1 ∷ f) = Finite3b f
562 ... | hφ = x<nx 548 ... | hφ = x<nx
563 ... | h0 {i} {x} t = next< (odmax0 record { count = i ; hω2 = t }) (lemma {i} {0} {x}) 549 ... | h0 {i} {x} t = next< (odmax0 record { count = i ; hω2 = t }) (lemma {i} {0} {x})
564 ... | h1 {i} {x} t = next< (odmax0 record { count = i ; hω2 = t }) (lemma {i} {1} {x}) 550 ... | h1 {i} {x} t = next< (odmax0 record { count = i ; hω2 = t }) (lemma {i} {1} {x})
565 ... | he {i} {x} t = next< (odmax0 record { count = i ; hω2 = t }) x<nx 551 ... | he {i} {x} t = next< (odmax0 record { count = i ; hω2 = t }) x<nx
566 552
553 3→Hω2 : List Three → HOD
554 3→Hω2 t = list→hod t 0 where
555 list→hod : List Three → Nat → HOD
556 list→hod [] _ = od∅
557 list→hod (j0 ∷ t) i = Union (< nat→ω i , nat→ω 0 > , ( list→hod t (Suc i) ))
558 list→hod (j1 ∷ t) i = Union (< nat→ω i , nat→ω 1 > , ( list→hod t (Suc i) ))
559 list→hod (j2 ∷ t) i = list→hod t (Suc i )
560
561 Hω2→3 : (x : HOD) → HODω2 ∋ x → List Three
562 Hω2→3 x = lemma where
563 lemma : { y : Ordinal } → Hω2r y → List Three
564 lemma record { count = 0 ; hω2 = hφ } = []
565 lemma record { count = (Suc i) ; hω2 = (h0 hω3) } = j0 ∷ lemma record { count = i ; hω2 = hω3 }
566 lemma record { count = (Suc i) ; hω2 = (h1 hω3) } = j1 ∷ lemma record { count = i ; hω2 = hω3 }
567 lemma record { count = (Suc i) ; hω2 = (he hω3) } = j2 ∷ lemma record { count = i ; hω2 = hω3 }
568
567 ω→2 : HOD 569 ω→2 : HOD
568 ω→2 = Replace (Power infinite) (λ p → Replace infinite (λ x → < x , repl p x > )) where 570 ω→2 = Replace (Power infinite) (λ p → Replace infinite (λ x → < x , repl p x > )) where
569 repl : HOD → HOD → HOD 571 repl : HOD → HOD → HOD
570 repl p x with ODC.∋-p O p x 572 repl p x with ODC.∋-p O p x
571 ... | yes _ = nat→ω 1 573 ... | yes _ = nat→ω 1
572 ... | no _ = nat→ω 0 574 ... | no _ = nat→ω 0
573 575
574 record _↑n (f : HOD) (ω→2∋f : ω→2 ∋ f ) : Set n where 576 ω→2f : (x : HOD) → ω→2 ∋ x → Nat → Two
575 -- field 577 ω→2f x = {!!}
576 -- n : HOD 578
577 -- ? : Select f (λ x f∋x → ω→nat (π1 f∋x) < ω→nat n 579 ↑n : (f n : HOD) → ((ω→2 ∋ f ) ∧ (infinite ∋ n)) → HOD
578 580 ↑n f n lt = 3→Hω2 ( ω→2f f (proj1 lt) 3↑ (ω→nat n (proj2 lt) ))
579 -- Gf : {f : HOD} → ω→2 ∋ f → HOD 581
580 -- Gf {f} lt = Select HODω2 (λ x H∋x → {!!} ) 582 record Gfo (x : Ordinal) : Set n where
583 field
584 gfunc : Ordinal
585 gmax : Ordinal
586 gcond : (odef ω→2 gfunc) ∧ (odef infinite gmax)
587 gfdef : {!!} -- ( ↑n (ord→od gfunc) (ord→od gmax) (subst₂ ? ? ? gcond) ) ⊆ ord→od x
588 pcond : odef HODω2 x
589
590 open Gfo
591
592 HODGf : HOD
593 HODGf = record { od = record { def = λ x → Gfo x } ; odmax = next o∅ ; <odmax = {!!} }
581 594
582 G : (Nat → Two) → Filter HODω2 595 G : (Nat → Two) → Filter HODω2
583 G f = record { 596 G f = record {
584 filter = {!!} 597 filter = HODGf
585 ; f⊆PL = {!!} 598 ; f⊆PL = {!!}
586 ; filter1 = {!!} 599 ; filter1 = {!!}
587 ; filter2 = {!!} 600 ; filter2 = {!!}
588 } where 601 } where
589 filter0 : HOD 602 filter0 : HOD