Step * 4 of Lemma gcd-reduce-eq-constraints_wf2

.....subterm..... T:t
1:n
1. : ℕ
2. LL {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
3. sat {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
4. {L:ℤ List| ||L|| (n 1) ∈ ℤ
5. Ls {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
⊢ let h,t 
  in if Ax then if h=0 then inl [L Ls] else (inr ⋅ otherwise eval |gcd-list(t)| in
                                                                     if (1) < (g)
                                                                        then if rem g=0
                                                                             then eval L' eager-map(λx.(x ÷ g);L) in
                                                                                  inl [L' Ls]
                                                                             else (inr ⋅ )
                                                                        else (inl [L Ls]) ∈ {L:ℤ List| ||L|| (n 1)\000C ∈ ℤ}  List?
BY
(RepeatFor (DVar  `L') THENL [(Reduce -2 THEN Auto); RW (AddrC [2] (TagC (mk_tag_term 2))) 0]) }

1
1. : ℕ
2. LL {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
3. sat {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
4. : ℤ
5. : ℤ List
6. ||[u v]|| (n 1) ∈ ℤ
7. Ls {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
⊢ if Ax then if u=0 then inl [[u v] Ls] else (inr ⋅ )
  otherwise eval |gcd-list(v)| in
            if (1) < (g)
               then if rem g=0 then eval L' eager-map(λx.(x ÷ g);[u v]) in inl [L' Ls] else (inr ⋅ )
               else (inl [[u v] Ls]) ∈ {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List?


Latex:


Latex:
.....subterm.....  T:t
1:n
1.  n  :  \mBbbN{}
2.  LL  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
3.  sat  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
4.  L  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\} 
5.  Ls  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
\mvdash{}  let  h,t  =  L 
    in  if  t  =  Ax  then  if  h=0  then  inl  [L  /  Ls]  else  (inr  \mcdot{}  )
          otherwise  eval  g  =  |gcd-list(t)|  in
                              if  (1)  <  (g)
                                    then  if  h  rem  g=0
                                              then  eval  L'  =  eager-map(\mlambda{}x.(x  \mdiv{}  g);L)  in
                                                        inl  [L'  /  Ls]
                                              else  (inr  \mcdot{}  )
                                    else  (inl  [L  /  Ls])  \mmember{}  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List?


By


Latex:
(RepeatFor  2  (DVar    `L')  THENL  [(Reduce  -2  THEN  Auto);  RW  (AddrC  [2]  (TagC  (mk\_tag\_term  2)))  0])




Home Index