The content of this module is based on the paper
A Type-Based Approach to Divide-And-Conquer Recursion in Coq
by Pedro Abreu, Benjamin Delaware, Alex Hubers, Christa Jenkins,
J. Garret Morris, and Aaron Stump
https://doi.org/10.1145/3571196
The original paper relies on Coq's impredicative Set axiom,
something we don't have access to in Idris 2. We can however
reproduce the results by ignoring the type levels
Definitions
dataListF : Type->Type->Type
Totality: total Visibility: public export Constructors:
Nil : ListFax
(::) : a->x->ListFax
Hint:
Functor (ListFa)
dataMu : (Type->Type) ->Type
Totality: total Visibility: public export Constructor:
MkMu : (r->Muf) ->fr->Muf
inMu : f (Muf) ->Muf
Totality: total Visibility: public export
outMu : Functorf=>Muf->f (Muf)
Totality: total Visibility: public export
fold : Functorf=> (fa->a) ->Muf->a
Totality: total Visibility: public export
KAlg : Type
Totality: total Visibility: public export
0Mono : (KAlg->KAlg) ->Type
Totality: total Visibility: public export
dataMu : (KAlg->KAlg) ->KAlg
Totality: total Visibility: public export Constructor: