Step * 1 2 1 1 of Lemma omega_step_wf


1. : ℕ
2. eqs {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
3. ineqs {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
4. ¬(n 0 ∈ ℤ)
5. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ?
6. i:ℕ||eqs|| × x:{x:ℤ List| eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ?
7. first-success(λL.find-exact-eq-constraint(L);eqs)
v
∈ (i:ℕ||eqs|| × x:{x:ℤ List| eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ?)
⊢ case v
   of inl(tr) =>
   let i,wj tr 
   in let w,j wj 
      in case gcd-reduce-eq-constraints([];exact-reduce-constraints(w;j;eqs))
          of inl(eqs') =>
          case gcd-reduce-ineq-constraints([];exact-reduce-constraints(w;j;ineqs))
           of inl(ineqs') =>
           inl <eqs', ineqs'>
           inr(x) =>
           inr 
          inr(x) =>
          inr 
   inr(_) =>
   if null(eqs)
   then case gcd-reduce-ineq-constraints([];shadow_inequalities(ineqs))
         of inl(ineqs') =>
         inl <[], ineqs'>
         inr(x) =>
         inr 
   else inl <[], (eager-map(λeq.eager-map(λx.(-x);eq);eqs) eqs) ineqs>
   fi  ∈ IntConstraints
BY
TACTIC:(D -2 THEN Reduce 0) }

1
1. : ℕ
2. eqs {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
3. ineqs {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
4. ¬(n 0 ∈ ℤ)
5. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ?
6. i:ℕ||eqs|| × x:{x:ℤ List| eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ
7. first-success(λL.find-exact-eq-constraint(L);eqs)
(inl x)
∈ (i:ℕ||eqs|| × x:{x:ℤ List| eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ?)
⊢ let i,wj 
  in let w,j wj 
     in case gcd-reduce-eq-constraints([];exact-reduce-constraints(w;j;eqs))
         of inl(eqs') =>
         case gcd-reduce-ineq-constraints([];exact-reduce-constraints(w;j;ineqs))
          of inl(ineqs') =>
          inl <eqs', ineqs'>
          inr(x) =>
          inr 
         inr(x) =>
         inr x  ∈ IntConstraints

2
1. : ℕ
2. eqs {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
3. ineqs {L:ℤ List| ||L|| (n 1) ∈ ℤ}  List
4. ¬(n 0 ∈ ℤ)
5. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ?
6. Unit
7. first-success(λL.find-exact-eq-constraint(L);eqs)
(inr )
∈ (i:ℕ||eqs|| × x:{x:ℤ List| eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ?)
⊢ if null(eqs)
  then case gcd-reduce-ineq-constraints([];shadow_inequalities(ineqs)) of inl(ineqs') => inl <[], ineqs'> inr(x) => in\000Cr 
  else inl <[], (eager-map(λeq.eager-map(λx.(-x);eq);eqs) eqs) ineqs>
  fi  ∈ IntConstraints


Latex:


Latex:

1.  n  :  \mBbbN{}
2.  eqs  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
3.  ineqs  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
4.  \mneg{}(n  =  0)
5.  first-success(\mlambda{}L.find-exact-eq-constraint(L);eqs)  \mmember{}  i:\mBbbN{}||eqs||
      \mtimes{}  x:\{x:\mBbbZ{}  List|  x  =  eqs[i]\} 
      \mtimes{}  \{i@0:\mBbbN{}\msupplus{}||eqs[i]|||  |eqs[i][i@0]|  =  1\}  ?
6.  v  :  i:\mBbbN{}||eqs||  \mtimes{}  x:\{x:\mBbbZ{}  List|  x  =  eqs[i]\}    \mtimes{}  \{i@0:\mBbbN{}\msupplus{}||eqs[i]|||  |eqs[i][i@0]|  =  1\}  ?
7.  first-success(\mlambda{}L.find-exact-eq-constraint(L);eqs)  =  v
\mvdash{}  case  v
      of  inl(tr)  =>
      let  i,wj  =  tr 
      in  let  w,j  =  wj 
            in  case  gcd-reduce-eq-constraints([];exact-reduce-constraints(w;j;eqs))
                    of  inl(eqs')  =>
                    case  gcd-reduce-ineq-constraints([];exact-reduce-constraints(w;j;ineqs))
                      of  inl(ineqs')  =>
                      inl  <eqs',  ineqs'>
                      |  inr(x)  =>
                      inr  x 
                    |  inr(x)  =>
                    inr  x 
      |  inr($_{}$)  =>
      if  null(eqs)
      then  case  gcd-reduce-ineq-constraints([];shadow\_inequalities(ineqs))
                  of  inl(ineqs')  =>
                  inl  <[],  ineqs'>
                  |  inr(x)  =>
                  inr  x 
      else  inl  <[],  (eager-map(\mlambda{}eq.eager-map(\mlambda{}x.(-x);eq);eqs)  @  eqs)  @  ineqs>
      fi    \mmember{}  IntConstraints


By


Latex:
TACTIC:(D  -2  THEN  Reduce  0)




Home Index