Step * 1 2 1 1 2 1 1 of Lemma satisfies-negate-poly-constraint


1. eqs iPolynomial() List
2. ineqs iPolynomial() List
3. : ℤ ⟶ ℤ
4. ∀L:polynomial-constraints() List
     ((∃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:
           L). 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))))))
         ∨ (∃Z∈L. satisfies-poly-constraints(f;Z)))
5. [] ∈ iPolynomial() List
⊢ (∃Z∈ineqs. satisfies-poly-constraints(f;(λineq.<[], [minus-poly(add-ipoly(ineq;const-poly(1)))]>Z))
⇐⇒ (∃ineq∈ineqs. 0 ≤ int_term_value(f;ipolynomial-term(minus-poly(add-ipoly(ineq;const-poly(1))))))
BY
(RepUR ``satisfies-poly-constraints`` THEN (RWO "l_all_nil_iff l_all_single" THENA Auto)) }

1
1. eqs iPolynomial() List
2. ineqs iPolynomial() List
3. : ℤ ⟶ ℤ
4. ∀L:polynomial-constraints() List
     ((∃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:
           L). 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))))))
         ∨ (∃Z∈L. satisfies-poly-constraints(f;Z)))
5. [] ∈ iPolynomial() List
⊢ (∃Z∈ineqs. True ∧ (0 ≤ int_term_value(f;ipolynomial-term(minus-poly(add-ipoly(Z;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{}
4.  \mforall{}L:polynomial-constraints()  List
          ((\mexists{}Z\mmember{}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:
                      L).  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{}Z\mmember{}L.  satisfies-poly-constraints(f;Z)))
5.  []  \mmember{}  iPolynomial()  List
\mvdash{}  (\mexists{}Z\mmember{}ineqs.  satisfies-poly-constraints(f;(\mlambda{}ineq.<[],  [minus-poly(add-ipoly(ineq;const-poly(1)))]>) 
                                                                                    Z))
\mLeftarrow{}{}\mRightarrow{}  (\mexists{}ineq\mmember{}ineqs.  0  \mleq{}  int\_term\_value(f;ipolynomial-term(minus-poly(add-ipoly(ineq;const-poly(1))))))


By


Latex:
(RepUR  ``satisfies-poly-constraints``  0  THEN  (RWO  "l\_all\_nil\_iff  l\_all\_single"  0  THENA  Auto))




Home Index