Step * of Lemma mFOLRule-definition

[A:Type]. ∀[R:A ─→ mFOLRule() ─→ ℙ].
  ({x:A| R[x;andI]} 
   {x:A| R[x;impI]} 
   (∀var:ℤ{x:A| R[x;allI with var]} )
   (∀var:ℤ{x:A| R[x;existsI with var]} )
   (∀left:𝔹{x:A| R[x;mRuleorI(left)]} )
   {x:A| R[x;hyp]} 
   (∀hypnum:ℕ{x:A| R[x;andE on hypnum]} )
   (∀hypnum:ℕ{x:A| R[x;orE on hypnum]} )
   (∀hypnum:ℕ{x:A| R[x;impE on hypnum]} )
   (∀hypnum:ℕ. ∀var:ℤ.  {x:A| R[x;allE on hypnum with var]} )
   (∀hypnum:ℕ. ∀var:ℤ.  {x:A| R[x;existsE on hypnum with var]} )
   {∀v:mFOLRule(). {x:A| R[x;v]} })
BY
ProveDatatypeDefinition `mFOLRule-induction` }


Latex:


\mforall{}[A:Type].  \mforall{}[R:A  {}\mrightarrow{}  mFOLRule()  {}\mrightarrow{}  \mBbbP{}].
    (\{x:A|  R[x;andI]\} 
    {}\mRightarrow{}  \{x:A|  R[x;impI]\} 
    {}\mRightarrow{}  (\mforall{}var:\mBbbZ{}.  \{x:A|  R[x;allI  with  var]\}  )
    {}\mRightarrow{}  (\mforall{}var:\mBbbZ{}.  \{x:A|  R[x;existsI  with  var]\}  )
    {}\mRightarrow{}  (\mforall{}left:\mBbbB{}.  \{x:A|  R[x;mRuleorI(left)]\}  )
    {}\mRightarrow{}  \{x:A|  R[x;hyp]\} 
    {}\mRightarrow{}  (\mforall{}hypnum:\mBbbN{}.  \{x:A|  R[x;andE  on  hypnum]\}  )
    {}\mRightarrow{}  (\mforall{}hypnum:\mBbbN{}.  \{x:A|  R[x;orE  on  hypnum]\}  )
    {}\mRightarrow{}  (\mforall{}hypnum:\mBbbN{}.  \{x:A|  R[x;impE  on  hypnum]\}  )
    {}\mRightarrow{}  (\mforall{}hypnum:\mBbbN{}.  \mforall{}var:\mBbbZ{}.    \{x:A|  R[x;allE  on  hypnum  with  var]\}  )
    {}\mRightarrow{}  (\mforall{}hypnum:\mBbbN{}.  \mforall{}var:\mBbbZ{}.    \{x:A|  R[x;existsE  on  hypnum  with  var]\}  )
    {}\mRightarrow{}  \{\mforall{}v:mFOLRule().  \{x:A|  R[x;v]\}  \})


By

ProveDatatypeDefinition  `mFOLRule-induction`




Home Index