Step
*
1
2
1
1
2
of Lemma
satisfies-negate-poly-constraint
1. eqs : iPolynomial() List
2. ineqs : iPolynomial() List
3. f : ℤ ⟶ ℤ
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)))
⊢ (∃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))))))
BY
{ (((Assert [] ∈ iPolynomial() List BY Auto) THEN (RWO "-2" 0 THENA Auto))
   THEN Assert ⌜(∃Z∈map(λineq.<[], [minus-poly(add-ipoly(ineq;const-poly(1)))]>ineqs). satisfies-poly-constraints(f;Z))
                
⇐⇒ (∃ineq∈ineqs. 0 ≤ int_term_value(f;ipolynomial-term(minus-poly(add-ipoly(ineq;const-poly(1))))))⌝⋅
   ) }
1
.....assertion..... 
1. eqs : iPolynomial() List
2. ineqs : iPolynomial() List
3. f : ℤ ⟶ ℤ
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∈map(λineq.<[], [minus-poly(add-ipoly(ineq;const-poly(1)))]>ineqs). satisfies-poly-constraints(f;Z))
⇐⇒ (∃ineq∈ineqs. 0 ≤ int_term_value(f;ipolynomial-term(minus-poly(add-ipoly(ineq;const-poly(1))))))
2
1. eqs : iPolynomial() List
2. ineqs : iPolynomial() List
3. f : ℤ ⟶ ℤ
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
6. (∃Z∈map(λineq.<[], [minus-poly(add-ipoly(ineq;const-poly(1)))]>ineqs). satisfies-poly-constraints(f;Z))
⇐⇒ (∃ineq∈ineqs. 0 ≤ int_term_value(f;ipolynomial-term(minus-poly(add-ipoly(ineq;const-poly(1))))))
⊢ (∃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∈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{}
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)))
\mvdash{}  (\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:
              map(\mlambda{}ineq.<[],  [minus-poly(add-ipoly(ineq;const-poly(1)))]>
                      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:
(((Assert  []  \mmember{}  iPolynomial()  List  BY  Auto)  THEN  (RWO  "-2"  0  THENA  Auto))
  THEN  Assert 
            \mkleeneopen{}(\mexists{}Z\mmember{}map(\mlambda{}ineq.<[],  [minus-poly(add-ipoly(ineq;const-poly(1)))]>
                              ineqs).  satisfies-poly-constraints(f;Z))
              \mLeftarrow{}{}\mRightarrow{}  (\mexists{}ineq\mmember{}ineqs.  0 
                                                  \mleq{}  int\_term\_value(f;ipolynomial-term(minus-poly(add-ipoly(ineq;...)))))\mkleeneclose{}\mcdot{}
  )
Home
Index