Step * 1 2 of Lemma islist-iff-length-has-value


1. T : Type
2. j : ℤ
3. 0 < j
4. λt,x. Ax ∈ ∀t:colist(T). ((is-list-fun()^j - 1 ⊥ t)↓ ⇒ (||t||)↓)
⊢ λt,x. Ax ∈ ∀t:colist(T). ((is-list-fun()^j ⊥ t)↓ ⇒ (||t||)↓)
BY
{ ((Assert ∀t:colist(T). ((is-list-fun()^j - 1 ⊥ t)↓ ⇒ (||t||)↓) BY
          (UseWitness ⌜λt,x. Ax⌝⋅ THEN Trivial))
   THEN Fold `is-list-approx` 0
   THEN RepeatFor 2 ((MemCD THEN Try (Complete (Auto))))) }

1
.....subterm..... T:t
1:n
1. T : Type
2. j : ℤ
3. 0 < j
4. λt,x. Ax ∈ ∀t:colist(T). ((is-list-fun()^j - 1 ⊥ t)↓ ⇒ (||t||)↓)
5. ∀t:colist(T). ((is-list-fun()^j - 1 ⊥ t)↓ ⇒ (||t||)↓)
6. t : colist(T)
7. x : (is-list-approx(j) t)↓
⊢ Ax ∈ (||t||)↓

2
.....eq aux..... 
1. T : Type
2. j : ℤ
3. 0 < j
4. λt,x. Ax ∈ ∀t:colist(T). ((is-list-fun()^j - 1 ⊥ t)↓ ⇒ (||t||)↓)
5. ∀t:colist(T). ((is-list-fun()^j - 1 ⊥ t)↓ ⇒ (||t||)↓)
6. t : colist(T)
⊢ istype((is-list-approx(j) t)↓)


Latex:


Latex:

1.  T  :  Type
2.  j  :  \mBbbZ{}
3.  0  <  j
4.  \mlambda{}t,x.  Ax  \mmember{}  \mforall{}t:colist(T).  ((is-list-fun()\^{}j  -  1  \mbot{}  t)\mdownarrow{}  {}\mRightarrow{}  (||t||)\mdownarrow{})
\mvdash{}  \mlambda{}t,x.  Ax  \mmember{}  \mforall{}t:colist(T).  ((is-list-fun()\^{}j  \mbot{}  t)\mdownarrow{}  {}\mRightarrow{}  (||t||)\mdownarrow{})


By


Latex:
((Assert  \mforall{}t:colist(T).  ((is-list-fun()\^{}j  -  1  \mbot{}  t)\mdownarrow{}  {}\mRightarrow{}  (||t||)\mdownarrow{})  BY
                (UseWitness  \mkleeneopen{}\mlambda{}t,x.  Ax\mkleeneclose{}\mcdot{}  THEN  Trivial))
  THEN  Fold  `is-list-approx`  0
  THEN  RepeatFor  2  ((MemCD  THEN  Try  (Complete  (Auto)))))




Home Index