Step * of Lemma mFOL-definition

[A:Type]. ∀[R:A ─→ mFOL() ─→ ℙ].
  ((∀name:Atom. ∀vars:ℤ List.  {x:A| R[x;name(vars)]} )
   (∀knd:Atom. ∀left,right:mFOL().  ({x:A| R[x;left]}   {x:A| R[x;right]}   {x:A| R[x;mFOconnect(knd;left;right)]}\000C ))
   (∀isall:𝔹. ∀var:ℤ. ∀body:mFOL().  ({x:A| R[x;body]}   {x:A| R[x;mFOquant(isall;var;body)]} ))
   {∀v:mFOL(). {x:A| R[x;v]} })
BY
ProveDatatypeDefinition `mFOL-induction` }


Latex:


\mforall{}[A:Type].  \mforall{}[R:A  {}\mrightarrow{}  mFOL()  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}name:Atom.  \mforall{}vars:\mBbbZ{}  List.    \{x:A|  R[x;name(vars)]\}  )
    {}\mRightarrow{}  (\mforall{}knd:Atom.  \mforall{}left,right:mFOL().
                (\{x:A|  R[x;left]\}    {}\mRightarrow{}  \{x:A|  R[x;right]\}    {}\mRightarrow{}  \{x:A|  R[x;mFOconnect(knd;left;right)]\}  ))
    {}\mRightarrow{}  (\mforall{}isall:\mBbbB{}.  \mforall{}var:\mBbbZ{}.  \mforall{}body:mFOL().    (\{x:A|  R[x;body]\}    {}\mRightarrow{}  \{x:A|  R[x;mFOquant(isall;var;body)]\}  ))
    {}\mRightarrow{}  \{\mforall{}v:mFOL().  \{x:A|  R[x;v]\}  \})


By

ProveDatatypeDefinition  `mFOL-induction`




Home Index