ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- LinearMap.isOrthoᵢ_flip
theorem isOrthoᵢ_flip (B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₁'] M) {v : n → M₁} :
    B.IsOrthoᵢ v ↔ B.flip.IsOrthoᵢ v 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} {n : Type u_19} [CommSemiring R] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] [AddCommMonoid M] [Module R M] {I₁ I₁' : R₁ →+* R} (B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₁'] M) {v : n → M₁}
Goal: B.IsOrthoᵢ v ↔ B.flip.IsOrthoᵢ v
-- LinearMap.ortho_smul_left
theorem ortho_smul_left {B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] V} {x y} {a : K₁} (ha : a ≠ 0) :
    IsOrtho B x y ↔ IsOrtho B (a • x) y 
Arguments: {K : Type u_13} {K₁ : Type u_14} {K₂ : Type u_15} {V : Type u_16} {V₁ : Type u_17} {V₂ : Type u_18} [Field K] [AddCommGroup V] [Module K V] [Field K₁] [AddCommGroup V₁] [Module K₁ V₁] [Field K₂] [AddCommGroup V₂] [Module K₂ V₂] {I₁ : K₁ →+* K} {I₂ : K₂ →+* K} {B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] V} {x : V₁} {y : V₂} {a : K₁} (ha : a ≠ 0)
Goal: B.IsOrtho x y ↔ B.IsOrtho (a • x) y
-- LinearMap.ortho_smul_right
theorem ortho_smul_right {B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] V} {x y} {a : K₂} {ha : a ≠ 0} :
    IsOrtho B x y ↔ IsOrtho B x (a • y) 
Arguments: {K : Type u_13} {K₁ : Type u_14} {K₂ : Type u_15} {V : Type u_16} {V₁ : Type u_17} {V₂ : Type u_18} [Field K] [AddCommGroup V] [Module K V] [Field K₁] [AddCommGroup V₁] [Module K₁ V₁] [Field K₂] [AddCommGroup V₂] [Module K₂ V₂] {I₁ : K₁ →+* K} {I₂ : K₂ →+* K} {B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] V} {x : V₁} {y : V₂} {a : K₂} {ha : a ≠ 0}
Goal: B.IsOrtho x y ↔ B.IsOrtho x (a • y)
-- LinearMap.linearIndependent_of_isOrthoᵢ
theorem linearIndependent_of_isOrthoᵢ {B : V₁ →ₛₗ[I₁] V₁ →ₛₗ[I₁'] V} {v : n → V₁}
    (hv₁ : B.IsOrthoᵢ v) (hv₂ : ∀ i, ¬B.IsOrtho (v i) (v i)) : LinearIndependent K₁ v 
Arguments: {K : Type u_13} {K₁ : Type u_14} {V : Type u_16} {V₁ : Type u_17} {n : Type u_19} [Field K] [AddCommGroup V] [Module K V] [Field K₁] [AddCommGroup V₁] [Module K₁ V₁] {I₁ I₁' : K₁ →+* K} {B : V₁ →ₛₗ[I₁] V₁ →ₛₗ[I₁'] V} {v : n → V₁} (hv₁ : B.IsOrthoᵢ v) (hv₂ : ∀ (i : n), ¬B.IsOrtho (v i) (v i))
Goal: LinearIndependent K₁ v
-- LinearMap.IsRefl.eq_zero
theorem eq_zero : ∀ {x y}, B x y = 0 → B y x = 0 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} (H : B.IsRefl) {x y : M₁}
Goal: (B x) y = 0 → (B y) x = 0
-- LinearMap.IsRefl.ortho_comm
theorem ortho_comm {x y} : IsOrtho B x y ↔ IsOrtho B y x 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} (H : B.IsRefl) {x y : M₁}
Goal: B.IsOrtho x y ↔ B.IsOrtho y x
-- LinearMap.IsRefl.domRestrict
theorem domRestrict (H : B.IsRefl) (p : Submodule R₁ M₁) : (B.domRestrict₁₂ p p).IsRefl 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} (H : B.IsRefl) (p : Submodule R₁ M₁)
Goal: (B.domRestrict₁₂ p p).IsRefl
-- LinearMap.IsRefl.flip_isRefl_iff
@[simp]
theorem flip_isRefl_iff : B.flip.IsRefl ↔ B.IsRefl 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M}
Goal: B.flip.IsRefl ↔ B.IsRefl
-- LinearMap.IsRefl.ker_flip_eq_bot
theorem ker_flip_eq_bot (H : B.IsRefl) (h : LinearMap.ker B = ⊥) : LinearMap.ker B.flip = ⊥ 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} (H : B.IsRefl) (h : LinearMap.ker B = ⊥)
Goal: LinearMap.ker B.flip = ⊥
-- LinearMap.IsRefl.ker_eq_bot_iff_ker_flip_eq_bot
theorem ker_eq_bot_iff_ker_flip_eq_bot (H : B.IsRefl) :
    LinearMap.ker B = ⊥ ↔ LinearMap.ker B.flip = ⊥ 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} (H : B.IsRefl)
