Step
*
1
2
1
of Lemma
satisfies-negate-poly-constraint
1. eqs : iPolynomial() List
2. ineqs : iPolynomial() List
3. f : ℤ ⟶ ℤ
⊢ (∃Z∈negate-poly-constraint(<eqs, ineqs>). satisfies-poly-constraints(f;Z))
⇐⇒ (∃e∈eqs. (0 ≤ int_term_value(f;ipolynomial-term(minus-poly(add-ipoly(e;const-poly(1))))))
    ∨ (0 ≤ int_term_value(f;ipolynomial-term(add-ipoly(e;const-poly(-1))))))
    ∨ (∃ineq∈ineqs. 0 ≤ int_term_value(f;ipolynomial-term(minus-poly(add-ipoly(ineq;const-poly(1))))))
BY
{ RepUR ``negate-poly-constraint`` 0 }
1
1. eqs : iPolynomial() List
2. ineqs : iPolynomial() List
3. f : ℤ ⟶ ℤ
⊢ (∃Z∈accumulate (with value pcs and list item e):
       [<[], [minus-poly(add-ipoly(e;const-poly(1)))]> [<[], [add-ipoly(e;const-poly(-1))]> / pcs]]
      over list:
        eqs
      with starting value:
       map(λineq.<[], [minus-poly(add-ipoly(ineq;const-poly(1)))]>ineqs)). satisfies-poly-constraints(f;Z))
⇐⇒ (∃e∈eqs. (0 ≤ int_term_value(f;ipolynomial-term(minus-poly(add-ipoly(e;const-poly(1))))))
    ∨ (0 ≤ int_term_value(f;ipolynomial-term(add-ipoly(e;const-poly(-1))))))
    ∨ (∃ineq∈ineqs. 0 ≤ int_term_value(f;ipolynomial-term(minus-poly(add-ipoly(ineq;const-poly(1))))))
Latex:
Latex:
1.  eqs  :  iPolynomial()  List
2.  ineqs  :  iPolynomial()  List
3.  f  :  \mBbbZ{}  {}\mrightarrow{}  \mBbbZ{}
\mvdash{}  (\mexists{}Z\mmember{}negate-poly-constraint(<eqs,  ineqs>).  satisfies-poly-constraints(f;Z))
\mLeftarrow{}{}\mRightarrow{}  (\mexists{}e\mmember{}eqs.  (0  \mleq{}  int\_term\_value(f;ipolynomial-term(minus-poly(add-ipoly(e;const-poly(1))))))
        \mvee{}  (0  \mleq{}  int\_term\_value(f;ipolynomial-term(add-ipoly(e;const-poly(-1))))))
        \mvee{}  (\mexists{}ineq\mmember{}ineqs.  0 
                                        \mleq{}  int\_term\_value(f;ipolynomial-term(minus-poly(add-ipoly(ineq;const-poly(1))))))
By
Latex:
RepUR  ``negate-poly-constraint``  0
Home
Index