awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.CartanMatrix (goal)
Goal:
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst : CommRing R
inst_1 : AddCommGroup M
inst_2 : Module R M
inst_3 : AddCommGroup N
inst_4 : Module R N
P : RootPairing ι R M N
b : P.Base
inst_5 : P.IsCrystallographic
inst_6 : CharZero R
inst_7 : IsDomain R
inst_8 : Finite ι
inst_9 : P.IsReduced
inst_10 : P.IsIrreducible
p : ↥b.support → Prop
i j : ↥b.support
hi : p i
hp : ∀ (i j : ↥b.support), p i → b.cartanMatrix j i ≠ 0 → p j
q : Submodule R M :=
  span R
    (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
      {i : ↥b.support | p i})
hq₀ : q ≠ ⊥
hq_mem : ∀ (k : ↥b.support), Membership.mem (α := M) q ((P.root : (a : ι) → M) (↑k : ι) : M) ↔ p k
k : ↥b.support
x_1 x y : M
hx :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    x
hy :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    y
hx' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
hy' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
hk :
  Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R) ∨
    Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)
add :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₁ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
⊢ p k
have add₂ : ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
  (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
Tactic: tauto
Cleared hypotheses: hx', hy', hk
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.CartanMatrix (goal)
Goal:
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst : CommRing R
inst_1 : AddCommGroup M
inst_2 : Module R M
inst_3 : AddCommGroup N
inst_4 : Module R N
P : RootPairing ι R M N
b : P.Base
inst_5 : P.IsCrystallographic
inst_6 : CharZero R
inst_7 : IsDomain R
inst_8 : Finite ι
inst_9 : P.IsReduced
inst_10 : P.IsIrreducible
p : ↥b.support → Prop
i j : ↥b.support
hi : p i
hp : ∀ (i j : ↥b.support), p i → b.cartanMatrix j i ≠ 0 → p j
q : Submodule R M :=
  span R
    (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
      {i : ↥b.support | p i})
hq₀ : q ≠ ⊥
hq_mem : ∀ (k : ↥b.support), Membership.mem (α := M) q ((P.root : (a : ι) → M) (↑k : ι) : M) ↔ p k
k : ↥b.support
x_1 x y : M
hx :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    x
hy :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    y
hx' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
hy' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
hk :
  Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R) ∨
    Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)
add :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₁ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
add₂ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
⊢ p k
have add₃ : ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
  (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
Tactic: tauto
Cleared hypotheses: hx', hy', hk
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.CartanMatrix (goal)
Goal:
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst : CommRing R
inst_1 : AddCommGroup M
inst_2 : Module R M
inst_3 : AddCommGroup N
inst_4 : Module R N
P : RootPairing ι R M N
b : P.Base
inst_5 : P.IsCrystallographic
inst_6 : CharZero R
inst_7 : IsDomain R
inst_8 : Finite ι
inst_9 : P.IsReduced
inst_10 : P.IsIrreducible
p : ↥b.support → Prop
i j : ↥b.support
hi : p i
hp : ∀ (i j : ↥b.support), p i → b.cartanMatrix j i ≠ 0 → p j
q : Submodule R M :=
  span R
    (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
      {i : ↥b.support | p i})
hq₀ : q ≠ ⊥
hq_mem : ∀ (k : ↥b.support), Membership.mem (α := M) q ((P.root : (a : ι) → M) (↑k : ι) : M) ↔ p k
k : ↥b.support
x_1 x y : M
hx :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    x
hy :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    y
hx' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
hy' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
hk :
  Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R) ∨
    Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)
add :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₁ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
add₂ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₃ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
⊢ p k
have add₄ : ∀ (hx' : p k) (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
  (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
Tactic: tauto
Cleared hypotheses: hx', hy', hk
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.CartanMatrix (goal)
Goal:
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst : CommRing R
inst_1 : AddCommGroup M
inst_2 : Module R M
inst_3 : AddCommGroup N
inst_4 : Module R N
P : RootPairing ι R M N
b : P.Base
inst_5 : P.IsCrystallographic
inst_6 : CharZero R
inst_7 : IsDomain R
inst_8 : Finite ι
inst_9 : P.IsReduced
inst_10 : P.IsIrreducible
p : ↥b.support → Prop
i j : ↥b.support
hi : p i
hp : ∀ (i j : ↥b.support), p i → b.cartanMatrix j i ≠ 0 → p j
q : Submodule R M :=
  span R
    (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
      {i : ↥b.support | p i})
hq₀ : q ≠ ⊥
hq_mem : ∀ (k : ↥b.support), Membership.mem (α := M) q ((P.root : (a : ι) → M) (↑k : ι) : M) ↔ p k
k : ↥b.support
x_1 x y : M
hx :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    x
hy :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    y
hx' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
hy' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
hk :
  Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R) ∨
    Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)