Goal: LinearMap.ker B = ⊥ ↔ LinearMap.ker B.flip = ⊥
-- LinearMap.IsSymm.eq
protected theorem eq (H : B.IsSymm) (x y) : I (B x y) = B y x 
Arguments: {R : Type u_1} {M : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] {I : R →+* R} {B : M →ₛₗ[I] M →ₗ[R] R} (H : B.IsSymm) (x y : M)
Goal: I ((B x) y) = (B y) x
-- LinearMap.IsSymm.isRefl
theorem isRefl (H : B.IsSymm) : B.IsRefl 
Arguments: {R : Type u_1} {M : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] {I : R →+* R} {B : M →ₛₗ[I] M →ₗ[R] R} (H : B.IsSymm)
Goal: B.IsRefl
-- LinearMap.IsSymm.ortho_comm
theorem ortho_comm (H : B.IsSymm) {x y} : IsOrtho B x y ↔ IsOrtho B y x 
Arguments: {R : Type u_1} {M : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] {I : R →+* R} {B : M →ₛₗ[I] M →ₗ[R] R} (H : B.IsSymm) {x y : M}
Goal: B.IsOrtho x y ↔ B.IsOrtho y x
-- LinearMap.IsSymm.domRestrict
theorem domRestrict (H : B.IsSymm) (p : Submodule R M) : (B.domRestrict₁₂ p p).IsSymm 
Arguments: {R : Type u_1} {M : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] {I : R →+* R} {B : M →ₛₗ[I] M →ₗ[R] R} (H : B.IsSymm) (p : Submodule R M)
Goal: (B.domRestrict₁₂ p p).IsSymm
-- LinearMap.isSymm_zero
@[simp]
theorem isSymm_zero : (0 : M →ₛₗ[I] M →ₗ[R] R).IsSymm 
Arguments: {R : Type u_1} {M : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] {I : R →+* R}
Goal: LinearMap.IsSymm 0
-- LinearMap.isSymm_iff_eq_flip
theorem isSymm_iff_eq_flip {B : LinearMap.BilinForm R M} : B.IsSymm ↔ B = B.flip 
Arguments: {R : Type u_1} {M : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] {B : LinearMap.BilinForm R M}
Goal: LinearMap.IsSymm B ↔ B = LinearMap.flip B
-- LinearMap.IsAlt.self_eq_zero
theorem IsAlt.self_eq_zero (x : M₁) : B x x = 0 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} (H : B.IsAlt) (x : M₁)
Goal: (B x) x = 0
-- LinearMap.IsAlt.eq_of_add_add_eq_zero
theorem IsAlt.eq_of_add_add_eq_zero [IsCancelAdd M] {a b c : M₁} (hAdd : a + b + c = 0) :
    B a b = B b c 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} (H : B.IsAlt) [IsCancelAdd M] {a b c : M₁} (hAdd : a + b + c = 0)
