Step
*
of Lemma
list_induction
∀[T:Type]. ∀[P:(T List) ⟶ ℙ].  (P[[]] 
⇒ (∀aaaa:T. ∀LLLL:T List.  (P[LLLL] 
⇒ P[[aaaa / LLLL]])) 
⇒ (∀L:T List. P[L]))
BY
{ (Auto
   THEN RenameVar `nilcase' (-3)
   THEN RenameVar `conscase' (-2)
   THEN UseWitness ⌜rec-case(L) of
                    [] => nilcase
                    a::L =>
                     r.conscase a L r⌝⋅
   THEN InstLemma `list_ind-general-wf` [⌜T⌝;⌜P⌝]⋅
   THEN Auto) }
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}[P:(T  List)  {}\mrightarrow{}  \mBbbP{}].
    (P[[]]  {}\mRightarrow{}  (\mforall{}aaaa:T.  \mforall{}LLLL:T  List.    (P[LLLL]  {}\mRightarrow{}  P[[aaaa  /  LLLL]]))  {}\mRightarrow{}  (\mforall{}L:T  List.  P[L]))
By
Latex:
(Auto
  THEN  RenameVar  `nilcase'  (-3)
  THEN  RenameVar  `conscase'  (-2)
  THEN  UseWitness  \mkleeneopen{}rec-case(L)  of
                                    []  =>  nilcase
                                    a::L  =>
                                      r.conscase  a  L  r\mkleeneclose{}\mcdot{}
  THEN  InstLemma  `list\_ind-general-wf`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}P\mkleeneclose{}]\mcdot{}
  THEN  Auto)
Home
Index