Step
*
1
1
1
1
of Lemma
stream-coinduction
1. A : Type
2. R : stream(A) ⟶ stream(A) ⟶ ℙ
3. ∀x,y:stream(A).  ((x R y) 
⇒ ((s-hd(x) = s-hd(y) ∈ A) ∧ (s-tl(x) R s-tl(y))))
4. x : stream(A)
5. y : stream(A)
6. x R y
7. T : Type
8. (A × T) ⊆r T
9. stream(A) ⊆r T
10. ∀x,y:stream(A).  (R[x;y] 
⇒ (x = y ∈ T))
11. x1 : stream(A)
12. y1 : stream(A)
13. R[x1;y1]
⊢ ((fst(x1)) = (fst(y1)) ∈ A) 
⇒ ((snd(x1)) = (snd(y1)) ∈ T) 
⇒ (x1 = y1 ∈ (A × T))
BY
{ (GenConcl ⌜x1 = z ∈ (A × T)⌝⋅ THENA Auto) }
1
.....wf..... 
1. A : Type
2. R : stream(A) ⟶ stream(A) ⟶ ℙ
3. ∀x,y:stream(A).  ((x R y) 
⇒ ((s-hd(x) = s-hd(y) ∈ A) ∧ (s-tl(x) R s-tl(y))))
4. x : stream(A)
5. y : stream(A)
6. x R y
7. T : Type
8. (A × T) ⊆r T
9. stream(A) ⊆r T
10. ∀x,y:stream(A).  (R[x;y] 
⇒ (x = y ∈ T))
11. x1 : stream(A)
12. y1 : stream(A)
13. R[x1;y1]
⊢ x1 ∈ A × T
2
1. A : Type
2. R : stream(A) ⟶ stream(A) ⟶ ℙ
3. ∀x,y:stream(A).  ((x R y) 
⇒ ((s-hd(x) = s-hd(y) ∈ A) ∧ (s-tl(x) R s-tl(y))))
4. x : stream(A)
5. y : stream(A)
6. x R y
7. T : Type
8. (A × T) ⊆r T
9. stream(A) ⊆r T
10. ∀x,y:stream(A).  (R[x;y] 
⇒ (x = y ∈ T))
11. x1 : stream(A)
12. y1 : stream(A)
13. R[x1;y1]
14. z : A × T
15. x1 = z ∈ (A × T)
⊢ ((fst(z)) = (fst(y1)) ∈ A) 
⇒ ((snd(z)) = (snd(y1)) ∈ T) 
⇒ (z = y1 ∈ (A × T))
Latex:
Latex:
1.  A  :  Type
2.  R  :  stream(A)  {}\mrightarrow{}  stream(A)  {}\mrightarrow{}  \mBbbP{}
3.  \mforall{}x,y:stream(A).    ((x  R  y)  {}\mRightarrow{}  ((s-hd(x)  =  s-hd(y))  \mwedge{}  (s-tl(x)  R  s-tl(y))))
4.  x  :  stream(A)
5.  y  :  stream(A)
6.  x  R  y
7.  T  :  Type
8.  (A  \mtimes{}  T)  \msubseteq{}r  T
9.  stream(A)  \msubseteq{}r  T
10.  \mforall{}x,y:stream(A).    (R[x;y]  {}\mRightarrow{}  (x  =  y))
11.  x1  :  stream(A)
12.  y1  :  stream(A)
13.  R[x1;y1]
\mvdash{}  ((fst(x1))  =  (fst(y1)))  {}\mRightarrow{}  ((snd(x1))  =  (snd(y1)))  {}\mRightarrow{}  (x1  =  y1)
By
Latex:
(GenConcl  \mkleeneopen{}x1  =  z\mkleeneclose{}\mcdot{}  THENA  Auto)
Home
Index