Step
*
of Lemma
int_formula-definition
∀[A:Type]. ∀[R:A ⟶ int_formula() ⟶ ℙ].
  ((∀left,right:int_term().  {x:A| R[x;(left "<" right)]} )
  
⇒ (∀left,right:int_term().  {x:A| R[x;left "≤" right]} )
  
⇒ (∀left,right:int_term().  {x:A| R[x;left "=" right]} )
  
⇒ (∀left,right:int_formula().  ({x:A| R[x;left]}  
⇒ {x:A| R[x;right]}  
⇒ {x:A| R[x;left "∧" right]} ))
  
⇒ (∀left,right:int_formula().  ({x:A| R[x;left]}  
⇒ {x:A| R[x;right]}  
⇒ {x:A| R[x;left "or" right]} ))
  
⇒ (∀left,right:int_formula().  ({x:A| R[x;left]}  
⇒ {x:A| R[x;right]}  
⇒ {x:A| R[x;left "=>" right]} ))
  
⇒ (∀form:int_formula(). ({x:A| R[x;form]}  
⇒ {x:A| R[x;"¬"form]} ))
  
⇒ {∀v:int_formula(). {x:A| R[x;v]} })
BY
{ ProveDatatypeDefinition `int_formula-induction` }
Latex:
Latex:
\mforall{}[A:Type].  \mforall{}[R:A  {}\mrightarrow{}  int\_formula()  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}left,right:int\_term().    \{x:A|  R[x;(left  "<"  right)]\}  )
    {}\mRightarrow{}  (\mforall{}left,right:int\_term().    \{x:A|  R[x;left  "\mleq{}"  right]\}  )
    {}\mRightarrow{}  (\mforall{}left,right:int\_term().    \{x:A|  R[x;left  "="  right]\}  )
    {}\mRightarrow{}  (\mforall{}left,right:int\_formula().
                (\{x:A|  R[x;left]\}    {}\mRightarrow{}  \{x:A|  R[x;right]\}    {}\mRightarrow{}  \{x:A|  R[x;left  "\mwedge{}"  right]\}  ))
    {}\mRightarrow{}  (\mforall{}left,right:int\_formula().
                (\{x:A|  R[x;left]\}    {}\mRightarrow{}  \{x:A|  R[x;right]\}    {}\mRightarrow{}  \{x:A|  R[x;left  "or"  right]\}  ))
    {}\mRightarrow{}  (\mforall{}left,right:int\_formula().
                (\{x:A|  R[x;left]\}    {}\mRightarrow{}  \{x:A|  R[x;right]\}    {}\mRightarrow{}  \{x:A|  R[x;left  "=>"  right]\}  ))
    {}\mRightarrow{}  (\mforall{}form:int\_formula().  (\{x:A|  R[x;form]\}    {}\mRightarrow{}  \{x:A|  R[x;"\mneg{}"form]\}  ))
    {}\mRightarrow{}  \{\mforall{}v:int\_formula().  \{x:A|  R[x;v]\}  \})
By
Latex:
ProveDatatypeDefinition  `int\_formula-induction`
Home
Index