Step
*
1
1
1
of Lemma
stream-lex-monotonic
1. T : Type
2. ∀x,y:T.  Dec(x = y ∈ T)
3. R : T ⟶ T ⟶ ℙ
4. Trans(T;x,y.x R y)
5. AntiSym(T;x,y.x R y)
6. f : T ⟶ T ⟶ T
7. ∀x,y,u,v:T.  ((x R y) 
⇒ (u R v) 
⇒ ((f x u) R (f y v)))
8. ∀x,y,u,v:T.  ((x R y) 
⇒ (u R v) 
⇒ (¬((x = y ∈ T) ∧ (u = v ∈ T))) 
⇒ (¬((f x u) = (f y v) ∈ T)))
⊢ λs1,s2. ∃a,b,c,d:stream(T)
           ((s1 = stream-zip(f;a;c) ∈ stream(T))
           ∧ (s2 = stream-zip(f;b;d) ∈ stream(T))
           ∧ (a stream-lex(T;R) b)
           ∧ (c stream-lex(T;R) d)) => λs1,s2. ((s-hd(s1) R s-hd(s2))
                                        ∧ ((s-hd(s1) = s-hd(s2) ∈ T)
                                          
⇒ (s-tl(s1) 
                                              (λs1,s2. ∃a,b,c,d:stream(T)
                                                        ((s1 = stream-zip(f;a;c) ∈ stream(T))
                                                        ∧ (s2 = stream-zip(f;b;d) ∈ stream(T))
                                                        ∧ (a stream-lex(T;R) b)
                                                        ∧ (c stream-lex(T;R) d))) 
                                              s-tl(s2))))
BY
{ ((RepUR ``rel_implies`` 0 THEN Auto THEN ExRepD)⋅ THEN (ElimVar `x' THENA Auto) THEN (ElimVar `y' THENA Auto)) }
1
1. T : Type
2. ∀x,y:T.  Dec(x = y ∈ T)
3. R : T ⟶ T ⟶ ℙ
4. Trans(T;x,y.x R y)
5. AntiSym(T;x,y.x R y)
6. f : T ⟶ T ⟶ T
7. ∀x,y,u,v:T.  ((x R y) 
⇒ (u R v) 
⇒ ((f x u) R (f y v)))
8. ∀x,y,u,v:T.  ((x R y) 
⇒ (u R v) 
⇒ (¬((x = y ∈ T) ∧ (u = v ∈ T))) 
⇒ (¬((f x u) = (f y v) ∈ T)))
9. x : stream(T)
10. y : stream(T)
11. a : stream(T)
12. b : stream(T)
13. c : stream(T)
14. stream-zip(f;a;c) ∈ stream(T)
15. d : stream(T)
16. stream-zip(f;b;d) ∈ stream(T)
17. a stream-lex(T;R) b
18. c stream-lex(T;R) d
⊢ s-hd(stream-zip(f;a;c)) R s-hd(stream-zip(f;b;d))
2
1. T : Type
2. ∀x,y:T.  Dec(x = y ∈ T)
3. R : T ⟶ T ⟶ ℙ
4. Trans(T;x,y.x R y)
5. AntiSym(T;x,y.x R y)
6. f : T ⟶ T ⟶ T
7. ∀x,y,u,v:T.  ((x R y) 
⇒ (u R v) 
⇒ ((f x u) R (f y v)))
8. ∀x,y,u,v:T.  ((x R y) 
⇒ (u R v) 
⇒ (¬((x = y ∈ T) ∧ (u = v ∈ T))) 
⇒ (¬((f x u) = (f y v) ∈ T)))
9. x : stream(T)
10. y : stream(T)
11. a : stream(T)
12. b : stream(T)
13. c : stream(T)
14. stream-zip(f;a;c) ∈ stream(T)
15. d : stream(T)
16. stream-zip(f;b;d) ∈ stream(T)
17. a stream-lex(T;R) b
18. c stream-lex(T;R) d
19. s-hd(stream-zip(f;a;c)) R s-hd(stream-zip(f;b;d))
20. s-hd(stream-zip(f;a;c)) = s-hd(stream-zip(f;b;d)) ∈ T
⊢ ∃a@0,b@0,c@0,d@0:stream(T)
   ((s-tl(stream-zip(f;a;c)) = stream-zip(f;a@0;c@0) ∈ stream(T))
   ∧ (s-tl(stream-zip(f;b;d)) = stream-zip(f;b@0;d@0) ∈ stream(T))
   ∧ (a@0 stream-lex(T;R) b@0)
   ∧ (c@0 stream-lex(T;R) d@0))
Latex:
Latex:
1.  T  :  Type
2.  \mforall{}x,y:T.    Dec(x  =  y)
3.  R  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}
4.  Trans(T;x,y.x  R  y)
5.  AntiSym(T;x,y.x  R  y)
6.  f  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  T
7.  \mforall{}x,y,u,v:T.    ((x  R  y)  {}\mRightarrow{}  (u  R  v)  {}\mRightarrow{}  ((f  x  u)  R  (f  y  v)))
8.  \mforall{}x,y,u,v:T.    ((x  R  y)  {}\mRightarrow{}  (u  R  v)  {}\mRightarrow{}  (\mneg{}((x  =  y)  \mwedge{}  (u  =  v)))  {}\mRightarrow{}  (\mneg{}((f  x  u)  =  (f  y  v))))
\mvdash{}  \mlambda{}s1,s2.  \mexists{}a,b,c,d:stream(T)
                      ((s1  =  stream-zip(f;a;c))
                      \mwedge{}  (s2  =  stream-zip(f;b;d))
                      \mwedge{}  (a  stream-lex(T;R)  b)
                      \mwedge{}  (c  stream-lex(T;R)  d))  =>  \mlambda{}s1,s2.  ((s-hd(s1)  R  s-hd(s2))
                                                                                \mwedge{}  ((s-hd(s1)  =  s-hd(s2))
                                                                                    {}\mRightarrow{}  (s-tl(s1) 
                                                                                            (\mlambda{}s1,s2.  \mexists{}a,b,c,d:stream(T)
                                                                                                                ((s1  =  stream-zip(f;a;c))
                                                                                                                \mwedge{}  (s2  =  stream-zip(f;b;d))
                                                                                                                \mwedge{}  (a  stream-lex(T;R)  b)
                                                                                                                \mwedge{}  (c  stream-lex(T;R)  d))) 
                                                                                            s-tl(s2))))
By
Latex:
((RepUR  ``rel\_implies``  0  THEN  Auto  THEN  ExRepD)\mcdot{}
  THEN  (ElimVar  `x'  THENA  Auto)
  THEN  (ElimVar  `y'  THENA  Auto))
Home
Index