Constructing the frex of a monoid by a setoid
reify : (a : Monoid) -> (s : Setoid) -> FrexCarrier a s -> Term Signature (Either (U a) (U s))normalForm : (a : Monoid) -> (s : Setoid) -> (is : FrexCarrier a s) -> (FrexMonoid a s) .rel ((FrexMonoid a s) .Sem (reify a s is) (either (Delay (a .sta)) (Delay (a .dyn)))) isstaIsHomo : (a : Monoid) -> (s : Setoid) -> Homomorphism (a .Algebra) (FrexStructure a s) (a .sta)staHomo : (a : Monoid) -> (s : Setoid) -> a ~> FrexMonoid a sdynHomo : (a : Monoid) -> (s : Setoid) -> s ~> FrexSetoid a sExtension : (a : Monoid) -> (s : Setoid) -> Extension a sExtenderFunction : (a : Monoid) -> (s : Setoid) -> ExtenderFunction (Extension a s)ExtenderPreservesMult : (a : Monoid) -> (s : Setoid) -> (other : Extension a s) -> (i : U a) -> (is : FrexCarrier a s) -> (other .Model) .rel (ExtenderFunction a s other (i *. is)) (((other .Embed) .H) .H i .*. ExtenderFunction a s other is)ExtenderPreservesProd : (a : Monoid) -> (s : Setoid) -> (other : Extension a s) -> (is : FrexCarrier a s) -> (js : FrexCarrier a s) -> (other .Model) .rel (h (is .*. js)) (h is .*. h js)ExtenderIsHomomorphism : (a : Monoid) -> (s : Setoid) -> ExtenderIsHomomorphism (Extension a s) (ExtenderFunction a s)ExtenderIsSetoidHomomorphism : (a : Monoid) -> (s : Setoid) -> (other : Extension a s) -> (is : FrexCarrier a s) -> (js : FrexCarrier a s) -> (FrexMonoid a s) .rel is js -> (other .Model) .rel (ExtenderFunction a s other is) (ExtenderFunction a s other js)ExtenderHomomorphism : (a : Monoid) -> (s : Setoid) -> ExtenderHomomorphism (Extension a s)ExtenderPreservesEmbedding : (a : Monoid) -> (s : Setoid) -> ExtenderPreservesEmbedding (Extension a s) (ExtenderHomomorphism a s)ExtenderPreservesVars : (a : Monoid) -> (s : Setoid) -> ExtenderPreservesVars (Extension a s) (ExtenderHomomorphism a s)Extender : (a : Monoid) -> (s : Setoid) -> Extender (Extension a s)Uniqueness : (a : Monoid) -> (s : Setoid) -> Uniqueness (Extension a s)MonoidFrex : (a : Monoid) -> (s : Setoid) -> Frex a sMonoidFrexlet : Frexlet