Step * 1 1 of Lemma remove-nat-missing_wf


1. : ℕ
2. : ℤ
3. (-1) ≤ m
4. s1 : ℕ List
5. ¬(s1 [] ∈ (ℕ List))
6. l-ordered(ℕ;x,y.x < y;s1)
7. (∀x∈s1.x < m)
8. m ∈ ℤ
9. last(s1) (m 1) ∈ ℤ
⊢ eval select-last-in-nat-missing(last(s1);s1) in
  <n, filter(λx.x <n;s1)> ∈ m:{m:ℤ(-1) ≤ m}  × {L:ℕ List| l-ordered(ℕ;x,y.x < y;L) ∧ (∀x∈L.x < m)} 
BY
((CallByValueReduce THENA ProveHasValue)
   THEN MemCD
   THEN Auto
   THEN GenConclAtAddr [2;1;1;2]
   THEN DVarSets
   THEN MemTypeCD
   THEN Auto
   THEN Try (Complete ((BLemma `l-ordered-filter` THEN Auto)))
   THEN RWO "l_all_iff" 0
   THEN Auto
   THEN RW ListC (-1)
   THEN AllReduce
   THEN Auto
   THEN RW assert_pushdownC (-1)
   THEN Auto) }


Latex:


Latex:

1.  i  :  \mBbbN{}
2.  m  :  \mBbbZ{}
3.  (-1)  \mleq{}  m
4.  s1  :  \mBbbN{}  List
5.  \mneg{}(s1  =  [])
6.  l-ordered(\mBbbN{};x,y.x  <  y;s1)
7.  (\mforall{}x\mmember{}s1.x  <  m)
8.  i  =  m
9.  last(s1)  =  (m  -  1)
\mvdash{}  eval  n  =  select-last-in-nat-missing(last(s1);s1)  in
    <n,  filter(\mlambda{}x.x  <z  n;s1)>  \mmember{}  m:\{m:\mBbbZ{}|  (-1)  \mleq{}  m\}    \mtimes{}  \{L:\mBbbN{}  List|  l-ordered(\mBbbN{};x,y.x  <  y;L)  \mwedge{}  (\mforall{}x\mmember{}L.x  <  m\000C)\} 


By


Latex:
((CallByValueReduce  0  THENA  ProveHasValue)
  THEN  MemCD
  THEN  Auto
  THEN  GenConclAtAddr  [2;1;1;2]
  THEN  DVarSets
  THEN  MemTypeCD
  THEN  Auto
  THEN  Try  (Complete  ((BLemma  `l-ordered-filter`  THEN  Auto)))
  THEN  RWO  "l\_all\_iff"  0
  THEN  Auto
  THEN  RW  ListC  (-1)
  THEN  AllReduce
  THEN  Auto
  THEN  RW  assert\_pushdownC  (-1)
  THEN  Auto)




Home Index