Step
*
1
2
of Lemma
find-xover-val_wf
1. T : Type
2. value-type(T)
3. test : T ⟶ 𝔹
4. d : ℕ
5. ∀d:ℕd
     ∀[x:ℤ]. ∀[n:{x...}]. ∀[step:ℕ+]. ∀[f:{x...} ⟶ T].
       find-xover-val(test;f;x;n;step) ∈ v:T
       × n':{n':ℤ| (n ≤ n') ∧ (v = (f n') ∈ T) ∧ test v = tt} 
       × {x':ℤ| 
          ((n' = n ∈ ℤ) ∧ (x' = x ∈ ℤ))
          ∨ (((n ≤ x') ∧ test (f x') = ff) ∧ ((n' = (n + step) ∈ ℤ) ∨ ((n + step) ≤ x')))}  
       supposing ∃m:{n..n + d-}. ∀k:{m...}. test (f k) = tt
6. x : ℤ
7. n : {x...}
8. step : ℕ+
9. f : {x...} ⟶ T
10. ¬↑(test (f n))
11. m : {n..n + d-}
12. ∀k:{m...}. test (f k) = tt
13. find-xover-val(test;f;n;n + step;2 * step) ∈ v:T
    × n':{n':ℤ| ((n + step) ≤ n') ∧ (v = (f n') ∈ T) ∧ test v = tt} 
    × {x':ℤ| 
       ((n' = (n + step) ∈ ℤ) ∧ (x' = n ∈ ℤ))
       ∨ ((((n + step) ≤ x') ∧ test (f x') = ff)
         ∧ ((n' = ((n + step) + (2 * step)) ∈ ℤ) ∨ (((n + step) + (2 * step)) ≤ x')))} 
⊢ find-xover-val(test;f;n;n + step;2 * step) ∈ v:T
  × n':{n':ℤ| (n ≤ n') ∧ (v = (f n') ∈ T) ∧ test v = tt} 
  × {x':ℤ| 
     ((n' = n ∈ ℤ) ∧ (x' = x ∈ ℤ)) ∨ (((n ≤ x') ∧ test (f x') = ff) ∧ ((n' = (n + step) ∈ ℤ) ∨ ((n + step) ≤ x')))} 
BY
{ (DoSubsume THEN Auto THEN (D 0 THENA Auto) THEN RepeatFor 2 (D -1) THEN D -2 THEN D -1) }
1
1. T : Type
2. value-type(T)
3. test : T ⟶ 𝔹
4. d : ℕ
5. ∀d:ℕd
     ∀[x:ℤ]. ∀[n:{x...}]. ∀[step:ℕ+]. ∀[f:{x...} ⟶ T].
       find-xover-val(test;f;x;n;step) ∈ v:T
       × n':{n':ℤ| (n ≤ n') ∧ (v = (f n') ∈ T) ∧ test v = tt} 
       × {x':ℤ| 
          ((n' = n ∈ ℤ) ∧ (x' = x ∈ ℤ))
          ∨ (((n ≤ x') ∧ test (f x') = ff) ∧ ((n' = (n + step) ∈ ℤ) ∨ ((n + step) ≤ x')))}  
       supposing ∃m:{n..n + d-}. ∀k:{m...}. test (f k) = tt
6. x : ℤ
7. n : {x...}
8. step : ℕ+
9. f : {x...} ⟶ T
10. ¬↑(test (f n))
11. m : {n..n + d-}
12. ∀k:{m...}. test (f k) = tt
13. find-xover-val(test;f;n;n + step;2 * step) ∈ v:T
    × n':{n':ℤ| ((n + step) ≤ n') ∧ (v = (f n') ∈ T) ∧ test v = tt} 
    × {x':ℤ| 
       ((n' = (n + step) ∈ ℤ) ∧ (x' = n ∈ ℤ))
       ∨ ((((n + step) ≤ x') ∧ test (f x') = ff)
         ∧ ((n' = ((n + step) + (2 * step)) ∈ ℤ) ∨ (((n + step) + (2 * step)) ≤ x')))} 
14. find-xover-val(test;f;n;n + step;2 * step)
= find-xover-val(test;f;n;n + step;2 * step)
∈ (v:T
  × n':{n':ℤ| ((n + step) ≤ n') ∧ (v = (f n') ∈ T) ∧ test v = tt} 
  × {x':ℤ| 
     ((n' = (n + step) ∈ ℤ) ∧ (x' = n ∈ ℤ))
     ∨ ((((n + step) ≤ x') ∧ test (f x') = ff)
       ∧ ((n' = ((n + step) + (2 * step)) ∈ ℤ) ∨ (((n + step) + (2 * step)) ≤ x')))} )
