Step * of Lemma stream-pointwise_transitivity

T:Type. ∀R:T ⟶ T ⟶ ℙ.  (Trans(T;x,y.x y)  Trans(stream(T);s1,s2.s1 stream-pointwise(R) s2))
BY
(Auto
   THEN Unfold `stream-pointwise` 0
   THEN InstLemma `bigrel-induction` [⌜stream(T)⌝;⌜λ2R.Trans(stream(T);s1,s2.s1 s2)⌝;⌜λ2lex.λs1,s2. ((s-hd(s1) 
                                                                                                        
                                                                                                        s-hd(s2))
                                                                                                     ∧ (s-tl(s1) 
                                                                                                        lex 
                                                                                                        s-tl(s2)))⌝] ⋅
   THEN Auto
   THEN Reduce 0) }

1
1. Type@i'
2. T ⟶ T ⟶ ℙ@i'
3. Trans(T;x,y.x y)@i
4. Rs : ℕ ⟶ stream(T) ⟶ stream(T) ⟶ ℙ@i'
5. ∀n:ℕTrans(stream(T);s1,s2.s1 Rs[n] s2)@i
⊢ Trans(stream(T);s1,s2.s1 isect-rel(ℕ;n.Rs[n]) s2)

2
1. Type@i'
2. T ⟶ T ⟶ ℙ@i'
3. Trans(T;x,y.x y)@i
4. R@0 stream(T) ⟶ stream(T) ⟶ ℙ@i'
5. Trans(stream(T);s1,s2.s1 R@0 s2)@i
⊢ Trans(stream(T);s1,s2.(s-hd(s1) s-hd(s2)) ∧ (s-tl(s1) R@0 s-tl(s2)))

3
1. Type@i'
2. T ⟶ T ⟶ ℙ@i'
3. Trans(T;x,y.x y)@i
⊢ Trans(stream(T);s1,s2.True)


Latex:


Latex:
\mforall{}T:Type.  \mforall{}R:T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}.    (Trans(T;x,y.x  R  y)  {}\mRightarrow{}  Trans(stream(T);s1,s2.s1  stream-pointwise(R)  s2))


By


Latex:
(Auto
  THEN  Unfold  `stream-pointwise`  0
  THEN  InstLemma  `bigrel-induction`  [\mkleeneopen{}stream(T)\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}R.Trans(stream(T);s1,s2.s1  R  s2)\mkleeneclose{};
  \mkleeneopen{}\mlambda{}\msubtwo{}lex.\mlambda{}s1,s2.  ((s-hd(s1)  R  s-hd(s2))  \mwedge{}  (s-tl(s1)  lex  s-tl(s2)))\mkleeneclose{}]  \mcdot{}
  THEN  Auto
  THEN  Reduce  0)




Home Index