Step * 2 of Lemma W-type-induction


1. [A] Type
2. ∀x,y:A.  Dec(x y ∈ A)
3. [B] A ⟶ Type
4. [P] W-type(A; a.B[a]) ⟶ ℙ
5. ∀a:A. ∀f:B[a] ⟶ W-type(A; a.B[a]).  ((∀b:B[a]. P[f b])  P[W-sup(a;f)])
6. W-type(A; a.B[a])@i
7. {s:(a:A ⟶ (B[a]?)) List| ¬↑isr(Wselect(w;s))} @i
8. ∀t:a:A ⟶ (B[a]?). case Wselect(w;s [t]) of inl(w) => P[w] inr(z) => True
⊢ case Wselect(w;s) of inl(w) => P[w] inr(z) => True
BY
((TACTIC:(FLemma `deq-exists` [2] THENM RenameVar `eq' (-1)) THENA Auto) THEN PromoteHyp (-1) 2) }

1
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. W-type(A; a.B[a])@i
8. {s:(a:A ⟶ (B[a]?)) List| ¬↑isr(Wselect(w;s))} @i
9. ∀t:a:A ⟶ (B[a]?). case Wselect(w;s [t]) of inl(w) => P[w] inr(z) => True
⊢ case Wselect(w;s) of inl(w) => P[w] inr(z) => True


Latex:


Latex:

1.  [A]  :  Type
2.  \mforall{}x,y:A.    Dec(x  =  y)
3.  [B]  :  A  {}\mrightarrow{}  Type
4.  [P]  :  W-type(A;  a.B[a])  {}\mrightarrow{}  \mBbbP{}
5.  \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)])
6.  w  :  W-type(A;  a.B[a])@i
7.  s  :  \{s:(a:A  {}\mrightarrow{}  (B[a]?))  List|  \mneg{}\muparrow{}isr(Wselect(w;s))\}  @i
8.  \mforall{}t:a:A  {}\mrightarrow{}  (B[a]?).  case  Wselect(w;s  @  [t])  of  inl(w)  =>  P[w]  |  inr(z)  =>  True
\mvdash{}  case  Wselect(w;s)  of  inl(w)  =>  P[w]  |  inr(z)  =>  True


By


Latex:
((TACTIC:(FLemma  `deq-exists`  [2]  THENM  RenameVar  `eq'  (-1))  THENA  Auto)  THEN  PromoteHyp  (-1)  2)




Home Index