Step
*
2
of Lemma
coW-game-step-isom
1. [A] : 𝕌'
2. B : A ⟶ Type
3. w : coW(A;a.B[a])
4. w' : coW(A;a.B[a])
5. t : coW-dom(a.B[a];w)
6. b : coW-dom(a.B[a];w')
7. λp.let u,v = p 
      in <copath-cons(t;u), copath-cons(b;v)> ∈ Pos(sg-normalize(coW-game(a.B[a];coW-item(w;t);coW-item(w';b))))
   ⟶ Pos(coW-game(a.B[a];w;w')@<copath-cons(t;()), copath-cons(b;())>)
⊢ sg-normalize(coW-game(a.B[a];coW-item(w;t);coW-item(w';b))) ≅ coW-game(a.B[a];w;w')@<copath-cons(t;())
                                                                                      , copath-cons(b;())
                                                                                      >
BY
{ (Assert Pos(coW-game(a.B[a];w;w')@<copath-cons(t;()), copath-cons(b;())>) ⊆r {p:copath(a.B[a];w) × copath(a.B[a];w')| 
                                                        let p1,p2 = p 
                                                        in (0 < copath-length(p1)
                                                           ∧ (copath-hd(p1) = t ∈ coW-dom(a.B[a];w)))
                                                           ∧ 0 < copath-length(p2)
                                                           ∧ (copath-hd(p2) = b ∈ coW-dom(a.B[a];w'))}  BY
         ((D 0 THENA Auto)
          THEN MemTypeCD
          THEN Auto
          THEN ((D -1 THEN D -2) THEN Reduce 0)
          THEN (Unhide THENA Auto)
          THEN (FLemma `coW-game-reachable` [-1] THENA Auto)
          THEN RepUR ``coW-pos-agree`` -1
          THEN (RWO "length-copath-cons" (-1) THENA (Auto THEN Unfold `copath-nil` 0 THEN Auto))
          THEN (Subst' copath-length(()) ~ 0 -1 THENA Computation)
          THEN Auto
          THEN (FLemma `hd-copathAgree` [-4] THENA (Auto THEN Computation THEN Auto))
          THEN (RWO "copath-hd-cons" (-1) THEN Auto)
          THEN Unfold `copath-nil` 0
          THEN Auto)) }
1
1. [A] : 𝕌'
2. B : A ⟶ Type
3. w : coW(A;a.B[a])
4. w' : coW(A;a.B[a])
5. t : coW-dom(a.B[a];w)
6. b : coW-dom(a.B[a];w')
7. λp.let u,v = p 
      in <copath-cons(t;u), copath-cons(b;v)> ∈ Pos(sg-normalize(coW-game(a.B[a];coW-item(w;t);coW-item(w';b))))
   ⟶ Pos(coW-game(a.B[a];w;w')@<copath-cons(t;()), copath-cons(b;())>)
8. Pos(coW-game(a.B[a];w;w')@<copath-cons(t;()), copath-cons(b;())>) ⊆r {p:copath(a.B[a];w) × copath(a.B[a];w')| 
                                                 let p1,p2 = p 
                                                 in (0 < copath-length(p1) ∧ (copath-hd(p1) = t ∈ coW-dom(a.B[a];w)))
                                                    ∧ 0 < copath-length(p2)
                                                    ∧ (copath-hd(p2) = b ∈ coW-dom(a.B[a];w'))} 
⊢ sg-normalize(coW-game(a.B[a];coW-item(w;t);coW-item(w';b))) ≅ coW-game(a.B[a];w;w')@<copath-cons(t;())
                                                                                      , copath-cons(b;())
                                                                                      >
Latex:
Latex:
1.  [A]  :  \mBbbU{}'
2.  B  :  A  {}\mrightarrow{}  Type
3.  w  :  coW(A;a.B[a])
4.  w'  :  coW(A;a.B[a])
5.  t  :  coW-dom(a.B[a];w)
6.  b  :  coW-dom(a.B[a];w')
7.  \mlambda{}p.let  u,v  =  p 
            in  <copath-cons(t;u),  copath-cons(b;v)>
      \mmember{}  Pos(sg-normalize(coW-game(a.B[a];coW-item(w;t);coW-item(w';b))))
      {}\mrightarrow{}  Pos(coW-game(a.B[a];w;w')@<copath-cons(t;()),  copath-cons(b;())>)
\mvdash{}  sg-normalize(coW-game(a.B[a];coW-item(w;t);coW-item(w';b)))  \mcong{}
    coW-game(a.B[a];w;w')@<copath-cons(t;()),  copath-cons(b;())>
By
Latex:
(Assert  Pos(coW-game(a.B[a];w;w')@<copath-cons(t;()),  copath-cons(b;())>)  \msubseteq{}r  \{p:copath(a.B[a];w)  \mtimes{}  c\000Copath(a.B[a];w')| 
                                                                                                            let  p1,p2  =  p 
                                                                                                            in  (0  <  copath-length(p1)
                                                                                                                  \mwedge{}  (copath-hd(p1)  =  t))
                                                                                                                  \mwedge{}  0  <  copath-length(p2)
                                                                                                                  \mwedge{}  (copath-hd(p2)  =  b)\}    BY
              ((D  0  THENA  Auto)
                THEN  MemTypeCD
                THEN  Auto
                THEN  ((D  -1  THEN  D  -2)  THEN  Reduce  0)
                THEN  (Unhide  THENA  Auto)
                THEN  (FLemma  `coW-game-reachable`  [-1]  THENA  Auto)
                THEN  RepUR  ``coW-pos-agree``  -1
                THEN  (RWO  "length-copath-cons"  (-1)  THENA  (Auto  THEN  Unfold  `copath-nil`  0  THEN  Auto))
                THEN  (Subst'  copath-length(())  \msim{}  0  -1  THENA  Computation)
                THEN  Auto
                THEN  (FLemma  `hd-copathAgree`  [-4]  THENA  (Auto  THEN  Computation  THEN  Auto))
                THEN  (RWO  "copath-hd-cons"  (-1)  THEN  Auto)
                THEN  Unfold  `copath-nil`  0
                THEN  Auto))
Home
Index