Mercurial > hg > Members > kono > Proof > ZF-in-agda
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 |