Goal: (B a) b = (B b) c
-- LinearMap.IsAlt.neg
theorem neg (x y : M₁) : -B x y = B y x 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommGroup M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} (H : B.IsAlt) (x y : M₁)
Goal: -(B x) y = (B y) x
-- LinearMap.IsAlt.isRefl
theorem isRefl : B.IsRefl 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommGroup M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} (H : B.IsAlt)
Goal: B.IsRefl
-- LinearMap.IsAlt.ortho_comm
theorem ortho_comm {x y} : IsOrtho B x y ↔ IsOrtho B y x 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommSemiring R] [AddCommGroup M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} (H : B.IsAlt) {x y : M₁}
Goal: B.IsOrtho x y ↔ B.IsOrtho y x
-- LinearMap.isAlt_iff_eq_neg_flip
theorem isAlt_iff_eq_neg_flip [NoZeroDivisors R] [CharZero R] {B : M₁ →ₛₗ[I] M₁ →ₛₗ[I] R} :
    B.IsAlt ↔ B = -B.flip 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M₁ : Type u_6} [CommRing R] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] {I : R₁ →+* R} [NoZeroDivisors R] [CharZero R] {B : M₁ →ₛₗ[I] M₁ →ₛₗ[I] R}
Goal: B.IsAlt ↔ B = -B.flip
-- Submodule.mem_orthogonalBilin_iff
@[simp]
theorem mem_orthogonalBilin_iff {m : M₁} : m ∈ N.orthogonalBilin B ↔ ∀ n ∈ N, B.IsOrtho n m 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommRing R] [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] [AddCommGroup M] [Module R M] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} {N : Submodule R₁ M₁} {m : M₁}
Goal: m ∈ N.orthogonalBilin B ↔ ∀ n ∈ N, B.IsOrtho n m
-- Submodule.orthogonalBilin_le
theorem orthogonalBilin_le (h : N ≤ L) : L.orthogonalBilin B ≤ N.orthogonalBilin B 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommRing R] [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] [AddCommGroup M] [Module R M] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} {N L : Submodule R₁ M₁} (h : N ≤ L)
Goal: L.orthogonalBilin B ≤ N.orthogonalBilin B
-- Submodule.le_orthogonalBilin_orthogonalBilin
theorem le_orthogonalBilin_orthogonalBilin (b : B.IsRefl) :
    N ≤ (N.orthogonalBilin B).orthogonalBilin B 
