Step * 1 of Lemma coW-equiv_weakening


1. [A] : 𝕌'
2. A ⟶ Type@i'
3. coW(A;a.B[a])@i'
4. w' coW(A;a.B[a])@i'
5. w' ∈ coW(A;a.B[a])
⊢ ∃F:p:{p:copath(a.B a;w') × copath(a.B a;w')| let u,v in v ∈ copath(a.B a;w')} 
     ⟶ q:{q:copath(a.B a;w') × copath(a.B a;w')| 
           let u,v 
           in let u',v' 
              in ((copath-length(u') (copath-length(u) 1) ∈ ℤ)
                 ∧ copathAgree(a.B a;w';u;u')
                 ∧ (v v' ∈ copath(a.B a;w')))
                 ∨ ((u u' ∈ copath(a.B a;w'))
                   ∧ (copath-length(v') (copath-length(v) 1) ∈ ℤ)
                   ∧ copathAgree(a.B a;w';v;v'))} 
     ⟶ (copath(a.B a;w') × copath(a.B a;w'))
   ((() () ∈ copath(a.B a;w'))
   ∧ (∀p:{p:copath(a.B a;w') × copath(a.B a;w')| let u,v in v ∈ copath(a.B a;w')} .
      ∀q:{q:copath(a.B a;w') × copath(a.B a;w')| 
          let u,v 
          in let u',v' 
             in ((copath-length(u') (copath-length(u) 1) ∈ ℤ)
                ∧ copathAgree(a.B a;w';u;u')
                ∧ (v v' ∈ copath(a.B a;w')))
                ∨ ((u u' ∈ copath(a.B a;w'))
                  ∧ (copath-length(v') (copath-length(v) 1) ∈ ℤ)
                  ∧ copathAgree(a.B a;w';v;v'))} .
        (let u,v 
         in v ∈ copath(a.B a;w')
        ∧ let u,v 
          in let u',v' 
             in (((copath-length(u') (copath-length(u) 1) ∈ ℤ)
                ∧ copathAgree(a.B a;w';u;u')
                ∧ (v v' ∈ copath(a.B a;w')))
                ∨ ((u u' ∈ copath(a.B a;w'))
                  ∧ (copath-length(v') (copath-length(v) 1) ∈ ℤ)
                  ∧ copathAgree(a.B a;w';v;v')))
                ∧ (copath-length(u') copath-length(v') ∈ ℤ))))
BY
(D With ⌜λp,q. let u,v 
                   in let u',v' 
                      in if copath-length(u) <copath-length(u') then <u', u'> else <v', v'> fi ⌝ 
   THEN Auto
   THEN (DSetVars THEN DProds THEN All Reduce)
   THEN AutoSplit
   THEN 0
   THEN Auto) }

1
1. [A] : 𝕌'
2. A ⟶ Type@i'
3. coW(A;a.B[a])@i'
4. w' coW(A;a.B[a])@i'
5. w' ∈ coW(A;a.B[a])
6. () () ∈ copath(a.B a;w')
7. p1 copath(a.B a;w')@i
8. p2 copath(a.B a;w')@i
9. [%6] p1 p2 ∈ copath(a.B a;w')@i
10. q1 copath(a.B a;w')@i
11. q2 copath(a.B a;w')@i
12. [%4] ((copath-length(q1) (copath-length(p1) 1) ∈ ℤ)
∧ copathAgree(a.B a;w';p1;q1)
∧ (p2 q2 ∈ copath(a.B a;w')))
∨ ((p1 q1 ∈ copath(a.B a;w')) ∧ (copath-length(q2) (copath-length(p2) 1) ∈ ℤ) ∧ copathAgree(a.B a;w';p2;q2))@i
13. let u,v if copath-length(p1) <copath-length(q1) then <q1, q1> else <q2, q2> fi  
    in v ∈ copath(a.B a;w')
14. copath-length(p1) < copath-length(q1)
⊢ ((copath-length(q1) (copath-length(q1) 1) ∈ ℤ) ∧ copathAgree(a.B a;w';q1;q1) ∧ (q2 q1 ∈ copath(a.B a;w')))
∨ ((q1 q1 ∈ copath(a.B a;w')) ∧ (copath-length(q1) (copath-length(q2) 1) ∈ ℤ) ∧ copathAgree(a.B a;w';q2;q1))

2
1. [A] : 𝕌'
2. A ⟶ Type@i'
3. coW(A;a.B[a])@i'
4. w' coW(A;a.B[a])@i'
5. w' ∈ coW(A;a.B[a])
6. () () ∈ copath(a.B a;w')
7. p1 copath(a.B a;w')@i
8. p2 copath(a.B a;w')@i
9. [%6] p1 p2 ∈ copath(a.B a;w')@i
10. q1 copath(a.B a;w')@i
11. ¬copath-length(p1) < copath-length(q1)
12. q2 copath(a.B a;w')@i
13. [%4] ((copath-length(q1) (copath-length(p1) 1) ∈ ℤ)
∧ copathAgree(a.B a;w';p1;q1)
∧ (p2 q2 ∈ copath(a.B a;w')))
∨ ((p1 q1 ∈ copath(a.B a;w')) ∧ (copath-length(q2) (copath-length(p2) 1) ∈ ℤ) ∧ copathAgree(a.B a;w';p2;q2))@i
14. q2 q2 ∈ copath(a.B a;w')
⊢ ((copath-length(q2) (copath-length(q1) 1) ∈ ℤ) ∧ copathAgree(a.B a;w';q1;q2) ∧ (q2 q2 ∈ copath(a.B a;w')))
∨ ((q1 q2 ∈ copath(a.B a;w')) ∧ (copath-length(q2) (copath-length(q2) 1) ∈ ℤ) ∧ copathAgree(a.B a;w';q2;q2))


Latex:


Latex:

1.  [A]  :  \mBbbU{}'
2.  B  :  A  {}\mrightarrow{}  Type@i'
3.  w  :  coW(A;a.B[a])@i'
4.  w'  :  coW(A;a.B[a])@i'
5.  w  =  w'
\mvdash{}  \mexists{}F:p:\{p:copath(a.B  a;w')  \mtimes{}  copath(a.B  a;w')|  let  u,v  =  p  in  u  =  v\} 
          {}\mrightarrow{}  q:\{q:copath(a.B  a;w')  \mtimes{}  copath(a.B  a;w')| 
                      let  u,v  =  p 
                      in  let  u',v'  =  q 
                            in  ((copath-length(u')  =  (copath-length(u)  +  1))
                                  \mwedge{}  copathAgree(a.B  a;w';u;u')
                                  \mwedge{}  (v  =  v'))
                                  \mvee{}  ((u  =  u')
                                      \mwedge{}  (copath-length(v')  =  (copath-length(v)  +  1))
                                      \mwedge{}  copathAgree(a.B  a;w';v;v'))\} 
          {}\mrightarrow{}  (copath(a.B  a;w')  \mtimes{}  copath(a.B  a;w'))
      ((()  =  ())
      \mwedge{}  (\mforall{}p:\{p:copath(a.B  a;w')  \mtimes{}  copath(a.B  a;w')|  let  u,v  =  p  in  u  =  v\}  .
            \mforall{}q:\{q:copath(a.B  a;w')  \mtimes{}  copath(a.B  a;w')| 
                    let  u,v  =  p 
                    in  let  u',v'  =  q 
                          in  ((copath-length(u')  =  (copath-length(u)  +  1))
                                \mwedge{}  copathAgree(a.B  a;w';u;u')
                                \mwedge{}  (v  =  v'))
                                \mvee{}  ((u  =  u')
                                    \mwedge{}  (copath-length(v')  =  (copath-length(v)  +  1))
                                    \mwedge{}  copathAgree(a.B  a;w';v;v'))\}  .
                (let  u,v  =  F  p  q 
                  in  u  =  v
                \mwedge{}  let  u,v  =  q 
                    in  let  u',v'  =  F  p  q 
                          in  (((copath-length(u')  =  (copath-length(u)  +  1))
                                \mwedge{}  copathAgree(a.B  a;w';u;u')
                                \mwedge{}  (v  =  v'))
                                \mvee{}  ((u  =  u')
                                    \mwedge{}  (copath-length(v')  =  (copath-length(v)  +  1))
                                    \mwedge{}  copathAgree(a.B  a;w';v;v')))
                                \mwedge{}  (copath-length(u')  =  copath-length(v')))))


By


Latex:
(D  0  With  \mkleeneopen{}\mlambda{}p,q.  let  u,v  =  p 
                                  in  let  u',v'  =  q 
                                        in  if  copath-length(u)  <z  copath-length(u')  then  <u',  u'>  else  <v',  v'>  fi  \mkleeneclose{} 
  THEN  Auto
  THEN  (DSetVars  THEN  DProds  THEN  All  Reduce)
  THEN  AutoSplit
  THEN  D  0
  THEN  Auto)




Home Index