changeset 1310:29637e5921f5

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 09 Jun 2023 18:04:08 +0900
parents a93764db7c67
children 0d2f3a042fa9
files src/bijection.agda
diffstat 1 files changed, 37 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/bijection.agda	Fri Jun 09 16:54:51 2023 +0900
+++ b/src/bijection.agda	Fri Jun 09 18:04:08 2023 +0900
@@ -551,25 +551,46 @@
     ... | no nisA | yes isB = ≤-trans (ca≤cb0 n) px≤x
     ... | no nisA | no nisB = ca≤cb0 n
 
+    lem02 : (n i : ℕ) → i ≡ fun→ cn (g (f (fun← an n))) → n < count-A i
+    lem02 zero zero eq with is-A (fun← cn zero)
+    ... | yes isA = ≤-refl
+    ... | no nisA = ⊥-elim (nisA record { a = (fun← an zero) ; fa=c = trans (sym (fiso← cn _)) (cong (fun← cn) (sym eq))  })
+    lem02 zero (suc i) eq with is-A (fun← cn (suc i))
+    ... | yes isA = s≤s z≤n
+    ... | no nisA = ⊥-elim (nisA record { a = (fun← an zero) ; fa=c = trans (sym (fiso← cn _)) (cong (fun← cn) (sym eq))  })
+    lem02 (suc n) zero eq with is-A (fun← cn zero)
+    ... | yes isA = ?
+    ... | no nisA = ⊥-elim (nisA record { a = (fun← an (suc n)) ; fa=c = trans (sym (fiso← cn _)) (cong (fun← cn) (sym eq))  })
+    lem02 (suc n) (suc i) eq with is-A (fun← cn (suc i))
+    ... | yes isA = ? where
+          --  nth a can be larger than (n+1)th
+          lem04 : n < count-A (fun→ cn (g (f (fun← an n))))
+          lem04 = lem02 n _ refl
+    ... | no nisA = ⊥-elim (nisA record { a = (fun← an (suc n)) ; fa=c = trans (sym (fiso← cn _)) (cong (fun← cn) (sym eq))  })
+    
+    lem01 : (n i : ℕ) → n < count-B i → B
+    lem01 zero zero lt with is-B (fun← cn zero)
+    ... | yes isB = Is.a isB
+    ... | no nisB = ⊥-elim (¬a≤a lt)
+    lem01 zero (suc i) lt with is-B (fun← cn (suc i))
+    ... | yes isB = Is.a isB
+    ... | no nisB = lem01 zero i lt 
+    lem01 (suc n) zero lt with is-B (fun← cn zero)
+    ... | yes isB = Is.a isB
+    ... | no nisB = ? -- ⊥-elim (¬a≤a lt)
+    lem01 (suc n) (suc i) lt with is-B (fun← cn (suc i))
+    ... | yes isB = Is.a isB
+    ... | no nisB = lem01 (suc n) i lt 
+
     ntob : (n : ℕ) → B
-    ntob n = lem01 (fun→ cn (g (f (fun← an n)))) (≤-trans (lem02 _ refl ) (ca≤cb0 (fun→ cn (g (f (fun← an n)))))) where
-        lem02 : (i : ℕ) → i ≡ fun→ cn (g (f (fun← an n))) → 1 ≤ count-A i
-        lem02 zero eq with is-A (fun← cn zero)
-        ... | yes isA = ≤-refl
-        ... | no nisA = ⊥-elim (nisA record { a = (fun← an n) ; fa=c = trans (sym (fiso← cn _)) (cong (fun← cn) (sym eq))  })
-        lem02 (suc i) eq with is-A (fun← cn (suc i))
-        ... | yes isA = s≤s z≤n
-        ... | no nisA = ⊥-elim (nisA record { a = (fun← an n) ; fa=c = trans (sym (fiso← cn _)) (cong (fun← cn) (sym eq))  })
-        lem01 : (i : ℕ) → zero < count-B i → B
-        lem01 zero lt with is-B (fun← cn zero)
-        ... | yes isB = Is.a isB
-        ... | no nisB = ⊥-elim (¬a≤a lt)
-        lem01 (suc i) lt with is-B (fun← cn (suc i))
-        ... | yes isB = Is.a isB
-        ... | no nisB = lem01 i lt 
+    ntob n = lem01 n (fun→ cn (g (f (fun← an n)))) (≤-trans (lem02 n _ refl ) (ca≤cb0 (fun→ cn (g (f (fun← an n)))))) 
 
     biso : (n : ℕ) → bton (ntob n) ≡ n
-    biso n = ?
+    biso n = lem03 _ (≤-trans (lem02 n _ refl ) (ca≤cb0 (fun→ cn (g (f (fun← an n)))))) refl where
+        lem03 :  (i : ℕ) → (lt : n < count-B i )
+           → i ≡ (fun→ cn (g (f (fun← an n))))
+           → count-B (fun→ cn (g (lem01 n i lt ))) ≡ n
+        lem03 = ?
 
     biso1 : (b : B) → ntob (bton b) ≡ b
     biso1 b = ?