Arguments: {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommRing R] [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] [AddCommGroup M] [Module R M] {I₁ I₂ : R₁ →+* R} {B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M} {N : Submodule R₁ M₁} (b : B.IsRefl)
Goal: N ≤ (N.orthogonalBilin B).orthogonalBilin B
-- LinearMap.span_singleton_inf_orthogonal_eq_bot
theorem span_singleton_inf_orthogonal_eq_bot (B : V₁ →ₛₗ[J₁] V₁ →ₛₗ[J₁'] V₂) (x : V₁)
    (hx : ¬B.IsOrtho x x) : (K₁ ∙ x) ⊓ Submodule.orthogonalBilin (K₁ ∙ x) B = ⊥ 
Arguments: {K : Type u_13} {K₁ : Type u_14} {V₁ : Type u_17} {V₂ : Type u_18} [Field K] [Field K₁] [AddCommGroup V₁] [Module K₁ V₁] [AddCommGroup V₂] [Module K V₂] {J₁ J₁' : K₁ →+* K} (B : V₁ →ₛₗ[J₁] V₁ →ₛₗ[J₁'] V₂) (x : V₁) (hx : ¬B.IsOrtho x x)
Goal: Submodule.span K₁ {x} ⊓ (Submodule.span K₁ {x}).orthogonalBilin B = ⊥
-- LinearMap.orthogonal_span_singleton_eq_to_lin_ker
theorem orthogonal_span_singleton_eq_to_lin_ker {B : V →ₗ[K] V →ₛₗ[J] V₂} (x : V) :
    Submodule.orthogonalBilin (K ∙ x) B = LinearMap.ker (B x) 
Arguments: {K : Type u_13} {V : Type u_16} {V₂ : Type u_18} [Field K] [AddCommGroup V] [Module K V] [AddCommGroup V₂] [Module K V₂] {J : K →+* K} {B : V →ₗ[K] V →ₛₗ[J] V₂} (x : V)
Goal: (Submodule.span K {x}).orthogonalBilin B = LinearMap.ker (B x)
-- LinearMap.span_singleton_sup_orthogonal_eq_top
theorem span_singleton_sup_orthogonal_eq_top {B : V →ₗ[K] V →ₗ[K] K} {x : V} (hx : ¬B.IsOrtho x x) :
    (K ∙ x) ⊔ Submodule.orthogonalBilin (N := K ∙ x) (B := B) = ⊤ 
Arguments: {K : Type u_13} {V : Type u_16} [Field K] [AddCommGroup V] [Module K V] {B : V →ₗ[K] V →ₗ[K] K} {x : V} (hx : ¬B.IsOrtho x x)
Goal: Submodule.span K {x} ⊔ (Submodule.span K {x}).orthogonalBilin B = ⊤
-- LinearMap.isCompl_span_singleton_orthogonal
theorem isCompl_span_singleton_orthogonal {B : V →ₗ[K] V →ₗ[K] K} {x : V} (hx : ¬B.IsOrtho x x) :
    IsCompl (K ∙ x) (Submodule.orthogonalBilin (N := K ∙ x) (B := B)) 
Arguments: {K : Type u_13} {V : Type u_16} [Field K] [AddCommGroup V] [Module K V] {B : V →ₗ[K] V →ₗ[K] K} {x : V} (hx : ¬B.IsOrtho x x)
Goal: IsCompl (Submodule.span K {x}) ((Submodule.span K {x}).orthogonalBilin B)
-- LinearMap.isAdjointPair_iff_comp_eq_compl₂
theorem isAdjointPair_iff_comp_eq_compl₂ : IsAdjointPair B B' f g ↔ B'.comp f = B.compl₂ g 
Arguments: {R : Type u_1} {M : Type u_5} {M₁ : Type u_6} {M₃ : Type u_8} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M₁] [Module R M₁] [AddCommMonoid M₃] [Module R M₃] {I : R →+* R} {B : M →ₗ[R] M →ₛₗ[I] M₃} {B' : M₁ →ₗ[R] M₁ →ₛₗ[I] M₃} {f : M →ₗ[R] M₁} {g : M₁ →ₗ[R] M}
Goal: B.IsAdjointPair B' f g ↔ B' ∘ₗ f = B.compl₂ g
-- LinearMap.isAdjointPair_zero
theorem isAdjointPair_zero : IsAdjointPair B B' 0 0 
Arguments: {R : Type u_1} {M : Type u_5} {M₁ : Type u_6} {M₃ : Type u_8} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M₁] [Module R M₁] [AddCommMonoid M₃] [Module R M₃] {I : R →+* R} {B : M →ₗ[R] M →ₛₗ[I] M₃} {B' : M₁ →ₗ[R] M₁ →ₛₗ[I] M₃}
Goal: B.IsAdjointPair B' 0 0
-- LinearMap.isAdjointPair_id
theorem isAdjointPair_id : IsAdjointPair B B 1 1 
Arguments: {R : Type u_1} {M : Type u_5} {M₃ : Type u_8} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M₃] [Module R M₃] {I : R →+* R} {B : M →ₗ[R] M →ₛₗ[I] M₃}
Goal: B.IsAdjointPair B 1 1
-- LinearMap.IsAdjointPair.add
theorem IsAdjointPair.add (h : IsAdjointPair B B' f g) (h' : IsAdjointPair B B' f' g') :
    IsAdjointPair B B' (f + f') (g + g') 
Arguments: {R : Type u_1} {M : Type u_5} {M₁ : Type u_6} {M₃ : Type u_8} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M₁] [Module R M₁] [AddCommMonoid M₃] [Module R M₃] {I : R →+* R} {B : M →ₗ[R] M →ₛₗ[I] M₃} {B' : M₁ →ₗ[R] M₁ →ₛₗ[I] M₃} {f f' : M →ₗ[R] M₁} {g g' : M₁ →ₗ[R] M} (h : B.IsAdjointPair B' f g) (h' : B.IsAdjointPair B' f' g')
Goal: B.IsAdjointPair B' (f + f') (g + g')
-- LinearMap.IsAdjointPair.comp
theorem IsAdjointPair.comp {f' : M₁ →ₗ[R] M₂} {g' : M₂ →ₗ[R] M₁} (h : IsAdjointPair B B' f g)
    (h' : IsAdjointPair B' B'' f' g') : IsAdjointPair B B'' (f'.comp f) (g.comp g') 
Arguments: {R : Type u_1} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} {M₃ : Type u_8} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M₁] [Module R M₁] [AddCommMonoid M₂] [Module R M₂] [AddCommMonoid M₃] [Module R M₃] {I : R →+* R} {B : M →ₗ[R] M →ₛₗ[I] M₃} {B' : M₁ →ₗ[R] M₁ →ₛₗ[I] M₃} {B'' : M₂ →ₗ[R] M₂ →ₛₗ[I] M₃} {f : M →ₗ[R] M₁} {g : M₁ →ₗ[R] M} {f' : M₁ →ₗ[R] M₂} {g' : M₂ →ₗ[R] M₁} (h : B.IsAdjointPair B' f g) (h' : B'.IsAdjointPair B'' f' g')
Goal: B.IsAdjointPair B'' (f' ∘ₗ f) (g ∘ₗ g')
-- LinearMap.IsAdjointPair.mul
theorem IsAdjointPair.mul {f g f' g' : Module.End R M} (h : IsAdjointPair B B f g)
    (h' : IsAdjointPair B B f' g') : IsAdjointPair B B (f * f') (g' * g) 
Arguments: {R : Type u_1} {M : Type u_5} {M₃ : Type u_8} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M₃] [Module R M₃] {I : R →+* R} {B : M →ₗ[R] M →ₛₗ[I] M₃} {f g f' g' : Module.End R M} (h : B.IsAdjointPair B f g) (h' : B.IsAdjointPair B f' g')
Goal: B.IsAdjointPair B (f * f') (g' * g)
-- LinearMap.IsAdjointPair.sub
theorem IsAdjointPair.sub (h : IsAdjointPair B B' f g) (h' : IsAdjointPair B B' f' g') :
    IsAdjointPair B B' (f - f') (g - g') 
Arguments: {R : Type u_1} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup M₁] [Module R M₁] [AddCommGroup M₂] [Module R M₂] {B : M →ₗ[R] M →ₗ[R] M₂} {B' : M₁ →ₗ[R] M₁ →ₗ[R] M₂} {f f' : M →ₗ[R] M₁} {g g' : M₁ →ₗ[R] M} (h : B.IsAdjointPair B' f g) (h' : B.IsAdjointPair B' f' g')
Goal: B.IsAdjointPair B' (f - f') (g - g')
-- LinearMap.IsAdjointPair.smul
theorem IsAdjointPair.smul (c : R) (h : IsAdjointPair B B' f g) :
    IsAdjointPair B B' (c • f) (c • g) 
Arguments: {R : Type u_1} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup M₁] [Module R M₁] [AddCommGroup M₂] [Module R M₂] {B : M →ₗ[R] M →ₗ[R] M₂} {B' : M₁ →ₗ[R] M₁ →ₗ[R] M₂} {f : M →ₗ[R] M₁} {g : M₁ →ₗ[R] M} (c : R) (h : B.IsAdjointPair B' f g)
Goal: B.IsAdjointPair B' (c • f) (c • g)
-- LinearMap.mem_isPairSelfAdjointSubmodule
@[simp]
theorem mem_isPairSelfAdjointSubmodule (f : Module.End R M) :
    f ∈ isPairSelfAdjointSubmodule B F ↔ IsPairSelfAdjoint B F f 
Arguments: {R : Type u_1} {M : Type u_5} {M₂ : Type u_7} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup M₂] [Module R M₂] {B F : M →ₗ[R] M →ₗ[R] M₂} (f : Module.End R M)
Goal: f ∈ B.isPairSelfAdjointSubmodule F ↔ B.IsPairSelfAdjoint F f
-- LinearMap.isPairSelfAdjoint_equiv
theorem isPairSelfAdjoint_equiv (e : M₁ ≃ₗ[R] M) (f : Module.End R M) :
    IsPairSelfAdjoint B F f ↔
      IsPairSelfAdjoint (B.compl₁₂ ↑e ↑e) (F.compl₁₂ ↑e ↑e) (e.symm.conj f) 
