Derivatives for Containers in Univalent Foundations
Derivative.Basics.Fin
Initializing search
    phijor/derivatives
    • Overview
    • Library
    phijor/derivatives
    • Overview
      • Derivative.Adjunction
      • Derivative.Basics.Fin
      • Derivative.Basics.Path
      • Derivative.Basics.S1
      • Derivative.Basics.Sum
      • Derivative.Basics.Unit
      • Derivative.Basics.W
      • Derivative.Basics.Connected
      • Derivative.Basics.Decidable
      • Derivative.Basics.DecidableEmbedding
      • Derivative.Basics.Embedding
      • Derivative.Basics.Equiv
      • Derivative.Basics.Function
      • Derivative.Basics.Maybe
      • Derivative.Basics.RusselsParadox
      • Derivative.Basics.Sigma
      • Derivative.Basics.WildCategories
      • Derivative.Category
      • Derivative.ChainRule
      • Derivative.Container
      • Derivative.Derivative
      • Derivative.Examples.Bag
      • Derivative.Examples.List
      • Derivative.Isolated.Base
      • Derivative.Isolated
      • Derivative.Isolated.S1
      • Derivative.Isolated.Sum
      • Derivative.Isolated.W
      • Derivative.Isolated.DependentGrafting
      • Derivative.Isolated.Grafting
      • Derivative.Isolated.Maybe
      • Derivative.Isolated.Sigma
      • Derivative.Parametrized.Mu
      • Derivative.Parametrized.ChainRule
      • Derivative.Parametrized.Container
      • Derivative.Parametrized.Derivative
      • Derivative.Parametrized.MuRule
      • Derivative.Parametrized.Univalence
      • Derivative.Prelude
      • Derivative.Properties
      • Derivative.Relative
      • Derivative.Remove

    Derivative.Basics.Fin

    {-# OPTIONS --safe #-}
    module Derivative.Basics.Fin where
    
    open import Derivative.Prelude
    open import Derivative.Basics.Decidable using (Discrete ; isProp→Discrete)
    open import Derivative.Basics.Unit
    open import Derivative.Basics.Sum
    
    Fin : ℕ → Type
    Fin zero = 𝟘
    Fin (suc n) = 𝟙 ⊎ Fin n
    
    pattern fzero = inl •
    pattern fsuc k = inr k
    
    DiscreteFin : ∀ n → Discrete (Fin n)
    DiscreteFin zero ()
    DiscreteFin (suc n) = discrete⊎ (isProp→Discrete isProp-𝟙*) (DiscreteFin n)
    
    Made with Material for MkDocs