awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
⊢ B.rootLength i ≤ B.rootLength j
have h : Membership.mem (γ := Set (ℤ × ℤ)) {(1, 1), (1, 2), (1, 3), (1, 4), (-1, -1), (-1, -2), (-1, -3), (-1, -4)}
  (P.pairingIn ℤ i j, P.pairingIn ℤ j i)
Tactic: have h : (P.pairingIn ℤ i j, P.pairingIn ℤ j i) ∈
      ({(1, 1), (1, 2), (1, 3), (1, 4), (-1, -1), (-1, -2), (-1, -3), (-1, -4)} : Set (ℤ × ℤ)) := by
    have := P.pairingIn_pairingIn_mem_set_of_isCrystallographic i j
    aesop
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  Membership.mem (γ := Set (ℤ × ℤ)) {(1, 1), (1, 2), (1, 3), (1, 4), (-1, -1), (-1, -2), (-1, -3), (-1, -4)}
    (P.pairingIn ℤ i j, P.pairingIn ℤ j i)
⊢ B.rootLength i ≤ B.rootLength j
have h₁ : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
        P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
Tactic: simp only [mem_insert_iff, mem_singleton_iff, Prod.mk_one_one, Prod.mk_eq_one, Prod.mk.injEq] at h
Cleared hypotheses: h
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
        P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
              P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
⊢ B.rootLength i ≤ B.rootLength j
have h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
Tactic: have h' := B.pairingIn_mul_eq_pairingIn_mul_swap i j
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
        P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
              P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
⊢ B.rootLength i ≤ B.rootLength j
have hi : 0 < B.rootLength i
Tactic: have hi := B.rootLength_pos i
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
        P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
              P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
⊢ B.rootLength i ≤ B.rootLength j
have inl : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1), B.rootLength i ≤ B.rootLength j
Tactic: rcases h with hij' | hij' | hij' | hij' | hij' | hij' | hij' | hij'
Cleared hypotheses: h
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
        P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
              P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
inl : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1), B.rootLength i ≤ B.rootLength j
⊢ B.rootLength i ≤ B.rootLength j
have inr : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2), B.rootLength i ≤ B.rootLength j
Tactic: rcases h with hij' | hij' | hij' | hij' | hij' | hij' | hij' | hij'
Cleared hypotheses: h
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
        P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
              P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
inl : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1), B.rootLength i ≤ B.rootLength j
inr : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2), B.rootLength i ≤ B.rootLength j
⊢ B.rootLength i ≤ B.rootLength j
have inr₁ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3), B.rootLength i ≤ B.rootLength j
Tactic: rcases h with hij' | hij' | hij' | hij' | hij' | hij' | hij' | hij'
Cleared hypotheses: h
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
        P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
              P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
inl : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1), B.rootLength i ≤ B.rootLength j
inr : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2), B.rootLength i ≤ B.rootLength j
inr₁ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3), B.rootLength i ≤ B.rootLength j
⊢ B.rootLength i ≤ B.rootLength j
have inr₂ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4), B.rootLength i ≤ B.rootLength j
Tactic: rcases h with hij' | hij' | hij' | hij' | hij' | hij' | hij' | hij'
Cleared hypotheses: h
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
        P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
              P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
inl : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1), B.rootLength i ≤ B.rootLength j
inr : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2), B.rootLength i ≤ B.rootLength j
inr₁ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3), B.rootLength i ≤ B.rootLength j
inr₂ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4), B.rootLength i ≤ B.rootLength j
⊢ B.rootLength i ≤ B.rootLength j
have inr₃ : ∀ (hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1), B.rootLength i ≤ B.rootLength j
Tactic: rcases h with hij' | hij' | hij' | hij' | hij' | hij' | hij' | hij'
Cleared hypotheses: h
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
        P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
              P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
inl : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1), B.rootLength i ≤ B.rootLength j
inr : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2), B.rootLength i ≤ B.rootLength j
inr₁ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3), B.rootLength i ≤ B.rootLength j
inr₂ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4), B.rootLength i ≤ B.rootLength j
inr₃ : ∀ (hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1), B.rootLength i ≤ B.rootLength j
⊢ B.rootLength i ≤ B.rootLength j
have inr₄ : ∀ (hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2), B.rootLength i ≤ B.rootLength j
Tactic: rcases h with hij' | hij' | hij' | hij' | hij' | hij' | hij' | hij'
Cleared hypotheses: h
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
        P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
              P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
inl : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1), B.rootLength i ≤ B.rootLength j
inr : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2), B.rootLength i ≤ B.rootLength j
inr₁ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3), B.rootLength i ≤ B.rootLength j
inr₂ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4), B.rootLength i ≤ B.rootLength j
inr₃ : ∀ (hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1), B.rootLength i ≤ B.rootLength j
inr₄ : ∀ (hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2), B.rootLength i ≤ B.rootLength j
⊢ B.rootLength i ≤ B.rootLength j
have inr₅ : ∀ (hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3), B.rootLength i ≤ B.rootLength j
Tactic: rcases h with hij' | hij' | hij' | hij' | hij' | hij' | hij' | hij'
Cleared hypotheses: h
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h :
  P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1 ∨
    P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2 ∨
      P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3 ∨
        P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4 ∨
          P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1 ∨
            P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2 ∨
              P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3 ∨ P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
