awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : (i : ι) → DivisionRing (G i)
inst_7 : DivisionRing C
inst_8 : ∀ (i j : ι) (h : i ≤ j), RingHomClass.{u_6, u_3, u_3} (T h) (G i) (G j)
inst_9 : ∀ (i : ι), RingHomClass.{u_4, u_3, u_5} (H i) (G i) C
g : (i : ι) → H i
h :
  ∀ (i j : ι) (h : i ≤ j) (x : G i),
    Eq.{u_5 + 1} (α := C) ((fun (x : ι) ↦ ((⇑(g x) : (a : G x) → C) : (a : G x) → C)) i x)
      ((fun (x : ι) ↦ ((⇑(g x) : (a : G x) → C) : (a : G x) → C)) j ((f i j h : (a : G i) → G j) x))
q : ℚ
i : ι
⊢ DirectLimit.lift (F := G) (T := T) f (fun (x : ι) ↦ (⇑(g x) : (a : G x) → C)) h (↑q : DirectLimit G f) = (↑q : C)
have rw : DirectLimit.lift (F := G) (T := T) f (fun (x : ι) ↦ (⇑(g x) : (a : G x) → C)) h
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (↑q : G i)⟧ =
  (↑q : C)
Tactic: rw [ratCast_def, lift_def, map_ratCast (g i)]
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : (i : ι) → DivisionRing (G i)
inst_7 : DivisionRing C
inst_8 : ∀ (i j : ι) (h : i ≤ j), RingHomClass.{u_6, u_3, u_3} (T h) (G i) (G j)
inst_9 : ∀ (i : ι), RingHomClass.{u_4, u_3, u_5} (H i) (G i) C
g : (i : ι) → H i
h :
  ∀ (i j : ι) (h : i ≤ j) (x : G i),
    Eq.{u_5 + 1} (α := C) ((fun (x : ι) ↦ ((⇑(g x) : (a : G x) → C) : (a : G x) → C)) i x)
      ((fun (x : ι) ↦ ((⇑(g x) : (a : G x) → C) : (a : G x) → C)) j ((f i j h : (a : G i) → G j) x))
q : ℚ
i : ι
rw :
  DirectLimit.lift (F := G) (T := T) f (fun (x : ι) ↦ (⇑(g x) : (a : G x) → C)) h
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (↑q : G i)⟧ =
    (↑q : C)
i₁ : ι
⊢ DirectLimit.lift (F := G) (T := T) f (fun (x : ι) ↦ (⇑(g x) : (a : G x) → C)) h (↑q : DirectLimit G f) = (↑q : C)
have rw₁ : Eq.{u_5 + 1} (α := C)
  ((g (Sigma.fst (β := fun (i : ι) ↦ G i) (Sigma.mk (β := fun (i : ι) ↦ G i) i (↑q : G i))) :
        (a : G ⟨i, (↑q : G i)⟩.fst) → C)
      (Sigma.snd (β := fun (i : ι) ↦ G i) (Sigma.mk (β := fun (i : ι) ↦ G i) i (↑q : G i))) :
    C)
  ((↑q : C) : C)
Tactic: rw [ratCast_def, lift_def, map_ratCast (g i)]
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : (i : ι) → DivisionRing (G i)
inst_7 : DivisionRing C
inst_8 : ∀ (i j : ι) (h : i ≤ j), RingHomClass.{u_6, u_3, u_3} (T h) (G i) (G j)
inst_9 : ∀ (i : ι), RingHomClass.{u_4, u_3, u_5} (H i) (G i) C
g : (i : ι) → H i
h :
  ∀ (i j : ι) (h : i ≤ j) (x : G i),
    Eq.{u_5 + 1} (α := C) ((fun (x : ι) ↦ ((⇑(g x) : (a : G x) → C) : (a : G x) → C)) i x)
      ((fun (x : ι) ↦ ((⇑(g x) : (a : G x) → C) : (a : G x) → C)) j ((f i j h : (a : G i) → G j) x))
