Step
*
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]
⊢ x1 = y1 ∈ (A × T)
BY
{ ((InstHyp [⌜x1⌝;⌜y1⌝] 3⋅ THEN Auto) THEN InstHyp [⌜s-tl(x1)⌝;⌜s-tl(y1)⌝] (-6)⋅ THEN Auto THEN Thin (-2)) }
1
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. s-hd(x1) = s-hd(y1) ∈ A
15. s-tl(x1) = s-tl(y1) ∈ T
⊢ x1 = 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{}  x1  =  y1
By
Latex:
((InstHyp  [\mkleeneopen{}x1\mkleeneclose{};\mkleeneopen{}y1\mkleeneclose{}]  3\mcdot{}  THEN  Auto)
  THEN  InstHyp  [\mkleeneopen{}s-tl(x1)\mkleeneclose{};\mkleeneopen{}s-tl(y1)\mkleeneclose{}]  (-6)\mcdot{}
  THEN  Auto
  THEN  Thin  (-2))
Home
Index