inl : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1), B.rootLength i ≤ B.rootLength j
inr : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2), B.rootLength i ≤ B.rootLength j
inr₁ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3), B.rootLength i ≤ B.rootLength j
inr₂ : ∀ (hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4), B.rootLength i ≤ B.rootLength j
inr₃ : ∀ (hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1), B.rootLength i ≤ B.rootLength j
inr₄ : ∀ (hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2), B.rootLength i ≤ B.rootLength j
inr₅ : ∀ (hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3), B.rootLength i ≤ B.rootLength j
⊢ B.rootLength i ≤ B.rootLength j
have inr₆ : ∀ (hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4), B.rootLength i ≤ B.rootLength j
Tactic: rcases h with hij' | hij' | hij' | hij' | hij' | hij' | hij' | hij'
Cleared hypotheses: h
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 1
⊢ B.rootLength i ≤ B.rootLength j
have h'₁ : 1 * B.rootLength i = 1 * B.rootLength j
Tactic: rw [hij'.1, hij'.2] at h'
Cleared hypotheses: h', hi, hij'
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 2
⊢ B.rootLength i ≤ B.rootLength j
have h'₁ : 2 * B.rootLength i = 1 * B.rootLength j
Tactic: rw [hij'.1, hij'.2] at h'
Cleared hypotheses: h', hi, hij'
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 3
⊢ B.rootLength i ≤ B.rootLength j
have h'₁ : 3 * B.rootLength i = 1 * B.rootLength j
Tactic: rw [hij'.1, hij'.2] at h'
Cleared hypotheses: h', hi, hij'
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
hij' : P.pairingIn ℤ i j = 1 ∧ P.pairingIn ℤ j i = 4
⊢ B.rootLength i ≤ B.rootLength j
have h'₁ : 4 * B.rootLength i = 1 * B.rootLength j
Tactic: rw [hij'.1, hij'.2] at h'
Cleared hypotheses: h', hi, hij'
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -1
⊢ B.rootLength i ≤ B.rootLength j
have h'₁ : -1 * B.rootLength i = -1 * B.rootLength j
Tactic: rw [hij'.1, hij'.2] at h'
Cleared hypotheses: h', hi, hij'
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -2
⊢ B.rootLength i ≤ B.rootLength j
have h'₁ : -2 * B.rootLength i = -1 * B.rootLength j
Tactic: rw [hij'.1, hij'.2] at h'
Cleared hypotheses: h', hi, hij'
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -3
⊢ B.rootLength i ≤ B.rootLength j
have h'₁ : -3 * B.rootLength i = -1 * B.rootLength j
Tactic: rw [hij'.1, hij'.2] at h'
Cleared hypotheses: h', hi, hij'
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hij : P.pairingIn ℤ i j = -1 ∨ P.pairingIn ℤ i j = 1
h' : P.pairingIn ℤ j i * B.rootLength i = P.pairingIn ℤ i j * B.rootLength j
hi : 0 < B.rootLength i
hij' : P.pairingIn ℤ i j = -1 ∧ P.pairingIn ℤ j i = -4
⊢ B.rootLength i ≤ B.rootLength j
have h'₁ : -4 * B.rootLength i = -1 * B.rootLength j
Tactic: rw [hij'.1, hij'.2] at h'
Cleared hypotheses: h', hi, hij'
-- Lean 4 proof step from Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas (hypothesis)
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
inst_5 : Finite ι
inst_6 : CharZero R
inst_7 : P.IsCrystallographic
inst_8 : IsDomain R
B : RootPositiveForm ℤ P
i j : ι
hne : Ne.{u_3 + 1} («α» := M) ((P.root : (a : ι) → M) i : M) ((P.root : (a : ι) → M) j : M)
hne' : Ne.{u_3 + 1} («α» := M) ((P.root : (a : ι) → M) i : M) (-(P.root : (a : ι) → M) j : M)
hij : P.pairingIn ℤ i j ∉ {-1, 0, 1}
⊢ P.pairingIn ℤ i j = -3 ∨
    P.pairingIn ℤ i j = -2 ∨
      P.pairingIn ℤ i j = 2 ∨ P.pairingIn ℤ i j = 3 ∨ P.pairingIn ℤ i j = -4 ∨ P.pairingIn ℤ i j = 4
have this : Membership.mem (γ := Set (ℤ × ℤ))
  {(0, 0), (1, 1), (-1, -1), (1, 2), (2, 1), (-1, -2), (-2, -1), (1, 3), (3, 1), (-1, -3), (-3, -1), (4, 1), (1, 4),
    (-4, -1), (-1, -4), (2, 2), (-2, -2)}
  (P.pairingIn ℤ i j, P.pairingIn ℤ j i)
Tactic: have := P.pairingIn_pairingIn_mem_set_of_isCrystallographic i j