Skip to content

Latest commit

 

History

History
246 lines (205 loc) · 9.58 KB

CHANGELOG.md

File metadata and controls

246 lines (205 loc) · 9.58 KB

Version 2.3-dev

The library has been tested using Agda 2.7.0 and 2.7.0.1.

Highlights

Bug-fixes

  • In Algebra.Apartness.Structures, renamed sym from IsApartnessRelation to #-sym in order to avoid overloaded projection. irrefl and cotrans are similarly renamed for the sake of consistency.

  • In Algebra.Definitions.RawMagma and Relation.Binary.Construct.Interior.Symmetric, the record constructors _,_ incorrectly had no declared fixity. They have been given the fixity infixr 4 _,_, consistent with that of Data.Product.Base.

Non-backwards compatible changes

  • The implementation of ≤-total in Data.Nat.Properties has been altered to use operations backed by primitives, rather than recursion, making it significantly faster. However, its reduction behaviour on open terms may have changed.

Minor improvements

  • Moved the concept Irrelevant of irrelevance (h-proposition) from Relation.Nullary to its own dedicated module Relation.Nullary.Irrelevant.

Deprecated modules

Deprecated names

  • In Algebra.Definitions.RawMagma:

    _∣∣_   ↦  _∥_
    _∤∤_    ↦  _∦_
  • In Algebra.Lattice.Properties.BooleanAlgebra

    ⊥≉⊤   ↦  ¬⊥≈⊤
    ⊤≉⊥   ↦  ¬⊤≈⊥
  • In Algebra.Module.Consequences

    *ₗ-assoc+comm⇒*ᵣ-assoc      ↦  *ₗ-assoc∧comm⇒*ᵣ-assoc
    *ₗ-assoc+comm⇒*ₗ-*ᵣ-assoc   ↦  *ₗ-assoc∧comm⇒*ₗ-*ᵣ-assoc
    *ᵣ-assoc+comm⇒*ₗ-assoc      ↦  *ᵣ-assoc∧comm⇒*ₗ-assoc
    *ₗ-assoc+comm⇒*ₗ-*ᵣ-assoc   ↦  *ₗ-assoc∧comm⇒*ₗ-*ᵣ-assoc
  • In Algebra.Modules.Structures.IsLeftModule:

    uniqueˡ‿⁻ᴹ   ↦  Algebra.Module.Properties.LeftModule.inverseˡ-uniqueᴹ
    uniqueʳ‿⁻ᴹ   ↦  Algebra.Module.Properties.LeftModule.inverseʳ-uniqueᴹ
  • In Algebra.Modules.Structures.IsRightModule:

    uniqueˡ‿⁻ᴹ   ↦  Algebra.Module.Properties.RightModule.inverseˡ-uniqueᴹ
    uniqueʳ‿⁻ᴹ   ↦  Algebra.Module.Properties.RightModule.inverseʳ-uniqueᴹ
  • In Algebra.Properties.Magma.Divisibility:

    ∣∣-sym       ↦  ∥-sym
    ∣∣-respˡ-≈   ↦  ∥-respˡ-≈
    ∣∣-respʳ-≈   ↦  ∥-respʳ-≈
    ∣∣-resp-≈    ↦  ∥-resp-≈
    ∤∤-sym  -≈    ↦  ∦-sym
    ∤∤-respˡ-≈    ↦  ∦-respˡ-≈
    ∤∤-respʳ-≈    ↦  ∦-respʳ-≈
    ∤∤-resp-≈     ↦  ∦-resp-≈
    ∣-respʳ-≈    ↦ ∣ʳ-respʳ-≈
    ∣-respˡ-≈    ↦ ∣ʳ-respˡ-≈
    ∣-resp-≈     ↦ ∣ʳ-resp-≈
    x∣yx         ↦ x∣ʳyx
    xy≈z⇒y∣z     ↦ xy≈z⇒y∣ʳz
  • In Algebra.Properties.Monoid.Divisibility:

    ∣∣-refl            ↦  ∥-refl
    ∣∣-reflexive       ↦  ∥-reflexive
    ∣∣-isEquivalence   ↦  ∥-isEquivalence
    ε∣_                ↦ ε∣ʳ_
    ∣-refl             ↦ ∣ʳ-refl
    ∣-reflexive        ↦ ∣ʳ-reflexive
    ∣-isPreorder       ↦ ∣ʳ-isPreorder
    ∣-preorder         ↦ ∣ʳ-preorder
  • In Algebra.Properties.Semigroup.Divisibility:

    ∣∣-trans   ↦  ∥-trans
    ∣-trans    ↦  ∣ʳ-trans
  • In Algebra.Structures.Group:

    uniqueˡ-⁻¹   ↦  Algebra.Properties.Group.inverseˡ-unique
    uniqueʳ-⁻¹   ↦  Algebra.Properties.Group.inverseʳ-unique
  • In Data.List.Base:

    and       ↦  Data.Bool.ListAction.and
    or        ↦  Data.Bool.ListAction.or
    any       ↦  Data.Bool.ListAction.any
    all       ↦  Data.Bool.ListAction.all
    sum       ↦  Data.Nat.ListAction.sum
    product   ↦  Data.Nat.ListAction.product
  • In Data.List.Properties:

    sum-++       ↦  Data.Nat.ListAction.Properties.sum-++
    ∈⇒∣product   ↦  Data.Nat.ListAction.Properties.∈⇒∣product
    product≢0    ↦  Data.Nat.ListAction.Properties.product≢0
    ∈⇒≤product   ↦  Data.Nat.ListAction.Properties.∈⇒≤product
  • In Data.List.Relation.Binary.Permutation.Propositional.Properties:

    sum-↭       ↦  Data.Nat.ListAction.Properties.sum-↭
    product-↭   ↦  Data.Nat.ListAction.Properties.product-↭

