awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
x : (↑((inhomogeneousCochains A).X 2) : Type u)
y : G × G × G
i : Fin (HAdd.hAdd (α := ℕ) 1 1)
hf :
  Eq.{u + 1} (α := G)
    (Fin.cons (α := fun (x : Fin 2) ↦ G) y.1
        (Fin.cons (α := fun (i : Fin 1) ↦ G) y.2.1 (finZeroElim (α := fun (i : Fin 0) ↦ G)))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨0, ⋯⟩) :
      G)
    (Fin.contractNth (n := 2) 2 (fun (x1 x2 : G) ↦ x1 * x2)
        (((Fin.consEquiv.{u} (n := 2) fun (a : Fin 3) ↦ G :
              G × ((i : Fin 2) → G) ≃ ((i : Fin (HAdd.hAdd (α := ℕ) 2 1)) → G)) :
            (a : G × ((i : Fin 2) → G)) → (i : Fin 3) → G)
          (Prod.map id
            (fun (p : G × G) ↦
              Fin.cons (α := fun (x : Fin 2) ↦ G) p.1
                (Fin.cons (α := fun (i : Fin 1) ↦ G) p.2 (finZeroElim (α := fun (i : Fin 0) ↦ G))))
            y))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨0, ⋯⟩) :
      G)
hf₁ :
  Eq.{u + 1} (α := G)
    (Fin.cons (α := fun (x : Fin 2) ↦ G) y.1
        (Fin.cons (α := fun (i : Fin 1) ↦ G) y.2.1 (finZeroElim (α := fun (i : Fin 0) ↦ G)))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨1, ⋯⟩) :
      G)
    (Fin.contractNth (n := 2) 2 (fun (x1 x2 : G) ↦ x1 * x2)
        (((Fin.consEquiv.{u} (n := 2) fun (a : Fin 3) ↦ G :
              G × ((i : Fin 2) → G) ≃ ((i : Fin (HAdd.hAdd (α := ℕ) 2 1)) → G)) :
            (a : G × ((i : Fin 2) → G)) → (i : Fin 3) → G)
          (Prod.map id
            (fun (p : G × G) ↦
              Fin.cons (α := fun (x : Fin 2) ↦ G) p.1
                (Fin.cons (α := fun (i : Fin 1) ↦ G) p.2 (finZeroElim (α := fun (i : Fin 0) ↦ G))))
            y))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨1, ⋯⟩) :
      G)
⊢ Eq.{u + 1} (α := G)
    (Fin.cons (α := fun (x : Fin 2) ↦ G) y.1
        (Fin.cons (α := fun (i : Fin 1) ↦ G) y.2.1 (finZeroElim (α := fun (i : Fin 0) ↦ G))) i :
      G)
    (Fin.contractNth 2 (fun (x1 x2 : G) ↦ x1 * x2)
      (((Fin.consEquiv.{u} (n := 2) fun (a : Fin 3) ↦ G :
            G × ((i : Fin 2) → G) ≃ ((i : Fin (HAdd.hAdd (α := ℕ) 2 1)) → G)) :
          (a : G × ((i : Fin 2) → G)) → (i : Fin 3) → G)
        (Prod.map id
          (fun (p : G × G) ↦
            Fin.cons (α := fun (x : Fin 2) ↦ G) p.1
              (Fin.cons (α := fun (i : Fin 1) ↦ G) p.2 (finZeroElim (α := fun (i : Fin 0) ↦ G))))
          y))
      i)

