Skip to content
Rainbow docs menu

Reference · Non-negative rationals

rainbow.math.rational.nnrat.farkas-elim-list

Non-negative rationalssrc/rainbow/math/rational/nnrat/farkas_elim_list.clj6 definitions, 9 theorems

List-sized one-variable Fourier--Motzkin elimination over nnrat bounds. Lower bounds are folded from zero with max, while the non-empty upper family is represented by a head and a list tail. The reduced system says that the folded lower bound satisfies every upper bound. Constructively, this is equivalent to existence of a value satisfying every lower and upper bound. All definitions and proofs are native proof data and axiom-free.

Depends onmath.rational.nnrat.minmax

nnrat/ge-all

DefinitionSource, line 101

nnrat/ge-all :
  (x₁ : List ℚ≥0) (x₂ : ℚ≥0)
  → Prop

List = data/Listℚ≥0 = nnrat/NonnegativeRational

nnrat/le-all

DefinitionSource, line 117

nnrat/le-all :
  (x₁ : ℚ≥0) (x₂ : List ℚ≥0) (x₃ : ℚ≥0)
  → Prop

List = data/Listℚ≥0 = nnrat/NonnegativeRational

nnrat/max-lb

DefinitionSource, line 127

nnrat/max-lb :
  (x₁ : List ℚ≥0)
  → ℚ≥0

List = data/Listℚ≥0 = nnrat/NonnegativeRational

nnrat/min-ub

DefinitionSource, line 143

nnrat/min-ub :
  (x₁ : ℚ≥0) (x₂ : List ℚ≥0)
  → ℚ≥0

List = data/Listℚ≥0 = nnrat/NonnegativeRational

nnrat/farkas-elim-list-reduced

DefinitionSource, line 159

nnrat/farkas-elim-list-reduced :
  (x₁ : List ℚ≥0) (x₂ : ℚ≥0) (x₃ : List ℚ≥0)
  → Prop

List = data/Listℚ≥0 = nnrat/NonnegativeRational

nnrat/farkas-elim-list-solvable

DefinitionSource, line 167

nnrat/farkas-elim-list-solvable :
  (x₁ : List ℚ≥0) (x₂ : ℚ≥0) (x₃ : List ℚ≥0)
  → Prop

List = data/Listℚ≥0 = nnrat/NonnegativeRational

nnrat/zero-at-most

TheoremFor all inputsNo axiomsSource, line 186

nnrat/zero-at-most :
  (value : ℚ≥0)
  → 0 ≤ value

0 = nnrat/zeroℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/max-lb-is-upper

TheoremFor all inputsNo axiomsSource, line 217

nnrat/max-lb-is-upper :
  (lowers : List ℚ≥0)
  → nnrat/ge-all lowers (nnrat/max-lb lowers)

List = data/Listℚ≥0 = nnrat/NonnegativeRational

nnrat/max-lb-least

TheoremFor all inputsNo axiomsSource, line 261

nnrat/max-lb-least :
  (lowers : List ℚ≥0) (value : ℚ≥0) (all : nnrat/ge-all lowers value)
  → nnrat/max-lb lowers ≤ value

List = data/Listℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/le-all-antitone

TheoremFor all inputsNo axiomsSource, line 306

nnrat/le-all-antitone :
  (u0 : ℚ≥0) (urest : List ℚ≥0) (a b : ℚ≥0)
  (a-b : a ≤ b)
  (all-b : nnrat/le-all u0 urest b)
  → nnrat/le-all u0 urest a

List = data/Listℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/min-ub-is-lower

TheoremFor all inputsNo axiomsSource, line 362

nnrat/min-ub-is-lower :
  (u0 : ℚ≥0) (urest : List ℚ≥0)
  → nnrat/le-all u0 urest (nnrat/min-ub u0 urest)

List = data/Listℚ≥0 = nnrat/NonnegativeRational

nnrat/min-ub-greatest

TheoremFor all inputsNo axiomsSource, line 420

nnrat/min-ub-greatest :
  (u0 : ℚ≥0) (urest : List ℚ≥0) (value : ℚ≥0) (all : nnrat/le-all u0 urest value)
  → value ≤ nnrat/min-ub u0 urest

List = data/Listℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/farkas-elim-list-extends

TheoremFor all inputsNo axiomsSource, line 473

nnrat/farkas-elim-list-extends :
  (lowers : List ℚ≥0) (u0 : ℚ≥0) (urest : List ℚ≥0)
  (reduced-feasible : nnrat/farkas-elim-list-reduced lowers u0 urest)
  → nnrat/farkas-elim-list-solvable lowers u0 urest

List = data/Listℚ≥0 = nnrat/NonnegativeRational

nnrat/farkas-elim-list-projects

TheoremFor all inputsNo axiomsSource, line 499

nnrat/farkas-elim-list-projects :
  (lowers : List ℚ≥0) (u0 : ℚ≥0) (urest : List ℚ≥0)
  (solution : nnrat/farkas-elim-list-solvable lowers u0 urest)
  → nnrat/farkas-elim-list-reduced lowers u0 urest

List = data/Listℚ≥0 = nnrat/NonnegativeRational

nnrat/farkas-elim-list-solvable-iff

TheoremFor all inputsNo axiomsSource, line 537

nnrat/farkas-elim-list-solvable-iff :
  (lowers : List ℚ≥0) (u0 : ℚ≥0) (urest : List ℚ≥0)
  → proposition/conjunction (reduced → solvable) (solvable → reduced)
  where reduced := nnrat/farkas-elim-list-reduced lowers u0 urest
  where solvable := nnrat/farkas-elim-list-solvable lowers u0 urest

List = data/Listℚ≥0 = nnrat/NonnegativeRational