q : ℚ
i : ι
rw :
  DirectLimit.lift (F := G) (T := T) f (fun (x : ι) ↦ (⇑(g x) : (a : G x) → C)) h
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (↑q : G i)⟧ =
    (↑q : C)
i₁ : ι
rw₁ :
  Eq.{u_5 + 1} (α := C)
    ((g (Sigma.fst (β := fun (i : ι) ↦ G i) (Sigma.mk (β := fun (i : ι) ↦ G i) i (↑q : G i))) :
          (a : G ⟨i, (↑q : G i)⟩.fst) → C)
        (Sigma.snd (β := fun (i : ι) ↦ G i) (Sigma.mk (β := fun (i : ι) ↦ G i) i (↑q : G i))) :
      C)
    ((↑q : C) : C)
i₂ : ι
⊢ DirectLimit.lift (F := G) (T := T) f (fun (x : ι) ↦ (⇑(g x) : (a : G x) → C)) h (↑q : DirectLimit G f) = (↑q : C)
have rw₂ : Eq.{u_5 + 1} (α := C) (↑q : C) (↑q : C)
Tactic: rw [ratCast_def, lift_def, map_ratCast (g i)]
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : CommSemiring R
inst_7 : (i : ι) → Semiring (G i)
inst_8 : (i : ι) → Algebra.{u_1, u_3} R (G i)
inst_9 : ∀ (i j : ι) (h : i ≤ j), AlgHomClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
r : R
i : ι
x : G i
⊢ HMul.hMul (α := DirectLimit G (T := T) f) (β := DirectLimit G (T := T) f)
      (((RingHom.comp (map₀RingHom (G := G) (T := T) f) (algebraMap R ((i : ι) → G i)) :
              R →+* DirectLimit G (T := T) f) :
            (a : R) → DirectLimit G f)
          r :
        DirectLimit G (T := T) f)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) (β := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
      (((RingHom.comp (map₀RingHom (G := G) (T := T) f) (algebraMap R ((i : ι) → G i)) :
              R →+* DirectLimit G (T := T) f) :
            (a : R) → DirectLimit G f)
          r :
        DirectLimit G (T := T) f)
have dsimp : HMul.hMul (α := DirectLimit G (T := T) f)
    (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
  HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
    (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
Tactic: dsimp [Pi.algebraMap_def]
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : CommSemiring R
inst_7 : (i : ι) → Semiring (G i)
inst_8 : (i : ι) → Algebra.{u_1, u_3} R (G i)
inst_9 : ∀ (i j : ι) (h : i ≤ j), AlgHomClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
r : R
i : ι
x : G i
⊢ HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
have rw : HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
  HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
Tactic: rw [map₀_algebraMap i, mul_def, mul_def, Algebra.commutes]
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : CommSemiring R
inst_7 : (i : ι) → Semiring (G i)
inst_8 : (i : ι) → Algebra.{u_1, u_3} R (G i)
inst_9 : ∀ (i j : ι) (h : i ≤ j), AlgHomClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
r : R
i : ι
x : G i
rw :
  HMul.hMul (α := DirectLimit G (T := T) f)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
⊢ HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
have rw₁ : ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (α := G i) ((algebraMap R (G i) : (a : R) → G i) r : G i) x)⟧ =
  HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
Tactic: rw [map₀_algebraMap i, mul_def, mul_def, Algebra.commutes]
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : CommSemiring R
inst_7 : (i : ι) → Semiring (G i)
inst_8 : (i : ι) → Algebra.{u_1, u_3} R (G i)
inst_9 : ∀ (i j : ι) (h : i ≤ j), AlgHomClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
r : R
i : ι
x : G i
rw :
  HMul.hMul (α := DirectLimit G (T := T) f)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
rw₁ :
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (α := G i) ((algebraMap R (G i) : (a : R) → G i) r : G i) x)⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
⊢ HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
have rw₂ : Eq (α := DirectLimit G (T := T) f)
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (α := G i) ((algebraMap R (G i) : (a : R) → G i) r : G i) x)⟧
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (β := G i) x ((algebraMap R (G i) : (a : R) → G i) r : G i))⟧
Tactic: rw [map₀_algebraMap i, mul_def, mul_def, Algebra.commutes]
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : CommSemiring R
inst_7 : (i : ι) → Semiring (G i)
inst_8 : (i : ι) → Algebra.{u_1, u_3} R (G i)
inst_9 : ∀ (i j : ι) (h : i ≤ j), AlgHomClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
r : R
i : ι
x : G i
rw :
  HMul.hMul (α := DirectLimit G (T := T) f)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
