Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 1250:6c467705e6e4
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 15 Mar 2023 19:44:38 +0900 |
parents | c57b8068f97c |
children | a6416ea475bf |
files | src/generic-filter.agda |
diffstat | 1 files changed, 37 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/generic-filter.agda Wed Mar 15 12:59:55 2023 +0900 +++ b/src/generic-filter.agda Wed Mar 15 19:44:38 2023 +0900 @@ -131,12 +131,22 @@ gf05 {a} {b} {x} (case2 bx) nax nbx = nbx bx gf02 : {P a b : HOD } → (P \ a) ∩ (P \ b) ≡ ( P \ (a ∪ b) ) -gf02 {P} {a} {b} = ==→o≡ record { eq→ = gf03 ; eq← = gf04 }where +gf02 {P} {a} {b} = ==→o≡ record { eq→ = gf03 ; eq← = gf04 } where gf03 : {x : Ordinal} → odef ((P \ a) ∩ (P \ b)) x → odef (P \ (a ∪ b)) x gf03 {x} ⟪ ⟪ Px , ¬ax ⟫ , ⟪ _ , ¬bx ⟫ ⟫ = ⟪ Px , (λ pab → gf05 {a} {b} {x} pab ¬ax ¬bx ) ⟫ gf04 : {x : Ordinal} → odef (P \ (a ∪ b)) x → odef ((P \ a) ∩ (P \ b)) x gf04 {x} ⟪ Px , abx ⟫ = ⟪ ⟪ Px , (λ ax → abx (case1 ax) ) ⟫ , ⟪ Px , (λ bx → abx (case2 bx) ) ⟫ ⟫ +gf45 : {P a b : HOD } → (P \ a) ∪ (P \ b) ≡ ( P \ (a ∩ b) ) +gf45 {P} {a} {b} = ==→o≡ record { eq→ = gf03 ; eq← = gf04 } where + gf03 : {x : Ordinal} → odef ((P \ a) ∪ (P \ b)) x → odef (P \ (a ∩ b)) x + gf03 {x} (case1 pa) = ⟪ proj1 pa , (λ ab → proj2 pa (proj1 ab) ) ⟫ + gf03 {x} (case2 pb) = ⟪ proj1 pb , (λ ab → proj2 pb (proj2 ab) ) ⟫ + gf04 : {x : Ordinal} → odef (P \ (a ∩ b)) x → odef ((P \ a) ∪ (P \ b)) x + gf04 {x} ⟪ Px , nab ⟫ with ODC.p∨¬p O (odef b x) + ... | case1 bx = case1 ⟪ Px , ( λ ax → nab ⟪ ax , bx ⟫ ) ⟫ + ... | case2 nbx = case2 ⟪ Px , ( λ bx → nbx bx ) ⟫ + open import Data.Nat.Properties open import nat @@ -344,17 +354,36 @@ fd03 = record { gr = suc an ; pn<gr = λ y lt → lt ; x∈PP = fd09 (suc an)} fd01 : (dense D ∩ PDHOD L p0 C) ∋ (* pn+1) fd01 = ⟪ subst (λ k → odef (dense D) k ) (sym &iso) fd07 , subst (λ k → odef (PDHOD L p0 C) k) (sym &iso) fd03 ⟫ + gpx→⊆P : {p : Ordinal } → odef GP p → (* p) ⊆ P + gpx→⊆P {p} record { z = z ; az = az ; x=ψz = x=ψz } {x} px with subst (λ k → odef k x ) + (trans (cong (*) x=ψz) *iso) px + ... | ⟪ Px , npz ⟫ = Px + L∋gpr : {p : HOD } → GPR ∋ p → L ∋ (P \ p) + L∋gpr {p} record { z = z ; az = az ; x=ψz = x=ψz } = ? + gpr→gp : {p : HOD} → GPR ∋ p → GP ∋ (P \ p ) + gpr→gp {p} record { z = zp ; az = azp ; x=ψz = x=ψzp } = gfp where + open ≡-Reasoning + gfp : GP ∋ (P \ p ) + gfp = subst (λ k → odef GP k) (begin + zp ≡⟨ sym &iso ⟩ + & (* zp) ≡⟨ cong (&) (sym (L\Lx=x (gpx→⊆P azp) )) ⟩ + & (P \ (P \ (* zp) )) ≡⟨ cong (λ k → & ( P \ k)) (subst₂ (λ j k → j ≡ k ) *iso *iso (cong (*) (sym x=ψzp))) ⟩ + & (P \ p) ∎ ) azp gfilter1 : {p q : HOD} → GPR ∋ p → q ⊆ p → GPR ∋ q - gfilter1 {p} {q} record { z = z ; az = az ; x=ψz = x=ψz } q⊆p = record { z = _ ; az = gf30 ; x=ψz = ? } where + gfilter1 {p} {q} record { z = np ; az = record { z = z ; az = pdz ; x=ψz = x=ψznp } ; x=ψz = x=ψz } q⊆p = record { z = _ ; az = gf30 ; x=ψz = ? } where + gp = record { z = np ; az = record { z = z ; az = pdz ; x=ψz = x=ψznp } ; x=ψz = x=ψz } + q⊆P : q ⊆ P + q⊆P = ? + gf32 : (P \ p) ⊆ (P \ q) + gf32 = proj1 (\-⊆ {P} {q} {p} q⊆P ) q⊆p gf30 : GP ∋ (P \ q ) - gf30 = f1 ? ? ? + gf30 = f1 ? (gpr→gp gp) gf32 gfilter2 : {p q : HOD} → (GPR ∋ p) ∧ (GPR ∋ q) → Replace GP (_\_ P) ∋ (p ∪ q) - gfilter2 {p} {q} ⟪ record { z = zp ; az = azp ; x=ψz = x=ψzp } , record { z = zq ; az = azq ; x=ψz = x=ψzq } ⟫ - = record { z = _ ; az = gf31 ; x=ψz = ? } where - gfp : GP ∋ (P \ p ) - gfp = ? + gfilter2 {p} {q} ⟪ gp , gq ⟫ + = record { z = _ ; az = gf31 ; x=ψz = cong (&) ? } where + open ≡-Reasoning gf31 : GP ∋ ( (P \ p ) ∩ (P \ q ) ) - gf31 = f2 gfp ? ? + gf31 = f2 (gpr→gp gp) (gpr→gp gq) (CAP (L∋gpr gp) (L∋gpr gq) ) open GenericFilter open Filter