Nuprl Lemma : binary-tree_ind_wf
∀[A:Type]. ∀[R:A ─→ binary-tree() ─→ ℙ]. ∀[v:binary-tree()]. ∀[Leaf:val:ℤ ─→ {x:A| R[x;btr_Leaf(val)]} ].
∀[Node:left:binary-tree()
       ─→ right:binary-tree()
       ─→ {x:A| R[x;left]} 
       ─→ {x:A| R[x;right]} 
       ─→ {x:A| R[x;btr_Node(left;right)]} ].
  (binary-tree_ind(v;
                   btr_Leaf(val)
⇒ Leaf[val];
                   btr_Node(left,right)
⇒ rec1,rec2.Node[left;right;rec1;rec2])  ∈ {x:A| R[x;v]} )
Proof
Definitions occuring in Statement : 
binary-tree_ind: binary-tree_ind, 
btr_Node: btr_Node(left;right)
, 
btr_Leaf: btr_Leaf(val)
, 
binary-tree: binary-tree()
, 
uall: ∀[x:A]. B[x]
, 
prop: ℙ
, 
so_apply: x[s1;s2;s3;s4]
, 
so_apply: x[s1;s2]
, 
so_apply: x[s]
, 
member: t ∈ T
, 
set: {x:A| B[x]} 
, 
function: x:A ─→ B[x]
, 
int: ℤ
, 
universe: Type
Lemmas : 
top_wf, 
has-value_wf_base, 
lifting-strict-atom_eq, 
base_wf, 
btr_Leaf_wf, 
binary-tree_wf, 
btr_Node_wf, 
all_wf, 
set_wf, 
subtype_rel-equal
\mforall{}[A:Type].  \mforall{}[R:A  {}\mrightarrow{}  binary-tree()  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[v:binary-tree()].  \mforall{}[Leaf:val:\mBbbZ{}  {}\mrightarrow{}  \{x:A| 
                                                                                                                                                            R[x;btr\_Leaf(val)]\}  ].
\mforall{}[Node:left:binary-tree()
              {}\mrightarrow{}  right:binary-tree()
              {}\mrightarrow{}  \{x:A|  R[x;left]\} 
              {}\mrightarrow{}  \{x:A|  R[x;right]\} 
              {}\mrightarrow{}  \{x:A|  R[x;btr\_Node(left;right)]\}  ].
    (binary-tree\_ind(v;
                                      btr\_Leaf(val){}\mRightarrow{}  Leaf[val];
                                      btr\_Node(left,right){}\mRightarrow{}  rec1,rec2.Node[left;right;rec1;rec2])    \mmember{}  \{x:A|  R[x;v]\}  )
Date html generated:
2015_07_17-AM-07_52_24
Last ObjectModification:
2015_01_29-PM-04_39_12
Home
Index