Star-orthogonality #
This file develops the basic API for IsStarOrtho, the predicate that two elements p and q
of a ⋆-ring are star-orthogonal, i.e., p * star q = 0 and star q * p = 0. This is denoted
p ⋆⟂ q with the notation available in the StarRing namespace. The definition is in
Mathlib/Algebra/Star/Basic.lean.
Main declarations #
IsSelfAdjoint.isStarOrtho_iff_mul_eq_zero: self-adjoint elements are star-orthogonal if and only if their product is zero.IsStarOrtho.star_add_mul_add: ifp ⋆⟂ q, thenstar (p + q) * (p + q) = star p * p + star q * q.IsStarProjection.add_iff_isStarOrtho: the sum of star projections is a star projection if and only if they are star-orthogonal.IsStarProjection.sum: a finite sum of pairwise star-orthogonal star projections is a star projection.
Multiplication #
The properties of star-orthogonality involving multiplication below could be proven manually, and sometimes with weaker hypotheses, but these are provided for convenience because they come up in practice.
A version of IsStarOrtho.mul_left with slightly weaker hypotheses.
A version of IsStarOrtho.mul_right with slightly weaker hypotheses.
A version of IsStarOrtho.mul with slightly weaker hypotheses.
If p and q are star-orthogonal, then so are p * a * star p and q * b * star q.
If p and q are star-orthogonal, then so are star p * a * p and star q * b * q.
A version of IsSelfAdjoint.isStarOrtho_iff where the right argument is self-adjoint.
Self-adjoint elements are star-orthogonal if and only if their product is zero.
The sum of star-orthogonal star projections is a star projection.
The sum of star projections is a star projection if and only if they are star-orthogonal.
A finite sum of pairwise star-orthogonal star projections is a star projection.
The converse holds in a star-ordered ring with proper star. See isStarProjection_sum_iff.
The converse is not an immediate corollary of IsStarProjection.add_iff_isStarOrtho because we are
not assuming the intermediate sums (i.e., over a subset of s) are star projections.
Alias of the forward direction of IsStarOrtho.neg_left_iff.
Alias of the reverse direction of IsStarOrtho.neg_left_iff.
Alias of the reverse direction of IsStarOrtho.neg_right_iff.
Alias of the forward direction of IsStarOrtho.neg_right_iff.
If a is normal and a ⋆⟂ b, then star a ⋆⟂ b.
If a is normal and a ⋆⟂ b, then a ⋆⟂ star b.
If a is normal, then star a ⋆⟂ b ↔ a ⋆⟂ b.
If a is normal, then a ⋆⟂ star b ↔ a ⋆⟂ b.
If a is normal and commutes with b, then a ⋆⟂ b if and only if a * b = 0.
When the ring is commutative, star a ⋆⟂ b ↔ a ⋆⟂ b.
Alias of the reverse direction of isStarOrtho_star_left_iff.
When the ring is commutative, star a ⋆⟂ b ↔ a ⋆⟂ b.
When the ring is commutative, a ⋆⟂ star b ↔ a ⋆⟂ b.
Alias of the reverse direction of isStarOrtho_star_right_iff.
When the ring is commutative, a ⋆⟂ star b ↔ a ⋆⟂ b.
When the ring is commutative, a ⋆⟂ b if and only if a * b = 0.
Alias of the forward direction of isStarOrtho_iff_mul_eq_zero_of_comm.
When the ring is commutative, a ⋆⟂ b if and only if a * b = 0.
Alias of the reverse direction of isStarOrtho_iff_mul_eq_zero_of_comm.
When the ring is commutative, a ⋆⟂ b if and only if a * b = 0.