Arguments: {R : Type u_1} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup M₁] [Module R M₁] [AddCommGroup M₂] [Module R M₂] {B F : M →ₗ[R] M →ₗ[R] M₂} (e : M₁ ≃ₗ[R] M) (f : Module.End R M)
Goal: B.IsPairSelfAdjoint F f ↔ (B.compl₁₂ ↑e ↑e).IsPairSelfAdjoint (F.compl₁₂ ↑e ↑e) (e.symm.conj f)
-- LinearMap.isSkewAdjoint_iff_neg_self_adjoint
theorem isSkewAdjoint_iff_neg_self_adjoint (f : Module.End R M) :
    B.IsSkewAdjoint f ↔ IsAdjointPair (-B) B f f 
Arguments: {R : Type u_1} {M : Type u_5} {M₂ : Type u_7} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup M₂] [Module R M₂] {B : M →ₗ[R] M →ₗ[R] M₂} (f : Module.End R M)
Goal: B.IsSkewAdjoint f ↔ (-B).IsAdjointPair B f f
-- LinearMap.mem_selfAdjointSubmodule
@[simp]
theorem mem_selfAdjointSubmodule (f : Module.End R M) :
    f ∈ B.selfAdjointSubmodule ↔ B.IsSelfAdjoint f 
Arguments: {R : Type u_1} {M : Type u_5} {M₂ : Type u_7} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup M₂] [Module R M₂] {B : M →ₗ[R] M →ₗ[R] M₂} (f : Module.End R M)
Goal: f ∈ B.selfAdjointSubmodule ↔ B.IsSelfAdjoint f
-- LinearMap.mem_skewAdjointSubmodule
@[simp]
theorem mem_skewAdjointSubmodule (f : Module.End R M) :
    f ∈ B.skewAdjointSubmodule ↔ B.IsSkewAdjoint f 
