Documentation

AMMLib.FeeVersion.Maximal

theorem SX.fee.constprod.x_max_pos_cond (φ : ℝ>0) {s : Γ} {a : A} {t0 t1 : T} {x₀ : ℝ>0} (sw0 : Swap (constprod φ) s a t0 t1 x₀) (o : O) (h_equil : sw_to_equil φ sw0 o) ( : φ < 1) :
(o t0).sqrt * (s.amms.r0 t0 t1 + φ * x₀) < (o t1 * φ * s.amms.r0 t0 t1 * s.amms.r1 t0 t1 ).sqrt
noncomputable def SX.fee.constprod.x_max' (φ : ℝ>0) {s : Γ} {a : A} {t0 t1 : T} {x₀ : ℝ>0} (sw0 : Swap (constprod φ) s a t0 t1 x₀) (o : O) (h_equil : sw_to_equil φ sw0 o) ( : φ < 1) :
Equations
Instances For
    noncomputable def SX.fee.constprod.x_max (φ : ℝ>0) {s : Γ} {a : A} {t0 t1 : T} {x₀ : ℝ>0} (sw0 : Swap (constprod φ) s a t0 t1 x₀) (o : O) (h_equil : sw_to_equil φ sw0 o) ( : φ < 1) :
    Equations
    Instances For
      theorem SX.fee.constprod.x_max'_eq_cond (φ : ℝ>0) {s : Γ} {a : A} {t0 t1 : T} {x₀ : ℝ>0} (sw0 : Swap (constprod φ) s a t0 t1 x₀) (o : O) (h_equil : sw_to_equil φ sw0 o) ( : φ < 1) :
      (o t0) * ((s.amms.r0 t0 t1 ) + φ * x₀ + φ * (x_max' φ sw0 o h_equil )) = ((o t1) * φ * (s.amms.r0 t0 t1 ) * (s.amms.r1 t0 t1 ))
      theorem SX.fee.constprod.x_max_lt_x₀_div_φ (φ : ℝ>0) {s : Γ} {a : A} {t0 t1 : T} {x₀ : ℝ>0} (sw0 : Swap (constprod φ) s a t0 t1 x₀) (o : O) (h_equil : sw_to_equil φ sw0 o) ( : φ < 1) :
      x_max φ sw0 o h_equil < x₀ / φ
      theorem SX.fee.constprod.gain_xmax_gt_x₀ (φ : ℝ>0) {s : Γ} {a : A} {t0 t1 : T} {x₀ : ℝ>0} (sw0 : Swap (constprod φ) s a t0 t1 x₀) (o : O) (h_equil : sw_to_equil φ sw0 o) ( : φ < 1) (sw_max : Swap (constprod φ) s a t0 t1 (x_max φ sw0 o h_equil )) (h_supply : s.mints.supply t0 t1 > 0) (h_mints : (s.mints.get a).get t0 t1 < s.mints.supply t0 t1) :
      a.gain o s sw0.apply < a.gain o s sw_max.apply
      theorem SX.fee.constprod.x_max_gain_gt_x_gt_equil (φ : ℝ>0) {s : Γ} {a : A} {t0 t1 : T} {x₀ x : ℝ>0} (sw0 : Swap (constprod φ) s a t0 t1 x₀) (sw2 : Swap (constprod φ) s a t0 t1 x) (o : O) (h_equil : sw_to_equil φ sw0 o) ( : φ < 1) (sw_max : Swap (constprod φ) s a t0 t1 (x_max φ sw0 o h_equil )) (x_gt_x₀ : x > x₀) (x_diff_x_max : x x_max φ sw0 o h_equil ) (h_supply : s.mints.supply t0 t1 > 0) (h_mints : (s.mints.get a).get t0 t1 < s.mints.supply t0 t1) :
      a.gain o s sw2.apply < a.gain o s sw_max.apply
      theorem SX.fee.constprod.x_max_gain (φ : ℝ>0) {s : Γ} {a : A} {t0 t1 : T} {x₀ : ℝ>0} (sw0 : Swap (constprod φ) s a t0 t1 x₀) (o : O) (h_equil : sw_to_equil φ sw0 o) ( : φ < 1) (sw_max : Swap (constprod φ) s a t0 t1 (x_max φ sw0 o h_equil )) (x : ℝ>0) (sw2 : Swap (constprod φ) s a t0 t1 x) :
      x x_max φ sw0 o h_equil s.mints.supply t0 t1 > 0(s.mints.get a).get t0 t1 < s.mints.supply t0 t1a.gain o s sw2.apply < a.gain o s sw_max.apply
      theorem SX.fee.constprod.x_max_unique (φ : ℝ>0) {s : Γ} {a : A} {t0 t1 : T} {x₀ : ℝ>0} (sw0 : Swap (constprod φ) s a t0 t1 x₀) (o : O) (h_equil : sw_to_equil φ sw0 o) (h_supply : s.mints.supply t0 t1 > 0) (h_mints : (s.mints.get a).get t0 t1 < s.mints.supply t0 t1) ( : φ < 1) (sw_max : Swap (constprod φ) s a t0 t1 (x_max φ sw0 o h_equil )) :
      ¬∃ (x₁ : ℝ>0) (h_enough : x₁ (s.atoms.get a) t0), x₁ x_max φ sw0 o h_equil ∀ (x : ℝ>0) (sw2 : Swap (constprod φ) s a t0 t1 x), x x₁s.mints.supply t0 t1 > 0(s.mints.get a).get t0 t1 < s.mints.supply t0 t1a.gain o s sw2.apply < a.gain o s .apply