# HG changeset patch # User Shinji KONO # Date 1689668437 -32400 # Node ID 168465a7b107b02d2f3004a8ef1ac5e5d8f63a18 # Parent ab531332d0a16b4fe96e5992e8db4709592aaab9 ... diff -r ab531332d0a1 -r 168465a7b107 automaton-in-agda/src/finiteSetUtil.agda --- a/automaton-in-agda/src/finiteSetUtil.agda Tue Jul 18 17:10:30 2023 +0900 +++ b/automaton-in-agda/src/finiteSetUtil.agda Tue Jul 18 17:20:37 2023 +0900 @@ -642,12 +642,10 @@ ... | 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 : ℕ) → toℕ (F←Q fa (f b)) ≤ i → 0 < count-B i - lem32 zero le with ≤-∨ le - lem32 zero le | case2 lt = ⊥-elim ( nat-≤> lt (s≤s z≤n )) - lem32 zero le | case1 eq with is-B (Q←F fa ( fromℕ< {0} 0 le (<-trans fin le (<-trans fin le (subst (λ k → toℕ (F←Q fa (f b)) < k ) eq1 fin le (subst (λ k → toℕ (F←Q fa (f b)) < k ) eq1 fin ¬a ¬b c | record { eq = eq1 } | case1 eq with is-B (Q←F fa (fromℕ< c)) + lem32 (suc i) eq with <-cmp (finite fa) (suc i) | inspect count-B (suc i) + ... | tri< a ¬b ¬c | _ = ⊥-elim ( nat-≡< eq (<-trans fin ¬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) - lem32 (suc n) le | tri> ¬a ¬b c | record { eq = eq1 } | case2 lt with is-B (Q←F fa (fromℕ< c)) - ... | yes isb = s≤s z≤n - ... | no nisb = lem32 n ? -- (≤-trans a≤sa le) - + ... | no nisb = ⊥-elim ( nisb record { a = b ; fa=c = lem33 } ) where + lem33 : f b ≡ Q←F fa ( fromℕ< c) + 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