# HG changeset patch # User Shinji KONO # Date 1678681942 -32400 # Node ID e843ace90b313767fa8c41b20b51ddd02cf7238b # Parent 5f1572d1f19afed735bc95ab8a1274aca86f91ef ... diff -r 5f1572d1f19a -r e843ace90b31 src/generic-filter.agda --- a/src/generic-filter.agda Mon Mar 13 01:30:55 2023 +0900 +++ b/src/generic-filter.agda Mon Mar 13 13:32:22 2023 +0900 @@ -1,7 +1,7 @@ {-# OPTIONS --allow-unsolved-metas #-} -open import Level +import Level open import Ordinals -module generic-filter {n : Level } (O : Ordinals {n}) where +module generic-filter {n : Level.Level } (O : Ordinals {n}) where import filter open import zf @@ -15,7 +15,7 @@ open import Relation.Binary open import Relation.Binary.Core open import Relation.Binary.PropositionalEquality -open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ; _⊔_ to _n⊔_ ) +open import Data.Nat import BAlgebra open BAlgebra O @@ -54,15 +54,15 @@ open import ZProduct O -record CountableModel : Set (suc (suc n)) where +record CountableModel : Set (Level.suc (Level.suc n)) where field ctl-M : HOD - ctl→ : Nat → Ordinal - ctl ¬a ¬b c = ⊥-elim ( nat-≤> n≤m c ) -record Dense {L P : HOD } (LP : L ⊆ Power P) : Set (suc n) where +record Dense {L P : HOD } (LP : L ⊆ Power P) : Set (Level.suc n) where field dense : HOD d⊆P : dense ⊆ L @@ -152,7 +163,7 @@ dense-d : { p : HOD} → (lt : L ∋ p) → dense ∋ dense-f lt dense-p : { p : HOD} → (lt : L ∋ p) → (dense-f lt) ⊆ p -record GenericFilter {L P : HOD} (LP : L ⊆ Power P) (M : HOD) : Set (suc n) where +record GenericFilter {L P : HOD} (LP : L ⊆ Power P) (M : HOD) : Set (Level.suc n) where field genf : Filter {L} {P} LP generic : (D : Dense {L} {P} LP ) → M ∋ Dense.dense D → ¬ ( (Dense.dense D ∩ Replace (Filter.filter genf) (λ x → P \ x )) ≡ od∅ ) @@ -172,16 +183,77 @@ f⊆PL lt = x∈PP lt gf01 : Replace (PDHOD L p0 C) (λ x → P \ x) ⊆ L gf01 {x} record { z = z ; az = az ; x=ψz = x=ψz } = subst (λ k → odef L k) (sym x=ψz) ( NEG (subst (λ k → odef L k) (sym &iso) (f⊆PL az)) ) + gf141 : {xp xq : Ordinal } → (Pp : PDN L p0 C xp) (Pq : PDN L p0 C xq) → (* xp ∪ * xq) ⊆ P + gf141 Pp Pq {x} (case1 xpx) = L⊆PP (PDN.x∈PP Pp) _ xpx + gf141 Pp Pq {x} (case2 xqx) = L⊆PP (PDN.x∈PP Pq) _ xqx + gf121 : {p q : HOD} (gp : GP ∋ p) (gq : GP ∋ q) → p ∩ q ≡ P \ * (& (* (Replaced.z gp) ∪ * (Replaced.z gq))) + gf121 {p} {q} gp gq = begin + p ∩ q ≡⟨ cong₂ (λ j k → j ∩ k ) (sym *iso) (sym *iso) ⟩ + (* (& p)) ∩ (* (& q)) ≡⟨ cong₂ (λ j k → ( * j ) ∩ ( * k)) (Replaced.x=ψz gp) (Replaced.x=ψz gq) ⟩ + * (& (P \ (* xp ))) ∩ (* (& (P \ (* xq )))) ≡⟨ cong₂ (λ j k → j ∩ k ) *iso *iso ⟩ + (P \ (* xp )) ∩ (P \ (* xq )) ≡⟨ gf02 {P} {* xp} {* xq} ⟩ + P \ ((* xp) ∪ (* xq)) ≡⟨ cong (λ k → P \ k) (sym *iso) ⟩ + P \ * (& (* xp ∪ * xq)) ∎ where + open ≡-Reasoning + xp = Replaced.z gp + xq = Replaced.z gq + gf131 : {p q : HOD} (gp : GP ∋ p) (gq : GP ∋ q) → P \ (p ∩ q) ≡ * (Replaced.z gp) ∪ * (Replaced.z gq) + gf131 {p} {q} gp gq = trans (cong (λ k → P \ k) (gf121 gp gq)) + (trans ( L\Lx=x (subst (λ k → k ⊆ P) (sym *iso) (gf141 (Replaced.az gp) (Replaced.az gq))) ) *iso ) + f1 : {p q : HOD} → L ∋ q → PDHOD L p0 C ∋ p → p ⊆ q → PDHOD L p0 C ∋ q f1 {p} {q} L∋q PD∋p p⊆q = ? f2 : {p q : HOD} → GP ∋ p → GP ∋ q → L ∋ (p ∩ q) → GP ∋ (p ∩ q) f2 {p} {q} record { z = xp ; az = Pp ; x=ψz = peq } record { z = xq ; az = Pq ; x=ψz = qeq } L∋pq with <-cmp (gr Pp) (gr Pq) - ... | tri< a ¬b ¬c = ? - ... | tri≈ ¬a eq ¬c = ? - ... | tri> ¬a ¬b c = ? + ... | tri< a ¬b ¬c = record { z = & ( (* xp) ∪ (* xq) ) ; az = gf10 ; x=ψz = cong (&) (gf121 gp gq) } where + gp = record { z = xp ; az = Pp ; x=ψz = peq } + gq = record { z = xq ; az = Pq ; x=ψz = qeq } + gf10 : odef (PDHOD L p0 C) (& (* xp ∪ * xq)) + gf10 = record { gr = PDN.gr Pq ; pn ¬a ¬b c = record { z = & ( (* xp) ∪ (* xq) ) ; az = gf10 ; x=ψz = cong (&) (gf121 gp gq ) } where + gp = record { z = xp ; az = Pp ; x=ψz = peq } + gq = record { z = xq ; az = Pq ; x=ψz = qeq } + gf10 : odef (PDHOD L p0 C) (& (* xp ∪ * xq)) + gf10 = record { gr = PDN.gr Pp ; pn } -- -record valR (x : HOD) {P L : HOD} {LP : L ⊆ Power P} (C : CountableModel ) (G : GenericFilter {L} {P} LP (ctl-M C) ) : Set (suc n) where +record valR (x : HOD) {P L : HOD} {LP : L ⊆ Power P} (C : CountableModel ) (G : GenericFilter {L} {P} LP (ctl-M C) ) : Set (Level.suc n) where field valx : HOD