Denotational Semantics in Agda
Relation.Binary.Reasoning.Preorder
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.Reasoning.Preorder

    ------------------------------------------------------------------------
    -- The Agda standard library
    --
    -- Convenient syntax for "equational reasoning" using a preorder
    ------------------------------------------------------------------------
    
    -- Example uses:
    --
    --    u∼y : u ∼ y
    --    u∼y = begin
    --      u  ≈⟨ u≈v ⟩
    --      v  ≡⟨ v≡w ⟩
    --      w  ∼⟨ w∼y ⟩
    --      y  ≈⟨ z≈y ⟩
    --      z  ∎
    --
    --    u≈w : u ≈ w
    --    u≈w = begin-equality
    --      u  ≈⟨ u≈v ⟩
    --      v  ≡⟨ v≡w ⟩
    --      w  ≡⟨ x≡w ⟨
    --      x  ∎
    
    {-# OPTIONS --cubical-compatible --safe #-}
    
    open import Relation.Binary.Bundles using (Preorder)
    
    module Relation.Binary.Reasoning.Preorder
      {p₁ p₂ p₃} (P : Preorder p₁ p₂ p₃) where
    
    open Preorder P
    
    ------------------------------------------------------------------------
    -- Publicly re-export the contents of the base module
    
    open import Relation.Binary.Reasoning.Base.Double isPreorder public
    
    Made with Material for MkDocs