Step
*
1
2
of Lemma
omega_step_measure
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
3. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
4. 0 < dim(inl <eqs, ineqs>)
5. ¬(n = 0 ∈ ℤ)
6. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?
7. y : Unit
8. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inr y )
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
⊢ (¬dim(if null(eqs)
  then case gcd-reduce-ineq-constraints([];shadow_inequalities(ineqs)) of inl(ineqs') => inl <[], ineqs'> | inr(x) => in\000Cr x 
  else inl <[], (eager-map(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs>
  fi ) < dim(inl <eqs, ineqs>))
⇒ (¬((dim(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(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs>
   fi )
   = dim(inl <eqs, ineqs>)
   ∈ ℤ)
   ∧ num-eq-constraints(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(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs>
     fi ) < num-eq-constraints(inl <eqs, ineqs>)))
⇒ False
BY
{ (BoolCase ⌜null(eqs)⌝⋅ THENA Auto) }
1
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
3. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
4. 0 < dim(inl <eqs, ineqs>)
5. ¬(n = 0 ∈ ℤ)
6. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?
7. y : Unit
8. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inr y )
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
9. eqs = [] ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List)
⊢ (¬dim(case gcd-reduce-ineq-constraints([];shadow_inequalities(ineqs))
   of inl(ineqs') =>
   inl <[], ineqs'>
   | inr(x) =>
   inr x ) < dim(inl <eqs, ineqs>))
⇒ (¬((dim(case gcd-reduce-ineq-constraints([];shadow_inequalities(ineqs))
    of inl(ineqs') =>
    inl <[], ineqs'>
    | inr(x) =>
    inr x )
   = dim(inl <eqs, ineqs>)
   ∈ ℤ)
   ∧ num-eq-constraints(case gcd-reduce-ineq-constraints([];shadow_inequalities(ineqs))
      of inl(ineqs') =>
      inl <[], ineqs'>
      | inr(x) =>
      inr x ) < num-eq-constraints(inl <eqs, ineqs>)))
⇒ False
2
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
3. ¬(eqs = [] ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List))
4. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
5. 0 < dim(inl <eqs, ineqs>)
6. ¬(n = 0 ∈ ℤ)
7. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?
8. y : Unit
9. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inr y )
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
⊢ (¬dim(inl <[], (eager-map(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs>) < dim(inl <eqs, ineqs>))
⇒ (¬((dim(inl <[], (eager-map(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs>) = dim(inl <eqs, ineqs>) ∈ ℤ)
   ∧ num-eq-constraints(inl <[], (eager-map(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs>) < num-eq-constraints(inl <eq\000Cs, ineqs>)))
⇒ False
Latex:
Latex:
1.  n  :  \mBbbN{}
2.  eqs  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
3.  ineqs  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
4.  0  <  dim(inl  <eqs,  ineqs>)
5.  \mneg{}(n  =  0)
6.  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\}  ?
7.  y  :  Unit
8.  first-success(\mlambda{}L.find-exact-eq-constraint(L);eqs)  =  (inr  y  )
\mvdash{}  (\mneg{}dim(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  )  <  dim(inl  <eqs,  ineqs>))
{}\mRightarrow{}  (\mneg{}((dim(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  )
      =  dim(inl  <eqs,  ineqs>))
      \mwedge{}  num-eq-constraints(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  )  <  num-eq-constraints(inl  <eqs,  ineqs>)))
{}\mRightarrow{}  False
By
Latex:
(BoolCase  \mkleeneopen{}null(eqs)\mkleeneclose{}\mcdot{}  THENA  Auto)
Home
Index