# HG changeset patch # User Shinji KONO # Date 1676948561 -32400 # Node ID 7d2bae0ff36bd8186b368c7c5e1a3e12b7bbd8af # Parent 375615f9d60f893735d033e02594f36ed114758f ... diff -r 375615f9d60f -r 7d2bae0ff36b src/OD.agda --- a/src/OD.agda Sat Feb 18 11:51:22 2023 +0900 +++ b/src/OD.agda Tue Feb 21 12:02:41 2023 +0900 @@ -8,6 +8,7 @@ open import Relation.Binary.PropositionalEquality hiding ( [_] ) open import Data.Nat.Properties open import Data.Empty +open import Data.Unit open import Relation.Nullary open import Relation.Binary hiding (_⇔_) open import Relation.Binary.Core hiding (_⇔_) @@ -79,7 +80,7 @@ -- Ordinals in OD , the maximum Ords : OD -Ords = record { def = λ x → One } +Ords = record { def = λ x → Lift n ⊤ } record HOD : Set (suc n) where field @@ -120,7 +121,7 @@ -- OD ⇔ Ordinal leads a contradiction, so we need bounded HOD ¬OD-order : ( & : OD → Ordinal ) → ( * : Ordinal → OD ) → ( { x y : OD } → def y ( & x ) → & x o< & y) → ⊥ -¬OD-order & * c<→o< = o≤> <-osuc (c<→o< {Ords} OneObj ) +¬OD-order & * c<→o< = o≤> <-osuc (c<→o< {Ords} (lift tt) ) -- Ordinal in OD ( and ZFSet ) Transitive Set Ord : ( a : Ordinal ) → HOD diff -r 375615f9d60f -r 7d2bae0ff36b src/Topology.agda --- a/src/Topology.agda Sat Feb 18 11:51:22 2023 +0900 +++ b/src/Topology.agda Tue Feb 21 12:02:41 2023 +0900 @@ -447,7 +447,38 @@ fip50 {w} Lyw = subst (λ k → odef k w ) (sym fip56) Lyw Compact→FIP : {L : HOD} → (top : Topology L ) → Compact top → FIP top -Compact→FIP = ? +Compact→FIP {L} top fip with trio< (& L) o∅ +... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) +... | tri≈ ¬a b ¬c = record { limit = ? ; is-limit = ? } +... | tri> ¬a ¬b 0 ) FuncHOD=R {A} {B} (felm F) = *iso +-- +-- Set of All function from A to B +-- Funcs : (A B : HOD) → HOD Funcs A B = record { od = record { def = λ x → FuncHOD A B x } ; odmax = osuc (& (A ⊗ B)) ; _ : Bool → Bool → Bool +true <=> true = true +false <=> false = true +_ <=> _ = false + +open import Relation.Binary.PropositionalEquality + +not-not-bool : { b : Bool } → not (not b) ≡ b +not-not-bool {true} = refl +not-not-bool {false} = refl + +record Bijection {n m : Level} (R : Set n) (S : Set m) : Set (n Level.⊔ m) where + field + fun← : S → R + fun→ : R → S + fiso← : (x : R) → fun← ( fun→ x ) ≡ x + fiso→ : (x : S ) → fun→ ( fun← x ) ≡ x + +injection : {n m : Level} (R : Set n) (S : Set m) (f : R → S ) → Set (n Level.⊔ m) +injection R S f = (x y : R) → f x ≡ f y → x ≡ y + + +¬t=f : (t : Bool ) → ¬ ( not t ≡ t) +¬t=f true () +¬t=f false () + +infixr 130 _\/_ +infixr 140 _/\_ + +≡-Bool-func : {A B : Bool } → ( A ≡ true → B ≡ true ) → ( B ≡ true → A ≡ true ) → A ≡ B +≡-Bool-func {true} {true} a→b b→a = refl +≡-Bool-func {false} {true} a→b b→a with b→a refl +... | () +≡-Bool-func {true} {false} a→b b→a with a→b refl +... | () +≡-Bool-func {false} {false} a→b b→a = refl + +bool-≡-? : (a b : Bool) → Dec ( a ≡ b ) +bool-≡-? true true = yes refl +bool-≡-? true false = no (λ ()) +bool-≡-? false true = no (λ ()) +bool-≡-? false false = yes refl + +¬-bool-t : {a : Bool} → ¬ ( a ≡ true ) → a ≡ false +¬-bool-t {true} ne = ⊥-elim ( ne refl ) +¬-bool-t {false} ne = refl + +¬-bool-f : {a : Bool} → ¬ ( a ≡ false ) → a ≡ true +¬-bool-f {true} ne = refl +¬-bool-f {false} ne = ⊥-elim ( ne refl ) + +¬-bool : {a : Bool} → a ≡ false → a ≡ true → ⊥ +¬-bool refl () + +lemma-∧-0 : {a b : Bool} → a /\ b ≡ true → a ≡ false → ⊥ +lemma-∧-0 {true} {true} refl () +lemma-∧-0 {true} {false} () +lemma-∧-0 {false} {true} () +lemma-∧-0 {false} {false} () + +lemma-∧-1 : {a b : Bool} → a /\ b ≡ true → b ≡ false → ⊥ +lemma-∧-1 {true} {true} refl () +lemma-∧-1 {true} {false} () +lemma-∧-1 {false} {true} () +lemma-∧-1 {false} {false} () + +bool-and-tt : {a b : Bool} → a ≡ true → b ≡ true → ( a /\ b ) ≡ true +bool-and-tt refl refl = refl + +bool-∧→tt-0 : {a b : Bool} → ( a /\ b ) ≡ true → a ≡ true +bool-∧→tt-0 {true} {true} refl = refl +bool-∧→tt-0 {false} {_} () + +bool-∧→tt-1 : {a b : Bool} → ( a /\ b ) ≡ true → b ≡ true +bool-∧→tt-1 {true} {true} refl = refl +bool-∧→tt-1 {true} {false} () +bool-∧→tt-1 {false} {false} () + +bool-or-1 : {a b : Bool} → a ≡ false → ( a \/ b ) ≡ b +bool-or-1 {false} {true} refl = refl +bool-or-1 {false} {false} refl = refl +bool-or-2 : {a b : Bool} → b ≡ false → (a \/ b ) ≡ a +bool-or-2 {true} {false} refl = refl +bool-or-2 {false} {false} refl = refl + +bool-or-3 : {a : Bool} → ( a \/ true ) ≡ true +bool-or-3 {true} = refl +bool-or-3 {false} = refl + +bool-or-31 : {a b : Bool} → b ≡ true → ( a \/ b ) ≡ true +bool-or-31 {true} {true} refl = refl +bool-or-31 {false} {true} refl = refl + +bool-or-4 : {a : Bool} → ( true \/ a ) ≡ true +bool-or-4 {true} = refl +bool-or-4 {false} = refl + +bool-or-41 : {a b : Bool} → a ≡ true → ( a \/ b ) ≡ true +bool-or-41 {true} {b} refl = refl + +bool-and-1 : {a b : Bool} → a ≡ false → (a /\ b ) ≡ false +bool-and-1 {false} {b} refl = refl +bool-and-2 : {a b : Bool} → b ≡ false → (a /\ b ) ≡ false +bool-and-2 {true} {false} refl = refl +bool-and-2 {false} {false} refl = refl + + +open import Data.Nat +open import Data.Nat.Properties + +_≥b_ : ( x y : ℕ) → Bool +x ≥b y with <-cmp x y +... | tri< a ¬b ¬c = false +... | tri≈ ¬a b ¬c = true +... | tri> ¬a ¬b c = true + +_>b_ : ( x y : ℕ) → Bool +x >b y with <-cmp x y +... | tri< a ¬b ¬c = false +... | tri≈ ¬a b ¬c = false +... | tri> ¬a ¬b c = true + +_≤b_ : ( x y : ℕ) → Bool +x ≤b y = y ≥b x + +_b x + open import Relation.Binary.PropositionalEquality ¬i0≡i1 : ¬ ( i0 ≡ i1 ) @@ -63,8 +216,3 @@ ¬i1→i0 {i0} ne = refl ¬i1→i0 {i1} ne = ⊥-elim ( ne refl ) - -infixr 130 _∧_ -infixr 140 _∨_ -infixr 150 _⇔_ - diff -r 375615f9d60f -r 7d2bae0ff36b src/partfunc.agda --- a/src/partfunc.agda Sat Feb 18 11:51:22 2023 +0900 +++ b/src/partfunc.agda Tue Feb 21 12:02:41 2023 +0900 @@ -8,6 +8,7 @@ open import logic open import Relation.Binary open import Data.Empty +open import Data.Unit using ( ⊤ ; tt ) open import Data.List hiding (filter) open import Data.Maybe open import Relation.Binary @@ -218,10 +219,10 @@ dense-p : { p : L} → PL (λ x → p ⊆ x ) → p ⊆ (dense-f p) -Dense-3 : F-Dense (List (Maybe Two) ) (λ x → One) _3⊆_ _3∩_ +Dense-3 : F-Dense (List (Maybe Two) ) (λ x → ⊤ ) _3⊆_ _3∩_ Dense-3 = record { dense = λ x → Finite3b x ≡ true - ; d⊆P = OneObj + ; d⊆P = tt ; dense-f = λ x → finite3cov x ; dense-d = λ {p} d → lemma1 p ; dense-p = λ {p} d → lemma2 p