Step
*
1
1
2
of Lemma
pcw-path-copathAgree
.....falsecase..... 
1. [A] : 𝕌'
2. [B] : A ⟶ Type
3. w : coW(A;a.B[a])
4. path : Path
5. StepAgree(path 0;⋅;w)
6. i : ℕ
7. pcw-path-coPath(i;path) ∈ copath(a.B[a];w)
8. pcw-path-coPath(i + 1;path) ∈ copath(a.B[a];w)
9. copath-length(pcw-path-coPath(i + 1;path)) = (i + 1) ∈ ℤ
10. copath-at(w;pcw-path-coPath(i + 1;path)) = (fst(snd((path (i + 1))))) ∈ coW(A;a.B[a])
11. copath-length(pcw-path-coPath(i;path)) = i ∈ ℤ
12. copath-at(w;pcw-path-coPath(i;path)) = (fst(snd((path i)))) ∈ coW(A;a.B[a])
13. ¬((i + 1) = 0 ∈ ℤ)
⊢ ↓copathAgree(a.B[a];w;pcw-path-coPath(i;path);let param,w',d = path ((i + 1) - 1) in 
   case d
    of inl(b) =>
    let pp = pcw-path-coPath((i + 1) - 1;path) in
        if (copath-length(pp) =z (i + 1) - 1) then copath-extend(pp;b) else () fi 
    | inr(x) =>
    ())
BY
{ (((Subst' (i + 1) - 1 ~ i 0 THENA Auto) THEN RepUR ``let`` 0)
   THEN (GenConclTerm ⌜path i⌝⋅ THENA Auto)
   THEN RepeatFor 3 (D -2)
   THEN Reduce 0
   THEN Try (SplitOnConclITE)
   THEN Auto) }
1
.....truecase..... 
1. [A] : 𝕌'
2. [B] : A ⟶ Type
3. w : coW(A;a.B[a])
4. path : Path
5. StepAgree(path 0;⋅;w)
6. i : ℕ
7. pcw-path-coPath(i;path) ∈ copath(a.B[a];w)
8. pcw-path-coPath(i + 1;path) ∈ copath(a.B[a];w)
9. copath-length(pcw-path-coPath(i + 1;path)) = (i + 1) ∈ ℤ
10. copath-at(w;pcw-path-coPath(i + 1;path)) = (fst(snd((path (i + 1))))) ∈ coW(A;a.B[a])
11. copath-length(pcw-path-coPath(i;path)) = i ∈ ℤ
12. copath-at(w;pcw-path-coPath(i;path)) = (fst(snd((path i)))) ∈ coW(A;a.B[a])
13. ¬((i + 1) = 0 ∈ ℤ)
14. p : Unit
15. w1 : pco-W p
16. x : B[fst(w1)]
17. (path i) = <p, w1, inl x> ∈ pcw-step(Unit;p.A;p,a.B[a];p,a,b.⋅)
18. copath-length(pcw-path-coPath(i;path)) = i ∈ ℤ
⊢ ↓copathAgree(a.B[a];w;pcw-path-coPath(i;path);copath-extend(pcw-path-coPath(i;path);x))
Latex:
Latex:
.....falsecase..... 
1.  [A]  :  \mBbbU{}'
2.  [B]  :  A  {}\mrightarrow{}  Type
3.  w  :  coW(A;a.B[a])
4.  path  :  Path
5.  StepAgree(path  0;\mcdot{};w)
6.  i  :  \mBbbN{}
7.  pcw-path-coPath(i;path)  \mmember{}  copath(a.B[a];w)
8.  pcw-path-coPath(i  +  1;path)  \mmember{}  copath(a.B[a];w)
9.  copath-length(pcw-path-coPath(i  +  1;path))  =  (i  +  1)
10.  copath-at(w;pcw-path-coPath(i  +  1;path))  =  (fst(snd((path  (i  +  1)))))
11.  copath-length(pcw-path-coPath(i;path))  =  i
12.  copath-at(w;pcw-path-coPath(i;path))  =  (fst(snd((path  i))))
13.  \mneg{}((i  +  1)  =  0)
\mvdash{}  \mdownarrow{}copathAgree(a.B[a];w;pcw-path-coPath(i;path);let  param,w',d  =  path  ((i  +  1)  -  1)  in 
      case  d
        of  inl(b)  =>
        let  pp  =  pcw-path-coPath((i  +  1)  -  1;path)  in
                if  (copath-length(pp)  =\msubz{}  (i  +  1)  -  1)  then  copath-extend(pp;b)  else  ()  fi 
        |  inr(x)  =>
        ())
By
Latex:
(((Subst'  (i  +  1)  -  1  \msim{}  i  0  THENA  Auto)  THEN  RepUR  ``let``  0)
  THEN  (GenConclTerm  \mkleeneopen{}path  i\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  RepeatFor  3  (D  -2)
  THEN  Reduce  0
  THEN  Try  (SplitOnConclITE)
  THEN  Auto)
Home
Index