Loogle!
Result
Found 480 declarations mentioning Matrix.vecEmpty. Of these, only the first 200 are shown.
- Matrix.vecEmpty 📋 Mathlib.Data.Fin.VecNotation
{α : Type u} : Fin 0 → α - Matrix.empty_eq 📋 Mathlib.Data.Fin.VecNotation
{α : Type u} (v : Fin 0 → α) : v = ![] - Matrix.empty_val' 📋 Mathlib.Data.Fin.VecNotation
{α : Type u} {n' : Type u_1} (j : n') : (fun i => ![] i j) = ![] - Matrix.const_fin1_eq 📋 Mathlib.Data.Fin.VecNotation
{α : Type u} (x : α) : (fun x_1 => x) = ![x] - Matrix.vec_single_eq_const 📋 Mathlib.Data.Fin.VecNotation
{α : Type u} (a : α) : ![a] = fun x => a - Matrix.empty_vecAppend 📋 Mathlib.Data.Fin.VecNotation
{α : Type u} {n : ℕ} (v : Fin n → α) : Matrix.vecAppend ⋯ ![] v = v - Matrix.Fin.cons_vecEmpty 📋 Mathlib.Data.Fin.VecNotation
{α : Type u_1} (x : α) : Fin.cons x ![] = ![x] - Matrix.Fin.snoc_vecEmpty 📋 Mathlib.Data.Fin.VecNotation
{α : Type u_1} (x : α) : Fin.snoc ![] x = ![x] - Matrix.empty_vecAlt0 📋 Mathlib.Data.Fin.VecNotation
(α : Type u_1) {h : 0 = 0 + 0} : Matrix.vecAlt0 h ![] = ![] - Matrix.empty_vecAlt1 📋 Mathlib.Data.Fin.VecNotation
(α : Type u_1) {h : 0 = 0 + 0} : Matrix.vecAlt1 h ![] = ![] - Matrix.vecAppend_empty 📋 Mathlib.Data.Fin.VecNotation
{α : Type u} {n : ℕ} (v : Fin n → α) : Matrix.vecAppend ⋯ v ![] = v - prodEquivPiFinTwo 📋 Mathlib.Logic.Equiv.Fin.Basic
(α β : Type u) : α × β ≃ ((i : Fin 2) → ![α, β] i) - finTwoArrowEquiv_symm_apply 📋 Mathlib.Logic.Equiv.Fin.Basic
(α : Type u_1) : ⇑(finTwoArrowEquiv α).symm = fun x => ![x.1, x.2] - Fin.preimage_apply_01_prod' 📋 Mathlib.Logic.Equiv.Fin.Basic
{α : Type u} (s t : Set α) : (fun f => (f 0, f 1)) ⁻¹' s ×ˢ t = Set.univ.pi ![s, t] - prodEquivPiFinTwo_symm_apply 📋 Mathlib.Logic.Equiv.Fin.Basic
(α β : Type u) : ⇑(prodEquivPiFinTwo α β).symm = fun f => (f 0, f 1) - prodEquivPiFinTwo_apply 📋 Mathlib.Logic.Equiv.Fin.Basic
(α β : Type u) : ⇑(prodEquivPiFinTwo α β) = fun p => Fin.cons p.1 (Fin.cons p.2 finZeroElim) - Fin.prod_univ_two' 📋 Mathlib.Algebra.BigOperators.Fin
{ι : Type u_1} {M : Type u_2} [CommMonoid M] (f : ι → M) (a b : ι) : ∏ i, f (![a, b] i) = f a * f b - Fin.sum_univ_two' 📋 Mathlib.Algebra.BigOperators.Fin
{ι : Type u_1} {M : Type u_2} [AddCommMonoid M] (f : ι → M) (a b : ι) : ∑ i, f (![a, b] i) = f a + f b - Matrix.neg_empty 📋 Mathlib.Algebra.Group.Fin.Tuple
{α : Type u_1} [Neg α] (v : Fin 0 → α) : -v = ![] - Matrix.zero_empty 📋 Mathlib.Algebra.Group.Fin.Tuple
{α : Type u_1} [Zero α] : 0 = ![] - Matrix.smul_empty 📋 Mathlib.Algebra.Group.Fin.Tuple
{α : Type u_1} {M : Type u_2} [SMul M α] (x : M) (v : Fin 0 → α) : x • v = ![] - Matrix.empty_add_empty 📋 Mathlib.Algebra.Group.Fin.Tuple
{α : Type u_1} [Add α] (v w : Fin 0 → α) : v + w = ![] - Matrix.empty_sub_empty 📋 Mathlib.Algebra.Group.Fin.Tuple
{α : Type u_1} [Sub α] (v w : Fin 0 → α) : v - w = ![] - LinearMap.vecEmpty_apply 📋 Mathlib.LinearAlgebra.Pi
{R : Type u} {M : Type v} {M₃ : Type y} [Semiring R] [AddCommMonoid M] [AddCommMonoid M₃] [Module R M] [Module R M₃] (m : M) : LinearMap.vecEmpty m = ![] - LinearEquiv.finTwoArrow_symm_apply 📋 Mathlib.LinearAlgebra.Pi
(R : Type u) (M : Type v) [Semiring R] [AddCommMonoid M] [Module R M] : ⇑(LinearEquiv.finTwoArrow R M).symm = fun x => ![x.1, x.2] - LinearIndependent.pair_symm_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} : LinearIndependent R ![x, y] ↔ LinearIndependent R ![y, x] - LinearIndependent.pair_neg_left_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} : LinearIndependent R ![-x, y] ↔ LinearIndependent R ![x, y] - LinearIndependent.pair_neg_right_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} : LinearIndependent R ![x, -y] ↔ LinearIndependent R ![x, y] - LinearIndependent.pair_add_left_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} : LinearIndependent R ![x + y, y] ↔ LinearIndependent R ![x, y] - LinearIndependent.pair_add_right_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} : LinearIndependent R ![x, x + y] ↔ LinearIndependent R ![x, y] - LinearIndependent.pair_iff' 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{K : Type u_3} {V : Type u} [DivisionRing K] [AddCommGroup V] [Module K V] {x y : V} (hx : x ≠ 0) : LinearIndependent K ![x, y] ↔ ∀ (a : K), a • x ≠ y - LinearIndependent.eq_zero_of_pair' 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] {x y : M} (h : LinearIndependent R ![x, y]) {s t : R} (h' : s • x = t • y) : s = 0 ∧ t = 0 - LinearIndependent.eq_zero_of_pair 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] {x y : M} (h : LinearIndependent R ![x, y]) {s t : R} (h' : s • x + t • y = 0) : s = 0 ∧ t = 0 - LinearIndependent.pair_smul_smul_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} {u v : R} (hu : IsUnit u) (hv : IsUnit v) : LinearIndependent R ![u • x, v • y] ↔ LinearIndependent R ![x, y] - LinearIndependent.pair_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} : LinearIndependent R ![x, y] ↔ ∀ (s t : R), s • x + t • y = 0 → s = 0 ∧ t = 0 - LinearIndependent.eq_of_pair 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] {x y : M} (h : LinearIndependent R ![x, y]) {s t s' t' : R} (h' : s • x + t • y = s' • x + t' • y) : s = s' ∧ t = t' - LinearIndependent.pair_iffₛ 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] {x y : M} : LinearIndependent R ![x, y] ↔ ∀ (s t s' t' : R), s • x + t • y = s' • x + t' • y → s = s' ∧ t = t' - LinearIndependent.pair_add_smul_left_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} {S : Type u_6} [CommRing S] [IsDomain S] [Module S R] [Module S M] [SMulCommClass S R M] [IsScalarTower S R M] [Module.IsTorsionFree S R] (b : S) : LinearIndependent R ![x + b • y, y] ↔ LinearIndependent R ![x, y] - LinearIndependent.pair_add_smul_right_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} {S : Type u_6} [CommRing S] [IsDomain S] [Module S R] [Module S M] [SMulCommClass S R M] [IsScalarTower S R M] [Module.IsTorsionFree S R] (c : S) : LinearIndependent R ![x, c • x + y] ↔ LinearIndependent R ![x, y] - LinearIndependent.pair_smul_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} {S : Type u_6} [CommRing S] [IsDomain S] [Module S R] [Module S M] [SMulCommClass S R M] [IsScalarTower S R M] [Module.IsTorsionFree S R] {u : S} (hu : u ≠ 0) : LinearIndependent R ![u • x, u • y] ↔ LinearIndependent R ![x, y] - LinearIndependent.pair_add_smul_add_smul_iff 📋 Mathlib.LinearAlgebra.LinearIndependent.Lemmas
{R : Type u_2} {M : Type u_4} [Ring R] [AddCommGroup M] [Module R M] {x y : M} {S : Type u_6} [CommRing S] [IsDomain S] [Module S R] [Module S M] [SMulCommClass S R M] [IsScalarTower S R M] [Module.IsTorsionFree S R] (a b c d : S) [Nontrivial R] : LinearIndependent R ![a • x + b • y, c • x + d • y] ↔ LinearIndependent R ![x, y] ∧ a * d ≠ b * c - Module.Basis.coe_finTwoProd_repr 📋 Mathlib.LinearAlgebra.Basis.Fin
{R : Type u_7} [Semiring R] (x : R × R) : ⇑((Module.Basis.finTwoProd R).repr x) = ![x.1, x.2] - injective_pair_iff_ne 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u_1} {x y : α} : Function.Injective ![x, y] ↔ x ≠ y - Matrix.empty_mulVec 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {n' : Type uₙ} [NonUnitalNonAssocSemiring α] [Fintype n'] (A : Matrix (Fin 0) n' α) (v : n' → α) : A.mulVec v = ![] - Matrix.vecMul_empty 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {n' : Type uₙ} [NonUnitalNonAssocSemiring α] [Fintype n'] (v : n' → α) (B : Matrix n' (Fin 0) α) : Matrix.vecMul v B = ![] - Matrix.vec2_eq 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {a₀ a₁ b₀ b₁ : α} (h₀ : a₀ = b₀) (h₁ : a₁ = b₁) : ![a₀, a₁] = ![b₀, b₁] - Matrix.smul_mat_empty 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [NonUnitalNonAssocSemiring α] {m' : Type u_1} (x : α) (A : Fin 0 → m' → α) : x • A = ![] - Matrix.vec3_eq 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {a₀ a₁ a₂ b₀ b₁ b₂ : α} (h₀ : a₀ = b₀) (h₁ : a₁ = b₁) (h₂ : a₂ = b₂) : ![a₀, a₁, a₂] = ![b₀, b₁, b₂] - Matrix.vec2_dotProduct' 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [AddCommMonoid α] [Mul α] {a₀ a₁ b₀ b₁ : α} : ![a₀, a₁] ⬝ᵥ ![b₀, b₁] = a₀ * b₀ + a₁ * b₁ - Matrix.smul_vec2 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {R : Type u_1} [SMul R α] (x : R) (a₀ a₁ : α) : x • ![a₀, a₁] = ![x • a₀, x • a₁] - Matrix.replicateRow_empty 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {ι : Type u_1} : Matrix.replicateRow ι ![] = Matrix.of fun x => ![] - Matrix.replicateCol_empty 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {ι : Type u_1} (v : Fin 0 → α) : Matrix.replicateCol ι v = Matrix.of ![] - Matrix.transpose_empty_cols 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {m' : Type uₘ} (A : Matrix (Fin 0) m' α) : A.transpose = Matrix.of fun x => ![] - Matrix.transpose_empty_rows 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {m' : Type uₘ} (A : Matrix m' (Fin 0) α) : A.transpose = Matrix.of ![] - Matrix.vec3_dotProduct' 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [AddCommMonoid α] [Mul α] {a₀ a₁ a₂ b₀ b₁ b₂ : α} : ![a₀, a₁, a₂] ⬝ᵥ ![b₀, b₁, b₂] = a₀ * b₀ + a₁ * b₁ + a₂ * b₂ - Matrix.empty_vecMulVec 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {n' : Type uₙ} [NonUnitalNonAssocSemiring α] (v : Fin 0 → α) (w : n' → α) : Matrix.vecMulVec v w = Matrix.of ![] - Matrix.vecMulVec_empty 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {m' : Type uₘ} [NonUnitalNonAssocSemiring α] (v : m' → α) (w : Fin 0 → α) : Matrix.vecMulVec v w = Matrix.of fun x => ![] - Matrix.submatrix_empty 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {m' : Type uₘ} {n' : Type uₙ} {o' : Type uₒ} (A : Matrix m' n' α) (row : Fin 0 → m') (col : o' → n') : A.submatrix row col = Matrix.of ![] - Matrix.smul_vec3 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {R : Type u_1} [SMul R α] (x : R) (a₀ a₁ a₂ : α) : x • ![a₀, a₁, a₂] = ![x • a₀, x • a₁, x • a₂] - Matrix.vec2_add 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [Add α] (a₀ a₁ b₀ b₁ : α) : ![a₀, a₁] + ![b₀, b₁] = ![a₀ + b₀, a₁ + b₁] - Matrix.empty_mul 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {n' : Type uₙ} {o' : Type uₒ} [NonUnitalNonAssocSemiring α] [Fintype n'] (A : Matrix (Fin 0) n' α) (B : Matrix n' o' α) : A * B = Matrix.of ![] - Matrix.mul_empty 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} {m' : Type uₘ} {n' : Type uₙ} [NonUnitalNonAssocSemiring α] [Fintype n'] (A : Matrix m' n' α) (B : Matrix n' (Fin 0) α) : A * B = Matrix.of fun x => ![] - Matrix.vec3_add 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [Add α] (a₀ a₁ a₂ b₀ b₁ b₂ : α) : ![a₀, a₁, a₂] + ![b₀, b₁, b₂] = ![a₀ + b₀, a₁ + b₁, a₂ + b₂] - Matrix.diagonal_vec1 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [Zero α] (a : α) : Matrix.diagonal ![a] = !![a] - Matrix.diagonal_fin_one 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [Zero α] (d : Fin 1 → α) : Matrix.diagonal d = !![d 0] - Matrix.diagonal_vec2 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [Zero α] (a b : α) : Matrix.diagonal ![a, b] = !![a, 0; 0, b] - Matrix.one_fin_two 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [Zero α] [One α] : 1 = !![1, 0; 0, 1] - Matrix.diagonal_fin_two 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [Zero α] (d : Fin 2 → α) : Matrix.diagonal d = !![d 0, 0; 0, d 1] - Matrix.natCast_fin_two 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [AddMonoidWithOne α] (n : ℕ) : ↑n = !![↑n, 0; 0, ↑n] - Matrix.ofNat_fin_two 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo] : OfNat.ofNat n = !![OfNat.ofNat n, 0; 0, OfNat.ofNat n] - Matrix.diagonal_vec3 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [Zero α] (a b c : α) : Matrix.diagonal ![a, b, c] = !![a, 0, 0; 0, b, 0; 0, 0, c] - Matrix.one_fin_three 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [Zero α] [One α] : 1 = !![1, 0, 0; 0, 1, 0; 0, 0, 1] - Matrix.diagonal_fin_three 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [Zero α] (d : Fin 3 → α) : Matrix.diagonal d = !![d 0, 0, 0; 0, d 1, 0; 0, 0, d 2] - Matrix.eta_fin_two 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} (A : Matrix (Fin 2) (Fin 2) α) : A = !![A 0 0, A 0 1; A 1 0, A 1 1] - Matrix.natCast_fin_three 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [AddMonoidWithOne α] (n : ℕ) : ↑n = !![↑n, 0, 0; 0, ↑n, 0; 0, 0, ↑n] - Matrix.ofNat_fin_three 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo] : OfNat.ofNat n = !![OfNat.ofNat n, 0, 0; 0, OfNat.ofNat n, 0; 0, 0, OfNat.ofNat n] - Matrix.eta_fin_three 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} (A : Matrix (Fin 3) (Fin 3) α) : A = !![A 0 0, A 0 1, A 0 2; A 1 0, A 1 1, A 1 2; A 2 0, A 2 1, A 2 2] - Matrix.mul_fin_two 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [AddCommMonoid α] [Mul α] (a₁₁ a₁₂ a₂₁ a₂₂ b₁₁ b₁₂ b₂₁ b₂₂ : α) : !![a₁₁, a₁₂; a₂₁, a₂₂] * !![b₁₁, b₁₂; b₂₁, b₂₂] = !![a₁₁ * b₁₁ + a₁₂ * b₂₁, a₁₁ * b₁₂ + a₁₂ * b₂₂; a₂₁ * b₁₁ + a₂₂ * b₂₁, a₂₁ * b₁₂ + a₂₂ * b₂₂] - Matrix.mul_fin_three 📋 Mathlib.LinearAlgebra.Matrix.Notation
{α : Type u} [AddCommMonoid α] [Mul α] (a₁₁ a₁₂ a₁₃ a₂₁ a₂₂ a₂₃ a₃₁ a₃₂ a₃₃ b₁₁ b₁₂ b₁₃ b₂₁ b₂₂ b₂₃ b₃₁ b₃₂ b₃₃ : α) : !![a₁₁, a₁₂, a₁₃; a₂₁, a₂₂, a₂₃; a₃₁, a₃₂, a₃₃] * !![b₁₁, b₁₂, b₁₃; b₂₁, b₂₂, b₂₃; b₃₁, b₃₂, b₃₃] = !![a₁₁ * b₁₁ + a₁₂ * b₂₁ + a₁₃ * b₃₁, a₁₁ * b₁₂ + a₁₂ * b₂₂ + a₁₃ * b₃₂, a₁₁ * b₁₃ + a₁₂ * b₂₃ + a₁₃ * b₃₃; a₂₁ * b₁₁ + a₂₂ * b₂₁ + a₂₃ * b₃₁, a₂₁ * b₁₂ + a₂₂ * b₂₂ + a₂₃ * b₃₂, a₂₁ * b₁₃ + a₂₂ * b₂₃ + a₂₃ * b₃₃; a₃₁ * b₁₁ + a₃₂ * b₂₁ + a₃₃ * b₃₁, a₃₁ * b₁₂ + a₃₂ * b₂₂ + a₃₃ * b₃₂, a₃₁ * b₁₃ + a₃₂ * b₂₃ + a₃₃ * b₃₃] - Matrix.toLin_finTwoProd_apply 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} [CommSemiring R] (a b c d : R) (x : R × R) : ((Matrix.toLin (Module.Basis.finTwoProd R) (Module.Basis.finTwoProd R)) !![a, b; c, d]) x = (a * x.1 + b * x.2, c * x.1 + d * x.2) - Matrix.toLin_finTwoProd 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} [CommSemiring R] (a b c d : R) : (Matrix.toLin (Module.Basis.finTwoProd R) (Module.Basis.finTwoProd R)) !![a, b; c, d] = (a • LinearMap.fst R R R + b • LinearMap.snd R R R).prod (c • LinearMap.fst R R R + d • LinearMap.snd R R R) - finTwoArrowEquiv'_symm_apply 📋 Mathlib.Algebra.BigOperators.Finsupp.Fin
(M : Type u_1) [Zero M] (a✝ : M × M) : (finTwoArrowEquiv' M).symm a✝ = Finsupp.equivFunOnFinite.symm ![a✝.1, a✝.2] - Finsupp.ofSupportFinite_fin_two_eq 📋 Mathlib.Algebra.BigOperators.Finsupp.Fin
(n : Fin 2 →₀ ℕ) : Finsupp.ofSupportFinite ![n 0, n 1] ⋯ = n - antitone_vecEmpty 📋 Mathlib.Order.Fin.Tuple
{α : Type u_1} [Preorder α] {a : α} : Antitone ![a] - monotone_vecEmpty 📋 Mathlib.Order.Fin.Tuple
{α : Type u_1} [Preorder α] {a : α} : Monotone ![a] - strictAnti_vecEmpty 📋 Mathlib.Order.Fin.Tuple
{α : Type u_1} [Preorder α] {a : α} : StrictAnti ![a] - strictMono_vecEmpty 📋 Mathlib.Order.Fin.Tuple
{α : Type u_1} [Preorder α] {a : α} : StrictMono ![a] - List.Nat.antidiagonalTuple_zero_zero 📋 Mathlib.Data.Fin.Tuple.NatAntidiagonal
: List.Nat.antidiagonalTuple 0 0 = [![]] - List.Nat.antidiagonalTuple_one 📋 Mathlib.Data.Fin.Tuple.NatAntidiagonal
(n : ℕ) : List.Nat.antidiagonalTuple 1 n = [![n]] - Finset.Nat.antidiagonalTuple_zero_zero 📋 Mathlib.Data.Fin.Tuple.NatAntidiagonal
: Finset.Nat.antidiagonalTuple 0 0 = {![]} - Multiset.Nat.antidiagonalTuple_zero_zero 📋 Mathlib.Data.Fin.Tuple.NatAntidiagonal
: Multiset.Nat.antidiagonalTuple 0 0 = {![]} - Finset.Nat.antidiagonalTuple_one 📋 Mathlib.Data.Fin.Tuple.NatAntidiagonal
(n : ℕ) : Finset.Nat.antidiagonalTuple 1 n = {![n]} - Multiset.Nat.antidiagonalTuple_one 📋 Mathlib.Data.Fin.Tuple.NatAntidiagonal
(n : ℕ) : Multiset.Nat.antidiagonalTuple 1 n = {![n]} - List.Nat.antidiagonalTuple_two 📋 Mathlib.Data.Fin.Tuple.NatAntidiagonal
(n : ℕ) : List.Nat.antidiagonalTuple 2 n = List.map (fun i => ![i.1, i.2]) (List.Nat.antidiagonal n) - Multiset.Nat.antidiagonalTuple_two 📋 Mathlib.Data.Fin.Tuple.NatAntidiagonal
(n : ℕ) : Multiset.Nat.antidiagonalTuple 2 n = Multiset.map (fun i => ![i.1, i.2]) (Multiset.Nat.antidiagonal n) - Matrix.det_fin_one_of 📋 Mathlib.LinearAlgebra.Matrix.Determinant.Basic
{R : Type v} [CommRing R] (a : R) : !![a].det = a - Matrix.det_fin_two_of 📋 Mathlib.LinearAlgebra.Matrix.Determinant.Basic
{R : Type v} [CommRing R] (a b c d : R) : !![a, b; c, d].det = a * d - b * c - exists_linearIndependent_pair_of_one_lt_finrank 📋 Mathlib.LinearAlgebra.Dimension.RankNullity
{R : Type u_1} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] [HasRankNullity.{u, u_1} R] [StrongRankCondition R] [IsDomain R] [Module.IsTorsionFree R M] (h : 1 < Module.finrank R M) {x : M} (hx : x ≠ 0) : ∃ y, LinearIndependent R ![x, y] - exists_linearIndependent_pair_of_one_lt_rank 📋 Mathlib.LinearAlgebra.Dimension.RankNullity
{R : Type u_1} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] [HasRankNullity.{u, u_1} R] [IsDomain R] [StrongRankCondition R] [Module.IsTorsionFree R M] (h : 1 < Module.rank R M) {x : M} (hx : x ≠ 0) : ∃ y, LinearIndependent R ![x, y] - LinearMap.BilinForm.apply_sq_lt_iff_linearIndependent_of_symm 📋 Mathlib.LinearAlgebra.SesquilinearForm.Basic
{R : Type u_1} {M : Type u_5} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup M] [Module R M] (B : LinearMap.BilinForm R M) [Module.IsTorsionFree R M] (hp : ∀ (x : M), x ≠ 0 → 0 < (B x) x) (hB : LinearMap.IsSymm B) (x y : M) : (B x) y ^ 2 < (B x) x * (B y) y ↔ LinearIndependent R ![x, y] - LinearMap.BilinForm.not_linearIndependent_of_apply_mul_apply_eq 📋 Mathlib.LinearAlgebra.SesquilinearForm.Basic
{R : Type u_1} {M : Type u_5} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup M] [Module R M] (B : LinearMap.BilinForm R M) (hp : ∀ (x : M), x ≠ 0 → 0 < (B x) x) (x y : M) (he : (B x) y * (B y) x = (B x) x * (B y) y) : ¬LinearIndependent R ![x, y] - LinearMap.BilinForm.apply_mul_apply_lt_iff_linearIndependent 📋 Mathlib.LinearAlgebra.SesquilinearForm.Basic
{R : Type u_1} {M : Type u_5} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup M] [Module R M] (B : LinearMap.BilinForm R M) [Module.IsTorsionFree R M] (hp : ∀ (x : M), x ≠ 0 → 0 < (B x) x) (x y : M) : (B x) y * (B y) x < (B x) x * (B y) y ↔ LinearIndependent R ![x, y] - Homeomorph.finTwoArrow_symm_apply 📋 Mathlib.Topology.Homeomorph.Lemmas
{X : Type u_1} [TopologicalSpace X] : ⇑Homeomorph.finTwoArrow.symm = fun x => ![x.1, x.2] - UniformEquiv.finTwoArrow_symm_apply 📋 Mathlib.Topology.UniformSpace.Equiv
(α : Type u_4) [UniformSpace α] : ⇑(UniformEquiv.finTwoArrow α).symm = fun x => ![x.1, x.2] - Matrix.adjugate_fin_two 📋 Mathlib.LinearAlgebra.Matrix.Adjugate
{α : Type w} [CommRing α] (A : Matrix (Fin 2) (Fin 2) α) : A.adjugate = !![A 1 1, -A 0 1; -A 1 0, A 0 0] - Matrix.adjugate_fin_two_of 📋 Mathlib.LinearAlgebra.Matrix.Adjugate
{α : Type w} [CommRing α] (a b c d : α) : !![a, b; c, d].adjugate = !![d, -b; -c, a] - Matrix.adjugate_fin_three_of 📋 Mathlib.LinearAlgebra.Matrix.Adjugate
{α : Type w} [CommRing α] (a b c d e f g h i : α) : !![a, b, c; d, e, f; g, h, i].adjugate = !![e * i - f * h, -(b * i) + c * h, b * f - c * e; -(d * i) + f * g, a * i - c * g, -(a * f) + c * d; d * h - e * g, -(a * h) + b * g, a * e - b * d] - Matrix.adjugate_fin_three 📋 Mathlib.LinearAlgebra.Matrix.Adjugate
{α : Type w} [CommRing α] (A : Matrix (Fin 3) (Fin 3) α) : A.adjugate = !![A 1 1 * A 2 2 - A 1 2 * A 2 1, -(A 0 1 * A 2 2) + A 0 2 * A 2 1, A 0 1 * A 1 2 - A 0 2 * A 1 1; -(A 1 0 * A 2 2) + A 1 2 * A 2 0, A 0 0 * A 2 2 - A 0 2 * A 2 0, -(A 0 0 * A 1 2) + A 0 2 * A 1 0; A 1 0 * A 2 1 - A 1 1 * A 2 0, -(A 0 0 * A 2 1) + A 0 1 * A 2 0, A 0 0 * A 1 1 - A 0 1 * A 1 0] - Matrix.trace_fin_one_of 📋 Mathlib.LinearAlgebra.Matrix.Trace
{R : Type u_6} [AddCommMonoid R] (a : R) : !![a].trace = a - Matrix.trace_fin_two_of 📋 Mathlib.LinearAlgebra.Matrix.Trace
{R : Type u_6} [AddCommMonoid R] (a b c d : R) : !![a, b; c, d].trace = a + d - Matrix.trace_fin_three_of 📋 Mathlib.LinearAlgebra.Matrix.Trace
{R : Type u_6} [AddCommMonoid R] (a b c d e f g h i : R) : !![a, b, c; d, e, f; g, h, i].trace = a + e + i - ModularGroup.coe_T 📋 Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
: ↑ModularGroup.T = !![1, 1; 0, 1] - ModularGroup.coe_S 📋 Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
: ↑ModularGroup.S = !![0, -1; 1, 0] - ModularGroup.coe_T_inv 📋 Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
: ↑ModularGroup.T⁻¹ = !![1, -1; 0, 1] - Matrix.SpecialLinearGroup.diag2_coe' 📋 Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
{F : Type u_1} [Field F] {a : F} (ha : a ≠ 0) : ↑(Matrix.SpecialLinearGroup.diag2 a ha) = !![a, 0; 0, a⁻¹] - Matrix.SpecialLinearGroup.fin_two_induction 📋 Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
{R : Type v} [CommRing R] (P : Matrix.SpecialLinearGroup (Fin 2) R → Prop) (h : ∀ (a b c d : R) (hdet : a * d - b * c = 1), P ⟨!![a, b; c, d], ⋯⟩) (g : Matrix.SpecialLinearGroup (Fin 2) R) : P g - ModularGroup.coe_T_zpow 📋 Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
(n : ℤ) : ↑(ModularGroup.T ^ n) = !![1, n; 0, 1] - Matrix.SpecialLinearGroup.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero 📋 Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
{R : Type u_2} [Field R] (g : Matrix.SpecialLinearGroup (Fin 2) R) (hg : ↑g 1 0 = 0) : ∃ a b, ∃ (h : a ≠ 0), g = ⟨!![a, b; 0, a⁻¹], ⋯⟩ - Matrix.SpecialLinearGroup.SL2_inv_expl_det 📋 Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
{R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup (Fin 2) R) : Matrix.det ![![↑A 1 1, -↑A 0 1], ![-↑A 1 0, ↑A 0 0]] = 1 - Matrix.SpecialLinearGroup.SL2_inv_expl 📋 Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
{R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup (Fin 2) R) : A⁻¹ = ⟨![![↑A 1 1, -↑A 0 1], ![-↑A 1 0, ↑A 0 0]], ⋯⟩ - ExteriorAlgebra.liftAlternating_ι 📋 Mathlib.LinearAlgebra.ExteriorAlgebra.OfAlternating
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (f : (i : ℕ) → M [⋀^Fin i]→ₗ[R] N) (m : M) : (ExteriorAlgebra.liftAlternating f) ((ExteriorAlgebra.ι R) m) = (f 1) ![m] - ContinuousLinearEquiv.finTwoArrow_symm_apply 📋 Mathlib.Topology.Algebra.Module.Equiv
(R : Type u_2) (M : Type u_3) [Semiring R] [AddCommMonoid M] [Module R M] [TopologicalSpace M] : ⇑(ContinuousLinearEquiv.finTwoArrow R M).symm = fun x => ![x.1, x.2] - CompleteOrthogonalIdempotents.of_isIdempotentElem 📋 Mathlib.RingTheory.Idempotents
{R : Type u_1} [Ring R] {e : R} (he : IsIdempotentElem e) : CompleteOrthogonalIdempotents ![e, 1 - e] - CompleteOrthogonalIdempotents.pair_iff 📋 Mathlib.RingTheory.Idempotents
{R : Type u_1} [Ring R] {x y : R} : CompleteOrthogonalIdempotents ![x, y] ↔ IsIdempotentElem x ∧ y = 1 - x - CompleteOrthogonalIdempotents.pair_iffₛ 📋 Mathlib.RingTheory.Idempotents
{R : Type u_4} [CommSemiring R] {x y : R} : CompleteOrthogonalIdempotents ![x, y] ↔ x * y = 0 ∧ x + y = 1 - CompleteOrthogonalIdempotents.pair_iff'ₛ 📋 Mathlib.RingTheory.Idempotents
{R : Type u_1} [Semiring R] {x y : R} : CompleteOrthogonalIdempotents ![x, y] ↔ x * y = 0 ∧ y * x = 0 ∧ x + y = 1 - QuaternionAlgebra.equivTuple_apply 📋 Mathlib.Algebra.Quaternion
{R : Type u_1} (c₁ c₂ c₃ : R) (x : QuaternionAlgebra R c₁ c₂ c₃) : (QuaternionAlgebra.equivTuple c₁ c₂ c₃) x = ![x.re, x.imI, x.imJ, x.imK] - Quaternion.equivTuple_apply 📋 Mathlib.Algebra.Quaternion
(R : Type u_1) [Zero R] [One R] [Neg R] (x : Quaternion R) : (Quaternion.equivTuple R) x = ![x.re, x.imI, x.imJ, x.imK] - QuaternionAlgebra.coe_basisOneIJK_repr 📋 Mathlib.Algebra.Quaternion
{R : Type u_3} (c₁ c₂ c₃ : R) [CommRing R] (q : QuaternionAlgebra R c₁ c₂ c₃) : ⇑((QuaternionAlgebra.basisOneIJK c₁ c₂ c₃).repr q) = ![q.re, q.imI, q.imJ, q.imK] - SSet.stdSimplex.coe_edge_down_toOrderHom 📋 Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex
(n : ℕ) (a b : Fin (n + 1)) (hab : a ≤ b) : ⇑(SimplexCategory.Hom.toOrderHom (SSet.stdSimplex.edge n a b hab).down) = ![a, b] - SSet.stdSimplex.coe_triangle_down_toOrderHom 📋 Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex
{n : ℕ} (a b c : Fin (n + 1)) (hab : a ≤ b) (hbc : b ≤ c) : ⇑(SimplexCategory.Hom.toOrderHom (SSet.stdSimplex.triangle a b c hab hbc).down) = ![a, b, c] - LieAlgebra.Basis.iSup_cartan_borelLower_borelUpper_eq_top 📋 Mathlib.Algebra.Lie.Basis.Basic
{ι : Type u_1} {R : Type u_2} {L : Type u_3} [Finite ι] [CommRing R] [LieRing L] [LieAlgebra R L] {H : LieSubalgebra R L} (b : LieAlgebra.Basis ι H) : iSup ![H.toLieSubmodule, b.borelLower, b.borelUpper] = ⊤ - LieAlgebra.Basis.iSupIndep_rootSpace 📋 Mathlib.Algebra.Lie.Basis.Basic
{ι : Type u_1} {R : Type u_2} {L : Type u_3} [Finite ι] [CommRing R] [LieRing L] [LieAlgebra R L] {H : LieSubalgebra R L} (b : LieAlgebra.Basis ι H) [Fintype ι] [IsDomain R] [CharZero R] [Module.IsTorsionFree R L] : iSupIndep ![LieAlgebra.rootSpace H 0, ⨆ n, ⨆ (_ : n ≠ 0), LieAlgebra.rootSpace H (∑ i, n i • ⇑((-b.baseSupp) i)), ⨆ n, ⨆ (_ : n ≠ 0), LieAlgebra.rootSpace H (∑ i, n i • ⇑(b.baseSupp i))] - RootPairing.linearIndependent_iff_coxeterWeight_ne_four 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) {i j : ι} [Finite ι] [CharZero R] [IsDomain R] [Module.IsTorsionFree R M] : LinearIndependent R ![P.root i, P.root j] ↔ P.coxeterWeight i j ≠ 4 - RootPairing.coxeterWeight_eq_four_iff_not_linearIndependent 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) {i j : ι} [Finite ι] [CharZero R] [IsDomain R] [Module.IsTorsionFree R M] : P.coxeterWeight i j = 4 ↔ ¬LinearIndependent R ![P.root i, P.root j] - RootPairing.IsReduced.linearIndependent 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) {i j : ι} [P.IsReduced] (h : i ≠ j) (h' : P.root i ≠ -P.root j) : LinearIndependent R ![P.root i, P.root j] - RootPairing.isReduced_iff' 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) : P.IsReduced ↔ ∀ (i j : ι), i ≠ j → ¬LinearIndependent R ![P.root i, P.root j] → P.root i = -P.root j - RootPairing.IsReduced.linearIndependent_iff 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) {i j : ι} [Nontrivial R] [P.IsReduced] : LinearIndependent R ![P.root i, P.root j] ↔ i ≠ j ∧ P.root i ≠ -P.root j - RootPairing.coxeterWeight_ne_four_of_linearIndependent 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) {i j : ι} [Finite ι] [NeZero 2] [IsAddTorsionFree M] (hl : LinearIndependent R ![P.root i, P.root j]) : P.coxeterWeight i j ≠ 4 - RootPairing.infinite_of_linearIndependent_coxeterWeight_four 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) {i j : ι} [NeZero 2] [IsAddTorsionFree M] (hl : LinearIndependent R ![P.root i, P.root j]) (hc : P.coxeterWeight i j = 4) : Infinite ι - RootPairing.linearIndependent_of_sub_mem_range_root' 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [CharZero R] [IsDomain R] [P.IsReduced] {i j : ι} (h : P.root i - P.root j ∈ Set.range ⇑P.root) : LinearIndependent R ![P.root i, P.root j] - RootPairing.linearIndependent_of_add_mem_range_root' 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [CharZero R] [IsDomain R] [P.IsReduced] {i j : ι} (h : P.root i + P.root j ∈ Set.range ⇑P.root) : LinearIndependent R ![P.root i, P.root j] - RootPairing.linearIndependent_of_sub_mem_range_root 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [CharZero R] [IsAddTorsionFree M] [P.IsReduced] {i j : ι} (h : P.root i - P.root j ∈ Set.range ⇑P.root) : LinearIndependent R ![P.root i, P.root j] - RootPairing.linearIndependent_of_add_mem_range_root 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [CharZero R] [IsAddTorsionFree M] [P.IsReduced] {i j : ι} (h : P.root i + P.root j ∈ Set.range ⇑P.root) : LinearIndependent R ![P.root i, P.root j] - RootPairing.IsReduced.eq_or_eq_neg 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} {inst✝ : CommRing R} {inst✝¹ : AddCommGroup M} {inst✝² : Module R M} {inst✝³ : AddCommGroup N} {inst✝⁴ : Module R N} {P : RootPairing ι R M N} [self : P.IsReduced] (i j : ι) (h : ¬LinearIndependent R ![P.root i, P.root j]) : P.root i = P.root j ∨ P.root i = -P.root j - RootPairing.IsReduced.mk 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} (eq_or_eq_neg : ∀ (i j : ι), ¬LinearIndependent R ![P.root i, P.root j] → P.root i = P.root j ∨ P.root i = -P.root j) : P.IsReduced - RootPairing.isReduced_iff 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) : P.IsReduced ↔ ∀ (i j : ι), ¬LinearIndependent R ![P.root i, P.root j] → P.root i = P.root j ∨ P.root i = -P.root j - RootPairing.linearIndependent_iff_coxeterWeightIn_ne_four 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) {i j : ι} [Finite ι] [CharZero R] [IsDomain R] [Module.IsTorsionFree R M] [CommRing S] [Algebra S R] [FaithfulSMul S R] [P.IsValuedIn S] : LinearIndependent R ![P.root i, P.root j] ↔ P.coxeterWeightIn S i j ≠ 4 - RootPairing.coxeterWeightIn_eq_four_iff_not_linearIndependent 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) {i j : ι} [Finite ι] [CharZero R] [IsDomain R] [Module.IsTorsionFree R M] [CommRing S] [Algebra S R] [FaithfulSMul S R] [P.IsValuedIn S] : P.coxeterWeightIn S i j = 4 ↔ ¬LinearIndependent R ![P.root i, P.root j] - RootPairing.pairing_smul_root_eq_of_not_linearIndependent 📋 Mathlib.LinearAlgebra.RootSystem.Reduced
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) {i j : ι} [NeZero 2] [IsDomain R] [Module.IsTorsionFree R M] (h : ¬LinearIndependent R ![P.root i, P.root j]) : P.pairing j i • P.root i = 2 • P.root j - RootPairing.chainBotCoeff_of_not_linearIndependent 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : ¬LinearIndependent R ![P.root i, P.root j]) : RootPairing.chainBotCoeff i j = 0 - RootPairing.chainTopCoeff_of_not_linearIndependent 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : ¬LinearIndependent R ![P.root i, P.root j]) : RootPairing.chainTopCoeff i j = 0 - RootPairing.chainBotCoeff_sub_chainTopCoeff 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : ↑(RootPairing.chainBotCoeff i j) - ↑(RootPairing.chainTopCoeff i j) = P.pairingIn ℤ j i - RootPairing.chainTopCoeff_sub_chainBotCoeff 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : ↑(RootPairing.chainTopCoeff i j) - ↑(RootPairing.chainBotCoeff i j) = -P.pairingIn ℤ j i - RootPairing.chainBotCoeff_add_chainTopCoeff_eq_pairingIn_chainTopIdx 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : ↑(RootPairing.chainBotCoeff i j) + ↑(RootPairing.chainTopCoeff i j) = P.pairingIn ℤ (RootPairing.chainTopIdx i j) i - RootPairing.chainBotCoeff_eq_zero_iff 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} : RootPairing.chainBotCoeff i j = 0 ↔ ¬LinearIndependent R ![P.root i, P.root j] ∨ P.root j - P.root i ∉ Set.range ⇑P.root - RootPairing.chainTopCoeff_eq_zero_iff 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} : RootPairing.chainTopCoeff i j = 0 ↔ ¬LinearIndependent R ![P.root i, P.root j] ∨ P.root j + P.root i ∉ Set.range ⇑P.root - RootPairing.root_sub_nsmul_mem_range_iff_le_chainBotCoeff 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) {n : ℕ} : P.root j - n • P.root i ∈ Set.range ⇑P.root ↔ n ≤ RootPairing.chainBotCoeff i j - RootPairing.chainTopCoeff_of_sub 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) {k : ι} (hk : P.root k = P.root j - P.root i) : RootPairing.chainTopCoeff i k = RootPairing.chainTopCoeff i j + 1 - RootPairing.chainBotCoeff_eq_sSup 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : RootPairing.chainBotCoeff i j = sSup {k | P.root j - k • P.root i ∈ Set.range ⇑P.root} - RootPairing.root_add_nsmul_mem_range_iff_le_chainTopCoeff 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) {n : ℕ} : P.root j + n • P.root i ∈ Set.range ⇑P.root ↔ n ≤ RootPairing.chainTopCoeff i j - RootPairing.Iic_chainBotCoeff_eq 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : Set.Iic (RootPairing.chainBotCoeff i j) = {k | P.root j - k • P.root i ∈ Set.range ⇑P.root} - RootPairing.chainBotCoeff_of_add 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) {k : ι} (hk : P.root k = P.root j + P.root i) : RootPairing.chainBotCoeff i k = RootPairing.chainBotCoeff i j + 1 - RootPairing.chainTopCoeff_of_add 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) {k : ι} (hk : P.root k = P.root j + P.root i) : RootPairing.chainTopCoeff i j = RootPairing.chainTopCoeff i k + 1 - RootPairing.chainTopCoeff_eq_sSup 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : RootPairing.chainTopCoeff i j = sSup {k | P.root j + k • P.root i ∈ Set.range ⇑P.root} - RootPairing.Iic_chainTopCoeff_eq 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : Set.Iic (RootPairing.chainTopCoeff i j) = {k | P.root j + k • P.root i ∈ Set.range ⇑P.root} - RootPairing.coe_chainBotCoeff_eq_sSup 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : ↑(RootPairing.chainBotCoeff i j) = sSup {k | P.root j - k • P.root i ∈ Set.range ⇑P.root} - RootPairing.coe_chainTopCoeff_eq_sSup 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : ↑(RootPairing.chainTopCoeff i j) = sSup {k | P.root j + k • P.root i ∈ Set.range ⇑P.root} - RootPairing.setOfPred_root_add_zsmul_eq_Icc_of_linearIndependent 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : ∃ q ≤ 0, ∃ p ≥ 0, {z | P.root j + z • P.root i ∈ Set.range ⇑P.root} = Set.Icc q p - RootPairing.setOf_root_add_zsmul_eq_Icc_of_linearIndependent 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : ∃ q ≤ 0, ∃ p ≥ 0, {z | P.root j + z • P.root i ∈ Set.range ⇑P.root} = Set.Icc q p - RootPairing.setOfPred_root_sub_zsmul_mem_eq_Icc 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : {k | P.root j - k • P.root i ∈ Set.range ⇑P.root} = Set.Icc (-↑(RootPairing.chainTopCoeff i j)) ↑(RootPairing.chainBotCoeff i j) - RootPairing.setOf_root_sub_zsmul_mem_eq_Icc 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : {k | P.root j - k • P.root i ∈ Set.range ⇑P.root} = Set.Icc (-↑(RootPairing.chainTopCoeff i j)) ↑(RootPairing.chainBotCoeff i j) - RootPairing.setOfPred_root_add_zsmul_mem_eq_Icc 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : {k | P.root j + k • P.root i ∈ Set.range ⇑P.root} = Set.Icc (-↑(RootPairing.chainBotCoeff i j)) ↑(RootPairing.chainTopCoeff i j) - RootPairing.setOf_root_add_zsmul_mem_eq_Icc 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) : {k | P.root j + k • P.root i ∈ Set.range ⇑P.root} = Set.Icc (-↑(RootPairing.chainBotCoeff i j)) ↑(RootPairing.chainTopCoeff i j) - RootPairing.root_sub_zsmul_mem_range_iff 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) {z : ℤ} : P.root j - z • P.root i ∈ Set.range ⇑P.root ↔ z ∈ Set.Icc (-↑(RootPairing.chainTopCoeff i j)) ↑(RootPairing.chainBotCoeff i j) - RootPairing.root_add_zsmul_mem_range_iff 📋 Mathlib.LinearAlgebra.RootSystem.Chain
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Finite ι] [CommRing R] [CharZero R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] {i j : ι} (h : LinearIndependent R ![P.root i, P.root j]) {z : ℤ} : P.root j + z • P.root i ∈ Set.range ⇑P.root ↔ z ∈ Set.Icc (-↑(RootPairing.chainBotCoeff i j)) ↑(RootPairing.chainTopCoeff i j) - RootPairing.Base.linearIndependent_pair_of_ne 📋 Mathlib.LinearAlgebra.RootSystem.Base
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} (b : P.Base) {i j : ↥b.support} (hij : i ≠ j) : LinearIndependent R ![P.root ↑i, P.root ↑j] - CartanMatrix.A_one 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.A 1 = !![2] - CartanMatrix.D_two 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.D 2 = !![2, 0; 0, 2] - CartanMatrix.A_two 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.A 2 = !![2, -1; -1, 2] - CartanMatrix.B_two 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.B 2 = !![2, -2; -1, 2] - CartanMatrix.C_two 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.C 2 = !![2, -1; -2, 2] - CartanMatrix.A_three 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.A 3 = !![2, -1, 0; -1, 2, -1; 0, -1, 2] - CartanMatrix.D_three 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.D 3 = !![2, -1, -1; -1, 2, 0; -1, 0, 2] - CartanMatrix.D_four 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.D 4 = !![2, -1, 0, 0; -1, 2, -1, -1; 0, -1, 2, 0; 0, -1, 0, 2] - CartanMatrix.E_six_eq 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.E 6 = !![2, 0, -1, 0, 0, 0; 0, 2, 0, -1, 0, 0; -1, 0, 2, -1, 0, 0; 0, -1, -1, 2, -1, 0; 0, 0, 0, -1, 2, -1; 0, 0, 0, 0, -1, 2] - CartanMatrix.E_seven_eq 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.E 7 = !![2, 0, -1, 0, 0, 0, 0; 0, 2, 0, -1, 0, 0, 0; -1, 0, 2, -1, 0, 0, 0; 0, -1, -1, 2, -1, 0, 0; 0, 0, 0, -1, 2, -1, 0; 0, 0, 0, 0, -1, 2, -1; 0, 0, 0, 0, 0, -1, 2] - CartanMatrix.E_eight_eq 📋 Mathlib.LinearAlgebra.Matrix.Cartan
: CartanMatrix.E 8 = !![2, 0, -1, 0, 0, 0, 0, 0; 0, 2, 0, -1, 0, 0, 0, 0; -1, 0, 2, -1, 0, 0, 0, 0; 0, -1, -1, 2, -1, 0, 0, 0; 0, 0, 0, -1, 2, -1, 0, 0; 0, 0, 0, 0, -1, 2, -1, 0; 0, 0, 0, 0, 0, -1, 2, -1; 0, 0, 0, 0, 0, 0, -1, 2] - Submodule.LinearDisjoint.not_linearIndependent_pair_of_flat_left 📋 Mathlib.LinearAlgebra.LinearDisjoint
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] [Module.Flat R ↥M] (a b : ↥(M ⊓ N)) : ¬LinearIndependent R ![a, b] - Submodule.LinearDisjoint.not_linearIndependent_pair_of_flat_right 📋 Mathlib.LinearAlgebra.LinearDisjoint
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] [Module.Flat R ↥N] (a b : ↥(M ⊓ N)) : ¬LinearIndependent R ![a, b] - Submodule.LinearDisjoint.not_linearIndependent_pair_of_commute_of_flat_left 📋 Mathlib.LinearAlgebra.LinearDisjoint
{R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] [Module.Flat R ↥M] (a b : ↥(M ⊓ N)) (hc : Commute ↑a ↑b) : ¬LinearIndependent R ![a, b] - Submodule.LinearDisjoint.not_linearIndependent_pair_of_commute_of_flat_right 📋 Mathlib.LinearAlgebra.LinearDisjoint
{R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] [Module.Flat R ↥N] (a b : ↥(M ⊓ N)) (hc : Commute ↑a ↑b) : ¬LinearIndependent R ![a, b] - Submodule.LinearDisjoint.not_linearIndependent_pair_of_flat 📋 Mathlib.LinearAlgebra.LinearDisjoint
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] (hf : Module.Flat R ↥M ∨ Module.Flat R ↥N) (a b : ↥(M ⊓ N)) : ¬LinearIndependent R ![a, b] - Submodule.LinearDisjoint.not_linearIndependent_pair_of_commute_of_flat 📋 Mathlib.LinearAlgebra.LinearDisjoint
{R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] (hf : Module.Flat R ↥M ∨ Module.Flat R ↥N) (a b : ↥(M ⊓ N)) (hc : Commute ↑a ↑b) : ¬LinearIndependent R ![a, b] - algebraicIndependent_iff_transcendental 📋 Mathlib.RingTheory.AlgebraicIndependent.Transcendental
{R : Type u_3} {A : Type v} [CommRing R] [CommRing A] [Algebra R A] {x : A} : AlgebraicIndependent R ![x] ↔ Transcendental R x - Complex.coe_basisOneI 📋 Mathlib.LinearAlgebra.Complex.Module
: ⇑Complex.basisOneI = ![1, Complex.I] - Complex.coe_basisOneI_repr 📋 Mathlib.LinearAlgebra.Complex.Module
(z : ℂ) : ⇑(Complex.basisOneI.repr z) = ![z.re, z.im] - Complex.toMatrix_conjAe 📋 Mathlib.LinearAlgebra.Complex.Module
: (LinearMap.toMatrix Complex.basisOneI Complex.basisOneI) ↑↑Complex.conjAe = !![1, 0; 0, -1] - sameRay_or_sameRay_neg_iff_not_linearIndependent 📋 Mathlib.LinearAlgebra.Ray
{R : Type u_1} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] {M : Type u_2} [AddCommGroup M] [Module R M] [Module.IsTorsionFree R M] {x y : M} : SameRay R x y ∨ SameRay R x (-y) ↔ ¬LinearIndependent R ![x, y] - sameRay_or_ne_zero_and_sameRay_neg_iff_not_linearIndependent 📋 Mathlib.LinearAlgebra.Ray
{R : Type u_1} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] {M : Type u_2} [AddCommGroup M] [Module R M] [Module.IsTorsionFree R M] {x y : M} : SameRay R x y ∨ x ≠ 0 ∧ y ≠ 0 ∧ SameRay R x (-y) ↔ ¬LinearIndependent R ![x, y]
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59