Tactic:
fin_cases i
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
x : (↑((inhomogeneousCochains A).X 2) : Type u)
y : G × G × G
⊢ Eq.{u + 1} (α := G)
    (Fin.cons (α := fun (x : Fin 2) ↦ G) (y.1 * y.2.1)
        (Fin.cons (α := fun (i : Fin 1) ↦ G) y.2.2 (finZeroElim (α := fun (i : Fin 0) ↦ G)))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨0, ⋯⟩) :
      G)
    (Fin.contractNth (n := 2) 0 (fun (x1 x2 : G) ↦ x1 * x2)
        (((Fin.consEquiv.{u} (n := 2) fun (a : Fin 3) ↦ G :
              G × ((i : Fin 2) → G) ≃ ((i : Fin (HAdd.hAdd (α := ℕ) 2 1)) → G)) :
            (a : G × ((i : Fin 2) → G)) → (i : Fin 3) → G)
          (Prod.map id
            (fun (p : G × G) ↦
              Fin.cons (α := fun (x : Fin 2) ↦ G) p.1
                (Fin.cons (α := fun (i : Fin 1) ↦ G) p.2 (finZeroElim (α := fun (i : Fin 0) ↦ G))))
            y))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨0, ⋯⟩) :
      G)

Tactic:
rfl
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
x : (↑((inhomogeneousCochains A).X 2) : Type u)
y : G × G × G
⊢ Eq.{u + 1} (α := G)
    (Fin.cons (α := fun (x : Fin 2) ↦ G) (y.1 * y.2.1)
        (Fin.cons (α := fun (i : Fin 1) ↦ G) y.2.2 (finZeroElim (α := fun (i : Fin 0) ↦ G)))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨1, ⋯⟩) :
      G)
    (Fin.contractNth (n := 2) 0 (fun (x1 x2 : G) ↦ x1 * x2)
        (((Fin.consEquiv.{u} (n := 2) fun (a : Fin 3) ↦ G :
              G × ((i : Fin 2) → G) ≃ ((i : Fin (HAdd.hAdd (α := ℕ) 2 1)) → G)) :
            (a : G × ((i : Fin 2) → G)) → (i : Fin 3) → G)
          (Prod.map id
            (fun (p : G × G) ↦
              Fin.cons (α := fun (x : Fin 2) ↦ G) p.1
                (Fin.cons (α := fun (i : Fin 1) ↦ G) p.2 (finZeroElim (α := fun (i : Fin 0) ↦ G))))
            y))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨1, ⋯⟩) :
      G)

Tactic:
rfl
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
x : (↑((inhomogeneousCochains A).X 2) : Type u)
y : G × G × G
⊢ Eq.{u + 1} (α := G)
    (Fin.cons (α := fun (x : Fin 2) ↦ G) y.1
        (Fin.cons (α := fun (i : Fin 1) ↦ G) (y.2.1 * y.2.2) (finZeroElim (α := fun (i : Fin 0) ↦ G)))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨0, ⋯⟩) :
      G)
    (Fin.contractNth (n := 2) 1 (fun (x1 x2 : G) ↦ x1 * x2)
        (((Fin.consEquiv.{u} (n := 2) fun (a : Fin 3) ↦ G :
              G × ((i : Fin 2) → G) ≃ ((i : Fin (HAdd.hAdd (α := ℕ) 2 1)) → G)) :
            (a : G × ((i : Fin 2) → G)) → (i : Fin 3) → G)
          (Prod.map id
            (fun (p : G × G) ↦
              Fin.cons (α := fun (x : Fin 2) ↦ G) p.1
                (Fin.cons (α := fun (i : Fin 1) ↦ G) p.2 (finZeroElim (α := fun (i : Fin 0) ↦ G))))
            y))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨0, ⋯⟩) :
      G)

Tactic:
rfl
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
x : (↑((inhomogeneousCochains A).X 2) : Type u)
y : G × G × G
⊢ Eq.{u + 1} (α := G)
    (Fin.cons (α := fun (x : Fin 2) ↦ G) y.1
        (Fin.cons (α := fun (i : Fin 1) ↦ G) (y.2.1 * y.2.2) (finZeroElim (α := fun (i : Fin 0) ↦ G)))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨1, ⋯⟩) :
      G)
    (Fin.contractNth (n := 2) 1 (fun (x1 x2 : G) ↦ x1 * x2)
        (((Fin.consEquiv.{u} (n := 2) fun (a : Fin 3) ↦ G :
              G × ((i : Fin 2) → G) ≃ ((i : Fin (HAdd.hAdd (α := ℕ) 2 1)) → G)) :
            (a : G × ((i : Fin 2) → G)) → (i : Fin 3) → G)
          (Prod.map id
            (fun (p : G × G) ↦
              Fin.cons (α := fun (x : Fin 2) ↦ G) p.1
                (Fin.cons (α := fun (i : Fin 1) ↦ G) p.2 (finZeroElim (α := fun (i : Fin 0) ↦ G))))
            y))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨1, ⋯⟩) :
      G)

