Theorem: eqlCoords.symm (UnitConjecture/FreeModule.lean)

State before:
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
⊢ eqlCoords R X s₁ s₂ → eqlCoords R X s₂ s₁
Tactic:
intro hyp
State after:
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
hyp : eqlCoords R X s₁ s₂
⊢ eqlCoords R X s₂ s₁

State before:
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
hyp : eqlCoords R X s₁ s₂
⊢ eqlCoords R X s₂ s₁
Tactic:
apply funext
State after:
case h
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
hyp : eqlCoords R X s₁ s₂
⊢ ∀ (x : X), FormalSum.coords s₂ x = FormalSum.coords s₁ x

State before:
case h
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
hyp : eqlCoords R X s₁ s₂
⊢ ∀ (x : X), FormalSum.coords s₂ x = FormalSum.coords s₁ x
Tactic:
intro x
State after:
case h
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
hyp : eqlCoords R X s₁ s₂
x : X
⊢ FormalSum.coords s₂ x = FormalSum.coords s₁ x

State before:
case h
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
hyp : eqlCoords R X s₁ s₂
x : X
⊢ FormalSum.coords s₂ x = FormalSum.coords s₁ x
Tactic:
apply Eq.symm
State after:
case h.h
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
hyp : eqlCoords R X s₁ s₂
x : X
⊢ FormalSum.coords s₁ x = FormalSum.coords s₂ x

State before:
case h.h
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
hyp : eqlCoords R X s₁ s₂
x : X
⊢ FormalSum.coords s₁ x = FormalSum.coords s₂ x
Tactic:
exact congrFun hyp x
State after:
no goals