Arguments: {R : Type u_1} {M : Type u_5} {M₂ : Type u_7} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup M₂] [Module R M₂] {B : M →ₗ[R] M →ₗ[R] M₂} (f : Module.End R M)
Goal: f ∈ B.skewAdjointSubmodule ↔ B.IsSkewAdjoint f
-- LinearMap.not_separatingLeft_zero
theorem not_separatingLeft_zero [Nontrivial M₁] : ¬(0 : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M).SeparatingLeft 
Arguments: {R : Type u_1} {R₁ : Type u_2} {R₂ : Type u_3} {M : Type u_5} (M₁ : Type u_6) (M₂ : Type u_7) [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] (I₁ : R₁ →+* R) (I₂ : R₂ →+* R) [Nontrivial M₁]
Goal: ¬LinearMap.SeparatingLeft 0
-- LinearMap.SeparatingLeft.ne_zero
theorem SeparatingLeft.ne_zero [Nontrivial M₁] {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M}
    (h : B.SeparatingLeft) : B ≠ 0 
Arguments: {R : Type u_1} {R₁ : Type u_2} {R₂ : Type u_3} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {I₁ : R₁ →+* R} {I₂ : R₂ →+* R} [Nontrivial M₁] {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M} (h : B.SeparatingLeft)
Goal: B ≠ 0
-- LinearMap.SeparatingLeft.congr
theorem SeparatingLeft.congr (h : B.SeparatingLeft) :
    (e₁.arrowCongr (e₂.arrowCongr (LinearEquiv.refl R M)) B).SeparatingLeft 