Tactic:
rfl
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
x : (↑((inhomogeneousCochains A).X 2) : Type u)
y : G × G × G
⊢ Eq.{u + 1} (α := G)
    (Fin.cons (α := fun (x : Fin 2) ↦ G) y.1
        (Fin.cons (α := fun (i : Fin 1) ↦ G) y.2.1 (finZeroElim (α := fun (i : Fin 0) ↦ G)))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨0, ⋯⟩) :
      G)
    (Fin.contractNth (n := 2) 2 (fun (x1 x2 : G) ↦ x1 * x2)
        (((Fin.consEquiv.{u} (n := 2) fun (a : Fin 3) ↦ G :
              G × ((i : Fin 2) → G) ≃ ((i : Fin (HAdd.hAdd (α := ℕ) 2 1)) → G)) :
            (a : G × ((i : Fin 2) → G)) → (i : Fin 3) → G)
          (Prod.map id
            (fun (p : G × G) ↦
              Fin.cons (α := fun (x : Fin 2) ↦ G) p.1
                (Fin.cons (α := fun (i : Fin 1) ↦ G) p.2 (finZeroElim (α := fun (i : Fin 0) ↦ G))))
            y))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨0, ⋯⟩) :
      G)

Tactic:
rfl
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
x : (↑((inhomogeneousCochains A).X 2) : Type u)
y : G × G × G
⊢ Eq.{u + 1} (α := G)
    (Fin.cons (α := fun (x : Fin 2) ↦ G) y.1
        (Fin.cons (α := fun (i : Fin 1) ↦ G) y.2.1 (finZeroElim (α := fun (i : Fin 0) ↦ G)))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨1, ⋯⟩) :
      G)
    (Fin.contractNth (n := 2) 2 (fun (x1 x2 : G) ↦ x1 * x2)
        (((Fin.consEquiv.{u} (n := 2) fun (a : Fin 3) ↦ G :
              G × ((i : Fin 2) → G) ≃ ((i : Fin (HAdd.hAdd (α := ℕ) 2 1)) → G)) :
            (a : G × ((i : Fin 2) → G)) → (i : Fin 3) → G)
          (Prod.map id
            (fun (p : G × G) ↦
              Fin.cons (α := fun (x : Fin 2) ↦ G) p.1
                (Fin.cons (α := fun (i : Fin 1) ↦ G) p.2 (finZeroElim (α := fun (i : Fin 0) ↦ G))))
            y))
        ((fun (i : Fin ({ len := 1 : SimplexCategory }.len + 1)) ↦ i) ⟨1, ⋯⟩) :
      G)

Tactic:
rfl
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
⊢ (cochainsIso₂ A).inv ≫ (inhomogeneousCochains A).d 2 3 = d₂₃ A ≫ (cochainsIso₃ A).inv

Tactic:
(CommSq.horiz_inv ⟨comp_d₂₃_eq A⟩).w

Premises used: groupCohomology.comp_d₂₃_eq, CategoryTheory.CommSq.horiz_inv, CategoryTheory.CommSq.mk, CategoryTheory.CommSq.w
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
hf :
  ∀ (x : (↑(ModuleCat.of k (↑A : Type (max u u_1))) : Type (max u u_1))) (x_1 : G × G),
    Eq (α := (↑A : Type (max u u_1)))
      ((ModuleCat.Hom.hom (d₀₁.{u, u_1} A ≫ d₁₂ A) :
            (a : (↑(ModuleCat.of k (↑A : Type (max u u_1))) : Type (max u u_1))) →
              (↑(ModuleCat.of k (G × G → (↑A : Type (max u u_1)))) : Type (max u u_1)))
          x x_1 :
        (↑A : Type (max u u_1)))
      ((ModuleCat.Hom.hom 0 :
            (a : (↑(ModuleCat.of k (↑A : Type (max u u_1))) : Type (max u u_1))) →
              (↑(ModuleCat.of k (G × G → (↑A : Type (max u u_1)))) : Type (max u u_1)))
          x x_1 :
        (↑A : Type (max u u_1)))
