Zulip Chat Archive

Stream: mathlib4

Topic: Modifying Dedekind's linear independence of characters


Xavier Xarles (Jan 02 2024 at 09:52):

I would like to show in mathlib a generalized version of Dedekind's linear independence of characters using the same structure of the mathlib4 version, called linearIndependent_monoidHom. The difference is that instead of actual result

theorem linearIndependent_monoidHom (G : Type*) [Monoid G] (L : Type*) [CommRing L]
    [NoZeroDivisors L] : LinearIndependent L (M := G  L) (fun f => f : (G →* L)  G  L) := sorry

I want something like

import Mathlib.LinearAlgebra.LinearIndependent

theorem linearIndependent_mulHom (G : Type*) [Mul G] (L : Type*) [CommRing L]
    [NoZeroDivisors L] : LinearIndependent L (M := G  L) (fun f => f : (G →ₙ* L )  G  L) := sorry

But, for the result to be true, I need to add the condition that the homs f should be non-zero (e.g. ∃ x, f x ≠ 0), I don't know how to do it with that format of the theorem. I am not asking for a proof of the result... just the statement.

Eric Wieser (Jan 02 2024 at 10:01):

This should work:

theorem linearIndependent_mulHom (G L : Type*) [Mul G] [CommRing L] [NoZeroDivisors L] :
    LinearIndependent L (· : {f : G →ₙ* L //  x, f x  0}  G  L) :=
  sorry

Eric Wieser (Jan 02 2024 at 10:01):

The direct answer to your question is "add the condition by using a subtype"

Eric Wieser (Jan 02 2024 at 10:02):

fun f => f would still work instead of ·

Xavier Xarles (Jan 02 2024 at 11:46):

What it is the difference between writing {f : G →ₙ* L // ∃ x, f x ≠ 0} and {f : G →ₙ* L | ∃ x, f x ≠ 0} ? Because I don't understand how to "extract" from g:{f : G →ₙ* L // ∃ x, f x ≠ 0} the fact that ∃ x, g x ≠ 0 in the first case... (in the second I have g∈ {f : G →ₙ* L // ∃ x, f x ≠ 0}, which is a Proposition).

Xavier Xarles (Jan 02 2024 at 11:51):

I know that the first one is a subtype, and the second a subset.

Ruben Van de Velde (Jan 02 2024 at 11:53):

g.prop

Xavier Xarles (Jan 02 2024 at 11:53):

Aha, or g.2 also works...


Last updated: May 02 2025 at 03:31 UTC