Skip to content

Commit 1442ee7

Browse files
JacquesCaretteandreasabel
authored andcommitted
Relation.Binary.PropositionalEquality over-use, (#2345)
* Relation.Binary.PropositionalEquality over-use, can usually be .Core and/or .Properties * unused import * another large batch of dependency cleanup, mostly cenetered on Relation.Binary.PropositionalEquality. * another big batch of making imports more precise. * last big batch. After this will come some tweaks based on reviews. * fix things pointed out in review; add CHANGELOG. * Update DecPropositional.agda Bad merge * proper merge
1 parent 05c938c commit 1442ee7

File tree

106 files changed

+602
-399
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+602
-399
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ Non-backwards compatible changes
3030
Other major improvements
3131
------------------------
3232

33+
Minor improvements
34+
------------------
35+
The size of the dependency graph for many modules has been
36+
reduced. This may lead to speed ups for first-time loading of some
37+
modules.
38+
3339
Deprecated modules
3440
------------------
3541

src/Algebra/Consequences/Propositional.agda

+4-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ open import Data.Sum.Base using (inj₁; inj₂)
1414
open import Relation.Binary.Core using (Rel)
1515
open import Relation.Binary.Bundles using (Setoid)
1616
open import Relation.Binary.Definitions using (Symmetric; Total)
17-
open import Relation.Binary.PropositionalEquality
17+
open import Relation.Binary.PropositionalEquality.Core
18+
using (_≡_; cong₂; subst)
19+
open import Relation.Binary.PropositionalEquality.Properties
20+
using (setoid)
1821
open import Relation.Unary using (Pred)
1922

2023
open import Algebra.Core

src/Algebra/Definitions/RawSemiring.agda

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
open import Algebra.Bundles using (RawSemiring)
1010
open import Data.Sum.Base using (_⊎_)
11-
open import Data.Nat using (ℕ; zero; suc)
11+
open import Data.Nat.Base using (ℕ; zero; suc)
1212
open import Level using (_⊔_)
1313
open import Relation.Binary.Core using (Rel)
1414

src/Algebra/Lattice/Properties/BooleanAlgebra/Expression.agda

+8-6
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,29 @@
66

77
{-# OPTIONS --cubical-compatible --safe #-}
88

9-
open import Algebra.Lattice
9+
open import Algebra.Lattice using (BooleanAlgebra; isBooleanAlgebraʳ;
10+
isDistributiveLatticeʳʲᵐ)
1011

1112
module Algebra.Lattice.Properties.BooleanAlgebra.Expression
1213
{b} (B : BooleanAlgebra b b)
1314
where
1415

1516
open BooleanAlgebra B
1617

17-
open import Effect.Applicative as Applicative
18-
open import Effect.Monad
1918
open import Data.Fin.Base using (Fin)
20-
open import Data.Nat.Base
19+
open import Data.Nat.Base using (ℕ)
2120
open import Data.Product.Base using (_,_; proj₁; proj₂)
2221
open import Data.Vec.Base as Vec using (Vec)
2322
import Data.Vec.Effectful as Vec
2423
import Function.Identity.Effectful as Identity
2524
open import Data.Vec.Properties using (lookup-map)
2625
open import Data.Vec.Relation.Binary.Pointwise.Extensional as PW
2726
using (Pointwise; ext)
27+
open import Effect.Applicative as Applicative
2828
open import Function.Base using (_∘_; _$_; flip)
29-
open import Relation.Binary.PropositionalEquality as ≡ using (_≗_)
29+
open import Relation.Binary.PropositionalEquality.Core as ≡ using (_≗_)
30+
open import Relation.Binary.PropositionalEquality.Properties
31+
using (module ≡-Reasoning)
3032
import Relation.Binary.Reflection as Reflection
3133

3234
-- Expressions made up of variables and the operations of a boolean
@@ -68,7 +70,7 @@ module Naturality
6870
(f : Applicative.Morphism A₁ A₂)
6971
where
7072

71-
open .≡-Reasoning
73+
open ≡-Reasoning
7274
open Applicative.Morphism f
7375
open Semantics A₁ renaming (⟦_⟧ to ⟦_⟧₁)
7476
open Semantics A₂ renaming (⟦_⟧ to ⟦_⟧₂)

src/Algebra/Solver/IdempotentCommutativeMonoid.agda

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ import Relation.Binary.Reflection as Reflection
2525
import Relation.Nullary.Decidable as Dec
2626
import Data.Vec.Relation.Binary.Pointwise.Inductive as Pointwise
2727

28-
open import Relation.Binary.PropositionalEquality as ≡ using (_≡_; decSetoid)
28+
open import Relation.Binary.PropositionalEquality.Core as ≡ using (_≡_)
29+
open import Relation.Binary.PropositionalEquality.Properties using (decSetoid)
2930
open import Relation.Nullary.Decidable using (Dec)
3031

3132
module Algebra.Solver.IdempotentCommutativeMonoid

src/Algebra/Solver/IdempotentCommutativeMonoid/Example.agda

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,17 @@
99

1010
module Algebra.Solver.IdempotentCommutativeMonoid.Example where
1111

12-
open import Relation.Binary.PropositionalEquality using (_≡_)
12+
import Algebra.Solver.IdempotentCommutativeMonoid as ICM-Solver
1313

1414
open import Data.Bool.Base using (_∨_)
1515
open import Data.Bool.Properties using (∨-idempotentCommutativeMonoid)
1616

1717
open import Data.Fin.Base using (zero; suc)
1818
open import Data.Vec.Base using ([]; _∷_)
1919

20-
open import Algebra.Solver.IdempotentCommutativeMonoid
21-
∨-idempotentCommutativeMonoid
20+
open import Relation.Binary.PropositionalEquality.Core using (_≡_)
21+
22+
open ICM-Solver ∨-idempotentCommutativeMonoid
2223

2324
test : x y z (x ∨ y) ∨ (x ∨ z) ≡ (z ∨ y) ∨ x
2425
test a b c = let _∨_ = _⊕_ in

src/Codata/Sized/Cofin.agda

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88

99
module Codata.Sized.Cofin where
1010

11-
open import Size
12-
open import Codata.Sized.Thunk
11+
open import Size using (∞)
12+
open import Codata.Sized.Thunk using (force)
1313
open import Codata.Sized.Conat as Conat
1414
using (Conat; zero; suc; infinity; _ℕ<_; sℕ≤s; _ℕ≤infinity)
1515
open import Codata.Sized.Conat.Bisimilarity as Bisim using (_⊢_≲_ ; s≲s)
16-
open import Data.Nat.Base
17-
open import Data.Fin.Base as Fin hiding (fromℕ; fromℕ<; toℕ)
16+
open import Data.Nat.Base using (ℕ; zero; suc)
17+
open import Data.Fin.Base using (Fin; zero; suc)
1818
open import Function.Base using (_∋_)
19-
open import Relation.Binary.PropositionalEquality
19+
open import Relation.Binary.PropositionalEquality.Core using (_≡_; refl)
2020

2121
------------------------------------------------------------------------
2222
-- The type

src/Data/Container/Combinator/Properties.agda

+3-4
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,15 @@
99
module Data.Container.Combinator.Properties where
1010

1111
open import Axiom.Extensionality.Propositional using (Extensionality)
12-
open import Data.Container.Core
12+
open import Data.Container.Core using (Container; ⟦_⟧)
1313
open import Data.Container.Combinator
14-
open import Data.Container.Relation.Unary.Any
1514
open import Data.Empty using (⊥-elim)
1615
open import Data.Product.Base as P using (∃; _,_; proj₁; proj₂; <_,_>; uncurry; curry)
1716
open import Data.Sum.Base as S using (inj₁; inj₂; [_,_]′; [_,_])
1817
open import Function.Base as F using (_∘′_)
19-
open import Function.Bundles
18+
open import Function.Bundles using (_↔_; mk↔ₛ′)
2019
open import Level using (_⊔_; lower)
21-
open import Relation.Binary.PropositionalEquality using (_≡_; _≗_; refl; cong)
20+
open import Relation.Binary.PropositionalEquality.Core using (_≡_; _≗_; refl; cong)
2221

2322
-- I have proved some of the correctness statements under the
2423
-- assumption of functional extensionality. I could have reformulated

src/Data/Container/Indexed/Combinator.agda

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
module Data.Container.Indexed.Combinator where
1010

1111
open import Axiom.Extensionality.Propositional using (Extensionality)
12-
open import Data.Container.Indexed
12+
open import Data.Container.Indexed using (Container; _◃_/_; ⟦_⟧;
13+
Command; Response; ◇; next)
1314
open import Data.Empty.Polymorphic using (⊥; ⊥-elim)
1415
open import Data.Unit.Polymorphic.Base using (⊤)
1516
open import Data.Product.Base as Prod hiding (Σ) renaming (_×_ to _⟨×⟩_)
@@ -18,10 +19,10 @@ open import Data.Sum.Relation.Unary.All as All using (All)
1819
open import Function.Base as F hiding (id; const) renaming (_∘_ to _⟨∘⟩_)
1920
open import Function.Bundles using (mk↔ₛ′)
2021
open import Function.Indexed.Bundles using (_↔ᵢ_)
21-
open import Level
22+
open import Level using (Level; _⊔_)
2223
open import Relation.Unary using (Pred; _⊆_; _∪_; _∩_; ⋃; ⋂)
2324
renaming (_⟨×⟩_ to _⟪×⟫_; _⟨⊙⟩_ to _⟪⊙⟫_; _⟨⊎⟩_ to _⟪⊎⟫_)
24-
open import Relation.Binary.PropositionalEquality
25+
open import Relation.Binary.PropositionalEquality.Core
2526
using (_≗_; refl; cong)
2627

2728
private

src/Data/Container/Indexed/Relation/Binary/Pointwise/Properties.agda

+10-8
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@
88

99
module Data.Container.Indexed.Relation.Binary.Pointwise.Properties where
1010

11-
open import Axiom.Extensionality.Propositional
12-
open import Data.Container.Indexed.Core
11+
open import Axiom.Extensionality.Propositional using (Extensionality)
12+
open import Data.Container.Indexed.Core using (Container; ⟦_⟧)
1313
open import Data.Container.Indexed.Relation.Binary.Pointwise
14+
using (Pointwise)
1415
open import Data.Product.Base using (_,_; Σ-syntax; -,_)
1516
open import Level using (Level; _⊔_)
16-
open import Relation.Binary
17-
open import Relation.Binary.PropositionalEquality as P
17+
open import Relation.Binary.Core using (Rel)
18+
open import Relation.Binary.Definitions using (Reflexive; Symmetric; Transitive)
19+
open import Relation.Binary.PropositionalEquality.Core as ≡
1820
using (_≡_; subst; cong)
1921

2022
private variable
@@ -28,18 +30,18 @@ module _
2830
where
2931

3032
refl : ( i Reflexive (R i)) Reflexive (Pointwise C R o)
31-
refl R-refl = P.refl , λ p R-refl _
33+
refl R-refl = .refl , λ p R-refl _
3234

3335
sym : ( i Symmetric (R i)) Symmetric (Pointwise C R o)
34-
sym R-sym (P.refl , f) = P.refl , λ p R-sym _ (f p)
36+
sym R-sym (.refl , f) = .refl , λ p R-sym _ (f p)
3537

3638
trans : ( i Transitive (R i)) Transitive (Pointwise C R o)
37-
trans R-trans (P.refl , f) (P.refl , g) = P.refl , λ p R-trans _ (f p) (g p)
39+
trans R-trans (.refl , f) (.refl , g) = .refl , λ p R-trans _ (f p) (g p)
3840

3941
-- If propositional equality is extensional, then `Eq _≡_` and `_≡_` coincide.
4042
Eq⇒≡ : {C : Container I O ℓˢ ℓᵖ} {X : I Set ℓˣ} {R : (i : I) Rel (X i) ℓᵉ}
4143
{o : O} {xs ys : ⟦ C ⟧ X o}
4244
Extensionality ℓᵖ ℓˣ
4345
Pointwise C (λ (i : I) _≡_ {A = X i}) o xs ys
4446
xs ≡ ys
45-
Eq⇒≡ ext (P.refl , f≈f′) = cong -,_ (ext f≈f′)
47+
Eq⇒≡ ext (.refl , f≈f′) = cong -,_ (ext f≈f′)

src/Data/Container/Membership.agda

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ module Data.Container.Membership where
1010

1111
open import Level using (_⊔_)
1212
open import Relation.Unary using (Pred)
13-
open import Relation.Binary.PropositionalEquality
13+
open import Relation.Binary.PropositionalEquality.Core using (_≡_)
1414

15-
open import Data.Container.Core
16-
open import Data.Container.Relation.Unary.Any
15+
open import Data.Container.Core using (Container; ⟦_⟧)
16+
open import Data.Container.Relation.Unary.Any using (◇)
1717

1818
module _ {s p} {C : Container s p} {x} {X : Set x} where
1919

src/Data/Container/Morphism/Properties.agda

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ open import Level using (_⊔_; suc)
1212
open import Function.Base as F using (_$_)
1313
open import Data.Product.Base using (∃; proj₁; proj₂; _,_)
1414
open import Relation.Binary.Bundles using (Setoid)
15-
open import Relation.Binary.PropositionalEquality as ≡ using (_≡_; _≗_)
15+
open import Relation.Binary.PropositionalEquality.Core as ≡ using (_≡_; _≗_)
1616

1717
open import Data.Container.Core
1818
open import Data.Container.Morphism

src/Data/Container/Relation/Binary/Pointwise/Properties.agda

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88

99
module Data.Container.Relation.Binary.Pointwise.Properties where
1010

11-
open import Axiom.Extensionality.Propositional
12-
open import Data.Container.Core
11+
open import Axiom.Extensionality.Propositional using (Extensionality)
12+
open import Data.Container.Core using (Container; ⟦_⟧)
1313
open import Data.Container.Relation.Binary.Pointwise
14+
using (Pointwise; _,_)
1415
open import Data.Product.Base using (_,_; Σ-syntax; -,_)
1516
open import Level using (_⊔_)
1617
open import Relation.Binary.Core using (Rel)

src/Data/Container/Relation/Unary/Any/Properties.agda

+7-5
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,25 @@
88

99
module Data.Container.Relation.Unary.Any.Properties where
1010

11-
open import Level
12-
open import Algebra
11+
open import Algebra.Bundles using (CommutativeSemiring)
1312
open import Data.Product.Base using (∃; _×_; ∃₂; _,_; proj₂)
1413
open import Data.Product.Properties using (Σ-≡,≡→≡)
1514
open import Data.Product.Function.NonDependent.Propositional using (_×-cong_)
1615
import Data.Product.Function.Dependent.Propositional as Σ
1716
open import Data.Sum.Base using (_⊎_; inj₁; inj₂; [_,_])
18-
open import Function.Base
19-
open import Function.Bundles
17+
open import Function.Base using (_∘_; _∘′_; id; flip; _$_)
18+
open import Function.Bundles using (_↔_; mk↔ₛ′; Inverse)
2019
open import Function.Properties.Inverse using (↔-refl)
2120
open import Function.Properties.Inverse.HalfAdjointEquivalence using (_≃_; ↔⇒≃)
2221
open import Function.Related.Propositional as Related using (Related; SK-sym)
2322
open import Function.Related.TypeIsomorphisms
23+
using (×-⊎-commutativeSemiring; ∃∃↔∃∃; Σ-assoc; ×-comm)
24+
open import Level using (Level; _⊔_)
2425
open import Relation.Unary using (Pred ; _∪_ ; _∩_)
2526
open import Relation.Binary.Core using (REL)
26-
open import Relation.Binary.PropositionalEquality as ≡
27+
open import Relation.Binary.PropositionalEquality.Core as ≡
2728
using (_≡_; _≗_; refl)
29+
open import Relation.Binary.PropositionalEquality.Properties as ≡
2830

2931
private
3032
module ×⊎ {k ℓ} = CommutativeSemiring (×-⊎-commutativeSemiring k ℓ)

src/Data/Fin/Induction.agda

+12-7
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,13 @@
77
{-# OPTIONS --cubical-compatible --safe #-}
88
{-# OPTIONS --warn=noUserWarning #-} -- for deprecated _≺_ (issue #1726)
99

10-
open import Data.Fin.Base
11-
open import Data.Fin.Properties
10+
module Data.Fin.Induction where
11+
12+
open import Data.Fin.Base using (Fin; zero; suc; _<_; toℕ; inject₁;
13+
_≥_; _>_; fromℕ; _≺_)
14+
open import Data.Fin.Properties using (toℕ-inject₁; ≤-refl; <-cmp;
15+
toℕ≤n; toℕ-injective; toℕ-fromℕ; toℕ-lower₁; inject₁-lower₁;
16+
pigeonhole; ≺⇒<′)
1217
open import Data.Nat.Base as ℕ using (ℕ; zero; suc; _∸_; s≤s)
1318
open import Data.Nat.Properties using (n<1+n; ≤⇒≯)
1419
import Data.Nat.Induction as ℕ
@@ -18,8 +23,9 @@ open import Data.Vec.Base as Vec using (Vec; []; _∷_)
1823
open import Data.Vec.Relation.Unary.Linked as Linked using (Linked; [-]; _∷_)
1924
import Data.Vec.Relation.Unary.Linked.Properties as Linked
2025
open import Function.Base using (flip; _$_)
21-
open import Induction
22-
open import Induction.WellFounded as WF
26+
open import Induction using (RecStruct)
27+
open import Induction.WellFounded as WF using (WellFounded; WfRec;
28+
module Subrelation)
2329
open import Level using (Level)
2430
open import Relation.Binary.Core using (Rel)
2531
open import Relation.Binary.Bundles using (StrictPartialOrder)
@@ -30,13 +36,12 @@ import Relation.Binary.Construct.Flip.Ord as Ord
3036
import Relation.Binary.Construct.NonStrictToStrict as ToStrict
3137
import Relation.Binary.Construct.On as On
3238
open import Relation.Binary.Definitions using (Tri; tri<; tri≈; tri>)
33-
open import Relation.Binary.PropositionalEquality
39+
open import Relation.Binary.PropositionalEquality.Core
40+
using (_≡_; refl; sym; subst; trans; cong)
3441
open import Relation.Nullary.Decidable using (yes; no)
3542
open import Relation.Nullary.Negation using (contradiction)
3643
open import Relation.Unary using (Pred)
3744

38-
module Data.Fin.Induction where
39-
4045
private
4146
variable
4247
: Level

src/Data/Fin/Permutation.agda

+10-8
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,29 @@
99
module Data.Fin.Permutation where
1010

1111
open import Data.Bool.Base using (true; false)
12-
open import Data.Empty using (⊥-elim)
13-
open import Data.Fin.Base
14-
open import Data.Fin.Patterns
15-
open import Data.Fin.Properties
12+
open import Data.Fin.Base using (Fin; suc; opposite; punchIn; punchOut)
13+
open import Data.Fin.Patterns using (0F)
14+
open import Data.Fin.Properties using (punchInᵢ≢i; punchOut-punchIn;
15+
punchOut-cong; punchOut-cong′; punchIn-punchOut; _≟_; ¬Fin0)
1616
import Data.Fin.Permutation.Components as PC
1717
open import Data.Nat.Base using (ℕ; suc; zero)
1818
open import Data.Product.Base using (_,_; proj₂)
1919
open import Function.Bundles using (_↔_; Injection; Inverse; mk↔ₛ′)
2020
open import Function.Construct.Composition using (_↔-∘_)
2121
open import Function.Construct.Identity using (↔-id)
2222
open import Function.Construct.Symmetry using (↔-sym)
23-
open import Function.Definitions
23+
open import Function.Definitions using (StrictlyInverseˡ; StrictlyInverseʳ)
2424
open import Function.Properties.Inverse using (↔⇒↣)
2525
open import Function.Base using (_∘_)
2626
open import Level using (0ℓ)
2727
open import Relation.Binary.Core using (Rel)
2828
open import Relation.Nullary using (does; ¬_; yes; no)
2929
open import Relation.Nullary.Decidable using (dec-yes; dec-no)
3030
open import Relation.Nullary.Negation using (contradiction)
31-
open import Relation.Binary.PropositionalEquality
32-
using (_≡_; _≢_; refl; sym; trans; subst; →-to-⟶; cong; cong₂; module ≡-Reasoning)
31+
open import Relation.Binary.PropositionalEquality.Core
32+
using (_≡_; _≢_; refl; sym; trans; subst; cong; cong₂)
33+
open import Relation.Binary.PropositionalEquality.Properties
34+
using (module ≡-Reasoning)
3335
open ≡-Reasoning
3436

3537
private
@@ -241,7 +243,7 @@ module _ (π : Permutation (suc m) (suc n)) where
241243
lift₀-remove p (suc i) = punchOut-zero (πʳ (suc i)) p
242244
where
243245
punchOut-zero : {i} (j : Fin (suc n)) {neq} i ≡ 0F suc (punchOut {i = i} {j} neq) ≡ j
244-
punchOut-zero 0F {neq} p = ⊥-elim (neq p)
246+
punchOut-zero 0F {neq} p = contradiction p neq
245247
punchOut-zero (suc j) refl = refl
246248

247249
↔⇒≡ : Permutation m n m ≡ n

src/Data/Fin/Permutation/Components.agda

+6-2
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,19 @@
99
module Data.Fin.Permutation.Components where
1010

1111
open import Data.Bool.Base using (Bool; true; false)
12-
open import Data.Fin.Base
12+
open import Data.Fin.Base using (Fin; suc; opposite; toℕ)
1313
open import Data.Fin.Properties
14+
using (_≟_; opposite-prop; opposite-involutive; opposite-suc)
1415
open import Data.Nat.Base as ℕ using (zero; suc; _∸_)
1516
open import Data.Product.Base using (proj₂)
1617
open import Function.Base using (_∘_)
1718
open import Relation.Nullary.Reflects using (invert)
1819
open import Relation.Nullary using (does; _because_; yes; no)
1920
open import Relation.Nullary.Decidable using (dec-true; dec-false)
20-
open import Relation.Binary.PropositionalEquality
21+
open import Relation.Binary.PropositionalEquality.Core
22+
using (_≡_; refl; sym; trans)
23+
open import Relation.Binary.PropositionalEquality.Properties
24+
using (module ≡-Reasoning)
2125
open import Algebra.Definitions using (Involutive)
2226
open ≡-Reasoning
2327

0 commit comments

Comments
 (0)