rw₁ :
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (α := G i) ((algebraMap R (G i) : (a : R) → G i) r : G i) x)⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
rw₂ :
  Eq (α := DirectLimit G (T := T) f)
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (α := G i) ((algebraMap R (G i) : (a : R) → G i) r : G i) x)⟧
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (β := G i) x ((algebraMap R (G i) : (a : R) → G i) r : G i))⟧
⊢ HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
have rw₃ : Eq (α := DirectLimit G (T := T) f)
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (β := G i) x ((algebraMap R (G i) : (a : R) → G i) r : G i))⟧
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (β := G i) x ((algebraMap R (G i) : (a : R) → G i) r : G i))⟧
Tactic: rw [map₀_algebraMap i, mul_def, mul_def, Algebra.commutes]
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : CommSemiring R
inst_7 : (i : ι) → Semiring (G i)
inst_8 : (i : ι) → Algebra.{u_1, u_3} R (G i)
inst_9 : ∀ (i j : ι) (h : i ≤ j), AlgHomClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
r : R
i : ι
x : G i
⊢ HSMul.hSMul (β := DirectLimit G (T := T) f) r ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f) (β := DirectLimit G (T := T) f)
      (((RingHom.comp (map₀RingHom (G := G) (T := T) f) (algebraMap R ((i : ι) → G i)) :
              R →+* DirectLimit G (T := T) f) :
            (a : R) → DirectLimit G f)
          r :
        DirectLimit G (T := T) f)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
