Denotational Semantics in Agda
Relation.Binary.PropositionalEquality.Algebra
Initializing search
    pdmosses/xds-agda
    • About
    • Meta-notation
    • ULC
    • PCF
    • Scheme
    pdmosses/xds-agda
    • About
    • Meta-notation
      • Untyped λ-calculus
      • ULC.All
      • ULC.Variables
      • ULC.Terms
      • ULC.Domains
      • ULC.Environments
      • ULC.Semantics
      • ULC.Checks
      • PCF (Plotkin 1977)
      • PCF.All
      • PCF.Domain Notation
      • PCF.Types
      • PCF.Constants
      • PCF.Variables
      • PCF.Terms
      • PCF.Environments
      • PCF.Checks
      • Core Scheme (R5RS)
      • Scheme.All
      • Scheme.Domain Notation
      • Scheme.Abstract Syntax
      • Scheme.Domain Equations
      • Scheme.Auxiliary Functions
      • Scheme.Semantic Functions

    Relation.Binary.PropositionalEquality.Algebra

    ------------------------------------------------------------------------
    -- The Agda standard library
    --
    -- Propositional (intensional) equality - Algebraic structures
    ------------------------------------------------------------------------
    
    {-# OPTIONS --cubical-compatible --safe #-}
    
    module Relation.Binary.PropositionalEquality.Algebra where
    
    open import Algebra.Bundles using (Magma)
    open import Algebra.Core using (Op₂)
    open import Algebra.Structures using (IsMagma)
    open import Level using (Level)
    open import Relation.Binary.PropositionalEquality.Core using (_≡_; cong₂)
    open import Relation.Binary.PropositionalEquality.Properties using (isEquivalence)
    
    private
      variable
        a : Level
        A : Set a
    
    ------------------------------------------------------------------------
    -- Any operation forms a magma over _≡_
    
    isMagma : (_∙_ : Op₂ A) → IsMagma _≡_ _∙_
    isMagma _∙_ = record
      { isEquivalence = isEquivalence
      ; ∙-cong        = cong₂ _∙_
      }
    
    magma : (_∙_ : Op₂ A) → Magma _ _
    magma _∙_ = record
      { isMagma = isMagma _∙_
      }
    
    Made with Material for MkDocs