|
|
import Adam.Metadata
|
|
|
|
|
|
import Mathlib.Algebra.Module.Submodule.Lattice
|
|
|
import Mathlib.Data.Real.Basic
|
|
|
import Mathlib.LinearAlgebra.Span
|
|
|
|
|
|
Game "Adam"
|
|
|
World "Module2"
|
|
|
Level 9
|
|
|
|
|
|
Title "Lineare Abbildung"
|
|
|
|
|
|
Introduction
|
|
|
"
|
|
|
|
|
|
"
|
|
|
|
|
|
universe u
|
|
|
|
|
|
variable {K : Type u} [Field K]
|
|
|
variable {ι : Type u} {V : ι → Type u}
|
|
|
variable [∀i, AddCommMonoid (V i)] [∀i, Module K (V i)]
|
|
|
|
|
|
/-
|
|
|
Ein externes Summe von Vektorräumen schreibt man mit `\Pi\0`, also `Π₀ i, V i`.
|
|
|
Das Suffix `_₀` wird in Mathlib häufig dafür verwendet "endlichen Support" zu bezeichnen.
|
|
|
|
|
|
-/
|
|
|
example : Module K (Π₀ i, V i) := inferInstance
|
|
|
|
|
|
variable {U : Type u} [AddCommMonoid U] [Module K U]
|
|
|
|
|
|
Statement
|
|
|
"" : True := by
|
|
|
sorry
|
|
|
|
|
|
-- -- :(
|
|
|
-- variable [decidable_eq ι]
|
|
|
-- variable [Π (i : ι) (x : V i), decidable (x ≠ 0)]
|
|
|
|
|
|
-- def my_sum_map (f : Π i, V i →ₗ[K] U) : (Π₀ i, V i) →ₗ[K] U :=
|
|
|
-- { to_fun := λ x, x.sum (λ i, (f i)),
|
|
|
-- map_add' :=
|
|
|
-- begin
|
|
|
-- intros,
|
|
|
-- funext,
|
|
|
-- sorry,
|
|
|
-- end,
|
|
|
-- map_smul' :=
|
|
|
-- begin
|
|
|
-- intros,
|
|
|
-- funext,
|
|
|
-- simp,
|
|
|
-- sorry
|
|
|
-- end }
|
|
|
|
|
|
-- Statement
|
|
|
-- "Sei `U` ein `K`-Vektorraum und `fᵢ : Vᵢ → U` eine Familie von `K`-lineare Abbildungen
|
|
|
-- in `K`-Vektorräume. Dann gibt es genau eine Abbildung `f : (Π₀ i, V i) → U`, die mit
|
|
|
-- allen kommutiert."
|
|
|
-- (f : ∀ i, V i →ₗ[K] U) :
|
|
|
-- ∃! (g : (Π₀ i, V i) →ₗ[K] U), (∀ i v, f i v = g (dfinsupp.single i v)) :=
|
|
|
-- by
|
|
|
-- let g := my_sum_map f,
|
|
|
-- use g,
|
|
|
-- constructor,
|
|
|
-- { simp,
|
|
|
-- intros,
|
|
|
-- sorry },
|
|
|
-- { intros g' h,
|
|
|
-- apply linear_map.ext,
|
|
|
-- intro x,
|
|
|
-- sorry
|
|
|
-- -- change (λ i, g' x i) = λ i, f i x, -- Wieso?
|
|
|
-- -- funext,
|
|
|
-- -- symmetry,
|
|
|
-- -- apply h,
|
|
|
-- }
|