Skip to content

Commit 088ac6e

Browse files
committed
Remove duplicated code
1 parent f06fa0b commit 088ac6e

File tree

2 files changed

+10
-29
lines changed

2 files changed

+10
-29
lines changed

Cubical/Data/FinData/FinSet.agda

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -27,26 +27,6 @@ private
2727
: Level
2828
m n :
2929

30-
Fin→SumFin : Fin n SumFin.Fin n
31-
Fin→SumFin = elim (λ {n} _ SumFin n) fzero fsuc
32-
33-
SumFin→Fin : SumFin.Fin n Fin n
34-
SumFin→Fin = SumFin.elim (λ {n} _ Fin n) zero suc
35-
36-
FinSumFinIso : Iso (Fin n) (SumFin n)
37-
FinSumFinIso = iso Fin→SumFin SumFin→Fin
38-
(SumFin.elim (λ fn Fin→SumFin (SumFin→Fin fn) ≡ fn) refl (cong fsuc))
39-
(elim (λ fn SumFin→Fin (Fin→SumFin fn) ≡ fn) refl (cong suc))
40-
41-
Fin≃SumFin : Fin n ≃ SumFin n
42-
Fin≃SumFin = isoToEquiv FinSumFinIso
43-
44-
≡→Fin≃SumFin : m ≡ n Fin m ≃ SumFin n
45-
≡→Fin≃SumFin {m} = J (λ n p Fin m ≃ SumFin n) Fin≃SumFin
46-
47-
Fin≡SumFin : Fin n ≡ SumFin n
48-
Fin≡SumFin = ua Fin≃SumFin
49-
5030
FinFinℕIso : Iso (Fin n) (Finℕ n)
5131
FinFinℕIso = iso
5232
(λ k toℕ k , toℕ<n k)
@@ -59,20 +39,20 @@ Fin≃Finℕ = isoToEquiv FinFinℕIso
5939

6040
FinΣ≃ : (n : ℕ) (m : FinVec ℕ n) Σ (Fin n) (Fin ∘ m) ≃ Fin (foldrFin _+_ 0 m)
6141
FinΣ≃ n m =
62-
Σ-cong-equiv Fin≃SumFin (λ fn ≡→Fin≃SumFin
63-
(congS m (sym (retIsEq (Fin≃SumFin .snd) fn))))
64-
∙ₑ SumFin.SumFinΣ≃ n (m ∘ SumFin→Fin)
65-
∙ₑ invEquiv (≡→Fin≃SumFin (sum≡ n m))
42+
Σ-cong-equiv SumFin.FinData≃SumFin (λ fn SumFin.≡→FinData≃SumFin
43+
(congS m (sym (retIsEq (SumFin.FinData≃SumFin .snd) fn))))
44+
∙ₑ SumFin.SumFinΣ≃ n (m ∘ SumFin.SumFin→FinData)
45+
∙ₑ invEquiv (SumFin.≡→FinData≃SumFin (sum≡ n m))
6646
where
6747
sum≡ : (n : ℕ) (m : FinVec ℕ n)
68-
foldrFin _+_ 0 m ≡ SumFin.totalSum (m ∘ SumFin→Fin)
48+
foldrFin _+_ 0 m ≡ SumFin.totalSum (m ∘ SumFin.SumFin→FinData)
6949
sum≡ = Nat.elim (λ _ refl) λ n x m congS (m zero +_) (x (m ∘ suc))
7050

7151
DecΣ : (n : ℕ)
7252
(P : FinVec (Type ℓ) n) ( k Dec (P k)) Dec (Σ (Fin n) P)
7353
DecΣ n P decP = EquivPresDec
74-
(Σ-cong-equiv-fst (invEquiv Fin≃SumFin))
75-
(SumFin.DecΣ n (P ∘ SumFin→Fin) (decP ∘ SumFin→Fin))
54+
(Σ-cong-equiv-fst (invEquiv SumFin.FinData≃SumFin))
55+
(SumFin.DecΣ n (P ∘ SumFin.SumFin→FinData) (decP ∘ SumFin.SumFin→FinData))
7656

7757
isFinSetFinData : {n} isFinSet (Fin n)
78-
isFinSetFinData = subst isFinSet (sym Fin≡SumFin) isFinSetFin
58+
isFinSetFinData = subst isFinSet (sym SumFin.FinData≡SumFin) isFinSetFin

Cubical/Data/Quiver/Reachability.agda

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ open import Cubical.Functions.Embedding
1111
open import Cubical.Data.Empty as ⊥ hiding (elim ; rec)
1212
open import Cubical.Data.FinData as FD
1313
open import Cubical.Data.FinData.FinSet
14+
import Cubical.Data.SumFin as SumFin
1415
open import Cubical.Data.FinSet
1516
open import Cubical.Data.FinSet.Cardinality
1617
open import Cubical.Data.FinSet.Constructors
@@ -313,7 +314,7 @@ module Reachability {ℓ} {ℓ'}
313314
isFinOrdUniqueWalk =
314315
isFinOrdΣ
315316
(Fin (ob .snd .fst))
316-
((card ob) , Fin≃SumFin)
317+
((card ob) , SumFin.FinData≃SumFin)
317318
(λ n Σ-syntax (Walk end start (toℕ n)) hasUniqueVertices)
318319
(λ m isFinOrdΣ
319320
(Walk end start (toℕ m))

0 commit comments

Comments
 (0)