Samplinglib
Lean gate not recorded for this source state main · 0e31a3cda412
production module

AutoSamplingTheory.TechnicalLemmas.Analysis.PairingCyclicMonotonicity

9 named declarations scanned from AutoSamplingTheory/TechnicalLemmas/Analysis/PairingCyclicMonotonicity.lean.

Imports
Imported by
Placeholder scan
0 declaration(s) flagged
Gate status
Partial

Declarations

def AutoSamplingTheory.TechnicalLemmas.Analysis.PairingCyclicMonotonicity.PairingCycleMonotone Partial Not mapped

- Standard finite-cycle pairing monotonicity on a relation `Gamma`.

def PairingCycleMonotone (Gamma : Set (E × E)) : Prop :=
  ∀ n (p : Fin (n + 1) → E × E),
    (∀ i, p i ∈ Gamma) →
      (∑ i, inner ℝ (p i).2 ((p (i + 1)).1 - (p i).1)) ≤ 0

/-- The distinct-point cycle contract expected directly from the future
finite-neighborhood perturbation proof of optimality. -/
def AutoSamplingTheory.TechnicalLemmas.Analysis.PairingCyclicMonotonicity.PairingDistinctCycleMonotone Partial Not mapped

- The distinct-point cycle contract expected directly from the future finite-neighborhood perturbation proof of optimality.

def PairingDistinctCycleMonotone (Gamma : Set (E × E)) : Prop :=
  ∀ n (p : Fin (n + 1) → E × E), Function.Injective p →
    (∀ i, p i ∈ Gamma) →
      (∑ i, inner ℝ (p i).2 ((p (i + 1)).1 - (p i).1)) ≤ 0

/-- The standard finite-cycle condition in diagonal-versus-shifted pairing
form. -/
def AutoSamplingTheory.TechnicalLemmas.Analysis.PairingCyclicMonotonicity.PairingShiftedCycleMonotone Partial Not mapped

- The standard finite-cycle condition in diagonal-versus-shifted pairing form.

def PairingShiftedCycleMonotone (Gamma : Set (E × E)) : Prop :=
  ∀ n (p : Fin (n + 1) → E × E),
    (∀ i, p i ∈ Gamma) →
      (∑ i, inner ℝ (p i).2 (p (i + 1)).1) ≤
        ∑ i, inner ℝ (p i).2 (p i).1

/-- Pointwise algebra behind the increment and shifted cycle conventions. -/
theorem AutoSamplingTheory.TechnicalLemmas.Analysis.PairingCyclicMonotonicity.cycle_increment_sum_eq_shifted_sub_diag Partial Not mapped

- Pointwise algebra behind the increment and shifted cycle conventions.

theorem cycle_increment_sum_eq_shifted_sub_diag
    {n : ℕ} (p : Fin (n + 1) → E × E) :
    (∑ i, inner ℝ (p i).2 ((p (i + 1)).1 - (p i).1)) =
      (∑ i, inner ℝ (p i).2 (p (i + 1)).1) -
        ∑ i, inner ℝ (p i).2 (p i).1 := by
  simp_rw [inner_sub_right]
  rw [Finset.sum_sub_distrib]

/-- Rockafellar increment form and diagonal/shifted form are exactly
equivalent. -/
theorem AutoSamplingTheory.TechnicalLemmas.Analysis.PairingCyclicMonotonicity.pairingCycleMonotone_iff_shifted Partial Not mapped

- Rockafellar increment form and diagonal/shifted form are exactly equivalent.

theorem pairingCycleMonotone_iff_shifted
    (Gamma : Set (E × E)) :
    PairingCycleMonotone Gamma ↔ PairingShiftedCycleMonotone Gamma := by
  constructor
  · intro h n p hmem
    have hcycle := h n p hmem
    rw [cycle_increment_sum_eq_shifted_sub_diag] at hcycle
    exact sub_nonpos.mp hcycle
  · intro h n p hmem
    rw [cycle_increment_sum_eq_shifted_sub_diag]
    exact sub_nonpos.mpr (h n p hmem)

/-- The standard all-cycle property immediately implies the distinct-cycle
contract used by perturbation arguments. -/
theorem AutoSamplingTheory.TechnicalLemmas.Analysis.PairingCyclicMonotonicity.PairingCycleMonotone.distinct Partial Not mapped

- The standard all-cycle property immediately implies the distinct-cycle contract used by perturbation arguments.

theorem PairingCycleMonotone.distinct
    {Gamma : Set (E × E)}
    (hmono : PairingCycleMonotone Gamma) :
    PairingDistinctCycleMonotone Gamma := by
  intro n p _hp hmem
  exact hmono n p hmem

/-- Restricting a pairing-cyclically-monotone relation preserves the property. -/
theorem AutoSamplingTheory.TechnicalLemmas.Analysis.PairingCyclicMonotonicity.PairingCycleMonotone.mono Partial Not mapped

- Restricting a pairing-cyclically-monotone relation preserves the property.

theorem PairingCycleMonotone.mono
    {Gamma₁ Gamma₂ : Set (E × E)}
    (hsub : Gamma₁ ⊆ Gamma₂)
    (hmono : PairingCycleMonotone Gamma₂) :
    PairingCycleMonotone Gamma₁ := by
  intro n p hmem
  exact hmono n p (fun i => hsub (hmem i))

/-- Restriction also preserves the distinct-cycle contract. -/
theorem AutoSamplingTheory.TechnicalLemmas.Analysis.PairingCyclicMonotonicity.PairingDistinctCycleMonotone.mono Partial Not mapped

- Restriction also preserves the distinct-cycle contract.

theorem PairingDistinctCycleMonotone.mono
    {Gamma₁ Gamma₂ : Set (E × E)}
    (hsub : Gamma₁ ⊆ Gamma₂)
    (hmono : PairingDistinctCycleMonotone Gamma₂) :
    PairingDistinctCycleMonotone Gamma₁ := by
  intro n p hp hmem
  exact hmono n p hp (fun i => hsub (hmem i))

/-- The empty relation is vacuously pairing cyclically monotone. -/
theorem AutoSamplingTheory.TechnicalLemmas.Analysis.PairingCyclicMonotonicity.pairingCycleMonotone_empty Partial Not mapped

- The empty relation is vacuously pairing cyclically monotone.

theorem pairingCycleMonotone_empty :
    PairingCycleMonotone (∅ : Set (E × E)) := by
  intro n p hmem
  simpa using hmem 0

end

end PairingCyclicMonotonicity
end Analysis
end TechnicalLemmas
end AutoSamplingTheory