Step
*
of Lemma
bs_tree-definition
∀[E,A:Type]. ∀[R:A ⟶ bs_tree(E) ⟶ ℙ].
  ({x:A| R[x;bst_null()]} 
  
⇒ (∀value:E. {x:A| R[x;bst_leaf(value)]} )
  
⇒ (∀left:bs_tree(E). ∀value:E. ∀right:bs_tree(E).
        ({x:A| R[x;left]}  
⇒ {x:A| R[x;right]}  
⇒ {x:A| R[x;bst_node(left;value;right)]} ))
  
⇒ {∀v:bs_tree(E). {x:A| R[x;v]} })
BY
{ ProveDatatypeDefinition `bs_tree-induction` }
Latex:
Latex:
\mforall{}[E,A:Type].  \mforall{}[R:A  {}\mrightarrow{}  bs\_tree(E)  {}\mrightarrow{}  \mBbbP{}].
    (\{x:A|  R[x;bst\_null()]\} 
    {}\mRightarrow{}  (\mforall{}value:E.  \{x:A|  R[x;bst\_leaf(value)]\}  )
    {}\mRightarrow{}  (\mforall{}left:bs\_tree(E).  \mforall{}value:E.  \mforall{}right:bs\_tree(E).
                (\{x:A|  R[x;left]\}    {}\mRightarrow{}  \{x:A|  R[x;right]\}    {}\mRightarrow{}  \{x:A|  R[x;bst\_node(left;value;right)]\}  ))
    {}\mRightarrow{}  \{\mforall{}v:bs\_tree(E).  \{x:A|  R[x;v]\}  \})
By
Latex:
ProveDatatypeDefinition  `bs\_tree-induction`
Home
Index