annotate src/filter.agda @ 1138:dd18bb8d2893

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 13 Jan 2023 13:03:45 +0900
parents d618788852e5
children 4517d0721b59
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
457
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 456
diff changeset
1 {-# OPTIONS --allow-unsolved-metas #-}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 456
diff changeset
2
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 open import Level
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 open import Ordinals
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 module filter {n : Level } (O : Ordinals {n}) where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 open import zf
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 open import logic
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 import OD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 open import Relation.Nullary
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 open import Data.Empty
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 open import Relation.Binary.Core
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 open import Relation.Binary.PropositionalEquality
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
15 import BAlgebra
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
17 open BAlgebra O
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 open inOrdinal O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 open OD O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 open OD.OD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 open ODAxiom odAxiom
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 import OrdUtil
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 import ODUtil
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 open Ordinals.Ordinals O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 open Ordinals.IsOrdinals isOrdinal
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 open Ordinals.IsNext isNext
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 open OrdUtil O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 open ODUtil O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 import ODC
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 open ODC O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 open _∧_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 open _∨_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 open Bool
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
1133
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
40 -- L is a boolean algebra, but we don't assume this explicitly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
41 --
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
42 -- NEG : {p : HOD} → L ∋ p → L ∋ (P \ p)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
43 -- CAP : {p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
44 --
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 -- Kunen p.76 and p.53, we use ⊆
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
46 record Filter { L P : HOD } (LP : L ⊆ Power P) : Set (suc n) where
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 field
456
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
48 filter : HOD
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
49 f⊆L : filter ⊆ L
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
50 filter1 : { p q : HOD } → L ∋ q → filter ∋ p → p ⊆ q → filter ∋ q
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
51 filter2 : { p q : HOD } → filter ∋ p → filter ∋ q → L ∋ (p ∩ q) → filter ∋ (p ∩ q)
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 open Filter
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
55 record prime-filter { L P : HOD } {LP : L ⊆ Power P} (F : Filter {L} {P} LP) : Set (suc (suc n)) where
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 field
456
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
57 proper : ¬ (filter F ∋ od∅)
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
58 prime : {p q : HOD } → L ∋ p → L ∋ q → L ∋ (p ∪ q) → filter F ∋ (p ∪ q) → ( filter F ∋ p ) ∨ ( filter F ∋ q )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
60 record ultra-filter { L P : HOD } {LP : L ⊆ Power P} (F : Filter {L} {P} LP) : Set (suc (suc n)) where
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 field
456
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
62 proper : ¬ (filter F ∋ od∅)
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
63 ultra : {p : HOD } → L ∋ p → L ∋ ( P \ p) → ( filter F ∋ p ) ∨ ( filter F ∋ ( P \ p) )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
65 ∈-filter : {L P p : HOD} → {LP : L ⊆ Power P} → (F : Filter {L} {P} LP ) → filter F ∋ p → L ∋ p
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 574
diff changeset
66 ∈-filter {L} {p} {LP} F lt = ( f⊆L F) lt
458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
67
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
68 ⊆-filter : {L P p q : HOD } → {LP : L ⊆ Power P } → (F : Filter {L} {P} LP) → L ∋ q → q ⊆ P
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 574
diff changeset
69 ⊆-filter {L} {P} {p} {q} {LP} F lt = power→⊆ P q ( LP lt )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 ∪-lemma1 : {L p q : HOD } → (p ∪ q) ⊆ L → p ⊆ L
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 574
diff changeset
72 ∪-lemma1 {L} {p} {q} lt p∋x = lt (case1 p∋x)
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 ∪-lemma2 : {L p q : HOD } → (p ∪ q) ⊆ L → q ⊆ L
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 574
diff changeset
75 ∪-lemma2 {L} {p} {q} lt p∋x = lt (case2 p∋x)
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 q∩q⊆q : {p q : HOD } → (q ∩ p) ⊆ q
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 574
diff changeset
78 q∩q⊆q lt = proj1 lt
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 open HOD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 -----
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 --
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 -- ultra filter is prime
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 --
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
87 filter-lemma1 : {P L : HOD} → (LP : L ⊆ Power P)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
88 → ({p : HOD} → L ∋ p → L ∋ (P \ p))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
89 → ({p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q ))
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
90 → (F : Filter {L} {P} LP) → ultra-filter F → prime-filter F
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
91 filter-lemma1 {P} {L} LP NG IN F u = record {
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 proper = ultra-filter.proper u
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 ; prime = lemma3
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 } where
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
95 lemma3 : {p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∪ q) → filter F ∋ (p ∪ q) → ( filter F ∋ p ) ∨ ( filter F ∋ q )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
96 lemma3 {p} {q} Lp Lq _ lt with ultra-filter.ultra u Lp (NG Lp)
458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
97 ... | case1 p∈P = case1 p∈P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
98 ... | case2 ¬p∈P = case2 (filter1 F {q ∩ (P \ p)} Lq lemma7 lemma8) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
99 lemma5 : ((p ∪ q ) ∩ (P \ p)) =h= (q ∩ (P \ p))
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 lemma5 = record { eq→ = λ {x} lt → ⟪ lemma4 x lt , proj2 lt ⟫
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 ; eq← = λ {x} lt → ⟪ case2 (proj1 lt) , proj2 lt ⟫
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 } where
458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
103 lemma4 : (x : Ordinal ) → odef ((p ∪ q) ∩ (P \ p)) x → odef q x
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 lemma4 x lt with proj1 lt
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 lemma4 x lt | case1 px = ⊥-elim ( proj2 (proj2 lt) px )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 lemma4 x lt | case2 qx = qx
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
107 lemma9 : L ∋ ((p ∪ q ) ∩ (P \ p))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
108 lemma9 = subst (λ k → L ∋ k ) (sym (==→o≡ lemma5)) (IN Lq (NG Lp))
456
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
109 lemma6 : filter F ∋ ((p ∪ q ) ∩ (P \ p))
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
110 lemma6 = filter2 F lt ¬p∈P lemma9
458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
111 lemma7 : filter F ∋ (q ∩ (P \ p))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
112 lemma7 = subst (λ k → filter F ∋ k ) (==→o≡ lemma5 ) lemma6
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
113 lemma8 : (q ∩ (P \ p)) ⊆ q
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
114 lemma8 lt = proj1 lt
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
115
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 -----
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 --
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
118 -- if Filter {L} {P} contains L, prime filter is ultra
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 --
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
120
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
121 filter-lemma2 : {P L : HOD} → (LP : L ⊆ Power P)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
122 → ({p : HOD} → L ∋ p → L ∋ ( P \ p))
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
123 → (F : Filter {L} {P} LP) → filter F ∋ P → prime-filter F → ultra-filter F
459
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
124 filter-lemma2 {P} {L} LP Lm F f∋P prime = record {
458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
125 proper = prime-filter.proper prime
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 574
diff changeset
126 ; ultra = λ {p} L∋p _ → prime-filter.prime prime L∋p (Lm L∋p) (lemma10 L∋p ((f⊆L F) f∋P) ) (lemma p (p⊆L L∋p ))
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 } where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 open _==_
459
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
129 p⊆L : {p : HOD} → L ∋ p → p ⊆ P
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 574
diff changeset
130 p⊆L {p} lt = power→⊆ P p ( LP lt )
459
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
131 p+1-p=1 : {p : HOD} → p ⊆ P → P =h= (p ∪ (P \ p))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
132 eq→ (p+1-p=1 {p} p⊆P) {x} lt with ODC.decp O (odef p x)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
133 eq→ (p+1-p=1 {p} p⊆P) {x} lt | yes p∋x = case1 p∋x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
134 eq→ (p+1-p=1 {p} p⊆P) {x} lt | no ¬p = case2 ⟪ lt , ¬p ⟫
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 574
diff changeset
135 eq← (p+1-p=1 {p} p⊆P) {x} ( case1 p∋x ) = subst (λ k → odef P k ) &iso (p⊆P ( subst (λ k → odef p k) (sym &iso) p∋x ))
459
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
136 eq← (p+1-p=1 {p} p⊆P) {x} ( case2 ¬p ) = proj1 ¬p
458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
137 lemma : (p : HOD) → p ⊆ P → filter F ∋ (p ∪ (P \ p))
459
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
138 lemma p p⊆P = subst (λ k → filter F ∋ k ) (==→o≡ (p+1-p=1 {p} p⊆P)) f∋P
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
139 lemma10 : {p : HOD} → L ∋ p → L ∋ P → L ∋ (p ∪ (P \ p))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
140 lemma10 {p} L∋p lt = subst (λ k → L ∋ k ) (==→o≡ (p+1-p=1 {p} (p⊆L L∋p))) lt
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141
458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
142 record Dense {L P : HOD } (LP : L ⊆ Power P) : Set (suc n) where
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 field
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 dense : HOD
456
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
145 d⊆P : dense ⊆ L
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
146 dense-f : {p : HOD} → L ∋ p → HOD
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
147 dense-d : { p : HOD} → (lt : L ∋ p) → dense ∋ dense-f lt
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
148 dense-p : { p : HOD} → (lt : L ∋ p) → (dense-f lt) ⊆ p
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
150 record Ideal {L P : HOD } (LP : L ⊆ Power P) : Set (suc n) where
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 field
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 ideal : HOD
456
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
153 i⊆L : ideal ⊆ L
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
154 ideal1 : { p q : HOD } → L ∋ q → ideal ∋ p → q ⊆ p → ideal ∋ q
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 ideal2 : { p q : HOD } → ideal ∋ p → ideal ∋ q → ideal ∋ (p ∪ q)
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 open Ideal
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
159 proper-ideal : {L P : HOD} → (LP : L ⊆ Power P) → (P : Ideal {L} {P} LP ) → {p : HOD} → Set n
458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
160 proper-ideal {L} {P} LP I = ideal I ∋ od∅
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
161
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
162 prime-ideal : {L P : HOD} → (LP : L ⊆ Power P) → Ideal {L} {P} LP → ∀ {p q : HOD } → Set n
458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 457
diff changeset
163 prime-ideal {L} {P} LP I {p} {q} = ideal I ∋ ( p ∩ q) → ( ideal I ∋ p ) ∨ ( ideal I ∋ q )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164
1131
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
165 open import Relation.Binary.Definitions
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
166
461
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 459
diff changeset
167 record GenericFilter {L P : HOD} (LP : L ⊆ Power P) (M : HOD) : Set (suc n) where
456
9207b0c3cfe9 fix filter on subset of Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
168 field
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
169 genf : Filter {L} {P} LP
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
170 generic : (D : Dense {L} {P} LP ) → M ∋ Dense.dense D → ¬ ( (Dense.dense D ∩ Filter.filter genf ) ≡ od∅ )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171
1135
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1134
diff changeset
172 record MaximumFilter {L P : HOD} (LP : L ⊆ Power P) (F : Filter {L} {P} LP) : Set (suc n) where
478
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 461
diff changeset
173 field
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
174 mf : Filter {L} {P} LP
1136
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
175 F⊆mf : filter F ⊆ filter mf
478
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 461
diff changeset
176 proper : ¬ (filter mf ∋ od∅)
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
177 is-maximum : ( f : Filter {L} {P} LP ) → ¬ (filter f ∋ od∅) → ¬ ( filter mf ⊂ filter f )
478
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 461
diff changeset
178
1135
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1134
diff changeset
179 record Fp {L P : HOD} (LP : L ⊆ Power P) (F : Filter {L} {P} LP) (mx : MaximumFilter {L} {P} LP F ) (p x : Ordinal ) : Set n where
1131
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
180 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
181 y : Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
182 mfy : odef (filter (MaximumFilter.mf mx)) y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
183 y-p⊂x : ( * y \ * p ) ⊆ * x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
184
1125
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1124
diff changeset
185 max→ultra : {L P : HOD} (LP : L ⊆ Power P)
1127
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
186 → ({p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q))
1136
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
187 → (F0 : Filter {L} {P} LP) → {y : Ordinal } → odef (filter F0) y
1135
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1134
diff changeset
188 → (mx : MaximumFilter {L} {P} LP F0 ) → ultra-filter ( MaximumFilter.mf mx )
1136
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
189 max→ultra {L} {P} LP CAP F0 {y} mfy mx = record { proper = MaximumFilter.proper mx ; ultra = ultra } where
479
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 478
diff changeset
190 mf = MaximumFilter.mf mx
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 478
diff changeset
191 ultra : {p : HOD} → L ∋ p → L ∋ (P \ p) → (filter mf ∋ p) ∨ (filter mf ∋ (P \ p))
1131
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
192 ultra {p} Lp Lnp with ODC.∋-p O (filter mf) p
479
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 478
diff changeset
193 ... | yes y = case1 y
1132
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1131
diff changeset
194 ... | no np = case2 (subst (λ k → k ∋ (P \ p)) F=mf F∋P-p) where
1129
5053fd12134a use different filter
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1128
diff changeset
195 F : HOD
1135
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1134
diff changeset
196 F = record { od = record { def = λ x → odef L x ∧ Fp {L} {P} LP F0 mx (& p) x }
1129
5053fd12134a use different filter
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1128
diff changeset
197 ; odmax = & L ; <odmax = λ lt → odef< (proj1 lt) }
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
198 mu01 : {r : HOD} {q : HOD} → L ∋ q → F ∋ r → r ⊆ q → F ∋ q
1130
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1129
diff changeset
199 mu01 {r} {q} Lq ⟪ Lr , record { y = y ; mfy = mfy ; y-p⊂x = y-p⊂x } ⟫ r⊆q = ⟪ Lq , record { y = y ; mfy = mfy ; y-p⊂x = mu03 } ⟫ where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1129
diff changeset
200 mu05 : (* y \ p) ⊆ r
1131
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
201 mu05 = subst₂ (λ j k → (* y \ j ) ⊆ k ) *iso *iso y-p⊂x
1130
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1129
diff changeset
202 mu04 : (* y \ * (& p)) ⊆ * (& q)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1129
diff changeset
203 mu04 {x} ⟪ yx , npx ⟫ = subst (λ k → odef k x ) (sym *iso) (r⊆q (mu05 ⟪ yx , (λ px1 → npx (subst (λ k → odef k x) (sym *iso) px1 )) ⟫ ) )
1131
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
204 mu03 : (* y \ * (& p)) ⊆ * (& q)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
205 mu03 = mu04
1125
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1124
diff changeset
206 mu02 : {r : HOD} {q : HOD} → F ∋ r → F ∋ q → L ∋ (r ∩ q) → F ∋ (r ∩ q)
1129
5053fd12134a use different filter
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1128
diff changeset
207 mu02 {r} {q} ⟪ Lr , record { y = ry ; mfy = mfry ; y-p⊂x = ry-p⊂x } ⟫
1130
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1129
diff changeset
208 ⟪ Lq , record { y = qy ; mfy = mfqy ; y-p⊂x = qy-p⊂x } ⟫ Lrq = ⟪ Lrq , record { y = & (* qy ∩ * ry) ; mfy = mu20 ; y-p⊂x = mu22 } ⟫ where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1129
diff changeset
209 mu21 : L ∋ (* qy ∩ * ry)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1129
diff changeset
210 mu21 = CAP (subst (λ k → odef L k ) (sym &iso) (f⊆L mf mfqy)) (subst (λ k → odef L k ) (sym &iso) (f⊆L mf mfry))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1129
diff changeset
211 mu20 : odef (filter mf) (& (* qy ∩ * ry))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1129
diff changeset
212 mu20 = filter2 mf (subst (λ k → odef (filter mf) k) (sym &iso) mfqy) (subst (λ k → odef (filter mf) k) (sym &iso) mfry) mu21
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1129
diff changeset
213 mu24 : ((* qy ∩ * ry) \ * (& p)) ⊆ (r ∩ q)
1131
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
214 mu24 {x} ⟪ qry , npx ⟫ = ⟪ subst (λ k → odef k x) *iso ( ry-p⊂x ⟪ proj2 qry , npx ⟫ )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
215 , subst (λ k → odef k x) *iso ( qy-p⊂x ⟪ proj1 qry , npx ⟫ ) ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
216 mu23 : ((* qy ∩ * ry) \ * (& p) ) ⊆ (r ∩ q)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
217 mu23 = mu24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
218 mu22 : (* (& (* qy ∩ * ry)) \ * (& p)) ⊆ * (& (r ∩ q))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
219 mu22 = subst₂ (λ j k → (j \ * (& p)) ⊆ k ) (sym *iso) (sym *iso) mu23
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
220 FisFilter : Filter {L} {P} LP
1131
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
221 FisFilter = record { filter = F ; f⊆L = λ {x} lt → proj1 lt ; filter1 = mu01 ; filter2 = mu02 }
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
222 FisGreater : {x : Ordinal } → odef (filter (MaximumFilter.mf mx)) x → odef (filter FisFilter ) x
1129
5053fd12134a use different filter
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1128
diff changeset
223 FisGreater {x} mfx = ⟪ f⊆L mf mfx , record { y = x ; mfy = mfx ; y-p⊂x = mu03 } ⟫ where
1131
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
224 mu03 : (* x \ * (& p)) ⊆ * x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
225 mu03 {z} ⟪ xz , _ ⟫ = xz
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1130
diff changeset
226 F∋P-p : F ∋ (P \ p )
1136
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
227 F∋P-p = ⟪ Lnp , record { y = y ; mfy = mxy ; y-p⊂x = mu30 } ⟫ where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
228 mxy : odef (filter (MaximumFilter.mf mx)) y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
229 mxy = MaximumFilter.F⊆mf mx mfy
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
230 mu30 : (* y \ * (& p)) ⊆ * (& (P \ p))
1132
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1131
diff changeset
231 mu30 {z} ⟪ yz , ¬pz ⟫ = subst (λ k → odef k z) (sym *iso) ( ⟪ Pz , (λ pz → ¬pz (subst (λ k → odef k z) (sym *iso) pz )) ⟫ ) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1131
diff changeset
232 Pz : odef P z
1136
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
233 Pz = LP (f⊆L mf mxy ) _ yz
1133
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
234 FisProper : ¬ (filter FisFilter ∋ od∅) -- if F contains p, p is in mf which contract np
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
235 FisProper ⟪ L0 , record { y = z ; mfy = mfz ; y-p⊂x = z-p⊂x } ⟫ =
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
236 ⊥-elim ( np (filter1 mf Lp (subst (λ k → odef (filter mf) k) (sym &iso) mfz) mu31) ) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
237 mu31 : * z ⊆ p
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
238 mu31 {x} zx with ODC.decp O (odef p x)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
239 ... | yes px = px
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
240 ... | no npx = ⊥-elim ( ¬x<0 (subst (λ k → odef k x) *iso (z-p⊂x ⟪ zx , (λ px → npx (subst (λ k → odef k x) *iso px) ) ⟫ ) ) )
1132
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1131
diff changeset
241 mu40 = (MaximumFilter.is-maximum mx)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1131
diff changeset
242 F=mf : F ≡ filter mf
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1131
diff changeset
243 F=mf with osuc-≡< ( ⊆→o≤ FisGreater )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1131
diff changeset
244 ... | case1 eq = &≡&→≡ (sym eq)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1131
diff changeset
245 ... | case2 lt = ⊥-elim ( MaximumFilter.is-maximum mx FisFilter FisProper ⟪ lt , FisGreater ⟫ )
478
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 461
diff changeset
246
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
247 open _==_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
248
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
249 ultra→max : {L P : HOD} (LP : L ⊆ Power P) → ({p : HOD}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
250 → L ∋ p → L ∋ ( P \ p))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
251 → ({p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q))
1135
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1134
diff changeset
252 → (U : Filter {L} {P} LP) → ultra-filter U → MaximumFilter LP U
1136
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
253 ultra→max {L} {P} LP NG CAP U u = record { mf = U ; F⊆mf = λ x → x ; proper = ultra-filter.proper u ; is-maximum = is-maximum } where
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
254 is-maximum : (F : Filter {L} {P} LP) → (¬ (filter F ∋ od∅)) → (U⊂F : filter U ⊂ filter F ) → ⊥
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
255 is-maximum F Prop ⟪ U<F , U⊆F ⟫ = Prop f0 where
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
256 GT : HOD
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
257 GT = record { od = record { def = λ x → odef (filter F) x ∧ (¬ odef (filter U) x) } ; odmax = & L ; <odmax = um02 } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
258 um02 : {y : Ordinal } → odef (filter F) y ∧ (¬ odef (filter U) y) → y o< & L
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
259 um02 {y} Fy = odef< ( f⊆L F (proj1 Fy ) )
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
260 GT≠∅ : ¬ (GT =h= od∅)
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
261 GT≠∅ eq = ⊥-elim (U≠F ( ==→o≡ ((⊆→= {filter U} {filter F}) U⊆F (U-F=∅→F⊆U {filter F} {filter U} gt01)))) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
262 U≠F : ¬ ( filter U ≡ filter F )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
263 U≠F eq = o<¬≡ (cong (&) eq) U<F
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
264 gt01 : (x : Ordinal) → ¬ ( odef (filter F) x ∧ (¬ odef (filter U) x))
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
265 gt01 x not = ¬x<0 ( eq→ eq not )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
266 p : HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
267 p = ODC.minimal O GT GT≠∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
268 ¬U∋p : ¬ ( filter U ∋ p )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
269 ¬U∋p = proj2 (ODC.x∋minimal O GT GT≠∅)
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
270 L∋p : L ∋ p
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
271 L∋p = f⊆L F ( proj1 (ODC.x∋minimal O GT GT≠∅))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
272 um00 : ¬ odef (filter U) (& p)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
273 um00 = proj2 (ODC.x∋minimal O GT GT≠∅)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
274 L∋-p : L ∋ ( P \ p )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
275 L∋-p = NG L∋p
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
276 U∋-p : filter U ∋ ( P \ p )
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
277 U∋-p with ultra-filter.ultra u {p} L∋p L∋-p
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
278 ... | case1 ux = ⊥-elim ( ¬U∋p ux )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
279 ... | case2 u-x = u-x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
280 F∋p : filter F ∋ p
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
281 F∋p = proj1 (ODC.x∋minimal O GT GT≠∅)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
282 F∋-p : filter F ∋ ( P \ p )
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 574
diff changeset
283 F∋-p = U⊆F U∋-p
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
284 f0 : filter F ∋ od∅
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
285 f0 = subst (λ k → odef (filter F) k ) (trans (cong (&) ∩-comm) (cong (&) [a-b]∩b=0 ) ) ( filter2 F F∋p F∋-p ( CAP L∋p L∋-p) )
516
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 503
diff changeset
286
1133
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
287 -- if there is a filter , there is a ultra filter under the axiom of choise
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
288 -- Zorn Lemma
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
289
516
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 503
diff changeset
290 import zorn
1126
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1125
diff changeset
291
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1125
diff changeset
292 open import Relation.Binary
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1125
diff changeset
293
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1125
diff changeset
294 PO : IsStrictPartialOrder _≡_ _⊂_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1125
diff changeset
295 PO = record { isEquivalence = record { refl = refl ; sym = sym ; trans = trans }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1125
diff changeset
296 ; trans = λ {a} {b} {c} → trans-⊂ {a} {b} {c}
1133
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
297 ; irrefl = λ x=y x<y → o<¬≡ (cong (&) x=y) (proj1 x<y)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
298 ; <-resp-≈ = record { fst = ( λ {x} {y} {y1} y=y1 xy1 → subst (λ k → x ⊂ k) y=y1 xy1 )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
299 ; snd = (λ {x} {x1} {y} x=x1 x1y → subst (λ k → k ⊂ x) x=x1 x1y ) } }
1126
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1125
diff changeset
300
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1125
diff changeset
301 open zorn O _⊂_ PO
574
9084a26445a7 ZC data won't work
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 516
diff changeset
302
9084a26445a7 ZC data won't work
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 516
diff changeset
303 open import Relation.Binary.Structures
481
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
304
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
305 record IsFilter { L P : HOD } (LP : L ⊆ Power P) (filter : Ordinal ) : Set n where
1133
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
306 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
307 f⊆L : (* filter) ⊆ L
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
308 filter1 : { p q : Ordinal } → odef L q → odef (* filter) p → (* p) ⊆ (* q) → odef (* filter) q
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
309 filter2 : { p q : Ordinal } → odef (* filter) p → odef (* filter) q → odef L (& ((* p) ∩ (* q))) → odef (* filter) (& ((* p) ∩ (* q)))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
310 proper : ¬ (odef (* filter ) o∅)
1126
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1125
diff changeset
311
1133
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
312 -- all filter contains F
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
313 F⊆X : { L P : HOD } (LP : L ⊆ Power P) → Filter {L} {P} LP → HOD
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
314 F⊆X {L} {P} LP F = record { od = record { def = λ x → IsFilter {L} {P} LP x ∧ ( filter F ⊆ * x) } ; odmax = osuc (& L)
1133
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
315 ; <odmax = λ {x} lt → fx00 lt } where
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
316 fx00 : {x : Ordinal } → IsFilter LP x ∧ filter F ⊆ * x → x o< osuc (& L)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
317 fx00 {x} lt = subst (λ k → k o< osuc (& L)) &iso ( ⊆→o≤ (IsFilter.f⊆L (proj1 lt )) )
503
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 485
diff changeset
318
1134
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
319 F→Maximum : {L P : HOD} (LP : L ⊆ Power P) → ({p : HOD} → L ∋ p → L ∋ ( P \ p)) → ({p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q))
1136
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
320 → (F : Filter {L} {P} LP) → o∅ o< & L → {y : Ordinal } → odef (filter F) y → (¬ (filter F ∋ od∅)) → MaximumFilter {L} {P} LP F
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
321 F→Maximum {L} {P} LP NEG CAP F 0<L {y} 0<F Fprop = record { mf = mf ; F⊆mf = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
322 ; proper = subst (λ k → ¬ ( odef (filter mf ) k)) (sym ord-od∅) ( IsFilter.proper imf) ; is-maximum = {!!} } where
1133
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
323 FX : HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
324 FX = F⊆X {L} {P} LP F
1137
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
325 oF = & (filter F)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
326 mf11 : { p q : Ordinal } → odef L q → odef (* oF) p → (* p) ⊆ (* q) → odef (* oF) q
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
327 mf11 {p} {q} Lq Fp p⊆q = subst₂ (λ j k → odef j k ) (sym *iso) &iso ( filter1 F (subst (λ k → odef L k) (sym &iso) Lq)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
328 (subst₂ (λ j k → odef j k ) *iso (sym &iso) Fp) p⊆q )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
329 mf12 : { p q : Ordinal } → odef (* oF) p → odef (* oF) q → odef L (& ((* p) ∩ (* q))) → odef (* oF) (& ((* p) ∩ (* q)))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
330 mf12 {p} {q} Fp Fq Lpq = subst (λ k → odef k (& ((* p) ∩ (* q))) ) (sym *iso)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
331 ( filter2 F (subst₂ (λ j k → odef j k ) *iso (sym &iso) Fp) (subst₂ (λ j k → odef j k ) *iso (sym &iso) Fq) Lpq)
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
332 FX∋F : odef FX (& (filter F))
1137
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
333 FX∋F = ⟪ record { f⊆L = subst (λ k → k ⊆ L) (sym *iso) (f⊆L F) ; filter1 = mf11 ; filter2 = mf12
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
334 ; proper = subst₂ (λ j k → ¬ (odef j k) ) (sym *iso) ord-od∅ Fprop }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
335 , subst (λ k → filter F ⊆ k ) (sym *iso) ( λ x → x ) ⟫
1133
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1132
diff changeset
336 SUP⊆ : (B : HOD) → B ⊆ FX → IsTotalOrderSet B → SUP FX B
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
337 SUP⊆ B B⊆FX OB with trio< (& B) o∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
338 ... | tri< a ¬b ¬c = ⊥-elim (¬x<0 a )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
339 ... | tri≈ ¬a b ¬c = record { sup = filter F ; isSUP = record { ax = FX∋F ; x≤sup = λ {y} zy → ⊥-elim (o<¬≡ (sym b) (∈∅< zy)) } }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
340 ... | tri> ¬a ¬b 0<B = record { sup = Union B ; isSUP = record { ax = mf13 ; x≤sup = ? } } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
341 mf20 : HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
342 mf20 = ODC.minimal O B (λ eq → (o<¬≡ (cong (&) (sym (==→o≡ eq))) (subst (λ k → k o< & B) (sym ord-od∅) 0<B )))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
343 mf18 : odef B (& mf20 )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
344 mf18 = ODC.x∋minimal O B (λ eq → (o<¬≡ (cong (&) (sym (==→o≡ eq))) (subst (λ k → k o< & B) (sym ord-od∅) 0<B )))
1137
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
345 mf16 : Union B ⊆ L
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
346 mf16 record { owner = b ; ao = Bb ; ox = bx } = IsFilter.f⊆L ( proj1 ( B⊆FX Bb )) bx
1137
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
347 mf17 : {p q : Ordinal} → odef L q → odef (* (& (Union B))) p → * p ⊆ * q → odef (* (& (Union B))) q
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
348 mf17 {p} {q} Lq bp p⊆q with subst (λ k → odef k p ) *iso bp
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
349 ... | record { owner = owner ; ao = ao ; ox = ox } = subst (λ k → odef k q) (sym *iso)
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
350 record { owner = owner ; ao = ao ; ox = IsFilter.filter1 mf30 Lq ox p⊆q } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
351 mf30 : IsFilter {L} {P} LP owner
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
352 mf30 = proj1 ( B⊆FX ao )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
353 mf31 : {p q : Ordinal} → odef (* (& (Union B))) p → odef (* (& (Union B))) q → odef L (& ((* p) ∩ (* q))) → odef (* (& (Union B))) (& ((* p) ∩ (* q)))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
354 mf31 {p} {q} bp bq Lpq with subst (λ k → odef k p ) *iso bp | subst (λ k → odef k q ) *iso bq
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
355 ... | record { owner = bp ; ao = Bbp ; ox = bbp } | record { owner = bq ; ao = Bbq ; ox = bbq }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
356 with OB (subst (λ k → odef B k) (sym &iso) Bbp) (subst (λ k → odef B k) (sym &iso) Bbq)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
357 ... | tri< bp⊂bq ¬b ¬c = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
358 ... | tri≈ ¬a bq=bp ¬c = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
359 ... | tri> ¬a ¬b bq⊂bp = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
360 mf14 : IsFilter LP (& (Union B))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
361 mf14 = record { f⊆L = subst (λ k → k ⊆ L) (sym *iso) mf16 ; filter1 = mf17 ; filter2 = mf31 ; proper = ? }
1137
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
362 mf15 : filter F ⊆ Union B
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
363 mf15 {x} Fx = record { owner = & mf20 ; ao = mf18 ; ox = subst (λ k → odef k x) (sym *iso) (mf22 Fx) } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
364 mf22 : odef (filter F) x → odef mf20 x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
365 mf22 Fx = subst (λ k → odef k x) *iso ( proj2 (B⊆FX mf18) Fx )
1137
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
366 mf13 : odef FX (& (Union B))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
367 mf13 = ⟪ mf14 , subst (λ k → filter F ⊆ k ) (sym *iso) mf15 ⟫
1134
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
368 mx : Maximal FX
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
369 mx = Zorn-lemma (∈∅< FX∋F) SUP⊆
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
370 imf : IsFilter {L} {P} LP (& (Maximal.maximal mx))
1134
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
371 imf = proj1 (Maximal.as mx)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
372 mf00 : (* (& (Maximal.maximal mx))) ⊆ L
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
373 mf00 = IsFilter.f⊆L imf
1134
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
374 mf01 : { p q : HOD } → L ∋ q → (* (& (Maximal.maximal mx))) ∋ p → p ⊆ q → (* (& (Maximal.maximal mx))) ∋ q
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
375 mf01 {p} {q} Lq Fq p⊆q = IsFilter.filter1 imf Lq Fq
1134
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
376 (λ {x} lt → subst (λ k → odef k x) (sym *iso) ( p⊆q (subst (λ k → odef k x) *iso lt ) ))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
377 mf02 : { p q : HOD } → (* (& (Maximal.maximal mx))) ∋ p → (* (& (Maximal.maximal mx))) ∋ q → L ∋ (p ∩ q)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
378 → (* (& (Maximal.maximal mx))) ∋ (p ∩ q)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
379 mf02 {p} {q} Fp Fq Lpq = subst₂ (λ j k → odef (* (& (Maximal.maximal mx))) (& (j ∩ k ))) *iso *iso (
1138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1137
diff changeset
380 IsFilter.filter2 imf Fp Fq (subst₂ (λ j k → odef L (& (j ∩ k ))) (sym *iso) (sym *iso) Lpq ))
1134
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
381 mf : Filter {L} {P} LP
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
382 mf = record { filter = * (& (Maximal.maximal mx)) ; f⊆L = mf00
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
383 ; filter1 = mf01
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
384 ; filter2 = mf02 }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
385
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
386
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
387 F→ultra : {L P : HOD} (LP : L ⊆ Power P) → (NEG : {p : HOD} → L ∋ p → L ∋ ( P \ p)) → (CAP : {p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q))
1136
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
388 → (F : Filter {L} {P} LP) → (0<L : o∅ o< & L) → {y : Ordinal} → (0<F : odef (filter F) y) → (proper : ¬ (filter F ∋ od∅))
1134
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1133
diff changeset
389 → ultra-filter ( MaximumFilter.mf (F→Maximum {L} {P} LP NEG CAP F 0<L 0<F proper ))
1136
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1135
diff changeset
390 F→ultra {L} {P} LP NEG CAP F 0<L 0<F proper = max→ultra {L} {P} LP CAP F 0<F (F→Maximum {L} {P} LP NEG CAP F 0<L 0<F proper )
481
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
391
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
392