Step
*
2
1
1
of Lemma
pcw-path-coPath_wf
1. A : 𝕌'
2. B : A ⟶ Type
3. w : coW(A;a.B[a])
4. p : ℕ ⟶ pcw-step(Unit;p.A;p,a.B[a];p,a,b.⋅)
5. StepAgree(p 0;⋅;w)
6. n : ℤ
7. 0 < n
8. pcw-path-coPath(n - 1;p) ∈ copath(a.B[a];w)
9. (copath-length(pcw-path-coPath(n - 1;p)) = (n - 1) ∈ ℤ)
⇒ (copath-at(w;pcw-path-coPath(n - 1;p)) = (fst(snd((p (n - 1))))) ∈ coW(A;a.B[a]))
10. ¬(n = 0 ∈ ℤ)
11. copath-length(pcw-path-coPath(n - 1;p)) = (n - 1) ∈ ℤ
12. p1 : Unit
13. w1 : pco-W p1
14. x : B[fst(w1)]
15. (p (n - 1)) = <p1, w1, inl x> ∈ pcw-step(Unit;p.A;p,a.B[a];p,a,b.⋅)
⊢ StepRel(<p1, w1, inl x>p n)
⇒ ((copath-extend(pcw-path-coPath(n - 1;p);x) ∈ copath(a.B[a];w))
   ∧ ((copath-length(copath-extend(pcw-path-coPath(n - 1;p);x)) = n ∈ ℤ)
     
⇒ (copath-at(w;copath-extend(pcw-path-coPath(n - 1;p);x)) = (fst(snd((p n)))) ∈ coW(A;a.B[a]))))
BY
{ ((D 0 THENA Auto)
   THEN RepUR ``pcw-steprel`` -1
   THEN DVar `p1'
   THEN All (Fold `it`)
   THEN All (Fold `coW`)
   THEN ThinVar `p1'
   THEN (Assert copath-at(w;pcw-path-coPath(n - 1;p)) = w1 ∈ coW(A;a.B[a]) BY
               ((ApFunToHypEquands `Z' ⌜fst(snd(Z))⌝ ⌜coW(A;a.B[a])⌝ (-2)⋅
                 THENA (RepUR ``pcw-step`` -1 THEN RepeatFor 2 (D -1) THEN Reduce 0)
                 )
                THEN Reduce -1
                THEN Auto))) }
1
1. A : 𝕌'
2. B : A ⟶ Type
3. w : coW(A;a.B[a])
4. p : ℕ ⟶ pcw-step(Unit;p.A;p,a.B[a];p,a,b.⋅)
5. StepAgree(p 0;⋅;w)
6. n : ℤ
7. 0 < n
8. pcw-path-coPath(n - 1;p) ∈ copath(a.B[a];w)
9. (copath-length(pcw-path-coPath(n - 1;p)) = (n - 1) ∈ ℤ)
⇒ (copath-at(w;pcw-path-coPath(n - 1;p)) = (fst(snd((p (n - 1))))) ∈ coW(A;a.B[a]))
10. ¬(n = 0 ∈ ℤ)
11. copath-length(pcw-path-coPath(n - 1;p)) = (n - 1) ∈ ℤ
12. w1 : coW(A;a.B[a])
13. x : B[fst(w1)]
14. (p (n - 1)) = <⋅, w1, inl x> ∈ pcw-step(Unit;p.A;p,a.B[a];p,a,b.⋅)
15. let a,f = w1 
    in StepAgree(p n;⋅;f x)
16. copath-at(w;pcw-path-coPath(n - 1;p)) = w1 ∈ coW(A;a.B[a])
⊢ (copath-extend(pcw-path-coPath(n - 1;p);x) ∈ copath(a.B[a];w))
∧ ((copath-length(copath-extend(pcw-path-coPath(n - 1;p);x)) = n ∈ ℤ)
  
⇒ (copath-at(w;copath-extend(pcw-path-coPath(n - 1;p);x)) = (fst(snd((p n)))) ∈ coW(A;a.B[a])))
Latex:
Latex:
1.  A  :  \mBbbU{}'
2.  B  :  A  {}\mrightarrow{}  Type
3.  w  :  coW(A;a.B[a])
4.  p  :  \mBbbN{}  {}\mrightarrow{}  pcw-step(Unit;p.A;p,a.B[a];p,a,b.\mcdot{})
5.  StepAgree(p  0;\mcdot{};w)
6.  n  :  \mBbbZ{}
7.  0  <  n
8.  pcw-path-coPath(n  -  1;p)  \mmember{}  copath(a.B[a];w)
9.  (copath-length(pcw-path-coPath(n  -  1;p))  =  (n  -  1))
{}\mRightarrow{}  (copath-at(w;pcw-path-coPath(n  -  1;p))  =  (fst(snd((p  (n  -  1))))))
10.  \mneg{}(n  =  0)
11.  copath-length(pcw-path-coPath(n  -  1;p))  =  (n  -  1)
12.  p1  :  Unit
13.  w1  :  pco-W  p1
14.  x  :  B[fst(w1)]
15.  (p  (n  -  1))  =  <p1,  w1,  inl  x>
\mvdash{}  StepRel(<p1,  w1,  inl  x>p  n)
{}\mRightarrow{}  ((copath-extend(pcw-path-coPath(n  -  1;p);x)  \mmember{}  copath(a.B[a];w))
      \mwedge{}  ((copath-length(copath-extend(pcw-path-coPath(n  -  1;p);x))  =  n)
          {}\mRightarrow{}  (copath-at(w;copath-extend(pcw-path-coPath(n  -  1;p);x))  =  (fst(snd((p  n)))))))
By
Latex:
((D  0  THENA  Auto)
  THEN  RepUR  ``pcw-steprel``  -1
  THEN  DVar  `p1'
  THEN  All  (Fold  `it`)
  THEN  All  (Fold  `coW`)
  THEN  ThinVar  `p1'
  THEN  (Assert  copath-at(w;pcw-path-coPath(n  -  1;p))  =  w1  BY
                          ((ApFunToHypEquands  `Z'  \mkleeneopen{}fst(snd(Z))\mkleeneclose{}  \mkleeneopen{}coW(A;a.B[a])\mkleeneclose{}  (-2)\mcdot{}
                              THENA  (RepUR  ``pcw-step``  -1  THEN  RepeatFor  2  (D  -1)  THEN  Reduce  0)
                              )
                            THEN  Reduce  -1
                            THEN  Auto)))
Home
Index