Step
*
1
1
3
of Lemma
coW-equiv-iff3
1. [A] : 𝕌'
2. B : A ⟶ Type
3. w : coW(A;a.B[a])
4. w' : coW(A;a.B[a])
5. e : coW-equiv(a.B[a];w;w')
6. p : ℕ ⟶ copath(a.B[a];w')
7. [%2] : ∀n:ℕ. ((∀i:ℕn. (copath-length(p i) = i ∈ ℤ)) 
⇒ (∀i:ℕn - 1. copathAgree(a.B[a];w';p i;p (i + 1))))
8. ∃f:n:ℕ ⟶ (q:copath(a.B[a];w) × ((∀i:ℕn + 1. (copath-length(p i) = i ∈ ℤ))
                                   
⇒ ((copath-length(q) = n ∈ ℤ)
                                      ∧ coW-equiv(a.B[a];copath-at(w;q);copath-at(w';p n)))))
    (((f 0)
    = <(), λx.<Ax, e>>
    ∈ (q:copath(a.B[a];w) × ((∀i:ℕ0 + 1. (copath-length(p i) = i ∈ ℤ))
                            
⇒ ((copath-length(q) = 0 ∈ ℤ) ∧ coW-equiv(a.B[a];copath-at(w;q);copath-at(w';p 0))))))
    ∧ (∀n:ℕ. copathAgree(a.B[a];w;fst((f n));fst((f (n + 1))))))
⊢ ∃q:maximal-copath(a.B[a];w)
   ∀n:ℕ
     ((∀i:ℕn. (copath-length(p i) = i ∈ ℤ))
     
⇒ (∀i:ℕn. ((copath-length(q i) = i ∈ ℤ) ∧ coW-equiv(a.B[a];copath-at(w;q i);copath-at(w';p i)))))
BY
{ (D -1
   THEN RenameVar `q' (-2)
   THEN (Assert ∀n:ℕ. ((∀i:ℕn. (copath-length(p i) = i ∈ ℤ)) 
⇒ (∀i:ℕn. (copath-length(fst((q i))) = i ∈ ℤ))) BY
               (Auto
                THEN (GenConclTerm ⌜q i⌝⋅ THENA Auto)
                THEN D -2
                THEN All Reduce
                THEN Auto
                THEN BackThruSomeHyp
                THEN Auto))
   THEN (ExRepD THEN D 0 With ⌜λn.(fst((q n)))⌝ )
   THEN Reduce 0
   THEN Auto) }
1
.....wf..... 
1. A : 𝕌'
2. B : A ⟶ Type
3. w : coW(A;a.B[a])
4. w' : coW(A;a.B[a])
5. e : coW-equiv(a.B[a];w;w')
6. p : ℕ ⟶ copath(a.B[a];w')
7. ∀n:ℕ. ((∀i:ℕn. (copath-length(p i) = i ∈ ℤ)) 
⇒ (∀i:ℕn - 1. copathAgree(a.B[a];w';p i;p (i + 1))))
8. q : n:ℕ ⟶ (q:copath(a.B[a];w) × ((∀i:ℕn + 1. (copath-length(p i) = i ∈ ℤ))
                                    
⇒ ((copath-length(q) = n ∈ ℤ)
                                       ∧ coW-equiv(a.B[a];copath-at(w;q);copath-at(w';p n)))))
9. (q 0)
= <(), λx.<Ax, e>>
∈ (q:copath(a.B[a];w) × ((∀i:ℕ0 + 1. (copath-length(p i) = i ∈ ℤ))
                        
⇒ ((copath-length(q) = 0 ∈ ℤ) ∧ coW-equiv(a.B[a];copath-at(w;q);copath-at(w';p 0)))))
10. ∀n:ℕ. copathAgree(a.B[a];w;fst((q n));fst((q (n + 1))))
11. ∀n:ℕ. ((∀i:ℕn. (copath-length(p i) = i ∈ ℤ)) 
⇒ (∀i:ℕn. (copath-length(fst((q i))) = i ∈ ℤ)))
⊢ λn.(fst((q n))) ∈ maximal-copath(a.B[a];w)
2
1. [A] : 𝕌'
2. B : A ⟶ Type
3. w : coW(A;a.B[a])
4. w' : coW(A;a.B[a])
5. e : coW-equiv(a.B[a];w;w')
6. p : ℕ ⟶ copath(a.B[a];w')
7. [%2] : ∀n:ℕ. ((∀i:ℕn. (copath-length(p i) = i ∈ ℤ)) 
⇒ (∀i:ℕn - 1. copathAgree(a.B[a];w';p i;p (i + 1))))
8. q : n:ℕ ⟶ (q:copath(a.B[a];w) × ((∀i:ℕn + 1. (copath-length(p i) = i ∈ ℤ))
                                    
⇒ ((copath-length(q) = n ∈ ℤ)
                                       ∧ coW-equiv(a.B[a];copath-at(w;q);copath-at(w';p n)))))
9. (q 0)
= <(), λx.<Ax, e>>
∈ (q:copath(a.B[a];w) × ((∀i:ℕ0 + 1. (copath-length(p i) = i ∈ ℤ))
                        
⇒ ((copath-length(q) = 0 ∈ ℤ) ∧ coW-equiv(a.B[a];copath-at(w;q);copath-at(w';p 0)))))
10. ∀n:ℕ. copathAgree(a.B[a];w;fst((q n));fst((q (n + 1))))
11. ∀n:ℕ. ((∀i:ℕn. (copath-length(p i) = i ∈ ℤ)) 
⇒ (∀i:ℕn. (copath-length(fst((q i))) = i ∈ ℤ)))
12. n : ℕ
13. ∀i:ℕn. (copath-length(p i) = i ∈ ℤ)
14. i : ℕn
15. copath-length(fst((q i))) = i ∈ ℤ
⊢ coW-equiv(a.B[a];copath-at(w;fst((q i)));copath-at(w';p i))
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.  e  :  coW-equiv(a.B[a];w;w')
6.  p  :  \mBbbN{}  {}\mrightarrow{}  copath(a.B[a];w')
7.  [\%2]  :  \mforall{}n:\mBbbN{}
                        ((\mforall{}i:\mBbbN{}n.  (copath-length(p  i)  =  i))  {}\mRightarrow{}  (\mforall{}i:\mBbbN{}n  -  1.  copathAgree(a.B[a];w';p  i;p  (i  +  1))))
8.  \mexists{}f:n:\mBbbN{}  {}\mrightarrow{}  (q:copath(a.B[a];w)  \mtimes{}  ((\mforall{}i:\mBbbN{}n  +  1.  (copath-length(p  i)  =  i))
                                                                      {}\mRightarrow{}  ((copath-length(q)  =  n)
                                                                            \mwedge{}  coW-equiv(a.B[a];copath-at(w;q);copath-at(w';p  n)))))
        (((f  0)  =  <(),  \mlambda{}x.<Ax,  e>>)  \mwedge{}  (\mforall{}n:\mBbbN{}.  copathAgree(a.B[a];w;fst((f  n));fst((f  (n  +  1))))))
\mvdash{}  \mexists{}q:maximal-copath(a.B[a];w)
      \mforall{}n:\mBbbN{}
          ((\mforall{}i:\mBbbN{}n.  (copath-length(p  i)  =  i))
          {}\mRightarrow{}  (\mforall{}i:\mBbbN{}n.  ((copath-length(q  i)  =  i)  \mwedge{}  coW-equiv(a.B[a];copath-at(w;q  i);copath-at(w';p  i)))))
By
Latex:
(D  -1
  THEN  RenameVar  `q'  (-2)
  THEN  (Assert  \mforall{}n:\mBbbN{}
                                ((\mforall{}i:\mBbbN{}n.  (copath-length(p  i)  =  i))  {}\mRightarrow{}  (\mforall{}i:\mBbbN{}n.  (copath-length(fst((q  i)))  =  i)))  BY
                          (Auto
                            THEN  (GenConclTerm  \mkleeneopen{}q  i\mkleeneclose{}\mcdot{}  THENA  Auto)
                            THEN  D  -2
                            THEN  All  Reduce
                            THEN  Auto
                            THEN  BackThruSomeHyp
                            THEN  Auto))
  THEN  (ExRepD  THEN  D  0  With  \mkleeneopen{}\mlambda{}n.(fst((q  n)))\mkleeneclose{}  )
  THEN  Reduce  0
  THEN  Auto)
Home
Index