Theorem: Module.DirectLimit.of.zero_exact
File: Mathlib/Algebra/DirectLimit.lean

tactic: simp [hx0]
state_before: R : Type u
inst✝⁷ : Ring R
ι : Type v
dec_ι : DecidableEq ι
inst✝⁶ : Preorder ι
G : ι → Type w
inst✝⁵ : (i : ι) → AddCommGroup (G i)
inst✝⁴ : (i : ι) → Module R (G i)
f : (i j : ι) → i ≤ j → G i →ₗ[R] G j
P : Type u₁
inst✝³ : AddCommGroup P
inst✝² : Module R P
g : (i : ι) → G i →ₗ[R] P
Hg : ∀ (i j : ι) (hij : i ≤ j) (x : G i), ↑(g j) (↑(f i j hij) x) = ↑(g i) x
inst✝¹ : DirectedSystem G fun i j h => ↑(f i j h)
inst✝ : IsDirected ι fun x x_1 => x ≤ x_1
i : ι
x : G i
H : ↑(of R ι G f i) x = 0
this : Nonempty ι
j : ι
hj : ∀ (k : ι), k ∈ Dfinsupp.support (↑(DirectSum.lof R ι G i) x) → k ≤ j
hxj : ↑(DirectSum.toModule R ι (G j) fun i => totalize G (fun i j H => f i j H) i j) (↑(DirectSum.lof R ι G i) x) = 0
hx0 : x = 0
⊢ ↑(f i i (_ : i ≤ i)) x = 0

tactic: simp [DirectSum.apply_eq_component, hx0]
state_before: R : Type u
inst✝⁷ : Ring R
ι : Type v
dec_ι : DecidableEq ι
inst✝⁶ : Preorder ι
G : ι → Type w
inst✝⁵ : (i : ι) → AddCommGroup (G i)
inst✝⁴ : (i : ι) → Module R (G i)
f : (i j : ι) → i ≤ j → G i →ₗ[R] G j
P : Type u₁
inst✝³ : AddCommGroup P
inst✝² : Module R P
g : (i : ι) → G i →ₗ[R] P
Hg : ∀ (i j : ι) (hij : i ≤ j) (x : G i), ↑(g j) (↑(f i j hij) x) = ↑(g i) x
inst✝¹ : DirectedSystem G fun i j h => ↑(f i j h)
inst✝ : IsDirected ι fun x x_1 => x ≤ x_1
i : ι
x : G i
H : ↑(of R ι G f i) x = 0
this : Nonempty ι
j : ι
hj : ∀ (k : ι), k ∈ Dfinsupp.support (↑(DirectSum.lof R ι G i) x) → k ≤ j
hxj : ↑(DirectSum.toModule R ι (G j) fun i => totalize G (fun i j H => f i j H) i j) (↑(DirectSum.lof R ι G i) x) = 0
hx0 : ¬x = 0
⊢ i ∈ Dfinsupp.support (↑(DirectSum.lof R ι G i) x)

tactic: simp only [DirectSum.toModule_lof] at hxj
state_before: R : Type u
inst✝⁷ : Ring R
ι : Type v
dec_ι : DecidableEq ι
inst✝⁶ : Preorder ι
G : ι → Type w
inst✝⁵ : (i : ι) → AddCommGroup (G i)
inst✝⁴ : (i : ι) → Module R (G i)
f : (i j : ι) → i ≤ j → G i →ₗ[R] G j
P : Type u₁
inst✝³ : AddCommGroup P
inst✝² : Module R P
g : (i : ι) → G i →ₗ[R] P
Hg : ∀ (i j : ι) (hij : i ≤ j) (x : G i), ↑(g j) (↑(f i j hij) x) = ↑(g i) x
inst✝¹ : DirectedSystem G fun i j h => ↑(f i j h)
inst✝ : IsDirected ι fun x x_1 => x ≤ x_1
i : ι
x : G i
H : ↑(of R ι G f i) x = 0
this : Nonempty ι
j : ι
hj : ∀ (k : ι), k ∈ Dfinsupp.support (↑(DirectSum.lof R ι G i) x) → k ≤ j
hxj : ↑(DirectSum.toModule R ι (G j) fun i => totalize G (fun i j H => f i j H) i j) (↑(DirectSum.lof R ι G i) x) = 0
hx0 : ¬x = 0
hij : i ≤ j
⊢ ↑(f i j hij) x = 0

tactic: rwa [totalize_of_le hij] at hxj
state_before: R : Type u
inst✝⁷ : Ring R
ι : Type v
dec_ι : DecidableEq ι
inst✝⁶ : Preorder ι
G : ι → Type w
inst✝⁵ : (i : ι) → AddCommGroup (G i)
inst✝⁴ : (i : ι) → Module R (G i)
f : (i j : ι) → i ≤ j → G i →ₗ[R] G j
P : Type u₁
inst✝³ : AddCommGroup P
inst✝² : Module R P
g : (i : ι) → G i →ₗ[R] P
Hg : ∀ (i j : ι) (hij : i ≤ j) (x : G i), ↑(g j) (↑(f i j hij) x) = ↑(g i) x
inst✝¹ : DirectedSystem G fun i j h => ↑(f i j h)
inst✝ : IsDirected ι fun x x_1 => x ≤ x_1
i : ι
x : G i
H : ↑(of R ι G f i) x = 0
this : Nonempty ι
j : ι
hj : ∀ (k : ι), k ∈ Dfinsupp.support (↑(DirectSum.lof R ι G i) x) → k ≤ j
hx0 : ¬x = 0
hij : i ≤ j
hxj : ↑(totalize G (fun i j H => f i j H) i j) x = 0
⊢ ↑(f i j hij) x = 0