Step * 1 of Lemma member-and-poly-constraints

.....assertion..... 
L1,L2,Xs:polynomial-constraints() List. ∀X:polynomial-constraints().
  ((X ∈ accumulate (with value sofar and list item Y):
         accumulate (with value sofar' and list item X):
          [combine-pcs(X;Y) sofar']
         over list:
           L1
         with starting value:
          sofar)
        over list:
          L2
        with starting value:
         Xs))
  ⇐⇒ (X ∈ Xs) ∨ (∃A∈L1. (∃B∈L2. combine-pcs(A;B) ∈ polynomial-constraints())))
BY
InductionOnList }

1
L2,Xs:polynomial-constraints() List. ∀X:polynomial-constraints().
  ((X ∈ accumulate (with value sofar and list item Y):
         accumulate (with value sofar' and list item X):
          [combine-pcs(X;Y) sofar']
         over list:
           []
         with starting value:
          sofar)
        over list:
          L2
        with starting value:
         Xs))
  ⇐⇒ (X ∈ Xs) ∨ (∃A∈[]. (∃B∈L2. combine-pcs(A;B) ∈ polynomial-constraints())))

2
1. polynomial-constraints()
2. polynomial-constraints() List
3. ∀L2,Xs:polynomial-constraints() List. ∀X:polynomial-constraints().
     ((X ∈ accumulate (with value sofar and list item Y):
            accumulate (with value sofar' and list item X):
             [combine-pcs(X;Y) sofar']
            over list:
              v
            with starting value:
             sofar)
           over list:
             L2
           with starting value:
            Xs))
     ⇐⇒ (X ∈ Xs) ∨ (∃A∈v. (∃B∈L2. combine-pcs(A;B) ∈ polynomial-constraints())))
⊢ ∀L2,Xs:polynomial-constraints() List. ∀X:polynomial-constraints().
    ((X ∈ accumulate (with value sofar and list item Y):
           accumulate (with value sofar' and list item X):
            [combine-pcs(X;Y) sofar']
           over list:
             [u v]
           with starting value:
            sofar)
          over list:
            L2
          with starting value:
           Xs))
    ⇐⇒ (X ∈ Xs) ∨ (∃A∈[u v]. (∃B∈L2. combine-pcs(A;B) ∈ polynomial-constraints())))


Latex:


Latex:
.....assertion..... 
\mforall{}L1,L2,Xs:polynomial-constraints()  List.  \mforall{}X:polynomial-constraints().
    ((X  \mmember{}  accumulate  (with  value  sofar  and  list  item  Y):
                  accumulate  (with  value  sofar'  and  list  item  X):
                    [combine-pcs(X;Y)  /  sofar']
                  over  list:
                      L1
                  with  starting  value:
                    sofar)
                over  list:
                    L2
                with  starting  value:
                  Xs))
    \mLeftarrow{}{}\mRightarrow{}  (X  \mmember{}  Xs)  \mvee{}  (\mexists{}A\mmember{}L1.  (\mexists{}B\mmember{}L2.  X  =  combine-pcs(A;B))))


By


Latex:
InductionOnList




Home Index