changeset 1446:a295c52af3b7

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 05 Jul 2023 10:57:43 +0900
parents 0fc58fc7fd17
children 3e50aa63f550 b7f6eb9eaf0d
files src/cardinal.agda
diffstat 1 files changed, 28 insertions(+), 68 deletions(-) [+]
line wrap: on
line diff
--- a/src/cardinal.agda	Wed Jul 05 07:39:17 2023 +0900
+++ b/src/cardinal.agda	Wed Jul 05 10:57:43 2023 +0900
@@ -334,8 +334,8 @@
 --    S   s₀    s₁      ...  sn
 --    t   true  false   ...  false
 ---
-Cantor1 : { S : HOD } → {s : Ordinal } → odef S s → S c< Power S
-Cantor1 {S} {s} ss f = diag4 where 
+Cantor1 : { S : HOD } → S c< Power S
+Cantor1 {S}  f = diag4 where 
      f1 : Injection (& S) (& (Power S))
      f1 = record { i→ = λ x sx → & (* x , * x) ; iB = c00 ;  inject = ? }where
          c00 : (x : Ordinal) (lt : odef (* (& S)) x) → odef (* (& (Power S))) (& (* x , * x))
@@ -348,82 +348,42 @@
      b : HODBijection (Power S) S 
      b = subst₂ (λ j k → HODBijection j k) *iso *iso ( Bernstein f2 f1)
 
-     is-S : (S : HOD) → (x : Ordinal ) →  Bool
-     is-S S x with ODC.p∨¬p O (odef S x )
-     ... | case1 _ = true
-     ... | case2 _ = false
-
      diag2 : {x : Ordinal } → (sx : odef S x) → (z : Ordinal) → odef (* (fun← b x sx)) z → odef S z
      diag2 {x} sx z xz = funA b x sx z xz 
     
-     ---  if t ∋ x then false else true 
-     ---    diag : T → Bool
-
-     is-PowerS : {x : Ordinal } → (sx : odef S x) → is-S (* (fun← b x sx )) x  ≡ true
-     is-PowerS {x} sx with ODC.p∨¬p O (odef (* (fun← b x sx )) x ) 
-     ... | case1 _ = refl
-     ... | case2 nsx = ⊥-elim (nsx d00 ) where
-            d01 : x ≡ fun→ b x (ca02 sx)
-            d01 = ?
-            d00 : odef (* (fun← b x sx )) x  
-            d00 = ?
-
-     diag : {x : Ordinal } → odef S x → Bool
-     diag {x} sx = not (is-S (* (fun← b x sx )) x ) where
-         ca01 : odef (Power S) (fun← b x sx )
-         ca01 = funA b x sx
-
-     record Diag (x : Ordinal) : Set n where
-        field
-           sx : odef S x
-           is-diag : is-S (* (fun← b x sx )) x  ≡ false
-
-     diag0 : HOD
-     diag0 = record { od = record { def = λ x → Diag x } ; odmax = & S ; <odmax = ? }
-
-     PSD : odef (Power S) (& diag0)
-     PSD z xz = Diag.sx ( subst (λ k → odef k z) *iso xz)
-
      diag3 : {x : Ordinal } → (sx : odef S x) → odef (Power S) (fun← b x sx)
      diag3 sx = diag2 sx
 
