Step * 2 2 1 2 1 1 1 of Lemma satisfies-shadow-inequalities


1. : ℕ
2. ineqs {L:ℤ List| ||L|| n ∈ ℤ}  List
3. : ℕ+n
4. xs : ℤ List
5. (∀as∈ineqs.xs ⋅ as ≥0)
6. ∀L:ℤ List. ((L ∈ ineqs)  i < ||L||)
7. map(λL.L\i;filter(λL.(L[i] =z 0);ineqs)) ∈ ℤ List List
8. valueall-type(ℤ List List)
9. (∀as∈eager-product-map(λas,bs. shadow-vec(i;as;bs);filter(λL.0 <L[i];ineqs);filter(λL.L[i] <0;ineqs))
       map(λL.L\i;filter(λL.(L[i] =z 0);ineqs)).xs\i ⋅ as ≥0)
10. ∀[T:Type]
      ∀[A,B:Type]. ∀[f:A ⟶ B ⟶ T]. ∀[as:A List]. ∀[bs:B List].  (eager-product-map(f;as;bs) ∈ List) 
      supposing value-type(T)
⊢ eager-product-map(λas,bs. shadow-vec(i;as;bs);filter(λL.0 <L[i];ineqs);filter(λL.L[i] <0;ineqs)) ∈ Top List
BY
((InstLemma `eager-product-map_wf` 
      [⌜{L:ℤ List| ||L|| (n 1) ∈ ℤ} ⌝;⌜{L:ℤ List| ||L|| n ∈ ℤ} ⌝;⌜{L:ℤ List| ||L|| n ∈ ℤ} ⌝]⋅
    THENA Auto
    )
   THEN BHyp -1
   THEN Auto
   THEN BackThruSomeHyp
   THEN ParallelLast
   THEN Auto) }


Latex:


Latex:

1.  n  :  \mBbbN{}
2.  ineqs  :  \{L:\mBbbZ{}  List|  ||L||  =  n\}    List
3.  i  :  \mBbbN{}\msupplus{}n
4.  xs  :  \mBbbZ{}  List
5.  (\mforall{}as\mmember{}ineqs.xs  \mcdot{}  as  \mgeq{}0)
6.  \mforall{}L:\mBbbZ{}  List.  ((L  \mmember{}  ineqs)  {}\mRightarrow{}  i  <  ||L||)
7.  map(\mlambda{}L.L\mbackslash{}i;filter(\mlambda{}L.(L[i]  =\msubz{}  0);ineqs))  \mmember{}  \mBbbZ{}  List  List
8.  valueall-type(\mBbbZ{}  List  List)
9.  (\mforall{}as\mmember{}eager-product-map(\mlambda{}as,bs.  shadow-vec(i;as;bs);filter(\mlambda{}L.0  <z  L[i];ineqs);filter(\mlambda{}L.L[i]  <z  0\000C;
                                                                                                                                                                    ineqs))
              @  map(\mlambda{}L.L\mbackslash{}i;filter(\mlambda{}L.(L[i]  =\msubz{}  0);ineqs)).xs\mbackslash{}i  \mcdot{}  as  \mgeq{}0)
10.  \mforall{}[T:Type]
            \mforall{}[A,B:Type].  \mforall{}[f:A  {}\mrightarrow{}  B  {}\mrightarrow{}  T].  \mforall{}[as:A  List].  \mforall{}[bs:B  List].
                (eager-product-map(f;as;bs)  \mmember{}  T  List) 
            supposing  value-type(T)
\mvdash{}  eager-product-map(\mlambda{}as,bs.  shadow-vec(i;as;bs);filter(\mlambda{}L.0  <z  L[i];ineqs);filter(\mlambda{}L.L[i]  <z  0;ineqs\000C))
    \mmember{}  Top  List


By


Latex:
((InstLemma  `eager-product-map\_wf` 
        [\mkleeneopen{}\{L:\mBbbZ{}  List|  ||L||  =  (n  -  1)\}  \mkleeneclose{};\mkleeneopen{}\{L:\mBbbZ{}  List|  ||L||  =  n\}  \mkleeneclose{};\mkleeneopen{}\{L:\mBbbZ{}  List|  ||L||  =  n\}  \mkleeneclose{}]\mcdot{}
    THENA  Auto
    )
  THEN  BHyp  -1
  THEN  Auto
  THEN  BackThruSomeHyp
  THEN  ParallelLast
  THEN  Auto)




Home Index