Step
*
of Lemma
WfdSpread-induction
∀[Pos:Type]
  ((∀a,b:Pos.  Dec(a = b ∈ Pos))
  
⇒ (∀[Mv:Pos ⟶ Type]. ∀[P:WfdSpread(Pos;a.Mv[a]) ⟶ ℙ].
        ((∀a:Pos. ∀f:Mv[a] ⟶ WfdSpread(Pos;a.Mv[a]).  ((∀m:Mv[a]. P[f m]) 
⇒ P[mkW(a;f)]))
        
⇒ (∀w:WfdSpread(Pos;a.Mv[a]). P[w]))))
BY
{ (Auto
   THEN (InstLemma `basic_bar_induction` [⌜MoveChoice(Pos;a.Mv[a])⌝; ⌜λ2n s.↑isr(W_sel(w;n;s))⌝;
         ⌜λ2n s.case W_sel(w;n;s) of inl(w) => P[w] | inr(z) => True⌝
         ]⋅
   THENM (RepUR ``W_sel`` (-1) THEN With ⌜0⌝ (D (-1)) ⋅ THEN Auto)
   )
   THEN Auto) }
1
1. [Pos] : Type
2. ∀a,b:Pos.  Dec(a = b ∈ Pos)
3. [Mv] : Pos ⟶ Type
4. [P] : WfdSpread(Pos;a.Mv[a]) ⟶ ℙ
5. ∀a:Pos. ∀f:Mv[a] ⟶ WfdSpread(Pos;a.Mv[a]).  ((∀m:Mv[a]. P[f m]) 
⇒ P[mkW(a;f)])
6. w : WfdSpread(Pos;a.Mv[a])@i
7. n : ℕ@i
8. s : ℕn ⟶ MoveChoice(Pos;a.Mv[a])@i
9. ↑isr(W_sel(w;n;s))
⊢ case W_sel(w;n;s) of inl(w) => P[w] | inr(z) => True
2
1. [Pos] : Type
2. ∀a,b:Pos.  Dec(a = b ∈ Pos)
3. [Mv] : Pos ⟶ Type
4. [P] : WfdSpread(Pos;a.Mv[a]) ⟶ ℙ
5. ∀a:Pos. ∀f:Mv[a] ⟶ WfdSpread(Pos;a.Mv[a]).  ((∀m:Mv[a]. P[f m]) 
⇒ P[mkW(a;f)])
6. w : WfdSpread(Pos;a.Mv[a])@i
7. n : ℕ@i
8. s : ℕn ⟶ MoveChoice(Pos;a.Mv[a])@i
9. ∀t:MoveChoice(Pos;a.Mv[a]). case W_sel(w;n + 1;s++t) of inl(w) => P[w] | inr(z) => True
⊢ case W_sel(w;n;s) of inl(w) => P[w] | inr(z) => True
3
1. Pos : Type
2. ∀a,b:Pos.  Dec(a = b ∈ Pos)
3. Mv : Pos ⟶ Type
4. P : WfdSpread(Pos;a.Mv[a]) ⟶ ℙ
5. ∀a:Pos. ∀f:Mv[a] ⟶ WfdSpread(Pos;a.Mv[a]).  ((∀m:Mv[a]. P[f m]) 
⇒ P[mkW(a;f)])
6. w : WfdSpread(Pos;a.Mv[a])@i
7. alpha : ℕ ⟶ MoveChoice(Pos;a.Mv[a])@i
⊢ ↓∃m:ℕ. (↑isr(W_sel(w;m;alpha)))
Latex:
Latex:
\mforall{}[Pos:Type]
    ((\mforall{}a,b:Pos.    Dec(a  =  b))
    {}\mRightarrow{}  (\mforall{}[Mv:Pos  {}\mrightarrow{}  Type].  \mforall{}[P:WfdSpread(Pos;a.Mv[a])  {}\mrightarrow{}  \mBbbP{}].
                ((\mforall{}a:Pos.  \mforall{}f:Mv[a]  {}\mrightarrow{}  WfdSpread(Pos;a.Mv[a]).    ((\mforall{}m:Mv[a].  P[f  m])  {}\mRightarrow{}  P[mkW(a;f)]))
                {}\mRightarrow{}  (\mforall{}w:WfdSpread(Pos;a.Mv[a]).  P[w]))))
By
Latex:
(Auto
  THEN  (InstLemma  `basic\_bar\_induction`  [\mkleeneopen{}MoveChoice(Pos;a.Mv[a])\mkleeneclose{};  \mkleeneopen{}\mlambda{}\msubtwo{}n  s.\muparrow{}isr(W\_sel(w;n;s))\mkleeneclose{};
              \mkleeneopen{}\mlambda{}\msubtwo{}n  s.case  W\_sel(w;n;s)  of  inl(w)  =>  P[w]  |  inr(z)  =>  True\mkleeneclose{}
              ]\mcdot{}
  THENM  (RepUR  ``W\_sel``  (-1)  THEN  With  \mkleeneopen{}0\mkleeneclose{}  (D  (-1))  \mcdot{}  THEN  Auto)
  )
  THEN  Auto)
Home
Index