Theorem: FreeModule.equal_coords_of_approx (UnitConjecture/FreeModule.lean)

State before:
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
⊢ s₁ ≈ s₂ → FormalSum.coords s₁ = FormalSum.coords 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 : s₁ ≈ s₂
⊢ FormalSum.coords s₁ = FormalSum.coords s₂

State before:
R : Type
inst✝² : Ring R
inst✝¹ : DecidableEq R
X : Type
inst✝ : DecidableEq X
s₁ s₂ : FormalSum R X
hyp : s₁ ≈ s₂
⊢ FormalSum.coords s₁ = FormalSum.coords 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 : 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 : 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 : 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 : s₁ ≈ s₂
x₀ : X
⊢ FormalSum.coords s₁ x₀ = FormalSum.coords s₂ x₀
Tactic:
exact congrFun hyp x₀
State after:
no goals