Step * 1 of Lemma omega_step_measure

.....assertion..... 
1. IntConstraints
2. 0 < dim(p)
3. ¬dim(omega_step(p)) < dim(p)
4. ¬((dim((λp.omega_step(p)) p) dim(p) ∈ ℤ) ∧ num-eq-constraints((λp.omega_step(p)) p) < num-eq-constraints(p))
⊢ False
BY
TACTIC:((Assert ¬dim(p) < BY
                 Auto)
          THEN All (Unfold `omega_step`)
          THEN (All Reduce THENA Auto)
          THEN 1
          THEN Try ((D_union THEN 2))
          THEN RenameVar `eqs' 2
          THEN RenameVar `ineqs' 3
          THEN RepUR ``int-problem-dimension`` -1
          THEN Try ((D -1 THEN TrivialArith))
          THEN All Reduce
          THEN CaseNat `n'
          THEN ((RepeatFor (Thin (-3))
                 THEN Eliminate ⌜n⌝⋅
                 THEN -2
                 THEN DVar `eqs'
                 THEN Reduce 0
                 THEN DSetVars
                 THEN Try ((HypSubst' THEN Auto))
                 THEN DVar `ineqs'
                 THEN Reduce 0
                 THEN DSetVars
                 THEN Try (HypSubst' 0)
                 THEN Auto)
          ORELSE (Thin (-2)
                  THEN RepeatFor (MoveToConcl (-2))
                  THEN (InstLemma `first-success_wf` [⌜{L:ℤ List| ||L|| (n 1) ∈ ℤ} ⌝;⌜λ2L.x:{x:ℤ List| 
                                                                                                L ∈ (ℤ List)} 
                                                                                         × {i:ℕ+||L||| |L[i]| 1 ∈ ℤ} ⌝
                        ; ⌜λL.find-exact-eq-constraint(L)⌝;⌜eqs⌝]⋅
                        THENA Auto
                        )
                  THEN (GenConclTerm ⌜first-success(λL.find-exact-eq-constraint(L);eqs)⌝⋅ THENA Auto)
                  THEN -2
                  THEN Reduce 0)
          )) }

1
1. : ℕ
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| eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ?
7. i:ℕ||eqs|| × x:{x:ℤ List| eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ
8. 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 ∈ ℤ?)
⊢ dim(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 ) < dim(inl <eqs, ineqs>))
 ((dim(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 )
   dim(inl <eqs, ineqs>)
   ∈ ℤ)
   ∧ num-eq-constraints(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 ) < num-eq-constraints(inl <eqs, ineqs>)))
 False

2
1. : ℕ
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| eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| 1 ∈ ℤ?
7. Unit
8. 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 ∈ ℤ?)
⊢ dim(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 ) < 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 
   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 
     else inl <[], (eager-map(λeq.eager-map(λx.(-x);eq);eqs) eqs) ineqs>
     fi ) < num-eq-constraints(inl <eqs, ineqs>)))
 False


Latex:


Latex:
.....assertion..... 
1.  p  :  IntConstraints
2.  0  <  dim(p)
3.  \mneg{}dim(omega\_step(p))  <  dim(p)
4.  \mneg{}((dim((\mlambda{}p.omega\_step(p))  p)  =  dim(p))
\mwedge{}  num-eq-constraints((\mlambda{}p.omega\_step(p))  p)  <  num-eq-constraints(p))
\mvdash{}  False


By


Latex:
TACTIC:((Assert  \mneg{}dim(p)  <  1  BY
                              Auto)
                THEN  All  (Unfold  `omega\_step`)
                THEN  (All  Reduce  THENA  Auto)
                THEN  D  1
                THEN  Try  ((D\_union  1  THEN  D  2))
                THEN  RenameVar  `eqs'  2
                THEN  RenameVar  `ineqs'  3
                THEN  RepUR  ``int-problem-dimension``  -1
                THEN  Try  ((D  -1  THEN  TrivialArith))
                THEN  All  Reduce
                THEN  CaseNat  0  `n'
                THEN  ((RepeatFor  2  (Thin  (-3))
                              THEN  Eliminate  \mkleeneopen{}n\mkleeneclose{}\mcdot{}
                              THEN  D  -2
                              THEN  DVar  `eqs'
                              THEN  Reduce  0
                              THEN  DSetVars
                              THEN  Try  ((HypSubst'  3  0  THEN  Auto))
                              THEN  DVar  `ineqs'
                              THEN  Reduce  0
                              THEN  DSetVars
                              THEN  Try  (HypSubst'  3  0)
                              THEN  Auto)
                ORELSE  (Thin  (-2)
                                THEN  RepeatFor  2  (MoveToConcl  (-2))
                                THEN  (InstLemma  `first-success\_wf`  [\mkleeneopen{}\{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}  \mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}L.x:\{x:\mBbbZ{}  List|\000C 
                                                                                                                                                                                    x  =  L\} 
                                                                                                                                                                      \mtimes{}  \{i:\mBbbN{}\msupplus{}||L||| 
                                                                                                                                                                            |L[i]|  =  1\}  \mkleeneclose{};\000C 
                                            \mkleeneopen{}\mlambda{}L.find-exact-eq-constraint(L)\mkleeneclose{};\mkleeneopen{}eqs\mkleeneclose{}]\mcdot{}
                                            THENA  Auto
                                            )
                                THEN  (GenConclTerm  \mkleeneopen{}first-success(\mlambda{}L.find-exact-eq-constraint(L);eqs)\mkleeneclose{}\mcdot{}  THENA  Auto)
                                THEN  D  -2
                                THEN  Reduce  0)
                ))




Home Index