-     f→diagn=n : {x : Ordinal } → odef (Power S) x → Set n
-     f→diagn=n {x} psx = fun→ b x psx ≡ x
-     
-     diagn1 : {x : Ordinal } (sx : odef S x ) → ¬ (fun→ b (& diag0) PSD ≡ x )
-     diagn1 {x} sx dn = ¬t=f (diag sx ) ( begin
-           not (diag  sx  )
-        ≡⟨⟩
-          not ( not (is-S (* (fun← b x sx )) x )) 
-        ≡⟨ cong not diag00 ⟩
-          not (is-S (* (fun← b (fun→ b (fun← b x sx) (diag2 sx)) (funB b (fun← b x sx) (diag2 sx) )) ) x )  
-        ≡⟨ cong ( λ k →  not (is-S (* k) x)) diag01  ⟩
-          not (is-S (* (fun← b x sx )) x)  
-        ≡⟨⟩
-          diag  sx 
-        ∎ ) where 
-          open ≡-Reasoning
-          fun←eq : {x y : Ordinal } → {ax : odef S x} {ax1 : odef S y}  → x ≡ y  → fun← b x ax ≡ fun← b y ax1
-          fun←eq {x} {x} {ax} {ax1} refl = cong (λ k → fun← b x k) ( HE.≅-to-≡ ( ∋-irr {S} ax ax1 ))  
-          diag00 : not (is-S (* (fun← b x sx )) x ) ≡ is-S (* (fun← b (fun→ b _ (diag2 sx)) (funB b _ (diag2 sx) )) ) x 
-          diag00 = begin
-            not (is-S (* (fun← b x sx )) x ) ≡⟨ ? ⟩
-            is-S (* (fun← b x sx) )  x  ≡⟨ cong (λ k → is-S (* k) x) (sym (fiso← b (fun← b x sx) (diag2 sx) )) ⟩
-            is-S (* (fun← b (fun→ b (fun← b x sx) (diag2 sx)) (funB b (fun← b x sx) (diag2 sx) )) ) x  ∎
-          diag01 : fun← b (fun→ b (fun← b x sx) (diag2 sx)) (funB b (fun← b x sx) (diag2 sx) ) ≡ fun← b x sx 
-          diag01 = fun←eq (fiso→ b x sx) 
+     diag : {x : Ordinal } → (sx : odef S x) → (z : Ordinal) → Set n
+     diag {x} sx z with trio< x z | ODC.p∨¬p O ( odef (* (fun← b x sx)) x)
+     ... | tri< a ¬b ¬c | n = odef  (* (fun← b x sx)) z 
+     ... | tri> ¬a ¬b c | n = odef  (* (fun← b x sx)) z 
+     ... | tri≈ ¬a b₁ ¬c | case1 y = ¬ odef S z
+     ... | tri≈ ¬a b₁ ¬c | case2 n = odef S z
+
+     DIAG : {x : Ordinal } → (sx : odef S x) → HOD
+     DIAG {x} sx = record { od = record { def = λ z → diag sx z  } ; odmax = ? ; <odmax = ? } 
 
-     diag6 : fun→ b (& diag0) PSD ≡ s
-     diag6 = ?
+     Pdiag : {x : Ordinal} → (sx : odef S x) → odef (Power S) (& (DIAG sx))
+     Pdiag {x} sx z xz with trio< x z | ODC.p∨¬p O ( odef (* (fun← b x sx)) x) | subst (λ k → odef k z) *iso xz
+     ... | tri< a ¬b ¬c | n | u = funA b x sx z u
+     ... | tri> ¬a ¬b c | n | u = funA b x sx z u
+     ... | tri≈ ¬a refl ¬c | case1 x₁ | u = ⊥-elim ( u sx )
+     ... | tri≈ ¬a refl ¬c | case2 x₁ | u = u
 
-     diag5 : fun→ b _ (diag2 ss) ≡ s
-     diag5 = begin
-        fun→ b _ (diag2 ss) ≡⟨ refl ⟩
-        fun→ b _ (λ _ sx → funA b _ ss _  sx) ≡⟨ fiso→ b s ss ⟩
-        s ∎ where open ≡-Reasoning
+     p0 : odef (Power S) o∅
+     p0 z xz = ⊥-elim (¬x<0 (subst (λ k → odef k z) o∅≡od∅ xz)  )
+
+     s : Ordinal 
+     s = fun→ b o∅ p0
+
+     ss : odef S s
+     ss = funB b o∅ p0
 
      diag4 : ⊥ 
-     diag4 = diagn1 ? ? 
+     diag4 with ODC.p∨¬p O ( odef (* (fun← b s ss)) s)
+     ... | case1 y  = ?
+     ... | case2 n  = ?
 
 Cantor2 : { u : HOD } → ¬ ( u =c=  Power u )
 Cantor2 = {!!}