star
on pi types #
We put a Star
structure on pi types that operates elementwise, such that it describes the
complex conjugation of vectors.
instance
Pi.instTrivialStarForAllInstStarForAll
{I : Type u}
{f : I → Type v}
[(i : I) → Star (f i)]
[∀ (i : I), TrivialStar (f i)]
:
TrivialStar ((i : I) → f i)
instance
Pi.instInvolutiveStarForAll
{I : Type u}
{f : I → Type v}
[(i : I) → InvolutiveStar (f i)]
:
InvolutiveStar ((i : I) → f i)
Equations
- Pi.instInvolutiveStarForAll = InvolutiveStar.mk (_ : ∀ (x : (i : I) → f i), star (star x) = x)
instance
Pi.instStarAddMonoidForAllAddMonoid
{I : Type u}
{f : I → Type v}
[(i : I) → AddMonoid (f i)]
[(i : I) → StarAddMonoid (f i)]
:
StarAddMonoid ((i : I) → f i)
instance
Pi.instStarRingForAllNonUnitalNonAssocSemiringToNonUnitalNonAssocSemiring
{I : Type u}
{f : I → Type v}
[(i : I) → NonUnitalSemiring (f i)]
[(i : I) → StarRing (f i)]
:
StarRing ((i : I) → f i)
instance
Pi.instStarModuleForAllInstStarForAllInstSMul
{I : Type u}
{f : I → Type v}
{R : Type w}
[(i : I) → SMul R (f i)]
[Star R]
[(i : I) → Star (f i)]
[∀ (i : I), StarModule R (f i)]
:
StarModule R ((i : I) → f i)
theorem
Pi.single_star
{I : Type u}
{f : I → Type v}
[(i : I) → AddMonoid (f i)]
[(i : I) → StarAddMonoid (f i)]
[DecidableEq I]
(i : I)
(a : f i)
:
theorem
Function.update_star
{I : Type u}
{f : I → Type v}
[(i : I) → Star (f i)]
[DecidableEq I]
(h : (i : I) → f i)
(i : I)
(a : f i)
:
Function.update (star h) i (star a) = star (Function.update h i a)