Step * of Lemma first-success-is-inl

No Annotations
[T:Type]. ∀[A:T ⟶ Type]. ∀[f:x:T ⟶ (A[x]?)]. ∀[L:T List]. ∀[j:ℕ||L||]. ∀[a:A[L[j]]].
  (first-success(f;L) (inl <j, a>) ∈ (i:ℕ||L|| × A[L[i]]?)
  ⇐⇒ j < ||L|| ∧ ((f L[j]) (inl a) ∈ (A[L[j]]?)) ∧ (∀x∈firstn(j;L).↑isr(f x)))
BY
(InductionOnList
   THEN RepUR ``first-success`` 0
   THEN Try ((Fold `first-success` THEN (GenConclTerm ⌜u⌝⋅ THENA Auto) THEN -2 THEN Reduce 0))) }

1
1. Type
2. T ⟶ Type
3. x:T ⟶ (A[x]?)
⊢ ∀[j:ℕ0]. ∀[a:A[⊥]].
    ((inr ⋅ (inl <j, a>) ∈ (i:ℕ0 × A[⊥]?) ⇐⇒ j < 0 ∧ ((f ⊥(inl a) ∈ (A[⊥]?)) ∧ (∀x∈firstn(j;[]).↑isr(f x)))

2
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. A[u]
8. (f u) (inl x) ∈ (A[u]?)
⊢ ∀[j:ℕ||v|| 1]. ∀[a:A[[u v][j]]].
    ((inl <0, x>(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)))

3
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)))


Latex:


Latex:
No  Annotations
\mforall{}[T:Type].  \mforall{}[A:T  {}\mrightarrow{}  Type].  \mforall{}[f:x:T  {}\mrightarrow{}  (A[x]?)].  \mforall{}[L:T  List].  \mforall{}[j:\mBbbN{}||L||].  \mforall{}[a:A[L[j]]].
    (first-success(f;L)  =  (inl  <j,  a>)  \mLeftarrow{}{}\mRightarrow{}  j  <  ||L||  \mwedge{}  ((f  L[j])  =  (inl  a))  \mwedge{}  (\mforall{}x\mmember{}firstn(j;L).\muparrow{}isr(f  x\000C)))


By


Latex:
(InductionOnList
  THEN  RepUR  ``first-success``  0
  THEN  Try  ((Fold  `first-success`  0  THEN  (GenConclTerm  \mkleeneopen{}f  u\mkleeneclose{}\mcdot{}  THENA  Auto)  THEN  D  -2  THEN  Reduce  0)))




Home Index