Step
*
1
1
1
1
1
1
of Lemma
coinduction-principle
1. F : Type ⟶ Type
2. ContinuousMonotone(T.F[T])
3. R : corec(T.F[T]) ⟶ corec(T.F[T]) ⟶ ℙ
4. ∀T:Type
     (((F[T] ⊆r T) ∧ (corec(T.F[T]) ⊆r T))
     
⇒ (∀x,y:corec(T.F[T]).  (R[x;y] 
⇒ (x = y ∈ T)))
     
⇒ (∀x,y:corec(T.F[T]).  (R[x;y] 
⇒ (x = y ∈ F[T]))))
5. n : ℤ
6. n ≠ 0
7. 0 < n
8. ∀[x,y:corec(T.F[T])].  x = y ∈ primrec(n - 1;Top;λ,T. F[T]) supposing R[x;y]
9. x : corec(T.F[T])
10. y : corec(T.F[T])
11. R[x;y]
12. m : ℤ
13. 0 < m
14. (F[primrec(m - 1;Top;λ,T. F[T])] ⊆r primrec(m - 1;Top;λ,T. F[T])) ∧ (corec(T.F[T]) ⊆r primrec(m - 1;Top;λ,T. F[T]))
⊢ F[primrec(m;Top;λ,T. F[T])] ⊆r primrec(m;Top;λ,T. F[T])
BY
{ ((RWO "primrec-unroll" 0 THENA Auto) THEN AutoSplit)⋅ }
Latex:
Latex:
1.  F  :  Type  {}\mrightarrow{}  Type
2.  ContinuousMonotone(T.F[T])
3.  R  :  corec(T.F[T])  {}\mrightarrow{}  corec(T.F[T])  {}\mrightarrow{}  \mBbbP{}
4.  \mforall{}T:Type
          (((F[T]  \msubseteq{}r  T)  \mwedge{}  (corec(T.F[T])  \msubseteq{}r  T))
          {}\mRightarrow{}  (\mforall{}x,y:corec(T.F[T]).    (R[x;y]  {}\mRightarrow{}  (x  =  y)))
          {}\mRightarrow{}  (\mforall{}x,y:corec(T.F[T]).    (R[x;y]  {}\mRightarrow{}  (x  =  y))))
5.  n  :  \mBbbZ{}
6.  n  \mneq{}  0
7.  0  <  n
8.  \mforall{}[x,y:corec(T.F[T])].    x  =  y  supposing  R[x;y]
9.  x  :  corec(T.F[T])
10.  y  :  corec(T.F[T])
11.  R[x;y]
12.  m  :  \mBbbZ{}
13.  0  <  m
14.  (F[primrec(m  -  1;Top;\mlambda{},T.  F[T])]  \msubseteq{}r  primrec(m  -  1;Top;\mlambda{},T.  F[T]))
\mwedge{}  (corec(T.F[T])  \msubseteq{}r  primrec(m  -  1;Top;\mlambda{},T.  F[T]))
\mvdash{}  F[primrec(m;Top;\mlambda{},T.  F[T])]  \msubseteq{}r  primrec(m;Top;\mlambda{},T.  F[T])
By
Latex:
((RWO  "primrec-unroll"  0  THENA  Auto)  THEN  AutoSplit)\mcdot{}
Home
Index