Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::LeftActionFunctor< M, S, AddM, AddS, MultS, Act > Struct Template Referenceexport

A semimodule's left action as a functor out of the opposite of the delooping of its scalars' product: \((s t) m = s (t m)\), so s then t along the walk acts as \(t s\), the opposite product, and \(1 m = m\) keeps the identity. Those laws are the semimodule's, which is_linear_action declares, so the functor laws are derived. A left action of a monoid is a right action of its opposite: the right actions are ActionFunctor. More...

Public Types

using Σ_cat = Delooping<S, Opposite<MultS>>
using Τ_cat = LeftActingOn<M, S, AddM, AddS, MultS, Act>
using Domain = Σ_cat
using Codomain = Τ_cat
template<typename U>
using Shape = M

Public Member Functions

constexpr Codomain operator() (const Domain &) const
constexpr LeftActing< Act, M, S > operator() (const Element< S, Opposite< MultS > > &s) const
constexpr IdentityIn< Τ_cat > operator() (const IdentityIn< Σ_cat > &) const

Public Attributes

Act act {}

Detailed Description

template<std::semiregular M, std::semiregular S, std::semiregular AddM = std::plus<M>, std::semiregular AddS = std::plus<S>, std::semiregular MultS = std::multiplies<S>, std::semiregular Act = std::multiplies<>>
requires IsSemimodule<M, S, AddM, AddS, MultS, Act> && IsMonoid<S, Opposite<MultS>> && std::invocable<const Act&, S, M>
struct dedekind::category::LeftActionFunctor< M, S, AddM, AddS, MultS, Act >

A semimodule's left action as a functor out of the opposite of the delooping of its scalars' product: \((s t) m = s (t m)\), so s then t along the walk acts as \(t s\), the opposite product, and \(1 m = m\) keeps the identity. Those laws are the semimodule's, which is_linear_action declares, so the functor laws are derived. A left action of a monoid is a right action of its opposite: the right actions are ActionFunctor.

Template Parameters
Mthe module.
Sthe scalars.
AddM
AddS
MultSthe operations.
Actthe action.

The documentation for this struct was generated from the following file: