Step
*
2
1
2
of Lemma
W-type-induction
1. [A] : Type
2. eq : EqDecider(A)
3. ∀x,y:A.  Dec(x = y ∈ A)
4. [B] : A ⟶ Type
5. [P] : W-type(A; a.B[a]) ⟶ ℙ
6. ∀a:A. ∀f:B[a] ⟶ W-type(A; a.B[a]).  ((∀b:B[a]. P[f b]) 
⇒ P[W-sup(a;f)])
7. u : a:A ⟶ (B[a]?)@i
8. v : (a:A ⟶ (B[a]?)) List@i
9. ∀w:W-type(A; a.B[a])
     ((¬↑isr(Wselect(w;v)))
     
⇒ (∀t:a:A ⟶ (B[a]?). case Wselect(w;v @ [t]) of inl(w) => P[w] | inr(z) => True)
     
⇒ case Wselect(w;v) of inl(w) => P[w] | inr(z) => True)
10. a : A
11. w1 : B[a] ⟶ W-type(A; a.B[a])
12. ¬↑isr(Wselect(<a, w1>[u / v]))
13. ∀t:a:A ⟶ (B[a]?). case Wselect(<a, w1>[u / (v @ [t])]) of inl(w) => P[w] | inr(z) => True
⊢ case Wselect(<a, w1>[u / v]) of inl(w) => P[w] | inr(z) => True
BY
{ (RepeatFor 2 (MoveToConcl (-1))
   THEN Unfold `Wselect` 0
   THEN RecUnfold `W-select` 0
   THEN Fold `Wselect` 0
   THEN Reduce 0
   THEN (GenConclTerm ⌜u a⌝⋅ THENA Auto)
   THEN D -2
   THEN Reduce 0
   THEN Auto)⋅ }
Latex:
Latex:
1.  [A]  :  Type
2.  eq  :  EqDecider(A)
3.  \mforall{}x,y:A.    Dec(x  =  y)
4.  [B]  :  A  {}\mrightarrow{}  Type
5.  [P]  :  W-type(A;  a.B[a])  {}\mrightarrow{}  \mBbbP{}
6.  \mforall{}a:A.  \mforall{}f:B[a]  {}\mrightarrow{}  W-type(A;  a.B[a]).    ((\mforall{}b:B[a].  P[f  b])  {}\mRightarrow{}  P[W-sup(a;f)])
7.  u  :  a:A  {}\mrightarrow{}  (B[a]?)@i
8.  v  :  (a:A  {}\mrightarrow{}  (B[a]?))  List@i
9.  \mforall{}w:W-type(A;  a.B[a])
          ((\mneg{}\muparrow{}isr(Wselect(w;v)))
          {}\mRightarrow{}  (\mforall{}t:a:A  {}\mrightarrow{}  (B[a]?).  case  Wselect(w;v  @  [t])  of  inl(w)  =>  P[w]  |  inr(z)  =>  True)
          {}\mRightarrow{}  case  Wselect(w;v)  of  inl(w)  =>  P[w]  |  inr(z)  =>  True)
10.  a  :  A
11.  w1  :  B[a]  {}\mrightarrow{}  W-type(A;  a.B[a])
12.  \mneg{}\muparrow{}isr(Wselect(<a,  w1>[u  /  v]))
13.  \mforall{}t:a:A  {}\mrightarrow{}  (B[a]?).  case  Wselect(<a,  w1>[u  /  (v  @  [t])])  of  inl(w)  =>  P[w]  |  inr(z)  =>  True
\mvdash{}  case  Wselect(<a,  w1>[u  /  v])  of  inl(w)  =>  P[w]  |  inr(z)  =>  True
By
Latex:
(RepeatFor  2  (MoveToConcl  (-1))
  THEN  Unfold  `Wselect`  0
  THEN  RecUnfold  `W-select`  0
  THEN  Fold  `Wselect`  0
  THEN  Reduce  0
  THEN  (GenConclTerm  \mkleeneopen{}u  a\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  D  -2
  THEN  Reduce  0
  THEN  Auto)\mcdot{}
Home
Index