15. v : T
16. n' : ℤ
17. ((n + step) ≤ n') ∧ (v = (f n') ∈ T) ∧ test v = tt
18. x3 : ℤ
19. ((n' = (n + step) ∈ ℤ) ∧ (x3 = n ∈ ℤ))
∨ ((((n + step) ≤ x3) ∧ test (f x3) = ff) ∧ ((n' = ((n + step) + (2 * step)) ∈ ℤ) ∨ (((n + step) + (2 * step)) ≤ x3)))
⊢ <v, n', x3> ∈ v:T
  × n':{n':ℤ| (n ≤ n') ∧ (v = (f n') ∈ T) ∧ test v = tt} 
  × {x':ℤ| 
     ((n' = n ∈ ℤ) ∧ (x' = x ∈ ℤ)) ∨ (((n ≤ x') ∧ test (f x') = ff) ∧ ((n' = (n + step) ∈ ℤ) ∨ ((n + step) ≤ x')))} 
Latex:
Latex:
1.  T  :  Type
2.  value-type(T)
3.  test  :  T  {}\mrightarrow{}  \mBbbB{}
4.  d  :  \mBbbN{}
5.  \mforall{}d:\mBbbN{}d
          \mforall{}[x:\mBbbZ{}].  \mforall{}[n:\{x...\}].  \mforall{}[step:\mBbbN{}\msupplus{}].  \mforall{}[f:\{x...\}  {}\mrightarrow{}  T].
              find-xover-val(test;f;x;n;step)  \mmember{}  v:T
              \mtimes{}  n':\{n':\mBbbZ{}|  (n  \mleq{}  n')  \mwedge{}  (v  =  (f  n'))  \mwedge{}  test  v  =  tt\} 
              \mtimes{}  \{x':\mBbbZ{}| 
                    ((n'  =  n)  \mwedge{}  (x'  =  x))
                    \mvee{}  (((n  \mleq{}  x')  \mwedge{}  test  (f  x')  =  ff)  \mwedge{}  ((n'  =  (n  +  step))  \mvee{}  ((n  +  step)  \mleq{}  x')))\}   
              supposing  \mexists{}m:\{n..n  +  d\msupminus{}\}.  \mforall{}k:\{m...\}.  test  (f  k)  =  tt
6.  x  :  \mBbbZ{}
7.  n  :  \{x...\}
8.  step  :  \mBbbN{}\msupplus{}
9.  f  :  \{x...\}  {}\mrightarrow{}  T
10.  \mneg{}\muparrow{}(test  (f  n))
11.  m  :  \{n..n  +  d\msupminus{}\}
12.  \mforall{}k:\{m...\}.  test  (f  k)  =  tt
13.  find-xover-val(test;f;n;n  +  step;2  *  step)  \mmember{}  v:T
        \mtimes{}  n':\{n':\mBbbZ{}|  ((n  +  step)  \mleq{}  n')  \mwedge{}  (v  =  (f  n'))  \mwedge{}  test  v  =  tt\} 
        \mtimes{}  \{x':\mBbbZ{}| 
              ((n'  =  (n  +  step))  \mwedge{}  (x'  =  n))
              \mvee{}  ((((n  +  step)  \mleq{}  x')  \mwedge{}  test  (f  x')  =  ff)
                  \mwedge{}  ((n'  =  ((n  +  step)  +  (2  *  step)))  \mvee{}  (((n  +  step)  +  (2  *  step))  \mleq{}  x')))\} 
\mvdash{}  find-xover-val(test;f;n;n  +  step;2  *  step)  \mmember{}  v:T
    \mtimes{}  n':\{n':\mBbbZ{}|  (n  \mleq{}  n')  \mwedge{}  (v  =  (f  n'))  \mwedge{}  test  v  =  tt\} 
    \mtimes{}  \{x':\mBbbZ{}| 
          ((n'  =  n)  \mwedge{}  (x'  =  x))
          \mvee{}  (((n  \mleq{}  x')  \mwedge{}  test  (f  x')  =  ff)  \mwedge{}  ((n'  =  (n  +  step))  \mvee{}  ((n  +  step)  \mleq{}  x')))\} 
By
Latex:
(DoSubsume  THEN  Auto  THEN  (D  0  THENA  Auto)  THEN  RepeatFor  2  (D  -1)  THEN  D  -2  THEN  D  -1)
Home
Index