Arguments: {R : Type u_1} {M : Type u_5} {Mₗ₁ : Type u_9} {Mₗ₁' : Type u_10} {Mₗ₂ : Type u_11} {Mₗ₂' : Type u_12} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid Mₗ₁] [AddCommMonoid Mₗ₂] [AddCommMonoid Mₗ₁'] [AddCommMonoid Mₗ₂'] [Module R Mₗ₁] [Module R Mₗ₂] [Module R Mₗ₁'] [Module R Mₗ₂'] {B : Mₗ₁ →ₗ[R] Mₗ₂ →ₗ[R] M} (e₁ : Mₗ₁ ≃ₗ[R] Mₗ₁') (e₂ : Mₗ₂ ≃ₗ[R] Mₗ₂') (h : B.SeparatingLeft)
Goal: ((e₁.arrowCongr (e₂.arrowCongr (LinearEquiv.refl R M))) B).SeparatingLeft
-- LinearMap.separatingLeft_congr_iff
@[simp]
theorem separatingLeft_congr_iff :
    (e₁.arrowCongr (e₂.arrowCongr (LinearEquiv.refl R M)) B).SeparatingLeft ↔ B.SeparatingLeft 
Arguments: {R : Type u_1} {M : Type u_5} {Mₗ₁ : Type u_9} {Mₗ₁' : Type u_10} {Mₗ₂ : Type u_11} {Mₗ₂' : Type u_12} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid Mₗ₁] [AddCommMonoid Mₗ₂] [AddCommMonoid Mₗ₁'] [AddCommMonoid Mₗ₂'] [Module R Mₗ₁] [Module R Mₗ₂] [Module R Mₗ₁'] [Module R Mₗ₂'] {B : Mₗ₁ →ₗ[R] Mₗ₂ →ₗ[R] M} (e₁ : Mₗ₁ ≃ₗ[R] Mₗ₁') (e₂ : Mₗ₂ ≃ₗ[R] Mₗ₂')
Goal: ((e₁.arrowCongr (e₂.arrowCongr (LinearEquiv.refl R M))) B).SeparatingLeft ↔ B.SeparatingLeft
-- LinearMap.flip_separatingRight
@[simp]
theorem flip_separatingRight {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M} :
    B.flip.SeparatingRight ↔ B.SeparatingLeft 
Arguments: {R : Type u_1} {R₁ : Type u_2} {R₂ : Type u_3} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {I₁ : R₁ →+* R} {I₂ : R₂ →+* R} {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M}
Goal: B.flip.SeparatingRight ↔ B.SeparatingLeft
-- LinearMap.flip_separatingLeft
@[simp]
theorem flip_separatingLeft {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M} :
    B.flip.SeparatingLeft ↔ SeparatingRight B 
