← Visual paper

HardnessBilevelUnconditional/Main.lean

d1032f4c70da9b037605c2f444ce2450900e5a76 · GitHub

  1. /-
  2. Copyright: HardnessBilevel project.
  3. # Assumption-free forms of the main theorems
  4. Every theorem of the core library `HardnessBilevel` that takes one of the assumption classes
  5. `HasSemialgebraicProjections` (A1), `HasFinitenessTheorem` (A2), `HasGrowthBound` (A3) as a binder is restated here
  6. with no binder, in the namespace `Bilevel.Unconditional`, under the same name. Each proof is the core theorem
  7. itself: the binders are filled by the proved instances of `HardnessBilevelUnconditional/Instances.lean`.
  8. Covered: Proposition 2.6, Theorems 2.12, 2.15, 2.18, 2.20, 2.21 and their pessimistic counterparts (paper §2.4).
  9. The statements are copied from the core library with the class binders removed and nothing else changed.
  10. `scripts/CheckAxiomsUnconditional.lean` prints the axioms of every theorem of this file; they are exactly
  11. `propext`, `Classical.choice`, `Quot.sound`.
  12. -/
  13. import HardnessBilevel
  14. import HardnessBilevelUnconditional.Instances
  15. namespace Bilevel.Unconditional
  16. /-! ### Proposition 2.6 -/
  17. /-- Proposition 2.6 (corrected), for any semialgebraic lower-level set `Y`: the optimistic value function of a
  18. polynomial bilevel problem is extended-real semialgebraic. -/
  19. theorem valueFun_isExtSemialgebraic
  20. {n : ℕ} {ι : Type} [Fintype ι] {P Q : (Fin n → ℝ) → (ι → ℝ) → ℝ} {Y : Set (ι → ℝ)}
  21. (hP : IsPolyFun P) (hQ : IsPolyFun Q) (hY : IsSemialgebraic Y) :
  22. IsExtSemialgebraic (valueFun P Q Y) :=
  23. _root_.Bilevel.valueFun_isExtSemialgebraic hP hQ hY
  24. /-- Proposition 2.6, pessimistic twin. -/
  25. theorem pvalueFun_isExtSemialgebraic
  26. {n : ℕ} {ι : Type} [Fintype ι] {P Q : (Fin n → ℝ) → (ι → ℝ) → ℝ} {Y : Set (ι → ℝ)}
  27. (hP : IsPolyFun P) (hQ : IsPolyFun Q) (hY : IsSemialgebraic Y) :
  28. IsExtSemialgebraic (pvalueFun P Q Y) :=
  29. _root_.Bilevel.pvalueFun_isExtSemialgebraic hP hQ hY
  30. /-! ### Theorem 2.12 -/
  31. /-- Theorem 2.12: `𝒫_unbound = SA`. -/
  32. theorem thm212_eq_SA {n : ℕ} : P_unbound n = SA n :=
  33. _root_.Bilevel.thm212_eq_SA
  34. /-- Theorem 2.12, pessimistic: `𝒫^p_unbound = SA`. -/
  35. theorem pess_thm212 {n : ℕ} : Pp_unbound n = SA n :=
  36. _root_.Bilevel.pess_thm212
  37. /-! ### Theorem 2.15 -/
  38. /-- Theorem 2.15 (`⊇`, construction): every real semialgebraic, lower semicontinuous function bounded on compacts
  39. is the value function of a polynomial bilevel problem over a bounded box. -/
  40. theorem thm215_supset
  41. {n : ℕ} (f : (Fin n → ℝ) → ℝ)
  42. (hsa : IsSemialgebraicMap f)
  43. (hlsc : LowerSemicontinuous f)
  44. (hcb : ∀ K : Set (Fin n → ℝ), IsCompact K → ∃ B, ∀ x ∈ K, |f x| ≤ B) :
  45. ∃ (ι : Type) (_ : Fintype ι) (P Q : (Fin n → ℝ) → (ι → ℝ) → ℝ) (a b : ι → ℝ),
  46. IsPolyFun P ∧ IsPolyFun Q ∧ (∀ k, a k ≤ b k) ∧
  47. ∀ x, valueFun P Q (boundedBox a b) x = ((f x : ℝ) : EReal) :=
  48. _root_.Bilevel.thm215_supset f hsa hlsc hcb
  49. /-- Theorem 2.15: `𝒫_bounded = SA ∩ LSC ∩ CB`. -/
  50. theorem thm215_eq {n : ℕ} : P_bounded n = SA n ∩ LSC n ∩ CB n :=
  51. _root_.Bilevel.thm215_eq
  52. /-- Theorem 2.15, pessimistic: `𝒫^p_bounded = SA ∩ USC ∩ CB`. -/
  53. theorem pess_thm215 {n : ℕ} : Pp_bounded n = SA n ∩ USC n ∩ CB n :=
  54. _root_.Bilevel.pess_thm215
  55. /-! ### Theorem 2.18 -/
  56. /-- Theorem 2.18: `PP ⊆ 𝒞_unbound ⊆ SA`. -/
  57. theorem thm218_main {n : ℕ} : PPe n ⊆ C_unbound n ∧ C_unbound n ⊆ SA n :=
  58. _root_.Bilevel.thm218_main
  59. /-- Theorem 2.18, pessimistic: `PP ⊆ 𝒞^p_unbound ⊆ SA`. -/
  60. theorem pess_thm218 {n : ℕ} : PPe n ⊆ Cp_unbound n ∧ Cp_unbound n ⊆ SA n :=
  61. _root_.Bilevel.pess_thm218
  62. /-! ### Theorem 2.20 -/
  63. /-- Theorem 2.20 (first inclusion, construction): a lower semicontinuous piecewise polynomial function is the
  64. value function of a polynomial bilevel problem with convex lower level over a bounded box. -/
  65. theorem thm220_supset {n : ℕ} (f : (Fin n → ℝ) → ℝ) (hPP : f ∈ PP n)
  66. (hlsc : LowerSemicontinuous f) : coeFun f ∈ C_bounded n :=
  67. _root_.Bilevel.thm220_supset f hPP hlsc
  68. /-- Theorem 2.20: `PP ∩ LSC ⊆ 𝒞_bounded ⊆ SA ∩ LSC ∩ CB`. -/
  69. theorem thm220_main {n : ℕ} :
  70. coeFun '' (PP n ∩ {f | LowerSemicontinuous f}) ⊆ C_bounded n ∧
  71. C_bounded n ⊆ SA n ∩ LSC n ∩ CB n :=
  72. _root_.Bilevel.thm220_main
  73. /-- Theorem 2.20, pessimistic: `PP ∩ USC ⊆ 𝒞^p_bounded ⊆ SA ∩ USC ∩ CB`. -/
  74. theorem pess_thm220 {n : ℕ} :
  75. coeFun '' (PP n ∩ {f | UpperSemicontinuous f}) ⊆ Cp_bounded n ∧
  76. Cp_bounded n ⊆ SA n ∩ USC n ∩ CB n :=
  77. _root_.Bilevel.pess_thm220
  78. /-! ### Theorem 2.21 -/
  79. /-- A polynomial bilevel problem with nonempty compact semialgebraic lower set has its optimistic value function
  80. in `𝒞_cc`. -/
  81. theorem thm221_compact_sa_incl {n : ℕ} {ι : Type} [Fintype ι]
  82. {P Q : (Fin n → ℝ) → (ι → ℝ) → ℝ} (hP : IsPolyFun P) (hQ : IsPolyFun Q) {Y : Set (ι → ℝ)}
  83. (hYc : IsCompact Y) (hYn : Y.Nonempty) (hYs : IsSemialgebraic Y) :
  84. valueFun P Q Y ∈ C_cc n :=
  85. _root_.Bilevel.thm221_compact_sa_incl hP hQ hYc hYn hYs
  86. /-- Pessimistic twin of `thm221_compact_sa_incl`. -/
  87. theorem thm221_compact_sa_incl_pess {n : ℕ} {ι : Type} [Fintype ι]
  88. {P Q : (Fin n → ℝ) → (ι → ℝ) → ℝ} (hP : IsPolyFun P) (hQ : IsPolyFun Q) {Y : Set (ι → ℝ)}
  89. (hYc : IsCompact Y) (hYn : Y.Nonempty) (hYs : IsSemialgebraic Y) :
  90. pvalueFun P Q Y ∈ Cp_cc n :=
  91. _root_.Bilevel.thm221_compact_sa_incl_pess hP hQ hYc hYn hYs
  92. /-- Theorem 2.21: `𝒞_cc = SA ∩ LSC ∩ CB`. -/
  93. theorem thm221_eq {n : ℕ} : C_cc n = SA n ∩ LSC n ∩ CB n :=
  94. _root_.Bilevel.thm221_eq
  95. /-- Theorem 2.21, pessimistic: `𝒞^p_cc = SA ∩ USC ∩ CB`. -/
  96. theorem pess_thm221 {n : ℕ} : Cp_cc n = SA n ∩ USC n ∩ CB n :=
  97. _root_.Bilevel.pess_thm221
  98. end Bilevel.Unconditional