add :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₁ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
add₂ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₃ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
add₄ :
  ∀ (hx' : p k) (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
⊢ p k
have add₅ : ∀ (hx' : p k) (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
  (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
Tactic: tauto
Cleared hypotheses: hx', hy', hk
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.CartanMatrix (goal)
Goal:
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst : CommRing R
inst_1 : AddCommGroup M
inst_2 : Module R M
inst_3 : AddCommGroup N
inst_4 : Module R N
P : RootPairing ι R M N
b : P.Base
inst_5 : P.IsCrystallographic
inst_6 : CharZero R
inst_7 : IsDomain R
inst_8 : Finite ι
inst_9 : P.IsReduced
inst_10 : P.IsIrreducible
p : ↥b.support → Prop
i j : ↥b.support
hi : p i
hp : ∀ (i j : ↥b.support), p i → b.cartanMatrix j i ≠ 0 → p j
q : Submodule R M :=
  span R
    (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
      {i : ↥b.support | p i})
hq₀ : q ≠ ⊥
hq_mem : ∀ (k : ↥b.support), Membership.mem (α := M) q ((P.root : (a : ι) → M) (↑k : ι) : M) ↔ p k
k : ↥b.support
x_1 x y : M
hx :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    x
hy :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    y
hx' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
hy' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
hk :
  Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R) ∨
    Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)
add :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₁ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
add₂ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₃ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
add₄ :
  ∀ (hx' : p k) (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₅ :
  ∀ (hx' : p k) (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
⊢ p k
have add₆ : ∀ (hx' hy' : p k) (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
Tactic: tauto
Cleared hypotheses: hx', hy', hk
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.CartanMatrix (goal)
Goal:
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst : CommRing R
inst_1 : AddCommGroup M
inst_2 : Module R M
inst_3 : AddCommGroup N
inst_4 : Module R N
P : RootPairing ι R M N
b : P.Base
inst_5 : P.IsCrystallographic
inst_6 : CharZero R
inst_7 : IsDomain R
inst_8 : Finite ι
inst_9 : P.IsReduced
inst_10 : P.IsIrreducible
p : ↥b.support → Prop
i j : ↥b.support
hi : p i
hp : ∀ (i j : ↥b.support), p i → b.cartanMatrix j i ≠ 0 → p j
q : Submodule R M :=
  span R
    (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
      {i : ↥b.support | p i})
hq₀ : q ≠ ⊥
hq_mem : ∀ (k : ↥b.support), Membership.mem (α := M) q ((P.root : (a : ι) → M) (↑k : ι) : M) ↔ p k
k : ↥b.support
x_1 x y : M
hx :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    x
hy :
  Membership.mem (γ := Submodule R M)
    (span R
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i}))
    y
hx' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
hy' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
hk :
  Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R) ∨
    Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)
add :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₁ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R))
    (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
add₂ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₃ :
  ∀ (hx' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)) (hy' : p k)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
add₄ :
  ∀ (hx' : p k) (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
add₅ :
  ∀ (hx' : p k) (hy' : ¬Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R))
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
add₆ : ∀ (hx' hy' : p k) (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
⊢ p k
have add₇ : ∀ (hx' hy' : p k) (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k
Tactic: tauto
Cleared hypotheses: hx', hy', hk
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.CartanMatrix (goal)
Goal:
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst : CommRing R
inst_1 : AddCommGroup M
inst_2 : Module R M
inst_3 : AddCommGroup N
inst_4 : Module R N
P : RootPairing ι R M N
b : P.Base
inst_5 : P.IsCrystallographic
inst_6 : CharZero R
inst_7 : IsDomain R
inst_8 : Finite ι
inst_9 : P.IsReduced
inst_10 : P.IsIrreducible
p : ↥b.support → Prop
i j : ↥b.support
hi : p i
hp : ∀ (i j : ↥b.support), p i → b.cartanMatrix j i ≠ 0 → p j
q : Submodule R M :=
  span R
    (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
      {i : ↥b.support | p i})
hq₀ : q ≠ ⊥
hq_mem : ∀ (k : ↥b.support), Membership.mem (α := M) q ((P.root : (a : ι) → M) (↑k : ι) : M) ↔ p k
k : ↥b.support
x : M
hx : x ∈ q
hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)
⊢ p k
have mem : ∀ (x : M)
  (hx :
    Membership.mem (γ := Set M)
      (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
        {i : ↥b.support | p i})
      x)
  (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
Tactic: induction hx using Submodule.span_induction with
    | mem x hx =>
      obtain ⟨l, hl, rfl⟩ : ∃ l : b.support, p l ∧ P.root l = x := by simp_all
      replace hk : b.cartanMatrix k l ≠ 0 := by
        rwa [ne_eq, cartanMatrix_apply_eq_zero_iff_symm, cartanMatrix_apply_eq_zero_iff_pairing]
      tauto
    | zero => simp_all
    | add x y hx hy hx' hy' =>
      replace hk : P.coroot' k x ≠ 0 ∨ P.coroot' k y ≠ 0 := by by_contra! contra; simp_all
      tauto
    | smul a x hx hx' => simp_all
Cleared hypotheses: hx, hk
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.CartanMatrix (goal)
Goal:
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst : CommRing R
inst_1 : AddCommGroup M
inst_2 : Module R M
inst_3 : AddCommGroup N
inst_4 : Module R N
P : RootPairing ι R M N
b : P.Base
inst_5 : P.IsCrystallographic
inst_6 : CharZero R
inst_7 : IsDomain R
inst_8 : Finite ι
inst_9 : P.IsReduced
inst_10 : P.IsIrreducible
p : ↥b.support → Prop
i j : ↥b.support
hi : p i
hp : ∀ (i j : ↥b.support), p i → b.cartanMatrix j i ≠ 0 → p j
q : Submodule R M :=
  span R
    (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
      {i : ↥b.support | p i})
hq₀ : q ≠ ⊥
hq_mem : ∀ (k : ↥b.support), Membership.mem (α := M) q ((P.root : (a : ι) → M) (↑k : ι) : M) ↔ p k
k : ↥b.support
x : M
hx : x ∈ q
hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)
mem :
  ∀ (x : M)
    (hx :
      Membership.mem (γ := Set M)
        (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
          {i : ↥b.support | p i})
        x)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
⊢ p k
have zero : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) 0 : R) (0 : R)), p k
Tactic: induction hx using Submodule.span_induction with
    | mem x hx =>
      obtain ⟨l, hl, rfl⟩ : ∃ l : b.support, p l ∧ P.root l = x := by simp_all
      replace hk : b.cartanMatrix k l ≠ 0 := by
        rwa [ne_eq, cartanMatrix_apply_eq_zero_iff_symm, cartanMatrix_apply_eq_zero_iff_pairing]
      tauto
    | zero => simp_all
    | add x y hx hy hx' hy' =>
      replace hk : P.coroot' k x ≠ 0 ∨ P.coroot' k y ≠ 0 := by by_contra! contra; simp_all
      tauto
    | smul a x hx hx' => simp_all
Cleared hypotheses: hx, hk
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.CartanMatrix (goal)
Goal:
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst : CommRing R
inst_1 : AddCommGroup M
inst_2 : Module R M
inst_3 : AddCommGroup N
inst_4 : Module R N
P : RootPairing ι R M N
b : P.Base
inst_5 : P.IsCrystallographic
inst_6 : CharZero R
inst_7 : IsDomain R
inst_8 : Finite ι
inst_9 : P.IsReduced
inst_10 : P.IsIrreducible
p : ↥b.support → Prop
i j : ↥b.support
hi : p i
hp : ∀ (i j : ↥b.support), p i → b.cartanMatrix j i ≠ 0 → p j
q : Submodule R M :=
  span R
    (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
      {i : ↥b.support | p i})
hq₀ : q ≠ ⊥
hq_mem : ∀ (k : ↥b.support), Membership.mem (α := M) q ((P.root : (a : ι) → M) (↑k : ι) : M) ↔ p k
k : ↥b.support
x : M
hx : x ∈ q
hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)
mem :
  ∀ (x : M)
    (hx :
      Membership.mem (γ := Set M)
        (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
          {i : ↥b.support | p i})
        x)
    (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k
zero : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) 0 : R) (0 : R)), p k
⊢ p k
have add : ∀ (x y : M)
  (hx :
    Membership.mem (γ := Submodule R M)
      (span R
        (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
          {i : ↥b.support | p i}))
      x)
  (hy :
    Membership.mem (γ := Submodule R M)
      (span R
        (image.{u_1, u_3} (α := ↥b.support) ((⇑P.root : (a : ι) → M) ∘ Subtype.val (p := fun (x : ι) ↦ x ∈ b.support))
          {i : ↥b.support | p i}))
      y)
  (hx' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) x : R) (0 : R)), p k)
  (hy' : ∀ (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) y : R) (0 : R)), p k)
  (hk : Ne.{u_2 + 1} (α := R) ((P.coroot' (↑k : ι) : (a : M) → R) (x + y) : R) (0 : R)), p k
Tactic: induction hx using Submodule.span_induction with
    | mem x hx =>
      obtain ⟨l, hl, rfl⟩ : ∃ l : b.support, p l ∧ P.root l = x := by simp_all
      replace hk : b.cartanMatrix k l ≠ 0 := by
        rwa [ne_eq, cartanMatrix_apply_eq_zero_iff_symm, cartanMatrix_apply_eq_zero_iff_pairing]
      tauto
    | zero => simp_all
    | add x y hx hy hx' hy' =>
      replace hk : P.coroot' k x ≠ 0 ∨ P.coroot' k y ≠ 0 := by by_contra! contra; simp_all
      tauto
    | smul a x hx hx' => simp_all
Cleared hypotheses: hx, hk