------------------------------------------------------------------------
-- The Agda standard library
--
-- Core definitions for metrics over ℕ
------------------------------------------------------------------------
{-# OPTIONS --without-K --safe #-}
module Function.Metric.Nat.Structures where
open import Data.Nat.Base hiding (suc)
open import Function using (const)
open import Level using (Level; suc)
open import Relation.Binary hiding (Symmetric)
open import Relation.Binary.PropositionalEquality using (_≡_)
open import Function.Metric.Nat.Core
open import Function.Metric.Nat.Definitions
import Function.Metric.Structures as Base
private
variable
a ℓ : Level
A : Set a
------------------------------------------------------------------------
-- Proto-metrics
IsProtoMetric : Rel A ℓ → DistanceFunction A → Set _
IsProtoMetric _≈_ = Base.IsProtoMetric _≈_ _≡_ _≤_ 0
open Base using (module IsProtoMetric) public
------------------------------------------------------------------------
-- Pre-metrics
IsPreMetric : Rel A ℓ → DistanceFunction A → Set _
IsPreMetric _≈_ = Base.IsPreMetric _≈_ _≡_ _≤_ 0
open Base using (module IsPreMetric) public
------------------------------------------------------------------------
-- Quasi-semi-metrics
IsQuasiSemiMetric : Rel A ℓ → DistanceFunction A → Set _
IsQuasiSemiMetric _≈_ = Base.IsQuasiSemiMetric _≈_ _≡_ _≤_ 0
open Base using (module IsQuasiSemiMetric) public
------------------------------------------------------------------------
-- Semi-metrics
IsSemiMetric : Rel A ℓ → DistanceFunction A → Set _
IsSemiMetric _≈_ = Base.IsSemiMetric _≈_ _≡_ _≤_ 0
open Base using (module IsSemiMetric) public
------------------------------------------------------------------------
-- Metrics
IsMetric : Rel A ℓ → DistanceFunction A → Set _
IsMetric _≈_ = Base.IsGeneralMetric _≈_ _≡_ _≤_ 0 _+_
module IsMetric {_≈_ : Rel A ℓ} {d : DistanceFunction A}
(M : IsMetric _≈_ d) where
open Base.IsGeneralMetric M public
------------------------------------------------------------------------
-- Ultra-metrics
IsUltraMetric : Rel A ℓ → DistanceFunction A → Set _
IsUltraMetric _≈_ = Base.IsGeneralMetric _≈_ _≡_ _≤_ 0 _⊔_
module IsUltraMetric {_≈_ : Rel A ℓ} {d : DistanceFunction A}
(UM : IsUltraMetric _≈_ d) where
open Base.IsGeneralMetric UM public
Generated from commit 2fd14c996b195ef101dff8919e837907ca0a08aa.