Tealeaves.Axioms
Tealeaves.Tactics.Debug
Tealeaves.Tactics.LibTactics
Tealeaves.Tactics.Prelude
Tealeaves.Misc.Product
Tealeaves.Classes.EqDec_eq
Tealeaves.Classes.Category
Tealeaves.Classes.Monoid
- Monoids
- Monoid Constructions
- Increment and Pre-increment
- Preordered Monoids
- Opposite Monoid
- Commutative Monoids
- Idempotent Monoids
- Notations
Tealeaves.Classes.Comonoid
Tealeaves.Misc.Iterate
Tealeaves.Misc.NaturalNumbers
Tealeaves.Misc.Prop
Tealeaves.Classes.Functor
Tealeaves.Functors.Identity
Tealeaves.Functors.Compose
Tealeaves.Misc.Strength
Tealeaves.Classes.Categorical.Applicative
- Applicative Functors
- The Category of Applicative Functors
- The "ap" combinator
<⋆> - Monoids as Constant Applicative Functors
- Notations
Tealeaves.Classes.Categorical.ApplicativeCommutativeIdempotent
Tealeaves.Classes.Categorical.Monad
Tealeaves.Classes.Categorical.Comonad
Tealeaves.Classes.Categorical.BeckDistributiveLaw
Tealeaves.Classes.Categorical.Bimonad
Tealeaves.Classes.Categorical.RightModule
Tealeaves.Classes.Categorical.RightComodule
Tealeaves.Classes.Categorical.ParamComonad
Tealeaves.Classes.Kleisli.Applicative
Tealeaves.Classes.Kleisli.Monad
Tealeaves.Classes.Kleisli.Comonad
Tealeaves.Adapters.CategoricalToKleisli.Monad
Tealeaves.Adapters.KleisliToCategorical.Monad
Tealeaves.Adapters.Roundtrips.Monad
Tealeaves.Functors.Early.Reader
Tealeaves.Classes.Categorical.DecoratedFunctor
Tealeaves.Classes.Kleisli.DecoratedFunctor
Tealeaves.Adapters.CategoricalToKleisli.Comonad
Tealeaves.Adapters.CategoricalToKleisli.DecoratedFunctor
Tealeaves.Adapters.KleisliToCategorical.DecoratedFunctor
Tealeaves.Adapters.Roundtrips.DecoratedFunctor
Tealeaves.Functors.Early.Writer
Tealeaves.Classes.Categorical.DecoratedMonad
- The shift operation
- Decorated Monads
- Decorated Right Modules
- Basic Properties of shift on Monads
- Pushing Decorations through a Monoid Homomorphism
Tealeaves.Classes.Kleisli.DecoratedMonad
Tealeaves.Adapters.CategoricalToKleisli.DecoratedMonad
Tealeaves.Adapters.KleisliToCategorical.DecoratedMonad
Tealeaves.Adapters.Roundtrips.DecoratedMonad
Tealeaves.Classes.Categorical.TraversableFunctor
Tealeaves.Classes.Kleisli.TraversableFunctor
Tealeaves.Classes.Kleisli.TraversableCommIdemFunctor
Tealeaves.Functors.Early.Batch
- The Batch Functor
- Applicative Functor Instance
- The
runBatchOperation Batchas a Parameterized MonadBatchas a Parameterized ComonadBatchis Traversable in the First Argument- Notations
- Arguments
Tealeaves.Classes.Coalgebraic.TraversableFunctor
Tealeaves.Adapters.CategoricalToKleisli.TraversableFunctor
Tealeaves.Adapters.KleisliToCategorical.TraversableFunctor
Tealeaves.Adapters.CoalgebraicToKleisli.TraversableFunctor
Tealeaves.Adapters.KleisliToCoalgebraic.TraversableFunctor
Tealeaves.Adapters.Roundtrips.TraversableFunctor
- Categorical ~> Kleisli ~> Categorical
- Kleisli ~> Categorical ~> Kleisli
- Coalgebraic ~> Kleisli ~> Coalgebraic (TODO)
- Kleisli ~> Coalgebraic ~> Kleisli (TODO)
Tealeaves.Classes.Categorical.TraversableMonad
Tealeaves.Classes.Kleisli.TraversableMonad
Tealeaves.Classes.Coalgebraic.TraversableMonad
Tealeaves.Adapters.CategoricalToKleisli.TraversableMonad
Tealeaves.Adapters.KleisliToCategorical.TraversableMonad
Tealeaves.Adapters.CoalgebraicToKleisli.TraversableMonad
Tealeaves.Adapters.KleisliToCoalgebraic.TraversableMonad
Tealeaves.Adapters.Roundtrips.TraversableMonad
- Categorical ~> Kleisli ~> Categorical
- Kleisli ~> Categorical ~> Kleisli
- Coalgebraic ~> Kleisli ~> Coalgebraic
- Kleisli ~> Coalgebraic ~> Kleisli
Tealeaves.Classes.Categorical.DecoratedTraversableFunctor
Tealeaves.Classes.Kleisli.DecoratedTraversableFunctor
Tealeaves.Classes.Kleisli.DecoratedTraversableCommIdemFunctor
Tealeaves.Classes.Coalgebraic.DecoratedTraversableFunctor
Tealeaves.Adapters.CategoricalToKleisli.DecoratedTraversableFunctor
Tealeaves.Adapters.KleisliToCategorical.DecoratedTraversableFunctor
Tealeaves.Adapters.CoalgebraicToKleisli.DecoratedTraversableFunctor
Tealeaves.Adapters.KleisliToCoalgebraic.DecoratedTraversableFunctor
Tealeaves.Adapters.Roundtrips.DecoratedTraversableFunctor
Tealeaves.Classes.Kleisli.DecoratedTraversableMonad
Tealeaves.Classes.Categorical.DecoratedTraversableMonad
Tealeaves.Classes.Coalgebraic.DecoratedTraversableMonad
Tealeaves.Adapters.CategoricalToKleisli.DecoratedTraversableMonad
Tealeaves.Adapters.KleisliToCategorical.DecoratedTraversableMonad
Tealeaves.Adapters.KleisliToCoalgebraic.DecoratedTraversableMonad
Tealeaves.Adapters.CoalgebraicToKleisli.DecoratedTraversableMonad
Tealeaves.Adapters.Roundtrips.DecoratedTraversableMonad
Tealeaves.Adapters.Compositions.DecoratedTraversableModule
Tealeaves.Adapters.MonadToApplicative
Tealeaves.Categories.Type
Tealeaves.Categories.TypeFamily
- The Category of Constant
K-Indexed Families - Specialized Notations for Multisorted Tealeaves
- The Category of
K-Indexed Families - Targeted Morphisms
Tealeaves.Categories.DecoratedFunctor
- A Decorated Functor is Precisely a Right comodule of
(E ×) - Decorated Functors Form a Monoidal Category
- Monad Operations in As Homomorphisms of Decorated Functors
Tealeaves.Categories.TraversableFunctor
- Monoid Structure of Traversable Functors
- Monad Operations as Homomorphisms between Traversable Functors
Tealeaves.Categories.DecoratedTraversableFunctor
Tealeaves.Functors.Early.Subset
- Subsets
- The
subsetMonoid - Functor Instance
- Monad Instance (Categorical)
- Monad Instance (Kleisli)
- Applicative Instance
Tealeaves.Classes.Categorical.ContainerFunctor
- Container-Like Functors
- Container Instance for
subset - Basic Properties of Containers
- Quantification over Elements (
Forall,Forany) - Notations
Tealeaves.Classes.Kleisli.ContainerMonad
Tealeaves.Functors.Early.Ctxset
Tealeaves.Classes.Kleisli.DecoratedContainerFunctor
Tealeaves.Classes.Kleisli.DecoratedContainerMonad
Tealeaves.Functors.Early.List
- Automation:
simpl_list - Monoid Instance
- Functor Instance
- Monad Instance (Categorical)
- Traversable Monad Instance (Kleisli)
- Traversable Functor Instance (Kleisli)
- Monad Instance (Kleisli)
- Traversable Instance (Categorical)
- Folding over lists
- Container Instance
Tealeaves.Classes.Categorical.ShapelyFunctor
Tealeaves.Functors.Early.Environment
Tealeaves.Classes.Kleisli.DecoratedShapelyFunctor
Tealeaves.Functors.Backwards
Tealeaves.Functors.Constant
- Inductive Definition of the Constant Functor
- Computational Definition of the Constant Functor
- Simplification Support
Tealeaves.Functors.ProductFunctor
Tealeaves.Functors.Diagonal
Tealeaves.Classes.Kleisli.Theory.TraversableFunctor
- Miscellaneous Properties of Traversable Functors
- Factorizing Operations through
runBatch - Traversals by Particular Applicative Functors
- Derived Operation:
mapReduce mapReduceCorollary:tolistmapReduceCorollary:tosubsetmapReduceCorollary:Forall, ForanymapReduceCorollary:plengthmapReduceby a Commutative Monoid- Notations
Tealeaves.Classes.Categorical.Theory.TraversableFunctor
Tealeaves.Classes.Kleisli.Theory.TraversableCommutativeIdempotent
Tealeaves.Classes.Kleisli.Theory.ContainerMonad
Tealeaves.Classes.Kleisli.Theory.TraversableMonad
Tealeaves.Classes.Kleisli.Theory.DecoratedContainerFunctor
Tealeaves.Classes.Kleisli.Theory.DecoratedTraversableFunctor
- Theory of Decorated Traversable Functors
- Derived Operation
mapdReduce - The
toctxlistoperation toctxsetand∈d- Quantification with Context:
Forall_ctxandForany_ctx
Tealeaves.Classes.Kleisli.Theory.DecoratedContainerMonad
Tealeaves.Classes.Kleisli.Theory.DecoratedTraversableMonad
Tealeaves.Functors.Ctxset
Tealeaves.Functors.List
toBatchInstancemapequality inversion lemmas- Shapely Functor Instance for list
- Reasoning principles for
shapeon listable functors - Quantification Over Elements
- Specification of
Permutation - Miscellaneous
- Un-con-sing Nonempty Lists
- Filtering Lists
Tealeaves.Functors.Environment
Tealeaves.Functors.Option
Tealeaves.Functors.Pathspace
Tealeaves.Functors.Pair
Tealeaves.Functors.Reader
Tealeaves.Functors.State
Tealeaves.Functors.Store
Tealeaves.Functors.Subset
Tealeaves.Functors.Writer
Tealeaves.Functors.ListHistory
Tealeaves.Functors.Vector
Tealeaves.Functors.KStore
Tealeaves.Functors.VectorRefinement
- Refinement-style vectors
- Functor instance
- Traversable instance
- SameSetRight
- Elimination principles
tosubseton Vectors- Zipping vectors
- Appending Vectors
- Reversing Vectors
- Notations
Tealeaves.Functors.Batch
mapReduceRewriting Lemmas- Simultaneous Induction on Two
Batches of the Same Shape runBatchspecialized to monoids- The
length_BatchOperation - Specification for
traverseviarunBatch Batch _ B Cis a traversable monad- Deconstructing
Batch A B Cinto Shape and ContentsBatch_makeandBatch_contentsBatch_replace_contents- Rewriting rules
- Relating
tolistandBatch_contents - Rewriting Rules for
<⋆> - Same Shape Iff Same
Batch_make - Two Lemmas for
shapeandlength_Batch - Same Shape Implies Same
Batch_replace_contents Batch_makeEqual IffBatch_replace_contentsEqual- Similarity Lemmas for
Batch_make - Similarity Laws for
Batch_replace_contents - Naturality of
Batch_make - Naturality of
Batch_contents - Specification for
Batch_replace_contents - Replacing Contents Does Not Change
length_Batch,shape, orBatch_make
- Lens-like laws
- Theory About Batch
- Representation theorems
- Annotating
Batchwith Proofs of Occurrence runBatchAssuming Proofs of Occurrence
Tealeaves.Adapters.Isomorphisms.BatchtoKStore
Tealeaves.Theory.TraversableFunctor
- Miscellaneous Properties Concerning
toBatch - Length of
toBatchis polymorphic - Traversable Functors are Containers
plength- Factorizing Terms into
shapeandcontents- Operations on Vectors
- Lemmas regarding
trav_make - Naturality of
trav_contentsandtrav_make - Relating
tolistandtrav_contents - Lens-like laws
- Lemmas regarding
shapeandtrav_make - Lemmas regarding
trav_make - Representation theorems
- Corollary: Spec for
traverseAfter Applyingtrav_make - Corollary: Specs for Functor Operations in Terms of Lens Operations
- Corollary: Specification for
shape trav_makeis Preserved byshapetosubsetis Preserved bytrav_contents
- Lemmas about
shape - Zipping Terms
- Uniqueness
Tealeaves.Theory.TraversableMonad
Tealeaves.Theory.DecoratedTraversableFunctor
- Properties of
toBatch3 - Factoring Operations Through
toBatch3 - Respectfulness Properties
- Shapeliness
- Deconstructing with refinement-type vectors
- Miscellaneous
- Lens Laws
- Representation theorems
Tealeaves.Theory.DecoratedTraversableMonad
Tealeaves.Theory.LiftRel.TraversableFunctor
Tealeaves.Theory.LiftRel.DecoratedTraversableFunctor
Tealeaves.Functors.List_Telescoping
- Telescoping Decoration for the List Functor
- The
decorate_telescoping_listOperation - Alternative Characterization of
decorate_telescoping_list - Rewriting Rules for
decorate_telescoping_list - Equivalence
- Associated
mapdtOperation - Rewriting Rules for
decorate_telescoping_list - Typeclass Instance
- Derived Operation Compatibility
- Associated
toctxlistandtoctxsetOperations
- The
- Fully Recursive Decoration for the List Functor
Tealeaves.Classes.Multisorted.Multifunctor
Tealeaves.Classes.Multisorted.DecoratedTraversableMonad
- Multisorted DTMs
- Derived Instances
- Derived Multisorted Operations
- Rewriting Rules
- Composition Between
mbinddtand Other Operations - Composition between Derived Operations
- Decorated Monad (
mbindd) - Decorated Traversable Functor (
mmapdt) - Traversable Monad (
mbindt) - Heterogeneous Composition Laws
- Monad (
mbind) - Decorated Functor (
mmapd) - Traversable Functor (
mmapt) - Functor (
mmap)
Tealeaves.Functors.Multisorted.Batch
Tealeaves.Adapters.KleisliToCoalgebraic.Multisorted.DTM
Tealeaves.Classes.Multisorted.Theory.Container
Tealeaves.Classes.Multisorted.Theory.Targeted
- Targeted substitution-building combinators: btg and btgd
- Characterizing occurrences post-operation (targetted operations)
Tealeaves.Classes.Multisorted.Theory.Foldmap
Tealeaves.Theory.Multisorted.DecoratedTraversableMonad
Tealeaves.Simplification.Support
Tealeaves.Simplification.Binddt
Tealeaves.Simplification.DeriveDTM
Tealeaves.Simplification.Simplification
Tealeaves.Simplification.MBinddt
Tealeaves.Simplification.Tests.Support
Tealeaves.Backends.LN.LN
- Deriving All Other Typeclass Instances from a DTM
- Locally nameless variables
- Locally nameless operations
- Some Tactics
- Basic principles and lemmas
- Utilities for reasoning at the leaves
- Free variables
- Locally nameless metatheory
- Occurrence analysis: substitution with contexts
- Occurrence analysis: substitution without contexts
- Free variables after substitution
- Upper and lower bounds for leaves after substitution
- Substitution of fresh variables
- Composing substitutions
- Commuting two substitutions
- Local closure is preserved by substitution
- Decompose substitution into closing/opening
- Substitution when
uis a LN - Substitution by the same variable is the identity
- Free variables after variable closing
- Variable closing and local closure
- Upper and lower bounds on free variables after opening
- Opening a locally closed term is the identity
- Opening followed by substitution
- Closing followed by substitution
- Decompose opening into variable opening followed by substitution
- Opening by a variable, followed by non-equal substitution
- Closing, followed by opening
- Opening by a LN reduces to an mapkr
- Opening, followed by closing
- Opening and local closure
- Injectivity of opening
Tealeaves.Backends.LN.Simplification
Tealeaves.Backends.LN.Parallel
Tealeaves.Backends.LN
Tealeaves.Backends.Multisorted.LN.LN
- Binders contexts
- Locally nameless variables
- Syntax operations for locally nameless
- Specifications for
free - Lemmas for local reasoning
- Metatheory for the
substoperation- LN analysis with contexts
- LN analysis without contexts
- Free variables after substitution
- Upper and lower bounds for leaves after substitution
- Substitution of fresh variables
- Composing substitutions
- Commuting two substitutions
- Local closure is preserved by substitution
- Decompose substitution into closing/opening
- Substitution when
uis a LN - Substitution by the same variable is the identity
- Metatheory for
close - Free variables after variable closing
- Variable closing and local closure
- Metatheory for
open - Upper and lower bounds on free variables after opening
- Opening a locally closed term is the identity
- Opening followed by substitution
- Decompose opening into variable opening followed by substitution
- Opening by a variable, followed by non-equal substitution
- Closing, followed by opening
- Opening by a LN reduces to an kmapd
- Opening, followed by closing
- Opening and local closure
Tealeaves.Backends.Multisorted.LN
Tealeaves.Backends.DB.DB
- Closure
- Incrementing/lifting indices
- Cons operation
- Renaming
- De Bruijn operations
- Properties of substitution
- Notations
- Other lemmas
Tealeaves.Backends.DB.Simplification
- Extra lemmas
- Unfolding up
- Simplifying renaming via unfolding
- Simplifying substitution via unfolding
- Simplifying substitution a la Autosubst
Tealeaves.Backends.DB.AutosubstShim
Tealeaves.Backends.DB
Tealeaves.Misc.PartialBijection
Tealeaves.Backends.Adapters.Key
Tealeaves.Backends.Adapters.LNtoDB
Tealeaves.Backends.Adapters.DBtoLN
Tealeaves.Backends.Adapters.Roundtrips.LNDB
Tealeaves.Backends.Common.Names
Tealeaves.Backends.Common.AtomSet
Tealeaves.Backends.Common.AssocList
- The
alistfunctor envmap- Domain and range on alists
- Specifications for operations on association lists
- Specifications for
∈and dom, domset, range - Support for prettifying association lists
- Tactics for normalizing alists
- Induction principles for alists
- Rewriting principles for disjoint
- Tactical lemmas for disjoint
- Tactical lemmas for uniq
- Rewriting principles for uniq
- More facts about uniq
- Stronger theorems for
∈on uniq lists
- Specifications for
- Facts about binds
- Tactic support for picking fresh atoms
Tealeaves.Adapters.MonoidHom.DecoratedTraversableMonad
Tealeaves.Examples.Lambda.Confluence
Tealeaves.Examples.Lambda.MapWithPolicyDemo
Tealeaves.Examples.JAR.TranslateDemo
Tealeaves.Examples.STLC.Syntax
Tealeaves.Examples.STLC.CompatTest
Tealeaves.Examples.STLC.SyntaxCategorical
Tealeaves.Examples.STLC.TypeSoundness
Tealeaves.Simplification.Tests.STLC_Binddt
Tealeaves.Simplification.Tests.STLC_Container
Tealeaves.Simplification.Tests.STLC_LN
Tealeaves.Simplification.Tests.STLC_DB
Tealeaves.Examples.VariadicLet.Terms
Tealeaves.Examples.VariadicLet.Instances.Simple
Tealeaves.Examples.VariadicLet.Instances.Tele
Tealeaves.Examples.VariadicLet.Instances.LetRec
Tealeaves.Examples.VariadicLet.Demo
Tealeaves.Examples.SystemF.Syntax
- The index K
- System F syntax and typeclass instances
- Proofs of the DTM axioms
- System F type system and operational rules
Tealeaves.Examples.SystemF.Contexts
- Tactical support
- Structural lemmas for
scoped - Infrastructural lemmas for contexts and well-formedness predicates
- General properties of
ok_kind_ctx - Tactical support for
ok_kind_ctx - General properties of
ok_type - Structural properties of
ok_type Δ τinΔ - General properties of
ok_type_ctx - Tactical support for
ok_type_ctx - Structural properties in
Δinok_type_ctx Δ Γ. - Structural properties of
ok_term Δ Γ tinΔ - Structural properties of
ok_term Δ Γ tinΓ
- General properties of