Greedy mode space exposure
Lax342547.GreedySpans · concepts/Lax342547/GreedySpans.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
Finite greedy ordering of actual subspaces has nonnegative decreasing span increments; tails retain the greedy property and their increment sum equals the dimension increase.
Concept map
Evidence
This concept declares 12 statements. Each proof establishes one of them relative to its assumptions.
1 exists_greedy_order proven
2 gain_antitone proven
3 gain_le_rank proven
4 gain_nonneg proven
5 greedy_decreasing proven
6 greedy_drop proven
7 increments_drop proven
8 increments_le proven
9 increments_length proven
10 increments_nonneg proven
11 increments_sum proven
12 span_after_eq proven
Lean source view on GitHub
| 1 | import Lax342547.SpanDeficits |
| 2 | import Mathlib.Data.Finset.Max |
| 3 | import Mathlib.Data.Real.Basic |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Greedy mode space exposure |
| 8 | type: lemma |
| 9 | --- |
| 10 | Finite greedy ordering of actual subspaces has nonnegative decreasing span increments; tails retain the greedy property and their increment sum equals the dimension increase. |
| 11 | -/ |
| 12 | |
| 13 | namespace Lax342547.GreedySpans |
| 14 | |
| 15 | open scoped BigOperators |
| 16 | |
| 17 | noncomputable def gain {K V : Type} [Field K] [AddCommGroup V] [Module K V] |
| 18 | [FiniteDimensional K V] (W S : Submodule K V) : ℝ := |
| 19 | (Module.finrank K (W ⊔ S : Submodule K V) : ℝ)-Module.finrank K W |
| 20 | |
| 21 | def Greedy {K V ι : Type} [Field K] [AddCommGroup V] [Module K V] |
| 22 | [FiniteDimensional K V] (S : ι → Submodule K V) : Submodule K V → List ι → Prop |
| 23 | | _, [] => True |
| 24 | | W, i::l => (∀ j ∈ l, gain W (S j) ≤ gain W (S i)) ∧ Greedy S (W ⊔ S i) l |
| 25 | |
| 26 | axiom gain_nonneg {K V : Type} [Field K] [AddCommGroup V] [Module K V] |
| 27 | [FiniteDimensional K V] (W S : Submodule K V) : 0 ≤ gain W S |
| 28 | |
| 29 | axiom gain_le_rank {K V : Type} [Field K] [AddCommGroup V] [Module K V] |
| 30 | [FiniteDimensional K V] (W S : Submodule K V) : gain W S ≤ Module.finrank K S |
| 31 | |
| 32 | axiom gain_antitone {K V : Type} [Field K] [AddCommGroup V] [Module K V] |
| 33 | [FiniteDimensional K V] {W U : Submodule K V} (hWU : W ≤ U) (S : Submodule K V) : |
| 34 | gain U S ≤ gain W S |
| 35 | |
| 36 | axiom exists_greedy_order {K V ι : Type} [Field K] [DecidableEq ι] [AddCommGroup V] [Module K V] |
| 37 | [FiniteDimensional K V] (S : ι → Submodule K V) (I : Finset ι) (W : Submodule K V) : |
| 38 | ∃ l : List ι, l.Nodup ∧ l.toFinset = I ∧ Greedy S W l |
| 39 | |
| 40 | noncomputable def spanAfter {K V ι : Type} [Field K] [AddCommGroup V] [Module K V] |
| 41 | (S : ι → Submodule K V) : Submodule K V → List ι → Submodule K V |
| 42 | | W, [] => W |
| 43 | | W, i::l => spanAfter S (W ⊔ S i) l |
| 44 | |
| 45 | noncomputable def increments {K V ι : Type} [Field K] [AddCommGroup V] [Module K V] |
| 46 | [FiniteDimensional K V] (S : ι → Submodule K V) : Submodule K V → List ι → List ℝ |
| 47 | | _, [] => [] |
| 48 | | W, i::l => gain W (S i)::increments S (W ⊔ S i) l |
| 49 | |
| 50 | axiom increments_length {K V ι : Type} [Field K] [AddCommGroup V] [Module K V] |
| 51 | [FiniteDimensional K V] (S : ι → Submodule K V) (W : Submodule K V) (l : List ι) : |
| 52 | (increments S W l).length = l.length |
| 53 | |
| 54 | axiom span_after_eq {K V ι : Type} [Field K] [DecidableEq ι] [AddCommGroup V] [Module K V] |
| 55 | (S : ι → Submodule K V) (W : Submodule K V) (l : List ι) : |
| 56 | spanAfter S W l = W ⊔ l.toFinset.sup S |
| 57 | |
| 58 | axiom increments_sum {K V ι : Type} [Field K] [AddCommGroup V] [Module K V] |
| 59 | [FiniteDimensional K V] (S : ι → Submodule K V) (W : Submodule K V) (l : List ι) : |
| 60 | (increments S W l).sum = (Module.finrank K (spanAfter S W l) : ℝ)-Module.finrank K W |
| 61 | |
| 62 | axiom increments_le {K V ι : Type} [Field K] [AddCommGroup V] [Module K V] |
| 63 | [FiniteDimensional K V] (S : ι → Submodule K V) (W : Submodule K V) (l : List ι) (a : ℝ) |
| 64 | (h : ∀ i ∈ l, gain W (S i) ≤ a) : ∀ x ∈ increments S W l, x ≤ a |
| 65 | |
| 66 | axiom increments_nonneg {K V ι : Type} [Field K] [AddCommGroup V] [Module K V] |
| 67 | [FiniteDimensional K V] (S : ι → Submodule K V) (W : Submodule K V) (l : List ι) : |
| 68 | ∀ x ∈ increments S W l, 0 ≤ x |
| 69 | |
| 70 | axiom greedy_decreasing {K V ι : Type} [Field K] [AddCommGroup V] [Module K V] |
| 71 | [FiniteDimensional K V] (S : ι → Submodule K V) (W : Submodule K V) (l : List ι) |
| 72 | (h : Greedy S W l) : (increments S W l).Pairwise (fun a b => b ≤ a) |
| 73 | |
| 74 | axiom greedy_drop {K V ι : Type} [Field K] [AddCommGroup V] [Module K V] |
| 75 | [FiniteDimensional K V] (S : ι → Submodule K V) (W : Submodule K V) (l : List ι) |
| 76 | (h : Greedy S W l) (n : ℕ) : Greedy S (spanAfter S W (l.take n)) (l.drop n) |
| 77 | |
| 78 | axiom increments_drop {K V ι : Type} [Field K] [AddCommGroup V] [Module K V] |
| 79 | [FiniteDimensional K V] (S : ι → Submodule K V) (W : Submodule K V) (l : List ι) (n : ℕ) : |
| 80 | (increments S W l).drop n = increments S (spanAfter S W (l.take n)) (l.drop n) |
| 81 | |
| 82 | end Lax342547.GreedySpans |
| 83 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments