Step * 3 of Lemma first-success-is-inl


1. Type
2. T ⟶ Type
3. x:T ⟶ (A[x]?)
4. T
5. List
6. ∀[j:ℕ||v||]. ∀[a:A[v[j]]].
     (first-success(f;v) (inl <j, a>) ∈ (i:ℕ||v|| × A[v[i]]?)
     ⇐⇒ j < ||v|| ∧ ((f v[j]) (inl a) ∈ (A[v[j]]?)) ∧ (∀x∈firstn(j;v).↑isr(f x)))
7. Unit
8. (f u) (inr ) ∈ (A[u]?)
⊢ ∀[j:ℕ||v|| 1]. ∀[a:A[[u v][j]]].
    (case first-success(f;v) of inl(p) => let i,x in inl <1, x> inr(z) => inr 
     (inl <j, a>)
     ∈ (i:ℕ||v|| 1 × A[[u v][i]]?)
    ⇐⇒ j < ||v|| 1 ∧ ((f [u v][j]) (inl a) ∈ (A[[u v][j]]?)) ∧ (∀x∈firstn(j;[u v]).↑isr(f x)))
BY
TACTIC:(MoveToConcl (-3)
          THEN (GenConclTerm ⌜first-success(f;v)⌝⋅ THENA Auto)
          THEN RepeatFor (D -2)
          THEN Reduce 0
          THEN RepeatFor ((D THENA Auto))) }

1
1. Type
2. T ⟶ Type
3. x:T ⟶ (A[x]?)
4. T
5. List
6. Unit
7. (f u) (inr ) ∈ (A[u]?)
8. : ℕ||v||
9. x1 A[v[i]]
10. first-success(f;v) (inl <i, x1>) ∈ (i:ℕ||v|| × A[v[i]]?)
11. ∀[j:ℕ||v||]. ∀[a:A[v[j]]].
      ((inl <i, x1>(inl <j, a>) ∈ (i:ℕ||v|| × A[v[i]]?)
      ⇐⇒ j < ||v|| ∧ ((f v[j]) (inl a) ∈ (A[v[j]]?)) ∧ (∀x∈firstn(j;v).↑isr(f x)))
12. : ℕ||v|| 1
13. A[[u v][j]]
⊢ (inl <1, x1>(inl <j, a>) ∈ (i:ℕ||v|| 1 × A[[u v][i]]?)
⇐⇒ j < ||v|| 1 ∧ ((f [u v][j]) (inl a) ∈ (A[[u v][j]]?)) ∧ (∀x∈firstn(j;[u v]).↑isr(f x))

2
1. Type
2. T ⟶ Type
3. x:T ⟶ (A[x]?)
4. T
5. List
6. Unit
7. (f u) (inr ) ∈ (A[u]?)
8. y1 0 ∈ ℤ
9. first-success(f;v) (inr Ax ) ∈ (i:ℕ||v|| × A[v[i]]?)
10. ∀[j:ℕ||v||]. ∀[a:A[v[j]]].
      ((inr Ax (inl <j, a>) ∈ (i:ℕ||v|| × A[v[i]]?)
      ⇐⇒ j < ||v|| ∧ ((f v[j]) (inl a) ∈ (A[v[j]]?)) ∧ (∀x∈firstn(j;v).↑isr(f x)))
11. : ℕ||v|| 1
12. A[[u v][j]]
⊢ (inr Ax (inl <j, a>) ∈ (i:ℕ||v|| 1 × A[[u v][i]]?)
⇐⇒ j < ||v|| 1 ∧ ((f [u v][j]) (inl a) ∈ (A[[u v][j]]?)) ∧ (∀x∈firstn(j;[u v]).↑isr(f x))


Latex:


Latex:

1.  T  :  Type
2.  A  :  T  {}\mrightarrow{}  Type
3.  f  :  x:T  {}\mrightarrow{}  (A[x]?)
4.  u  :  T
5.  v  :  T  List
6.  \mforall{}[j:\mBbbN{}||v||].  \mforall{}[a:A[v[j]]].
          (first-success(f;v)  =  (inl  <j,  a>)
          \mLeftarrow{}{}\mRightarrow{}  j  <  ||v||  \mwedge{}  ((f  v[j])  =  (inl  a))  \mwedge{}  (\mforall{}x\mmember{}firstn(j;v).\muparrow{}isr(f  x)))
7.  y  :  Unit
8.  (f  u)  =  (inr  y  )
\mvdash{}  \mforall{}[j:\mBbbN{}||v||  +  1].  \mforall{}[a:A[[u  /  v][j]]].
        (case  first-success(f;v)  of  inl(p)  =>  let  i,x  =  p  in  inl  <i  +  1,  x>  |  inr(z)  =>  inr  z    =  (inl  <j\000C,  a>)
        \mLeftarrow{}{}\mRightarrow{}  j  <  ||v||  +  1  \mwedge{}  ((f  [u  /  v][j])  =  (inl  a))  \mwedge{}  (\mforall{}x\mmember{}firstn(j;[u  /  v]).\muparrow{}isr(f  x)))


By


Latex:
TACTIC:(MoveToConcl  (-3)
                THEN  (GenConclTerm  \mkleeneopen{}first-success(f;v)\mkleeneclose{}\mcdot{}  THENA  Auto)
                THEN  RepeatFor  2  (D  -2)
                THEN  Reduce  0
                THEN  RepeatFor  3  ((D  0  THENA  Auto)))




Home Index