changeset 356:bd5cd2692b49

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 18 Jul 2023 16:52:06 +0900
parents e7a7cab74ca1
children ab531332d0a1
files automaton-in-agda/src/finiteSetUtil.agda
diffstat 1 files changed, 10 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/automaton-in-agda/src/finiteSetUtil.agda	Tue Jul 18 15:47:36 2023 +0900
+++ b/automaton-in-agda/src/finiteSetUtil.agda	Tue Jul 18 16:52:06 2023 +0900
@@ -642,24 +642,24 @@
              ... | no nisb = ? -- ≤-refl
 
     lem31 : (b : B) → 0 < count-B (toℕ (F←Q fa (f b)))
-    lem31 b = lem32 (toℕ (F←Q fa (f b))) refl where
-        lem32 : (i : ℕ) → i ≡ toℕ (F←Q fa (f b)) → 0 < count-B i 
-        lem32 zero eq with is-B (Q←F fa ( fromℕ< {0} 0<fa ))
+    lem31 b = lem32 (toℕ (F←Q fa (f b))) ≤-refl where
+        lem32 : (i : ℕ) → i ≤ toℕ (F←Q fa (f b)) → 0 < count-B i 
+        lem32 zero le with is-B (Q←F fa ( fromℕ< {0} 0<fa ))
         ... | yes isb = ≤-refl
         ... | no nisb = ⊥-elim ( nisb record { a = b ; fa=c = lem33 } ) where
             lem33 : f b ≡ Q←F fa ( fromℕ< {0} 0<fa )
             lem33 = begin
               f b ≡⟨ sym (finiso→  fa _) ⟩
               Q←F fa ( F←Q fa (f b))  ≡⟨ sym (cong (λ k → Q←F fa k)  ( fromℕ<-toℕ _ fin<n)) ⟩
-              Q←F fa ( fromℕ< fin<n )  ≡⟨ cong (λ k → Q←F fa k) (fromℕ<-cong _ _ (sym eq) fin<n 0<fa) ⟩
+              Q←F fa ( fromℕ< fin<n )  ≡⟨ cong (λ k → Q←F fa k) (fromℕ<-cong _ _ ? fin<n 0<fa) ⟩
               Q←F fa ( fromℕ< {0} 0<fa ) ∎ where
                 open ≡-Reasoning
-        lem32 (suc n) eq with <-cmp (finite fa) (suc n)
-        ... | tri< a ¬b ¬c = ⊥-elim ( nat-≡< (sym eq) (<-trans fin<n a) )
-        ... | tri≈ ¬a eq1 ¬c = ⊥-elim ( nat-≡< (sym eq) (subst (λ k → toℕ (F←Q fa (f b)) < k ) eq1 fin<n ))
-        ... | tri> ¬a ¬b c with is-B (Q←F fa (fromℕ< c))
-        ... | yes isb = ?
-        ... | no nisb = ?
+        lem32 (suc n) le with <-cmp (finite fa) (suc n) | inspect count-B (suc n)
+        ... | tri< a ¬b ¬c | _ = ⊥-elim ( nat-≤> le (<-trans fin<n a) )
+        ... | tri≈ ¬a eq1 ¬c | _ = ⊥-elim ( nat-≤> le (subst (λ k → toℕ (F←Q fa (f b)) < k ) eq1 fin<n ))
+        ... | tri> ¬a ¬b c | record { eq = eq1 } with is-B (Q←F fa (fromℕ< c))   
+        ... | yes isb = s≤s z≤n 
+        ... | no nisb = lem32 n (≤-trans a≤sa le)
 
     cb<mb : (b : B) → pred (count-B (toℕ (F←Q fa (f b)))) < maxb
     cb<mb b = sx≤y→x<y ( begin