have dsimp : HSMul.hSMul (β := DirectLimit G (T := T) f) r ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
  HMul.hMul (α := DirectLimit G (T := T) f)
    (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
Tactic: dsimp [Pi.algebraMap_def]
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : CommSemiring R
inst_7 : (i : ι) → Semiring (G i)
inst_8 : (i : ι) → Algebra.{u_1, u_3} R (G i)
inst_9 : ∀ (i j : ι) (h : i ≤ j), AlgHomClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
r : R
i : ι
x : G i
⊢ HSMul.hSMul (β := DirectLimit G (T := T) f) r ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
have rw : ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (r • x)⟧ =
  HMul.hMul (α := DirectLimit G (T := T) f)
    (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
Tactic: rw [smul_def, map₀_algebraMap i, mul_def, Algebra.smul_def']
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : CommSemiring R
inst_7 : (i : ι) → Semiring (G i)
inst_8 : (i : ι) → Algebra.{u_1, u_3} R (G i)
inst_9 : ∀ (i j : ι) (h : i ≤ j), AlgHomClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
r : R
i : ι
x : G i
rw :
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (r • x)⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
⊢ HSMul.hSMul (β := DirectLimit G (T := T) f) r ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
have rw₁ : ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (r • x)⟧ =
  HMul.hMul (α := DirectLimit G (T := T) f)
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
Tactic: rw [smul_def, map₀_algebraMap i, mul_def, Algebra.smul_def']
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : CommSemiring R
inst_7 : (i : ι) → Semiring (G i)
inst_8 : (i : ι) → Algebra.{u_1, u_3} R (G i)
inst_9 : ∀ (i j : ι) (h : i ≤ j), AlgHomClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
r : R
i : ι
x : G i
rw :
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (r • x)⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
rw₁ :
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (r • x)⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
⊢ HSMul.hSMul (β := DirectLimit G (T := T) f) r ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
have rw₂ : Eq (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (r • x)⟧
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (α := G i) ((algebraMap R (G i) : (a : R) → G i) r : G i) x)⟧
Tactic: rw [smul_def, map₀_algebraMap i, mul_def, Algebra.smul_def']
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
H : ι → Type u_4
C : Type u_5
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : (i : ι) → FunLike.{u_4 + 1, u_3 + 1, u_5 + 1} (H i) (G i) C
inst_3 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_4 : IsDirectedOrder ι
inst_5 : Nonempty ι
inst_6 : CommSemiring R
inst_7 : (i : ι) → Semiring (G i)
inst_8 : (i : ι) → Algebra.{u_1, u_3} R (G i)
inst_9 : ∀ (i j : ι) (h : i ≤ j), AlgHomClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
r : R
i : ι
x : G i
rw :
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (r • x)⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
rw₁ :
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (r • x)⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i ((algebraMap R (G i) : (a : R) → G i) r)⟧
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
rw₂ :
  Eq (α := DirectLimit G (T := T) f) ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (r • x)⟧
    ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (α := G i) ((algebraMap R (G i) : (a : R) → G i) r : G i) x)⟧
⊢ HSMul.hSMul (β := DirectLimit G (T := T) f) r ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧ =
    HMul.hMul (α := DirectLimit G (T := T) f)
      (map₀ (F := G) (T := T) f fun (i : ι) ↦ (algebraMap R (G i) : (a : R) → G i) r)
      ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i x⟧
have rw₃ : Eq (α := DirectLimit G (T := T) f)
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (α := G i) ((algebraMap R (G i) : (a : R) → G i) r : G i) x)⟧
  ⟦Sigma.mk (β := fun (i : ι) ↦ G i) i (HMul.hMul (α := G i) ((algebraMap R (G i) : (a : R) → G i) r : G i) x)⟧
Tactic: rw [smul_def, map₀_algebraMap i, mul_def, Algebra.smul_def']
-- Lean 4 proof step from Mathlib.Algebra.Colimit.DirectLimit (goal)
Goal:
R : Type u_1
ι : Type u_2
inst : Preorder ι
G : ι → Type u_3
T : ⦃i j : ι⦄ → i ≤ j → Type u_6
f : (x x_1 : ι) → (h : x ≤ x_1) → T h
inst_1 : (i j : ι) → (h : i ≤ j) → FunLike.{u_6 + 1, u_3 + 1, u_3 + 1} (T h) (G i) (G j)
inst_2 : DirectedSystem G fun (x1 x2 : ι) (x3 : x1 ≤ x2) ↦ (⇑(f x1 x2 x3) : (a : G x1) → G x2)
inst_3 : IsDirectedOrder ι
inst_4 : Semiring R
inst_5 : (i : ι) → AddCommMonoid (G i)
inst_6 : (i : ι) → Module.{u_1, u_3} R (G i)
inst_7 : ∀ (i j : ι) (h : i ≤ j), LinearMapClass.{u_6, u_1, u_3, u_3} (T h) R (G i) (G j)
inst_8 : Nonempty ι
P : Type u_7
inst_9 : AddCommMonoid P
inst_10 : Module R P
g₁ g₂ : DirectLimit G (T := T) f →ₗ[R] P
h : ∀ (i : ι), g₁ ∘ₗ of R ι G (T := T) f i = g₂ ∘ₗ of R ι G (T := T) f i
⊢ g₁ = g₂
have h₁ : ∀ (x : DirectLimit G (T := T) f),
  Eq.{u_7 + 1} (α := P) ((g₁ : (a : DirectLimit G f) → P) x : P) ((g₂ : (a : DirectLimit G f) → P) x : P)
Tactic: ext x