module Index where
-- The source code can also be downloaded as a zip file
-- https://personal.cis.strath.ac.uk/fredrik.nordvall-forsberg/variantsIR/variantsIR.zip
-- 0. Basic background definitions
import Prelude.Basic -- Standard type formers
import Prelude.Equality -- The identity type, and lemmas about it
import Prelude.Container -- Containers
import Prelude.Fam -- The type (category) of families of things
import Prelude.Equivalences -- Isomorphisms in Fam D
{----- 1. Dybjer-Setzer codes --------------------------------------------}
import DS.IR -- Basic definition of Dybjer-Setzer
-- codes and their decoding
import DS.Initial -- Formation, introduction and
-- elimination rules
import DS.InitialPleasingAgda -- Same as above, but without
-- bypassing Agda's checks
import DS.Bind -- Proof that DS-bind decodes to Fam-bind
import DS.compositionFromPower -- Composition in terms of bind and an
-- assumed power operation
import DS.powerFromComposition -- Conversely powers in terms of an
-- assumed composition
-- Alternative versions of Dybjer-Setzer codes:
import DS.Arg -- Dybjer and Setzer's original 1999 system
import DS.SigmaDelta -- A system with σ and δ merged into on code σδ
import DS.DSPi -- DS.Arg with a π-code added
{----- 2. Uniform IR -----------------------------------------------------}
import Uniform.IR -- Basic definition of uniform IR
-- codes and their decoding
import Uniform.Initial -- Formation, introduction and
-- elimination rules
import Uniform.InitialPleasingAgda -- same, not bypassing Agda's
-- checks
import Uniform.Examples -- Examples of uniform codes
import Uniform.AppLift -- The combined bind and power
-- operation _++[_⟶_] and its
-- properties
import Uniform.Composition -- Composition of uniform codes
import Uniform.EmbeddingIntoDS -- Embedding uniform codes into DS
import Uniform.Coproduct -- Coproducts of uniform codes
import Uniform.Coproduct.Maps -- Proof that coproducts are coproducts
{----- 3. Polynomial IR --------------------------------------------------}
import Polynomial.IR -- Basic definition of Polynomial codes,
-- and their decoding
import Polynomial.Initial -- Formation, introduction and
-- elimination rules
import Polynomial.InitialPleasingAgda -- same, not bypassing Agda's checks
import Polynomial.Composition -- Composition of Polynomial codes
import Polynomial.EmbeddingFromDS -- Embedding DS codes into Polynomial codes
-- A container variation of Polynomial codes
import Polynomial.Container.IR -- Basic definition and decoding
import Polynomial.Container.Equivalence -- Maps back and forth to ordinary
-- Polynomial codes
import Polynomial.Container.Composition -- Composition directly for
-- container polynomial codes
{-------------------------------------------------------------------------}
-- (the directory Misc contains experiments and work in progress)