annotate src/VL.agda @ 1489:0dbbae768c90 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 01 Jul 2024 23:04:17 +0900
parents 32001d93755b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1476
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
1 {-# OPTIONS --cubical-compatible --safe #-}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
2 open import Level
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
3 open import Ordinals
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
4 open import logic
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
5 open import Relation.Nullary
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
6
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 open import Level
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 open import Ordinals
1476
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
9 import HODBase
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
10 import OD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
11 open import Relation.Nullary
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
12 module VL {n : Level } (O : Ordinals {n} ) (HODAxiom : HODBase.ODAxiom O) (ho< : OD.ODAxiom-ho< O HODAxiom ) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
13
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
14 open import Relation.Binary.PropositionalEquality hiding ( [_] )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
15 open import Data.Empty
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
16
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
17 import OrdUtil
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
18
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
19 open Ordinals.Ordinals O
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
20 open Ordinals.IsOrdinals isOrdinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
21 import ODUtil
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 open import logic
1476
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
24 open import nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
25
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 open OrdUtil O
1476
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
27 open ODUtil O HODAxiom ho<
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
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 open _∨_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 open Bool
1476
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
32
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
33 open HODBase._==_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
34
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
35 open HODBase.ODAxiom HODAxiom
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
36 open OD O HODAxiom
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
37
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
38 open HODBase.HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
39
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
40
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
41 open import Relation.Nullary
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
42 open import Relation.Binary
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
43 open import Data.Empty
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
44 open import Relation.Binary
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
45 open import Relation.Binary.Core
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
46 open import Relation.Binary.PropositionalEquality
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
47 open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ; _⊔_ to _n⊔_ )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
48
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 -- The cumulative hierarchy
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 -- V 0 := ∅
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 -- V α + 1 := P ( V α )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 -- V α := ⋃ { V β | β < α }
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54
1458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
55 V1 : (x : Ordinal ) → ( ( y : Ordinal) → y o< x → HOD ) → HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
56 V1 x V0 with trio< x o∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
57 V1 x V0 | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
58 V1 x V0 | tri≈ ¬a refl ¬c = Ord o∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
59 V1 x V0 | tri> ¬a ¬b c with Oprev-p x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
60 V1 x V0 | tri> ¬a ¬b c | yes p = Power ( V0 (Oprev.oprev p ) (subst (λ k → _ o< k) (Oprev.oprev=x p) <-osuc ))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
61 V1 x V0 | tri> ¬a ¬b c | no ¬p =
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
62 record { od = record { def = λ y → (y o< x ) ∧ ((lt : y o< x ) → odef (V0 y lt) x ) } ; odmax = x; <odmax = λ {x} lt → proj1 lt }
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63
1458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
64 record VOrd (x : Ordinal) : Set n where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
65 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
66 β : Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
67 ov : odef (TransFinite V1 β) x
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68
1458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
69 V : OD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
70 V = record { def = λ x → VOrd x }
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71
1458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
72 record Vn : Set n where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
73 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
74 x : Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
75 β : Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
76 ov : odef (TransFinite V1 β) x
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77
1476
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
78 -- Vn∅ : Vn
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
79 -- Vn∅ = record { x = o∅ ; β = o∅ ; ov = ? }
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80
1476
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
81 -- vsuc : Vn → Vn
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
82 -- vsuc v = ?
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83
1476
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
84 -- v< : Vn → Vn → Set n
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
85 -- v< x y = ?
1458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
86
1476
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
87 -- IsVOrd : IsOrdinals Vn Vn∅ vsuc ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1458
diff changeset
88 -- IsVOrd = ?
1458
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
89