Theorem: groupCohomology.isMulOneCoboundary_of_oneCoboundaries
File: Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean

tactic: rcases mem_range_of_mem_oneCoboundaries f.2 with ⟨x, hx⟩
state_before: k G✝ : Type u
inst✝⁴ : CommRing k
inst✝³ : Group G✝
A : Rep k G✝
G M : Type
inst✝² : Group G
inst✝¹ : CommGroup M
inst✝ : MulDistribMulAction G M
f : ↥(oneCoboundaries (Rep.ofMulDistribMulAction G M))
⊢ IsMulOneCoboundary (⇑Additive.ofMul ∘ ↑↑f)
state_after: case intro
k G✝ : Type u
inst✝⁴ : CommRing k
inst✝³ : Group G✝
A : Rep k G✝
G M : Type
inst✝² : Group G
inst✝¹ : CommGroup M
inst✝ : MulDistribMulAction G M
f : ↥(oneCoboundaries (Rep.ofMulDistribMulAction G M))
x : CoeSort.coe (Rep.ofMulDistribMulAction G M)
hx : (dZero (Rep.ofMulDistribMulAction G M)) x = ↑↑f
⊢ IsMulOneCoboundary (⇑Additive.ofMul ∘ ↑↑f)

tactic: exact ⟨x, by rw [← hx]; intro g; rfl⟩
state_before: case intro
k G✝ : Type u
inst✝⁴ : CommRing k
inst✝³ : Group G✝
A : Rep k G✝
G M : Type
inst✝² : Group G
inst✝¹ : CommGroup M
inst✝ : MulDistribMulAction G M
f : ↥(oneCoboundaries (Rep.ofMulDistribMulAction G M))
x : CoeSort.coe (Rep.ofMulDistribMulAction G M)
hx : (dZero (Rep.ofMulDistribMulAction G M)) x = ↑↑f
⊢ IsMulOneCoboundary (⇑Additive.ofMul ∘ ↑↑f)
state_after: no goals

tactic: rw [← hx]
state_before: k G✝ : Type u
inst✝⁴ : CommRing k
inst✝³ : Group G✝
A : Rep k G✝
G M : Type
inst✝² : Group G
inst✝¹ : CommGroup M
inst✝ : MulDistribMulAction G M
f : ↥(oneCoboundaries (Rep.ofMulDistribMulAction G M))
x : CoeSort.coe (Rep.ofMulDistribMulAction G M)
hx : (dZero (Rep.ofMulDistribMulAction G M)) x = ↑↑f
⊢ ∀ (g : G), g • x / x = (⇑Additive.ofMul ∘ ↑↑f) g
state_after: k G✝ : Type u
inst✝⁴ : CommRing k
inst✝³ : Group G✝
A : Rep k G✝
G M : Type
inst✝² : Group G
inst✝¹ : CommGroup M
inst✝ : MulDistribMulAction G M
f : ↥(oneCoboundaries (Rep.ofMulDistribMulAction G M))
x : CoeSort.coe (Rep.ofMulDistribMulAction G M)
hx : (dZero (Rep.ofMulDistribMulAction G M)) x = ↑↑f
⊢ ∀ (g : G), g • x / x = (⇑Additive.ofMul ∘ (dZero (Rep.ofMulDistribMulAction G M)) x) g

tactic: intro g
state_before: k G✝ : Type u
inst✝⁴ : CommRing k
inst✝³ : Group G✝
A : Rep k G✝
G M : Type
inst✝² : Group G
inst✝¹ : CommGroup M
inst✝ : MulDistribMulAction G M
f : ↥(oneCoboundaries (Rep.ofMulDistribMulAction G M))
x : CoeSort.coe (Rep.ofMulDistribMulAction G M)
hx : (dZero (Rep.ofMulDistribMulAction G M)) x = ↑↑f
⊢ ∀ (g : G), g • x / x = (⇑Additive.ofMul ∘ (dZero (Rep.ofMulDistribMulAction G M)) x) g
state_after: k G✝ : Type u
inst✝⁴ : CommRing k
inst✝³ : Group G✝
A : Rep k G✝
G M : Type
inst✝² : Group G
inst✝¹ : CommGroup M
inst✝ : MulDistribMulAction G M
f : ↥(oneCoboundaries (Rep.ofMulDistribMulAction G M))
x : CoeSort.coe (Rep.ofMulDistribMulAction G M)
hx : (dZero (Rep.ofMulDistribMulAction G M)) x = ↑↑f
g : G
⊢ g • x / x = (⇑Additive.ofMul ∘ (dZero (Rep.ofMulDistribMulAction G M)) x) g

tactic: rfl
state_before: k G✝ : Type u
inst✝⁴ : CommRing k
inst✝³ : Group G✝
A : Rep k G✝
G M : Type
inst✝² : Group G
inst✝¹ : CommGroup M
inst✝ : MulDistribMulAction G M
f : ↥(oneCoboundaries (Rep.ofMulDistribMulAction G M))
x : CoeSort.coe (Rep.ofMulDistribMulAction G M)
hx : (dZero (Rep.ofMulDistribMulAction G M)) x = ↑↑f
g : G
⊢ g • x / x = (⇑Additive.ofMul ∘ (dZero (Rep.ofMulDistribMulAction G M)) x) g
state_after: no goals