# HG changeset patch # User Shinji KONO # Date 1695476627 -32400 # Node ID e9de2bfef88d2fb1be76cfe70275a8edc6662486 # Parent f5b2145c174cf0e4d847615631c7adccfe2ffb54 fix done diff -r f5b2145c174c -r e9de2bfef88d src/FLComm.agda --- a/src/FLComm.agda Sat Sep 23 19:22:22 2023 +0900 +++ b/src/FLComm.agda Sat Sep 23 22:43:47 2023 +0900 @@ -1,4 +1,4 @@ -{-# OPTIONS --cubical-compatible --safe #-} +{-# OPTIONS --safe #-} -- cannot use --cubical-compatible because of Solvable open import Data.Nat -- using (ℕ; suc; zero; s≤s ; z≤n ) module FLComm (n : ℕ) where @@ -11,7 +11,7 @@ open import Data.List using (List; []; _∷_ ; length ; _++_ ; tail ) renaming (reverse to rev ) open import Data.Product hiding (_,_ ) open import Relation.Nullary -open import Data.Unit hiding (_≤_) +open import Data.Unit -- hiding (_≤_) open import Data.Empty open import Relation.Binary.Core open import Relation.Binary.Definitions hiding (Symmetric ) diff -r f5b2145c174c -r e9de2bfef88d src/Homomorphism.agda --- a/src/Homomorphism.agda Sat Sep 23 19:22:22 2023 +0900 +++ b/src/Homomorphism.agda Sat Sep 23 22:43:47 2023 +0900 @@ -358,7 +358,7 @@ ; ε-homo = ε-homo } ; ⁻¹-homo = ⁻¹-homo } ; injective = λ eq → AN.ab⁻¹∈N→a=b G (Ker G H f-homo) (h06 eq) } - ; surjective = λ nx → (IsImage.gelm (Nelm.Pelm nx)) , h07 nx + ; surjective = λ nx → (IsImage.gelm (Nelm.Pelm nx)) , h071 nx } where open GK G (Ker G H f-homo) open Group H @@ -367,8 +367,6 @@ open EqReasoning (Algebra.Group.setoid H) open Nelm GC = Group.Carrier G - h07 : (nx : Nelm H (Im G f-homo)) → f (IsImage.gelm (Nelm.Pelm nx)) ≈ elm nx - h07 nx = gsym ( IsImage.x=fg (Nelm.Pelm nx) ) h06 : {x y : GC} → f x ≈ f y → f (G < x ∙ Group._⁻¹ G y >) ≈ ε h06 {x} {y} fx=fy = begin f (G < x ∙ Group._⁻¹ G y >) ≈⟨ homo _ _ ⟩ @@ -393,6 +391,12 @@ h (G < x ∙ (Group._⁻¹ G y ) > ) ∙ h y ≈⟨ car kf ⟩ ε ∙ h y ≈⟨ proj₁ identity _ ⟩ h y ∎ - - - + h07 : (nx : Nelm H (Im G f-homo)) → f (IsImage.gelm (Nelm.Pelm nx)) ≈ elm nx + h07 nx = gsym ( IsImage.x=fg (Nelm.Pelm nx) ) + h071 : (nx : Nelm H (Im G f-homo)) → {z : Group.Carrier G} + → (G / Ker G H f-homo) < z ≈ IsImage.gelm (Pelm nx) > + → f z ≈ elm nx + h071 nx {z} geq = begin + f z ≈⟨ h04 geq ⟩ + f (IsImage.gelm (Pelm nx)) ≈⟨ gsym ( IsImage.x=fg (Nelm.Pelm nx) ) ⟩ + elm nx ∎ diff -r f5b2145c174c -r e9de2bfef88d src/Putil.agda --- a/src/Putil.agda Sat Sep 23 19:22:22 2023 +0900 +++ b/src/Putil.agda Sat Sep 23 22:43:47 2023 +0900 @@ -295,22 +295,19 @@ p003 : 0 < toℕ (Inverse.to perm zero) p003 = subst ( λ k → 0 < k ) (cong toℕ (sym eq)) (s≤s z≤n) p008 : toℕ (Data.Fin.pred (Inverse.to perm zero)) ≡ toℕ (Inverse.to perm zero) ∸ 1 - p008 = ? + p008 = fpred-comm (Inverse.to perm zero) p002 : toℕ (Inverse.to perm zero) ≤ suc n p002 = toℕ≤pred[n] (Inverse.to perm zero) - p001 : suc (toℕ (Data.Fin.pred (Inverse.to perm zero))) ≤ suc n - p001 = begin - suc (toℕ (Data.Fin.pred (Inverse.to perm zero))) ≡⟨ cong suc p008 ⟩ - suc (Data.Nat.pred (toℕ (Inverse.to perm zero))) ≡⟨ sucprd p003 ⟩ - toℕ (Inverse.to perm zero) ≤⟨ p002 ⟩ - suc n ∎ where open ≤-Reasoning p007 : Data.Nat.pred (toℕ (Inverse.to perm zero)) < suc n - p007 = subst (λ k → k < suc n ) p008 ? + p007 = subst (λ k → k < suc n ) p008 (<-transˡ (pred< _ (λ ne → DFP.<⇒≢ p003 (sym ne))) p002) p012 : Inverse.from perm (Inverse.to (pins (toℕ≤pred[n] (suc t))) zero) ≡ # 0 p012 = begin - Inverse.from perm (Inverse.to (pins (toℕ≤pred[n] (suc t))) zero) ≡⟨ cong (λ k → perm ∘ₚ flip (pins (toℕ≤pred[n] k)) ⟨$⟩ˡ # 0) (sym eq) ⟩ - perm ∘ₚ flip (pins (toℕ≤pred[n] (perm ⟨$⟩ʳ # 0))) ⟨$⟩ˡ # 0 ≡⟨ p011 _ _ perm p001 (s≤s z≤n) ⟩ - perm ⟨$⟩ˡ suc (fromℕ< p001) ≡⟨ cong (λ k → perm ⟨$⟩ˡ k ) (lemma10 (cong suc p008)) ⟩ + Inverse.from perm (Inverse.to (pins (toℕ≤pred[n] (suc t))) zero) ≡⟨ p011 _ _ perm (toℕ≤pred[n] (suc t)) (s≤s z≤n) ⟩ + perm ⟨$⟩ˡ suc (fromℕ< (s≤s (toℕ≤pred[n] t))) ≡⟨ cong (λ k → perm ⟨$⟩ˡ k ) (lemma10 ( + begin + suc (toℕ t) ≡⟨ refl ⟩ + suc (toℕ (suc t) ∸ 1) ≡⟨ cong (λ k → suc (toℕ k ∸ 1) ) (sym eq) ⟩ + suc (toℕ (Inverse.to perm zero) ∸ 1) ∎ )) ⟩ perm ⟨$⟩ˡ suc (fromℕ< p007) ≡⟨ cong (λ k → perm ⟨$⟩ˡ k ) (pred-fin (Inverse.to perm zero) p003 p007 ) ⟩ perm ⟨$⟩ˡ (Inverse.to perm zero) ≡⟨ inverseˡ perm ⟩ # 0 ∎ where @@ -779,11 +776,21 @@ pf0 : FL→perm (perm→FL x) =p= FL→perm FL0 pf0 = pcong-Fp eq +shrink-pid : {n : ℕ} → (shrink (pid ∘ₚ flip (pins (toℕ≤pred[n] {suc n} (pid ⟨$⟩ʳ # 0)))) (p=0 pid)) =p= pid +shrink-pid {zero} = record { peq = λ () } +shrink-pid {suc n} = record { peq = pf5 } where + pf5 : (q : Fin (suc n)) → (shrink (pid ∘ₚ flip (pins (toℕ≤pred[n] {suc (suc n)} (pid ⟨$⟩ʳ # 0)))) (p=0 pid)) ⟨$⟩ʳ q ≡ pid ⟨$⟩ʳ q + pf5 zero = refl + pf5 (suc q) with <-fcmp ((pid ⟨$⟩ʳ (suc q))) (# 0) + ... | tri> ¬a ¬b c = pf6 where + pf6 : suc (fromℕ< (≤-trans (fin