⊢ d₀₁.{u, u_1} A ≫ d₁₂ A = 0

Tactic:
ext
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
x : (↑(ModuleCat.of k (↑A : Type (max u u_1))) : Type (max u u_1))
x_1 : G × G
⊢ Eq (α := (↑A : Type (max u u_1)))
    ((ModuleCat.Hom.hom (d₀₁.{u, u_1} A ≫ d₁₂ A) :
          (a : (↑(ModuleCat.of k (↑A : Type (max u u_1))) : Type (max u u_1))) →
            (↑(ModuleCat.of k (G × G → (↑A : Type (max u u_1)))) : Type (max u u_1)))
        x x_1 :
      (↑A : Type (max u u_1)))
    ((ModuleCat.Hom.hom 0 :
          (a : (↑(ModuleCat.of k (↑A : Type (max u u_1))) : Type (max u u_1))) →
            (↑(ModuleCat.of k (G × G → (↑A : Type (max u u_1)))) : Type (max u u_1)))
        x x_1 :
      (↑A : Type (max u u_1)))

Tactic:
simp [Pi.zero_apply (M := fun _ => A)]

Premises used: Pi.zero_apply
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep.{u_1, u, u} k G
hf :
  ∀ (f : (↑(ModuleCat.of k (G → (↑A : Type u_1))) : Type (max u u_1))) (g : G × G × G),
    Eq.{u_1 + 1} (α := (↑A : Type u_1))
      ((ModuleCat.Hom.hom (d₁₂ A ≫ d₂₃ A) :
            (a : (↑(ModuleCat.of k (G → (↑A : Type u_1))) : Type (max u u_1))) →
              (↑(ModuleCat.of k (G × G × G → (↑A : Type u_1))) : Type (max u u_1)))
          f g :
        (↑A : Type u_1))
      ((ModuleCat.Hom.hom 0 :
            (a : (↑(ModuleCat.of k (G → (↑A : Type u_1))) : Type (max u u_1))) →
              (↑(ModuleCat.of k (G × G × G → (↑A : Type u_1))) : Type (max u u_1)))
          f g :
        (↑A : Type u_1))
⊢ d₁₂ A ≫ d₂₃ A = 0

Tactic:
ext f g
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep.{u_1, u, u} k G
f : (↑(ModuleCat.of k (G → (↑A : Type u_1))) : Type (max u u_1))
g : G × G × G
⊢ HAdd.hAdd (β := (↑A : Type u_1))
            (HSub.hSub (α := (↑A : Type u_1)) (β := (↑A : Type u_1))
              ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g.1 : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                    (a : (↑A : Type u_1)) → (↑A : Type u_1))
                  ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g.2.1 :
                          (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                        (a : (↑A : Type u_1)) → (↑A : Type u_1))
                      (f g.2.2) :
                    (↑A : Type u_1)) :
                (↑A : Type u_1))
              ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g.1 : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                    (a : (↑A : Type u_1)) → (↑A : Type u_1))
                  (f (g.2.1 * g.2.2)) :
                (↑A : Type u_1)))
            ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g.1 : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                  (a : (↑A : Type u_1)) → (↑A : Type u_1))
                (f g.2.1) :
              (↑A : Type u_1)) -
          (HSub.hSub (α := (↑A : Type u_1))
              ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g.1 : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                    (a : (↑A : Type u_1)) → (↑A : Type u_1))
                  ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g.2.1 :
                          (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                        (a : (↑A : Type u_1)) → (↑A : Type u_1))
                      (f g.2.2) :
                    (↑A : Type u_1)) :
                (↑A : Type u_1))
              (f (g.1 * (g.2.1 * g.2.2))) +
            f (g.1 * g.2.1)) +
        (HSub.hSub (α := (↑A : Type u_1))
            ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g.1 : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                  (a : (↑A : Type u_1)) → (↑A : Type u_1))
                (f (g.2.1 * g.2.2)) :
              (↑A : Type u_1))
            (f (g.1 * (g.2.1 * g.2.2))) +
          f g.1) -
      (HSub.hSub (α := (↑A : Type u_1))
          ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g.1 : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                (a : (↑A : Type u_1)) → (↑A : Type u_1))
              (f g.2.1) :
            (↑A : Type u_1))
          (f (g.1 * g.2.1)) +
        f g.1) =
    0