New modules

  • Algebra.Module.Properties.{Bimodule|LeftModule|RightModule}.

  • Data.List.Base.{and|or|any|all} have been lifted out into Data.Bool.ListAction.

  • Data.List.Base.{sum|product} and their properties have been lifted out into Data.Nat.ListAction and Data.Nat.ListAction.Properties.

  • Data.List.Relation.Binary.Prefix.Propositional.Properties showing the equivalence to left divisibility induced by the list monoid.

  • Data.List.Relation.Binary.Suffix.Propositional.Properties showing the equivalence to right divisibility induced by the list monoid.

  • Data.Sign.Show to show a sign

Additions to existing modules

  • In Algebra.Construct.Pointwise:

    isNearSemiring                  : IsNearSemiring _≈_ _+_ _*_ 0# 
                                      IsNearSemiring (liftRel _≈_) (lift₂ _+_) (lift₂ _*_) (lift₀ 0#)
    isSemiringWithoutOne            : IsSemiringWithoutOne _≈_ _+_ _*_ 0# 
                                      IsSemiringWithoutOne (liftRel _≈_) (lift₂ _+_) (lift₂ _*_) (lift₀ 0#)
    isCommutativeSemiringWithoutOne : IsCommutativeSemiringWithoutOne _≈_ _+_ _*_ 0# 
                                      IsCommutativeSemiringWithoutOne (liftRel _≈_) (lift₂ _+_) (lift₂ _*_) (lift₀ 0#)
    isCommutativeSemiring           : IsCommutativeSemiring _≈_ _+_ _*_ 0# 1# 
                                      IsCommutativeSemiring (liftRel _≈_) (lift₂ _+_) (lift₂ _*_) (lift₀ 0#) (lift₀ 1#)
    isIdempotentSemiring            : IsIdempotentSemiring _≈_ _+_ _*_ 0# 1# 
                                      IsIdempotentSemiring (liftRel _≈_) (lift₂ _+_) (lift₂ _*_) (lift₀ 0#) (lift₀ 1#)
    isKleeneAlgebra                 : IsKleeneAlgebra _≈_ _+_ _*_ _⋆ 0# 1# 
                                      IsKleeneAlgebra (liftRel _≈_) (lift₂ _+_) (lift₂ _*_) (lift₁ _⋆) (lift₀ 0#) (lift₀ 1#)
    isQuasiring                     : IsQuasiring _≈_ _+_ _*_ 0# 1# 
                                      IsQuasiring (liftRel _≈_) (lift₂ _+_) (lift₂ _*_) (lift₀ 0#) (lift₀ 1#)
    isCommutativeRing               : IsCommutativeRing _≈_ _+_ _*_ -_ 0# 1# 
                                      IsCommutativeRing (liftRel _≈_) (lift₂ _+_) (lift₂ _*_) (lift₁ -_) (lift₀ 0#) (lift₀ 1#)
    commutativeMonoid               : CommutativeMonoid c ℓ  CommutativeMonoid (a ⊔ c) (a ⊔ ℓ)
    nearSemiring                    : NearSemiring c ℓ  NearSemiring (a ⊔ c) (a ⊔ ℓ)
    semiringWithoutOne              : SemiringWithoutOne c ℓ  SemiringWithoutOne (a ⊔ c) (a ⊔ ℓ)
    commutativeSemiringWithoutOne   : CommutativeSemiringWithoutOne c ℓ  CommutativeSemiringWithoutOne (a ⊔ c) (a ⊔ ℓ)
    commutativeSemiring             : CommutativeSemiring c ℓ  CommutativeSemiring (a ⊔ c) (a ⊔ ℓ)
    idempotentSemiring              : IdempotentSemiring c ℓ  IdempotentSemiring (a ⊔ c) (a ⊔ ℓ)
    kleeneAlgebra                   : KleeneAlgebra c ℓ  KleeneAlgebra (a ⊔ c) (a ⊔ ℓ)
    quasiring                       : Quasiring c ℓ  Quasiring (a ⊔ c) (a ⊔ ℓ)
    commutativeRing                 : CommutativeRing c ℓ  CommutativeRing (a ⊔ c) (a ⊔ ℓ)
  • In Algebra.Modules.Properties:

    inverseˡ-uniqueᴹ : x +ᴹ y ≈ 0ᴹ  x ≈ -ᴹ y
    inverseʳ-uniqueᴹ : x +ᴹ y ≈ 0ᴹ  y ≈ -ᴹ x
  • In Algebra.Properties.Magma.Divisibility:

    ∣ˡ-respʳ-≈  : _∣ˡ_ Respectsʳ _≈_
    ∣ˡ-respˡ-≈  : _∣ˡ_ Respectsˡ _≈_
    ∣ˡ-resp-≈   : _∣ˡ_ Respects₂ _≈_
    x∣ˡxy       :  x y  x ∣ˡ x ∙ y
    xy≈z⇒x∣ˡz   :  x y {z}  x ∙ y ≈ z  x ∣ˡ z
  • In Algebra.Properties.Monoid.Divisibility:

    ε∣ˡ_          :  x  ε ∣ˡ x
    ∣ˡ-refl       : Reflexive _∣ˡ_
    ∣ˡ-reflexive  : _≈_ ⇒ _∣ˡ_
    ∣ˡ-isPreorder : IsPreorder _≈_ _∣ˡ_
    ∣ˡ-preorder   : Preorder a ℓ _
  • In Algebra.Properties.Semigroup.Divisibility:

    ∣ˡ-trans     : Transitive _∣ˡ_
    x∣ʳy⇒x∣ʳzy   : x ∣ʳ y  x ∣ʳ z ∙ y
    x∣ʳy⇒xz∣ʳyz  : x ∣ʳ y  x ∙ z ∣ʳ y ∙ z
    x∣ˡy⇒zx∣ˡzy  : x ∣ˡ y  z ∙ x ∣ˡ z ∙ y
    x∣ˡy⇒x∣ˡyz   : x ∣ˡ y  x ∣ˡ y ∙ z
  • In Algebra.Properties.CommutativeSemigroup.Divisibility:

    ∙-cong-∣ : x ∣ y  a ∣ b  x ∙ a ∣ y ∙ b
  • In Data.List.Properties:

    map-applyUpTo :  (f : A) (g : A  B) n  map g (applyUpTo f n) ≡ applyUpTo (g ∘ f) n
    map-applyDownFrom :  (f : A) (g : A  B) n  map g (applyDownFrom f n) ≡ applyDownFrom (g ∘ f) n
    map-upTo :  (f : A) n  map f (upTo n) ≡ applyUpTo f n
    map-downFrom :  (f : A) n  map f (downFrom n) ≡ applyDownFrom f n
  • In Data.List.Relation.Binary.Permutation.PropositionalProperties:

    filter-↭ :  (P? : Pred.Decidable P)  xs ↭ ys  filter P? xs ↭ filter P? ys
  • In Relation.Binary.Construct.Add.Infimum.Strict:

    <₋-accessible-⊥₋ : Acc _<₋_ ⊥₋
    <₋-accessible[_] : Acc _<_ x  Acc _<₋_ [ x ]
    <₋-wellFounded   : WellFounded _<_  WellFounded _<₋_
  • In Relation.Nullary.Decidable.Core:

    ⊤-dec : Dec {a} ⊤
    ⊥-dec : Dec {a} ⊥