Step * of Lemma member-gcd-reduce-ineq-constraints

No Annotations
n:ℕ+. ∀ineqs,sat:{L:ℤ List| ||L|| n ∈ ℤ}  List. ∀cc:{L:ℤ List| ||L|| n ∈ ℤ.
  ((↑isl(gcd-reduce-ineq-constraints(sat;ineqs)))  (cc ∈ sat)  (cc ∈ outl(gcd-reduce-ineq-constraints(sat;ineqs))))
BY
(InductionOnList
   THEN Unfold `gcd-reduce-ineq-constraints` 0
   THEN (RWW "accumulate_abort_cons_lemma" THENA Auto)
   THEN Reduce 0
   THEN Try (Complete (Auto))) }

1
1. : ℕ+
2. {L:ℤ List| ||L|| n ∈ ℤ
3. {L:ℤ List| ||L|| n ∈ ℤ}  List
4. ∀sat:{L:ℤ List| ||L|| n ∈ ℤ}  List. ∀cc:{L:ℤ List| ||L|| n ∈ ℤ.
     ((↑isl(gcd-reduce-ineq-constraints(sat;v)))  (cc ∈ sat)  (cc ∈ outl(gcd-reduce-ineq-constraints(sat;v))))
⊢ ∀sat:{L:ℤ List| ||L|| n ∈ ℤ}  List. ∀cc:{L:ℤ List| ||L|| n ∈ ℤ.
    ((↑isl(let s' ⟵ let h,t 
                     in if Ax then if (h) < (0)  then inr ⋅   else (inl [u sat])
                        otherwise eval |gcd-list(t)| in
                                  if (1) < (g)
                                     then eval h' h ÷↓ in
                                          eval t' eager-map(λx.(x ÷ g);t) in
                                            inl [[h' t'] sat]
                                     else (inl [u sat])
           in accumulate_abort(L,Ls.let h,t 
                                    in if Ax then if (h) < (0)  then inr ⋅   else (inl [L Ls])
                                       otherwise eval |gcd-list(t)| in
                                                 if (1) < (g)
                                                    then eval h' h ÷↓ in
                                                         eval t' eager-map(λx.(x ÷ g);t) in
                                                           inl [[h' t'] Ls]
                                                    else (inl [L Ls]);s';v)))
     (cc ∈ sat)
     (cc ∈ outl(let s' ⟵ let h,t 
                            in if Ax then if (h) < (0)  then inr ⋅   else (inl [u sat])
                               otherwise eval |gcd-list(t)| in
                                         if (1) < (g)
                                            then eval h' h ÷↓ in
                                                 eval t' eager-map(λx.(x ÷ g);t) in
                                                   inl [[h' t'] sat]
                                            else (inl [u sat])
                  in accumulate_abort(L,Ls.let h,t 
                                           in if Ax then if (h) < (0)  then inr ⋅   else (inl [L Ls])
                                              otherwise eval |gcd-list(t)| in
                                                        if (1) < (g)
                                                           then eval h' h ÷↓ in
                                                                eval t' eager-map(λx.(x ÷ g);t) in
                                                                  inl [[h' t'] Ls]
                                                           else (inl [L Ls]);s';v))))


Latex:


Latex:
No  Annotations
\mforall{}n:\mBbbN{}\msupplus{}.  \mforall{}ineqs,sat:\{L:\mBbbZ{}  List|  ||L||  =  n\}    List.  \mforall{}cc:\{L:\mBbbZ{}  List|  ||L||  =  n\}  .
    ((\muparrow{}isl(gcd-reduce-ineq-constraints(sat;ineqs)))
    {}\mRightarrow{}  (cc  \mmember{}  sat)
    {}\mRightarrow{}  (cc  \mmember{}  outl(gcd-reduce-ineq-constraints(sat;ineqs))))


By


Latex:
(InductionOnList
  THEN  Unfold  `gcd-reduce-ineq-constraints`  0
  THEN  (RWW  "accumulate\_abort\_cons\_lemma"  0  THENA  Auto)
  THEN  Reduce  0
  THEN  Try  (Complete  (Auto)))




Home Index