Tactic:
abel
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep.{u_1, u, u} k G
f : G → (↑A : Type u_1)
hf : f ∈ cocycles₁ A
⊢ (⇑(Subtype.mk (p := fun (x : G → (↑A : Type u_1)) ↦ x ∈ cocycles₁ A) f hf) : (a : G) → (↑A : Type u_1)) = f

Tactic:
rfl

Premises used: rfl
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep.{u_1, u, u} k G
f : ↥(cocycles₁ A)
⊢ (↑f : G → (↑A : Type u_1)) = (⇑f : (a : G) → (↑A : Type u_1))

Tactic:
rfl

Premises used: rfl
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep.{u_1, u, u} k G
f₁ f₂ : ↥(cocycles₁ A)
h :
  ∀ (g : G),
    Eq.{u_1 + 1} (α := (↑A : Type u_1)) ((f₁ : (a : G) → (↑A : Type u_1)) g : (↑A : Type u_1))
      ((f₂ : (a : G) → (↑A : Type u_1)) g : (↑A : Type u_1))
⊢ f₁ = f₂

Tactic:
DFunLike.ext f₁ f₂ h

Premises used: DFunLike.ext
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep.{u_1, u, u} k G
f : G → (↑A : Type u_1)
simp_rw :
  (∀ (a b : G),
      HSub.hSub (α := (↑A : Type u_1))
            ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) a : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                  (a : (↑A : Type u_1)) → (↑A : Type u_1))
                (f b) :
              (↑A : Type u_1))
            (f (a * b)) +
          f a =
        0 (a, b)) ↔
    ∀ (g h : G),
      HSub.hSub (α := (↑A : Type u_1))
            ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                  (a : (↑A : Type u_1)) → (↑A : Type u_1))
                (f h) :
              (↑A : Type u_1))
            (f (g * h)) +
          f g =
        0
⊢ Eq (α := (↑(ModuleCat.of k (G × G → (↑A : Type u_1))) : Type (max u u_1)))
      ((ModuleCat.Hom.hom (d₁₂ A) :
            (a : G → (↑A : Type u_1)) → (↑(ModuleCat.of k (G × G → (↑A : Type u_1))) : Type (max u u_1)))
          f :
        (↑(ModuleCat.of k (G × G → (↑A : Type u_1))) : Type (max u u_1)))
      (0 : (↑(ModuleCat.of k (G × G → (↑A : Type u_1))) : Type (max u u_1))) ↔
    ∀ (g h : G),
      HSub.hSub (α := (↑A : Type u_1))
            ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                  (a : (↑A : Type u_1)) → (↑A : Type u_1))
                (f h) :
              (↑A : Type u_1))
            (f (g * h)) +
          f g =
        0

Tactic:
simp_rw [funext_iff, d₁₂_hom_apply, Prod.forall]

Premises used: groupCohomology.d₁₂_hom_apply, funext_iff, Prod.forall
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep.{u_1, u, u} k G
f : G → (↑A : Type u_1)
⊢ (∀ (a b : G),
      HSub.hSub (α := (↑A : Type u_1))
            ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) a : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                  (a : (↑A : Type u_1)) → (↑A : Type u_1))
                (f b) :
              (↑A : Type u_1))
            (f (a * b)) +
          f a =
        0 (a, b)) ↔
    ∀ (g h : G),
      HSub.hSub (α := (↑A : Type u_1))
            ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                  (a : (↑A : Type u_1)) → (↑A : Type u_1))
                (f h) :
              (↑A : Type u_1))
            (f (g * h)) +
          f g =
        0