Arguments: {R : Type u_1} {R₁ : Type u_2} {R₂ : Type u_3} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {I₁ : R₁ →+* R} {I₂ : R₂ →+* R} {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M}
Goal: B.flip.SeparatingLeft ↔ B.SeparatingRight
-- LinearMap.flip_nondegenerate
@[simp]
theorem flip_nondegenerate {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M} : B.flip.Nondegenerate ↔ B.Nondegenerate 
Arguments: {R : Type u_1} {R₁ : Type u_2} {R₂ : Type u_3} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {I₁ : R₁ →+* R} {I₂ : R₂ →+* R} {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M}
Goal: B.flip.Nondegenerate ↔ B.Nondegenerate
-- LinearMap.separatingLeft_iff_linear_nontrivial
theorem separatingLeft_iff_linear_nontrivial {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M} :
    B.SeparatingLeft ↔ ∀ x : M₁, B x = 0 → x = 0 
Arguments: {R : Type u_1} {R₁ : Type u_2} {R₂ : Type u_3} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {I₁ : R₁ →+* R} {I₂ : R₂ →+* R} {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M}
Goal: B.SeparatingLeft ↔ ∀ (x : M₁), B x = 0 → x = 0
-- LinearMap.separatingRight_iff_linear_flip_nontrivial
theorem separatingRight_iff_linear_flip_nontrivial {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M} :
    B.SeparatingRight ↔ ∀ y : M₂, B.flip y = 0 → y = 0 
Arguments: {R : Type u_1} {R₁ : Type u_2} {R₂ : Type u_3} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {I₁ : R₁ →+* R} {I₂ : R₂ →+* R} {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M}
Goal: B.SeparatingRight ↔ ∀ (y : M₂), B.flip y = 0 → y = 0
-- LinearMap.separatingLeft_iff_ker_eq_bot
theorem separatingLeft_iff_ker_eq_bot {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M} :
    B.SeparatingLeft ↔ LinearMap.ker B = ⊥ 
Arguments: {R : Type u_1} {R₁ : Type u_2} {R₂ : Type u_3} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {I₁ : R₁ →+* R} {I₂ : R₂ →+* R} {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M}
Goal: B.SeparatingLeft ↔ LinearMap.ker B = ⊥
-- LinearMap.separatingRight_iff_flip_ker_eq_bot
theorem separatingRight_iff_flip_ker_eq_bot {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M} :
    B.SeparatingRight ↔ LinearMap.ker B.flip = ⊥ 
Arguments: {R : Type u_1} {R₁ : Type u_2} {R₂ : Type u_3} {M : Type u_5} {M₁ : Type u_6} {M₂ : Type u_7} [CommSemiring R] [AddCommMonoid M] [Module R M] [CommSemiring R₁] [AddCommMonoid M₁] [Module R₁ M₁] [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {I₁ : R₁ →+* R} {I₂ : R₂ →+* R} {B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M}
Goal: B.SeparatingRight ↔ LinearMap.ker B.flip = ⊥
-- LinearMap.IsRefl.nondegenerate_of_separatingLeft
theorem IsRefl.nondegenerate_of_separatingLeft {B : M →ₗ[R] M →ₗ[R] M₁} (hB : B.IsRefl)
    (hB' : B.SeparatingLeft) : B.Nondegenerate 
Arguments: {R : Type u_1} {M : Type u_5} {M₁ : Type u_6} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup M₁] [Module R M₁] {B : M →ₗ[R] M →ₗ[R] M₁} (hB : B.IsRefl) (hB' : B.SeparatingLeft)
Goal: B.Nondegenerate
-- LinearMap.IsRefl.nondegenerate_of_separatingRight
theorem IsRefl.nondegenerate_of_separatingRight {B : M →ₗ[R] M →ₗ[R] M₁} (hB : B.IsRefl)
    (hB' : B.SeparatingRight) : B.Nondegenerate 
Arguments: {R : Type u_1} {M : Type u_5} {M₁ : Type u_6} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup M₁] [Module R M₁] {B : M →ₗ[R] M →ₗ[R] M₁} (hB : B.IsRefl) (hB' : B.SeparatingRight)
Goal: B.Nondegenerate