Removing nonpositive weights
Lax263307.PositiveWeights · concepts/Lax263307/PositiveWeights.lean · lax-263307
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Replace each rational weight by . An approximation for these nonnegative weights yields the same approximation for the original weights by removing the nonpositive-weight vertices of its returned set. If all weights are nonpositive, the empty set is optimal.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax263307.WeightedIndependentSet |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Removing nonpositive weights |
| 6 | type: theorem |
| 7 | --- |
| 8 | Replace each rational weight by . An approximation for |
| 9 | these nonnegative weights yields the same approximation for the original |
| 10 | weights by removing the nonpositive-weight vertices of its returned set. |
| 11 | If all weights are nonpositive, the empty set is optimal. |
| 12 | |
| 13 | # Formalization notes |
| 14 | |
| 15 | Clipping changes only vertex weights, so the graph stays in its original |
| 16 | class. Removing selected vertices preserves independence. The approximation |
| 17 | transfer assumes an accuracy in . |
| 18 | -/ |
| 19 | |
| 20 | namespace Lax263307.PositiveWeights |
| 21 | |
| 22 | open WeightedIndependentSet |
| 23 | |
| 24 | /-- Clip negative weights to zero. -/ |
| 25 | def positiveWeights {n : ℕ} (w : Fin n → ℚ) : Fin n → ℚ := fun v => max (w v) 0 |
| 26 | |
| 27 | /-- Retain only the strictly positive-weight vertices of a returned set. -/ |
| 28 | def discardNonpositive {n : ℕ} (w : Fin n → ℚ) (I : Finset (Fin n)) : Finset (Fin n) := |
| 29 | I.filter fun v => 0 < w v |
| 30 | |
| 31 | /-- Approximation for clipped weights transfers to arbitrary signed weights. -/ |
| 32 | axiom signed_weight_transfer {n : ℕ} (G : SimpleGraph (Fin n)) (w : Fin n → ℚ) |
| 33 | (ε : ℚ) (accuracy_nonnegative : 0 ≤ ε) (accuracy_le_one : ε ≤ 1) |
| 34 | (I : Finset (Fin n)) (approximation : IsApproximation G (positiveWeights w) ε I) : |
| 35 | IsApproximation G w ε (discardNonpositive w I) |
| 36 | |
| 37 | /-- The empty set solves instances whose weights are all nonpositive. -/ |
| 38 | axiom nonpositive_case {n : ℕ} (G : SimpleGraph (Fin n)) (w : Fin n → ℚ) |
| 39 | (nonpositive : ∀ v, w v ≤ 0) (ε : ℚ) (accuracy_nonnegative : 0 ≤ ε) |
| 40 | (accuracy_le_one : ε ≤ 1) : IsApproximation G w ε ∅ |
| 41 | |
| 42 | end Lax263307.PositiveWeights |
| 43 |
Formalization notes
Clipping changes only vertex weights, so the graph stays in its original class. Removing selected vertices preserves independence. The approximation transfer assumes an accuracy in .
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments