Step
*
2
1
1
2
1
2
of Lemma
index-min_wf
1. u : ℤ
2. u1 : ℤ
3. v : ℤ List
4. index-min([u1 / v]) ∈ i:ℕ||[u1 / v]|| × {x:ℤ| (x = [u1 / v][i] ∈ ℤ) ∧ (∀z:ℤ. ((z ∈ [u1 / v]) 
⇒ (x ≤ z)))} 
5. i : ℕ||[u1 / v]||
6. v2 : {x:ℤ| (x = [u1 / v][i] ∈ ℤ) ∧ (∀z:ℤ. ((z ∈ [u1 / v]) 
⇒ (x ≤ z)))} 
7. ¬u < v2
8. index-min([u1 / v])
= <i, v2>
∈ (i:ℕ||[u1 / v]|| × {x:ℤ| (x = [u1 / v][i] ∈ ℤ) ∧ (∀z:ℤ. ((z ∈ [u1 / v]) 
⇒ (x ≤ z)))} )
⊢ eval j = i + 1 in
  <j, v2> ∈ i:ℕ(||v|| + 1) + 1 × {x:ℤ| (x = [u; [u1 / v]][i] ∈ ℤ) ∧ (∀z:ℤ. ((z ∈ [u; [u1 / v]]) 
⇒ (x ≤ z)))} 
BY
{ ((CallByValueReduce 0 THENA Auto) THEN MemCD THEN Reduce 0 THEN Try (MemTypeCD) THEN Auto) }
1
1. u : ℤ
2. u1 : ℤ
3. v : ℤ List
4. index-min([u1 / v]) ∈ i:ℕ||[u1 / v]|| × {x:ℤ| (x = [u1 / v][i] ∈ ℤ) ∧ (∀z:ℤ. ((z ∈ [u1 / v]) 
⇒ (x ≤ z)))} 
5. i : ℕ||[u1 / v]||
6. v2 : {x:ℤ| (x = [u1 / v][i] ∈ ℤ) ∧ (∀z:ℤ. ((z ∈ [u1 / v]) 
⇒ (x ≤ z)))} 
7. ¬u < v2
8. index-min([u1 / v])
= <i, v2>
∈ (i:ℕ||[u1 / v]|| × {x:ℤ| (x = [u1 / v][i] ∈ ℤ) ∧ (∀z:ℤ. ((z ∈ [u1 / v]) 
⇒ (x ≤ z)))} )
9. v2 = [u; [u1 / v]][i + 1] ∈ ℤ
10. z : ℤ
11. (z ∈ [u; [u1 / v]])
⊢ v2 ≤ z
Latex:
Latex:
1.  u  :  \mBbbZ{}
2.  u1  :  \mBbbZ{}
3.  v  :  \mBbbZ{}  List
4.  index-min([u1  /  v])  \mmember{}  i:\mBbbN{}||[u1  /  v]||  \mtimes{}  \{x:\mBbbZ{}| 
                                                                                        (x  =  [u1  /  v][i])
                                                                                        \mwedge{}  (\mforall{}z:\mBbbZ{}.  ((z  \mmember{}  [u1  /  v])  {}\mRightarrow{}  (x  \mleq{}  z)))\} 
5.  i  :  \mBbbN{}||[u1  /  v]||
6.  v2  :  \{x:\mBbbZ{}|  (x  =  [u1  /  v][i])  \mwedge{}  (\mforall{}z:\mBbbZ{}.  ((z  \mmember{}  [u1  /  v])  {}\mRightarrow{}  (x  \mleq{}  z)))\} 
7.  \mneg{}u  <  v2
8.  index-min([u1  /  v])  =  <i,  v2>
\mvdash{}  eval  j  =  i  +  1  in
    <j,  v2>  \mmember{}  i:\mBbbN{}(||v||  +  1)  +  1  \mtimes{}  \{x:\mBbbZ{}| 
                                                                    (x  =  [u;  [u1  /  v]][i])
                                                                    \mwedge{}  (\mforall{}z:\mBbbZ{}.  ((z  \mmember{}  [u;  [u1  /  v]])  {}\mRightarrow{}  (x  \mleq{}  z)))\} 
By
Latex:
((CallByValueReduce  0  THENA  Auto)  THEN  MemCD  THEN  Reduce  0  THEN  Try  (MemTypeCD)  THEN  Auto)
Home
Index