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