Step
*
2
2
2
1
of Lemma
list-ext
1. ∀[T:Type]. colist(T) ≡ Unit ⋃ (T × colist(T))
2. A : Type
3. colist(A) ⊆r (Unit ⋃ (A × colist(A)))
4. (Unit ⋃ (A × colist(A))) ⊆r colist(A)
5. a2 : A
6. a3 : colist(A)
7. (colength(a3))↓
⊢ (1 + colength(a3))↓
BY
{ (Assert colength(a3) ∈ ℕ BY
         (BLemma  `termination` THEN Auto)) }
1
1. ∀[T:Type]. colist(T) ≡ Unit ⋃ (T × colist(T))
2. A : Type
3. colist(A) ⊆r (Unit ⋃ (A × colist(A)))
4. (Unit ⋃ (A × colist(A))) ⊆r colist(A)
5. a2 : A
6. a3 : colist(A)
7. (colength(a3))↓
8. colength(a3) ∈ ℕ
⊢ (1 + colength(a3))↓
Latex:
Latex:
1.  \mforall{}[T:Type].  colist(T)  \mequiv{}  Unit  \mcup{}  (T  \mtimes{}  colist(T))
2.  A  :  Type
3.  colist(A)  \msubseteq{}r  (Unit  \mcup{}  (A  \mtimes{}  colist(A)))
4.  (Unit  \mcup{}  (A  \mtimes{}  colist(A)))  \msubseteq{}r  colist(A)
5.  a2  :  A
6.  a3  :  colist(A)
7.  (colength(a3))\mdownarrow{}
\mvdash{}  (1  +  colength(a3))\mdownarrow{}
By
Latex:
(Assert  colength(a3)  \mmember{}  \mBbbN{}  BY
              (BLemma    `termination`  THEN  Auto))
Home
Index