Nuprl Lemma : tree-definition
∀[E,A:Type]. ∀[R:A ⟶ tree(E) ⟶ ℙ].
  ((∀value:E. {x:A| R[x;tree_leaf(value)]} )
  ⇒ (∀left,right:tree(E).  ({x:A| R[x;left]}  ⇒ {x:A| R[x;right]}  ⇒ {x:A| R[x;tree_node(left;right)]} ))
  ⇒ {∀v:tree(E). {x:A| R[x;v]} })
Proof
Definitions occuring in Statement : 
tree_node: tree_node(left;right), 
tree_leaf: tree_leaf(value), 
tree: tree(E), 
uall: ∀[x:A]. B[x], 
prop: ℙ, 
guard: {T}, 
so_apply: x[s1;s2], 
all: ∀x:A. B[x], 
implies: P ⇒ Q, 
set: {x:A| B[x]} , 
function: x:A ⟶ B[x], 
universe: Type
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x], 
member: t ∈ T, 
implies: P ⇒ Q, 
guard: {T}, 
so_lambda: λ2x.t[x], 
so_apply: x[s1;s2], 
subtype_rel: A ⊆r B, 
so_apply: x[s], 
prop: ℙ, 
all: ∀x:A. B[x]
Lemmas referenced : 
tree-induction, 
set_wf, 
tree_wf, 
all_wf, 
tree_node_wf, 
tree_leaf_wf
Rules used in proof : 
cut, 
lemma_by_obid, 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isect_memberFormation, 
hypothesis, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
hypothesisEquality, 
lambdaFormation, 
sqequalRule, 
lambdaEquality, 
applyEquality, 
because_Cache, 
independent_functionElimination, 
cumulativity, 
functionEquality, 
setEquality, 
setElimination, 
rename, 
universeEquality
Latex:
\mforall{}[E,A:Type].  \mforall{}[R:A  {}\mrightarrow{}  tree(E)  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}value:E.  \{x:A|  R[x;tree\_leaf(value)]\}  )
    {}\mRightarrow{}  (\mforall{}left,right:tree(E).
                (\{x:A|  R[x;left]\}    {}\mRightarrow{}  \{x:A|  R[x;right]\}    {}\mRightarrow{}  \{x:A|  R[x;tree\_node(left;right)]\}  ))
    {}\mRightarrow{}  \{\mforall{}v:tree(E).  \{x:A|  R[x;v]\}  \})
Date html generated:
2016_05_15-PM-01_49_52
Last ObjectModification:
2015_12_27-AM-00_12_40
Theory : tree_1
Home
Index