annotate src/ODUtil.agda @ 1284:45cd80181a29

remove import zf
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 20 May 2023 09:48:37 +0900
parents 8a071bf52407
children 302cfb533201
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
1 {-# OPTIONS --allow-unsolved-metas #-}
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 open import Level
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 open import Ordinals
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 module ODUtil {n : Level } (O : Ordinals {n} ) where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
6 open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ; _⊔_ to _n⊔_ )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 open import Relation.Binary.PropositionalEquality hiding ( [_] )
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
8 open import Data.Nat.Properties
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 open import Data.Empty
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 open import Relation.Nullary
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 open import Relation.Binary hiding ( _⇔_ )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 open import logic
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 open import nat
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 open Ordinals.Ordinals O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 open Ordinals.IsOrdinals isOrdinal
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 open Ordinals.IsNext isNext
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 import OrdUtil
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 open OrdUtil O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 import OD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 open OD O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 open OD.OD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 open ODAxiom odAxiom
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 open HOD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 open _∧_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 open _==_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
31 _⊂_ : ( A B : HOD) → Set n
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
32 _⊂_ A B = ( & A o< & B) ∧ ( A ⊆ B )
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
33
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
34 ⊆∩-dist : {a b c : HOD} → a ⊆ b → a ⊆ c → a ⊆ ( b ∩ c )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
35 ⊆∩-dist {a} {b} {c} a<b a<c {z} az = ⟪ a<b az , a<c az ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
36
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
37 ⊆∩-incl-1 : {a b c : HOD} → a ⊆ c → ( a ∩ b ) ⊆ c
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
38 ⊆∩-incl-1 {a} {b} {c} a<c {z} ab = a<c (proj1 ab)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
39
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
40 ⊆∩-incl-2 : {a b c : HOD} → a ⊆ c → ( b ∩ a ) ⊆ c
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
41 ⊆∩-incl-2 {a} {b} {c} a<c {z} ab = a<c (proj2 ab)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
42
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
43 cseq : HOD → HOD
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 cseq x = record { od = record { def = λ y → odef x (osuc y) } ; odmax = osuc (odmax x) ; <odmax = lemma } where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 lemma : {y : Ordinal} → def (od x) (osuc y) → y o< osuc (odmax x)
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
46 lemma {y} lt = ordtrans <-osuc (ordtrans (<odmax x lt) <-osuc )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
48 ∩-comm : { A B : HOD } → (A ∩ B) ≡ (B ∩ A)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
49 ∩-comm {A} {B} = ==→o≡ record { eq← = λ {x} lt → ⟪ proj2 lt , proj1 lt ⟫ ; eq→ = λ {x} lt → ⟪ proj2 lt , proj1 lt ⟫ }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
50
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
51 _∪_ : ( A B : HOD ) → HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
52 A ∪ B = record { od = record { def = λ x → odef A x ∨ odef B x } ;
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
53 odmax = omax (odmax A) (odmax B) ; <odmax = lemma } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
54 lemma : {y : Ordinal} → odef A y ∨ odef B y → y o< omax (odmax A) (odmax B)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
55 lemma {y} (case1 a) = ordtrans (<odmax A a) (omax-x _ _)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
56 lemma {y} (case2 b) = ordtrans (<odmax B b) (omax-y _ _)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
57
1151
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
58 x∪x≡x : { A : HOD } → (A ∪ A) ≡ A
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
59 x∪x≡x {A} = ==→o≡ record { eq← = λ {x} lt → case1 lt ; eq→ = lem00 } where
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
60 lem00 : {x : Ordinal} → odef A x ∨ odef A x → odef A x
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
61 lem00 {x} (case1 ax) = ax
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
62 lem00 {x} (case2 ax) = ax
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
63
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
64 _\_ : ( A B : HOD ) → HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
65 A \ B = record { od = record { def = λ x → odef A x ∧ ( ¬ ( odef B x ) ) }; odmax = odmax A ; <odmax = λ y → <odmax A (proj1 y) }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
66
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
67 ¬∅∋ : {x : HOD} → ¬ ( od∅ ∋ x )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
68 ¬∅∋ {x} = ¬x<0
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
69
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 pair-xx<xy : {x y : HOD} → & (x , x) o< osuc (& (x , y) )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 pair-xx<xy {x} {y} = ⊆→o≤ lemma where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 lemma : {z : Ordinal} → def (od (x , x)) z → def (od (x , y)) z
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 lemma {z} (case1 refl) = case1 refl
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 lemma {z} (case2 refl) = case1 refl
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 pair-<xy : {x y : HOD} → {n : Ordinal} → & x o< next n → & y o< next n → & (x , y) o< next n
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 pair-<xy {x} {y} {o} x<nn y<nn with trio< (& x) (& y) | inspect (omax (& x)) (& y)
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
79 ... | tri< a ¬b ¬c | record { eq = eq1 } = next< (subst (λ k → k o< next o ) (sym eq1) (osuc<nx y<nn)) ho<
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
80 ... | tri> ¬a ¬b c | record { eq = eq1 } = next< (subst (λ k → k o< next o ) (sym eq1) (osuc<nx x<nn)) ho<
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
81 ... | tri≈ ¬a b ¬c | record { eq = eq1 } = next< (subst (λ k → k o< next o ) (omax≡ _ _ b) (subst (λ k → osuc k o< next o) b (osuc<nx x<nn))) ho<
431
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 -- another form of infinite
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 -- pair-ord< : {x : Ordinal } → Set n
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 pair-ord< : {x : HOD } → ( {y : HOD } → & y o< next (odmax y) ) → & ( x , x ) o< next (& x)
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 pair-ord< {x} ho< = subst (λ k → & (x , x) o< k ) lemmab0 lemmab1 where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 lemmab0 : next (odmax (x , x)) ≡ next (& x)
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 lemmab0 = trans (cong (λ k → next k) (omxx _)) (sym nexto≡)
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 lemmab1 : & (x , x) o< next ( odmax (x , x))
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 lemmab1 = ho<
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 trans-⊆ : { A B C : HOD} → A ⊆ B → B ⊆ C → A ⊆ C
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
93 trans-⊆ A⊆B B⊆C ab = B⊆C (A⊆B ab)
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94
1126
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
95 trans-⊂ : { A B C : HOD} → A ⊂ B → B ⊂ C → A ⊂ C
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
96 trans-⊂ ⟪ A<B , A⊆B ⟫ ⟪ B<C , B⊆C ⟫ = ⟪ ordtrans A<B B<C , (λ ab → B⊆C (A⊆B ab)) ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
97
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 refl-⊆ : {A : HOD} → A ⊆ A
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
99 refl-⊆ x = x
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
100
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 od⊆→o≤ : {x y : HOD } → x ⊆ y → & x o< osuc (& y)
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
102 od⊆→o≤ {x} {y} lt = ⊆→o≤ {x} {y} (λ {z} x>z → subst (λ k → def (od y) k ) &iso (lt (d→∋ x x>z)))
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 447
diff changeset
104 ⊆→= : {F U : HOD} → F ⊆ U → U ⊆ F → F =h= U
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
105 ⊆→= {F} {U} FU UF = record { eq→ = λ {x} lt → subst (λ k → odef U k) &iso (FU (subst (λ k → odef F k) (sym &iso) lt) )
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
106 ; eq← = λ {x} lt → subst (λ k → odef F k) &iso (UF (subst (λ k → odef U k) (sym &iso) lt) ) }
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 447
diff changeset
107
519
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
108 ¬A∋x→A≡od∅ : (A : HOD) → {x : HOD} → A ∋ x → ¬ ( & A ≡ o∅ )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
109 ¬A∋x→A≡od∅ A {x} ax a=0 = ¬x<0 ( subst (λ k → & x o< k) a=0 (c<→o< ax ))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
110
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 subset-lemma : {A x : HOD } → ( {y : HOD } → x ∋ y → (A ∩ x ) ∋ y ) ⇔ ( x ⊆ A )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 subset-lemma {A} {x} = record {
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
113 proj1 = λ lt x∋z → subst (λ k → odef A k ) &iso ( proj1 (lt (subst (λ k → odef x k) (sym &iso) x∋z ) ))
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
114 ; proj2 = λ x⊆A lt → ⟪ x⊆A lt , lt ⟫
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
115 }
431
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 ω<next-o∅ : {y : Ordinal} → infinite-d y → y o< next o∅
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 ω<next-o∅ {y} lt = <odmax infinite lt
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 nat→ω : Nat → HOD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 nat→ω Zero = od∅
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
122 nat→ω (Suc y) = Union (nat→ω y , (nat→ω y , nat→ω y))
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 ω→nato : {y : Ordinal} → infinite-d y → Nat
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 ω→nato iφ = Zero
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 ω→nato (isuc lt) = Suc (ω→nato lt)
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
127
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 ω→nat : (n : HOD) → infinite ∋ n → Nat
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
129 ω→nat n = ω→nato
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
130
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 ω∋nat→ω : {n : Nat} → def (od infinite) (& (nat→ω n))
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 ω∋nat→ω {Zero} = subst (λ k → def (od infinite) k) (sym ord-od∅) iφ
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 ω∋nat→ω {Suc n} = subst (λ k → def (od infinite) k) lemma (isuc ( ω∋nat→ω {n})) where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 lemma : & (Union (* (& (nat→ω n)) , (* (& (nat→ω n)) , * (& (nat→ω n))))) ≡ & (nat→ω (Suc n))
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 lemma = subst (λ k → & (Union (k , ( k , k ))) ≡ & (nat→ω (Suc n))) (sym *iso) refl
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
136
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 pair1 : { x y : HOD } → (x , y ) ∋ x
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 pair1 = case1 refl
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 pair2 : { x y : HOD } → (x , y ) ∋ y
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 pair2 = case2 refl
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 single : {x y : HOD } → (x , x ) ∋ y → x ≡ y
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 single (case1 eq) = ==→o≡ ( ord→== (sym eq) )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 single (case2 eq) = ==→o≡ ( ord→== (sym eq) )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
147 single& : {x y : Ordinal } → odef (* x , * x ) y → x ≡ y
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
148 single& (case1 eq) = sym (trans eq &iso)
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
149 single& (case2 eq) = sym (trans eq &iso)
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
150
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
151 open import Relation.Binary.HeterogeneousEquality as HE using (_≅_ )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 -- postulate f-extensionality : { n m : Level} → HE.Extensionality n m
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
153
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
154 pair=∨ : {a b c : Ordinal } → odef (* a , * b) c → ( a ≡ c ) ∨ ( b ≡ c )
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
155 pair=∨ {a} {b} {c} (case1 c=a) = case1 ( sym (trans c=a &iso))
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
156 pair=∨ {a} {b} {c} (case2 c=b) = case2 ( sym (trans c=b &iso))
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
157
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 ω-prev-eq1 : {x y : Ordinal} → & (Union (* y , (* y , * y))) ≡ & (Union (* x , (* x , * x))) → ¬ (x o< y)
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
159 ω-prev-eq1 {x} {y} eq x<y with eq→ (ord→== eq) record { owner = & (* y , * y) ; ao = case2 refl
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
160 ; ox = subst (λ k → odef k (& (* y))) (sym *iso) (case1 refl) } -- (* x , (* x , * x)) ∋ * y
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
161 ... | record { owner = u ; ao = xxx∋u ; ox = uy } with xxx∋u
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
162 ... | case1 u=x = ⊥-elim ( o<> x<y (osucprev (begin
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
163 osuc y ≡⟨ sym (cong osuc &iso) ⟩
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
164 osuc (& (* y)) ≤⟨ osucc (c<→o< {* y} {* u} uy) ⟩ -- * x ≡ * u ∋ * y
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
165 & (* u) ≡⟨ &iso ⟩
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
166 u ≡⟨ u=x ⟩
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
167 & (* x) ≡⟨ &iso ⟩
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
168 x ∎ ))) where open o≤-Reasoning O
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
169 ... | case2 u=xx = ⊥-elim (o<¬≡ ( begin
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
170 x ≡⟨ single& (subst₂ (λ j k → odef j k ) (begin
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
171 * u ≡⟨ cong (*) u=xx ⟩
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
172 * (& (* x , * x)) ≡⟨ *iso ⟩
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
173 (* x , * x ) ∎ ) &iso uy ) ⟩ -- (* x , * x ) ∋ * y
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
174 y ∎ ) x<y) where open ≡-Reasoning
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
175
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 ω-prev-eq : {x y : Ordinal} → & (Union (* y , (* y , * y))) ≡ & (Union (* x , (* x , * x))) → x ≡ y
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 ω-prev-eq {x} {y} eq with trio< x y
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 ω-prev-eq {x} {y} eq | tri< a ¬b ¬c = ⊥-elim (ω-prev-eq1 eq a)
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 ω-prev-eq {x} {y} eq | tri≈ ¬a b ¬c = b
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 ω-prev-eq {x} {y} eq | tri> ¬a ¬b c = ⊥-elim (ω-prev-eq1 (sym eq) c)
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
181
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 ω-∈s : (x : HOD) → Union ( x , (x , x)) ∋ x
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
183 ω-∈s x = record { owner = & ( x , x ) ; ao = case2 refl ; ox = subst₂ (λ j k → odef j k ) (sym *iso) refl (case2 refl) }
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
184
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 ωs≠0 : (x : HOD) → ¬ ( Union ( x , (x , x)) ≡ od∅ )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 ωs≠0 y eq = ⊥-elim ( ¬x<0 (subst (λ k → & y o< k ) ord-od∅ (c<→o< (subst (λ k → odef k (& y )) eq (ω-∈s y) ))) )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
187
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 nat→ω-iso : {i : HOD} → (lt : infinite ∋ i ) → nat→ω ( ω→nat i lt ) ≡ i
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 nat→ω-iso {i} = ε-induction {λ i → (lt : infinite ∋ i ) → nat→ω ( ω→nat i lt ) ≡ i } ind i where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 ind : {x : HOD} → ({y : HOD} → x ∋ y → (lt : infinite ∋ y) → nat→ω (ω→nat y lt) ≡ y) →
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 (lt : infinite ∋ x) → nat→ω (ω→nat x lt) ≡ x
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 ind {x} prev lt = ind1 lt *iso where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 ind1 : {ox : Ordinal } → (ltd : infinite-d ox ) → * ox ≡ x → nat→ω (ω→nato ltd) ≡ x
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 ind1 {o∅} iφ refl = sym o∅≡od∅
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 ind1 (isuc {x₁} ltd) ox=x = begin
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
196 nat→ω (ω→nato (isuc ltd) )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 ≡⟨⟩
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 Union (nat→ω (ω→nato ltd) , (nat→ω (ω→nato ltd) , nat→ω (ω→nato ltd)))
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 ≡⟨ cong (λ k → Union (k , (k , k ))) lemma ⟩
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 Union (* x₁ , (* x₁ , * x₁))
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 ≡⟨ trans ( sym *iso) ox=x ⟩
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
202 x
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 ∎ where
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
204 open ≡-Reasoning
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 lemma0 : x ∋ * x₁
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
206 lemma0 = subst (λ k → odef k (& (* x₁))) (trans (sym *iso) ox=x)
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
207 record { owner = & ( * x₁ , * x₁ ) ; ao = case2 refl ; ox = subst (λ k → odef k (& (* x₁))) (sym *iso) (case1 refl) }
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 lemma1 : infinite ∋ * x₁
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 lemma1 = subst (λ k → odef infinite k) (sym &iso) ltd
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 lemma3 : {x y : Ordinal} → (ltd : infinite-d x ) (ltd1 : infinite-d y ) → y ≡ x → ltd ≅ ltd1
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 lemma3 iφ iφ refl = HE.refl
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 lemma3 iφ (isuc {y} ltd1) eq = ⊥-elim ( ¬x<0 (subst₂ (λ j k → j o< k ) &iso eq (c<→o< (ω-∈s (* y)) )))
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 lemma3 (isuc {y} ltd) iφ eq = ⊥-elim ( ¬x<0 (subst₂ (λ j k → j o< k ) &iso (sym eq) (c<→o< (ω-∈s (* y)) )))
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 lemma3 (isuc {x} ltd) (isuc {y} ltd1) eq with lemma3 ltd ltd1 (ω-prev-eq (sym eq))
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
215 ... | t = HE.cong₂ (λ j k → isuc {j} k ) (HE.≡-to-≅ (ω-prev-eq eq)) t
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 lemma2 : {x y : Ordinal} → (ltd : infinite-d x ) (ltd1 : infinite-d y ) → y ≡ x → ω→nato ltd ≡ ω→nato ltd1
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 lemma2 {x} {y} ltd ltd1 eq = lemma6 eq (lemma3 {x} {y} ltd ltd1 eq) where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 lemma6 : {x y : Ordinal} → {ltd : infinite-d x } {ltd1 : infinite-d y } → y ≡ x → ltd ≅ ltd1 → ω→nato ltd ≡ ω→nato ltd1
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 lemma6 refl HE.refl = refl
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 lemma : nat→ω (ω→nato ltd) ≡ * x₁
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 lemma = trans (cong (λ k → nat→ω k) (lemma2 {x₁} {_} ltd (subst (λ k → infinite-d k ) (sym &iso) ltd) &iso ) ) ( prev {* x₁} lemma0 lemma1 )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
222
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
223
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
224 ω→nat-iso0 : (x : Nat) → {ox : Ordinal } → (ltd : infinite-d ox) → * ox ≡ nat→ω x → ω→nato ltd ≡ x
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
225 ω→nat-iso0 Zero iφ eq = refl
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
226 ω→nat-iso0 (Suc x) iφ eq = ⊥-elim ( ωs≠0 _ (trans (sym eq) o∅≡od∅ ))
1100
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
227 ω→nat-iso0 Zero (isuc ltd) eq = ⊥-elim ( ωs≠0 _ (subst (λ k → k ≡ od∅ ) *iso eq ))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
228 ω→nat-iso0 (Suc i) (isuc {x} ltd) eq = cong Suc ( ω→nat-iso0 i ltd (lemma1 eq) ) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
229 lemma1 : * (& (Union (* x , (* x , * x)))) ≡ Union (nat→ω i , (nat→ω i , nat→ω i)) → * x ≡ nat→ω i
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
230 lemma1 eq = subst (λ k → * x ≡ k ) *iso (cong (λ k → * k)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
231 ( ω-prev-eq (subst (λ k → _ ≡ k ) &iso (cong (λ k → & k ) (sym
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
232 (subst (λ k → _ ≡ Union ( k , ( k , k ))) (sym *iso ) eq ))))))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
233
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 ω→nat-iso : {i : Nat} → ω→nat ( nat→ω i ) (ω∋nat→ω {i}) ≡ i
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
235 ω→nat-iso {i} = ω→nat-iso0 i (ω∋nat→ω {i}) *iso
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
236
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
237 Repl⊆ : {A B : HOD} (A⊆B : A ⊆ B) → { ψa : ( x : HOD) → A ∋ x → HOD } { ψb : ( x : HOD) → B ∋ x → HOD }
1106
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1100
diff changeset
238 → ( {z : Ordinal } → (az : odef A z ) → (ψa (* z) (subst (odef A) (sym &iso) az) ≡ ψb (* z) (subst (odef B) (sym &iso) (A⊆B az))))
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
239 → Replace' A ψa ⊆ Replace' B ψb
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
240 Repl⊆ {A} {B} A⊆B {ψa} {ψb} eq record { z = z ; az = az ; x=ψz = x=ψz } = record { z = z ; az = A⊆B az
1106
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1100
diff changeset
241 ; x=ψz = trans x=ψz (cong (&) (eq az) ) }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1100
diff changeset
242
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
243 PPP : {P : HOD} → Power P ∋ P
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
244 PPP {P} z pz = subst (λ k → odef k z ) *iso pz
1106
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1100
diff changeset
245
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
246 UPower⊆Q : {P Q : HOD} → P ⊆ Q → Union (Power P) ⊆ Q
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
247 UPower⊆Q {P} {Q} P⊆Q {z} record { owner = y ; ao = ppy ; ox = yz } = P⊆Q (ppy _ yz)
1106
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1100
diff changeset
248
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
249 UPower∩ : {P : HOD} → ({ p q : HOD } → P ∋ p → P ∋ q → P ∋ (p ∩ q))
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
250 → { p q : HOD } → Union (Power P) ∋ p → Union (Power P) ∋ q → Union (Power P) ∋ (p ∩ q)
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
251 UPower∩ {P} each {p} {q} record { owner = x ; ao = ppx ; ox = xz } record { owner = y ; ao = ppy ; ox = yz }
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
252 = record { owner = & P ; ao = PPP ; ox = lem03 } where
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
253 lem03 : odef (* (& P)) (& (p ∩ q))
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
254 lem03 = subst (λ k → odef k (& (p ∩ q))) (sym *iso) ( each (ppx _ xz) (ppy _ yz) )
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
255
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
256 -- ∋-irr : {X x : HOD} → (a b : X ∋ x ) → a ≡ b
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
257 -- ∋-irr {X} {x} _ _ = refl
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
258 -- is requed in
1151
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
259 Replace∩ : {X P Q : HOD} → {ψ : (x : HOD) → X ∋ x → HOD} → (P⊆X : P ⊆ X) → (Q⊆X : Q ⊆ X )
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
260 → ( {x : HOD} → (a b : X ∋ x ) → ψ x a ≡ ψ x b )
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
261 → (Replace' (P ∩ Q) (λ _ pq → ψ _ (P⊆X (proj1 pq )))) ⊆ ( Replace' P (λ _ p → ψ _ (P⊆X p)) ∩ Replace' Q (λ _ q → ψ _ (Q⊆X q)))
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
262 Replace∩ {X} {P} {Q} {ψ} P⊆X Q⊆X ψ-irr = lem04 where
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
263 lem04 : {x : Ordinal} → OD.def (od (Replace' (P ∩ Q) (λ z pq → ψ z (P⊆X (proj1 pq)) ))) x
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
264 → OD.def (od (Replace' P (λ z p → ψ z (P⊆X p)) ∩ Replace' Q (λ z q → ψ z (Q⊆X q)))) x
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
265 lem04 {x} record { z = z ; az = az ; x=ψz = x=ψz } = ⟪
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
266 record { z = _ ; az = proj1 az ; x=ψz = trans x=ψz (cong (&)(ψ-irr _ _)) } ,
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
267 record { z = _ ; az = proj2 az ; x=ψz = trans x=ψz (cong (&)(ψ-irr _ _)) } ⟫
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
268