Tactic:
rfl
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep.{u_1, u, u} k G
f : G → (↑A : Type u_1)
simp_rw :
  (∀ (g h : G),
      HSub.hSub (α := (↑A : Type u_1))
            ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                  (a : (↑A : Type u_1)) → (↑A : Type u_1))
                (f h) :
              (↑A : Type u_1))
            (f (g * h)) +
          f g =
        0) ↔
    ∀ (g h : G),
      f (g * h) =
        HAdd.hAdd (α := (↑A : Type u_1))
          ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                (a : (↑A : Type u_1)) → (↑A : Type u_1))
              (f h) :
            (↑A : Type u_1))
          (f g)
simp_rw₁ :
  (∀ (g h : G),
      HAdd.hAdd (α := (↑A : Type u_1))
            ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                  (a : (↑A : Type u_1)) → (↑A : Type u_1))
                (f h) :
              (↑A : Type u_1))
            (f g) -
          f (g * h) =
        0) ↔
    ∀ (g h : G),
      f (g * h) =
        HAdd.hAdd (α := (↑A : Type u_1))
          ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                (a : (↑A : Type u_1)) → (↑A : Type u_1))
              (f h) :
            (↑A : Type u_1))
          (f g)
simp_rw₂ :
  (∀ (g h : G),
      HAdd.hAdd (α := (↑A : Type u_1))
          ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                (a : (↑A : Type u_1)) → (↑A : Type u_1))
              (f h) :
            (↑A : Type u_1))
          (f g) =
        f (g * h)) ↔
    ∀ (g h : G),
      f (g * h) =
        HAdd.hAdd (α := (↑A : Type u_1))
          ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                (a : (↑A : Type u_1)) → (↑A : Type u_1))
              (f h) :
            (↑A : Type u_1))
          (f g)
⊢ f ∈ cocycles₁ A ↔
    ∀ (g h : G),
      f (g * h) =
        HAdd.hAdd (α := (↑A : Type u_1))
          ((((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) g : (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) :
                (a : (↑A : Type u_1)) → (↑A : Type u_1))
              (f h) :
            (↑A : Type u_1))
          (f g)

Tactic:
simp_rw [mem_cocycles₁_def, sub_add_eq_add_sub, sub_eq_zero, eq_comm]

Premises used: groupCohomology.mem_cocycles₁_def, sub_eq_zero, eq_comm, sub_add_eq_add_sub
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep.{u_1, u, u} k G
f : ↥(cocycles₁ A)
⊢ HSub.hSub (α := (↑A : Type u_1)) (β := (↑A : Type u_1))
        (((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) 1 : (a : (↑A : Type u_1)) → (↑A : Type u_1))
            ((f : (a : G) → (↑A : Type u_1)) 1) :
          (↑A : Type u_1))
        ((f : (a : G) → (↑A : Type u_1)) (HMul.hMul (α := G) 1 1) : (↑A : Type u_1)) +
      (f : (a : G) → (↑A : Type u_1)) 1 =
    0

Tactic:
have := (mem_cocycles₁_def f).1 f.2 1 1
-- Module: Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep.{u_1, u, u} k G
f : ↥(cocycles₁ A)
this :
  HSub.hSub (α := (↑A : Type u_1)) (β := (↑A : Type u_1))
        (((A.ρ : (a : G) → (↑A : Type u_1) →ₗ[k] (↑A : Type u_1)) 1 : (a : (↑A : Type u_1)) → (↑A : Type u_1))
            ((f : (a : G) → (↑A : Type u_1)) 1) :
          (↑A : Type u_1))
        ((f : (a : G) → (↑A : Type u_1)) (HMul.hMul (α := G) 1 1) : (↑A : Type u_1)) +
      (f : (a : G) → (↑A : Type u_1)) 1 =
    0
⊢ Eq.{u_1 + 1} (α := (↑A : Type u_1)) ((f : (a : G) → (↑A : Type u_1)) 1) 0

Tactic:
simpa only [map_one, Module.End.one_apply, mul_one, sub_self, zero_add] using this

Premises used: sub_self, zero_add, Module.End.one_apply, map_one, mul_one