Step
*
of Lemma
rat_term-induction
∀[P:rat_term() ⟶ ℙ]
  ((∀const:ℤ. P["const"])
  ⇒ (∀var:ℤ. P[rtermVar(var)])
  ⇒ (∀left,right:rat_term().  (P[left] ⇒ P[right] ⇒ P[left "+" right]))
  ⇒ (∀left,right:rat_term().  (P[left] ⇒ P[right] ⇒ P[left "-" right]))
  ⇒ (∀left,right:rat_term().  (P[left] ⇒ P[right] ⇒ P[left "*" right]))
  ⇒ (∀num,denom:rat_term().  (P[num] ⇒ P[denom] ⇒ P[num "/" denom]))
  ⇒ (∀num:rat_term(). (P[num] ⇒ P[rtermMinus(num)]))
  ⇒ {∀v:rat_term(). P[v]})
BY
{ ProveDatatypeInd }
Latex:
Latex:
\mforall{}[P:rat\_term()  {}\mrightarrow{}  \mBbbP{}]
    ((\mforall{}const:\mBbbZ{}.  P["const"])
    {}\mRightarrow{}  (\mforall{}var:\mBbbZ{}.  P[rtermVar(var)])
    {}\mRightarrow{}  (\mforall{}left,right:rat\_term().    (P[left]  {}\mRightarrow{}  P[right]  {}\mRightarrow{}  P[left  "+"  right]))
    {}\mRightarrow{}  (\mforall{}left,right:rat\_term().    (P[left]  {}\mRightarrow{}  P[right]  {}\mRightarrow{}  P[left  "-"  right]))
    {}\mRightarrow{}  (\mforall{}left,right:rat\_term().    (P[left]  {}\mRightarrow{}  P[right]  {}\mRightarrow{}  P[left  "*"  right]))
    {}\mRightarrow{}  (\mforall{}num,denom:rat\_term().    (P[num]  {}\mRightarrow{}  P[denom]  {}\mRightarrow{}  P[num  "/"  denom]))
    {}\mRightarrow{}  (\mforall{}num:rat\_term().  (P[num]  {}\mRightarrow{}  P[rtermMinus(num)]))
    {}\mRightarrow{}  \{\mforall{}v:rat\_term().  P[v]\})
By
Latex:
ProveDatatypeInd
Home
Index