/-- If `x₀` solves `f x = b`, then `x` solves it exactly when `x - x₀` is in the kernel.
Hint: `LinearMap.mem_ker`, `map_sub` and `sub_eq_zero` are the three rewrites you need. -/
theorem solutions_translate_ker {K V W : Type*} [Field K] [AddCommGroup V] [Module K V]
[AddCommGroup W] [Module K W] (f : V →ₗ[K] W) {x₀ : V} {b : W} (h₀ : f x₀ = b) (x : V) :
f x = b ↔ x - x₀ ∈ LinearMap.ker f := by
sorryShow the compiled solution
/-- **Solution sets are translates of the kernel.** If `x₀` is one solution of `f x = b`,
then `x` is a solution exactly when `x - x₀` lies in the kernel of `f`: the general solution is
"one particular solution plus the general solution of the homogeneous system". The proof is
the human one: `f x - f x₀ = f (x - x₀)` by linearity. -/
theorem solutions_translate_ker {K V W : Type*} [Field K] [AddCommGroup V] [Module K V]
[AddCommGroup W] [Module K W] (f : V →ₗ[K] W) {x₀ : V} {b : W} (h₀ : f x₀ = b) (x : V) :
f x = b ↔ x - x₀ ∈ LinearMap.ker f := by
rw [LinearMap.mem_ker, map_sub, h₀, sub_eq_zero]Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LinearAlgebra.leanTry it in the Lean web editor