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
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T binary-tree_ind: binary-tree_ind so_apply: x[s1;s2;s3;s4] so_apply: x[s] so_apply: x[s1;s2] binary-tree-definition binary-tree-induction uniform-comp-nat-induction binary-tree-ext eq_atom: =a y bool_cases_sqequal eqff_to_assert any: any x btrue: tt bfalse: ff it: top: Top all: x:A. B[x] implies:  Q has-value: (a)↓ so_lambda: so_lambda(x,y,z,w.t[x; y; z; w]) so_lambda: λ2x.t[x] uimplies: supposing a strict4: strict4(F) and: P ∧ Q prop: guard: {T} or: P ∨ Q squash: T subtype_rel: A ⊆B
Lemmas referenced :  binary-tree-definition binary-tree-induction uniform-comp-nat-induction binary-tree-ext bool_cases_sqequal eqff_to_assert set_wf all_wf guard_wf btr_Node_wf btr_Leaf_wf binary-tree_wf base_wf lifting-strict-atom_eq is-exception_wf has-value_wf_base top_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut sqequalRule isect_memberEquality voidElimination voidEquality thin lemma_by_obid hypothesis lambdaFormation because_Cache sqequalSqle divergentSqle callbyvalueDecide sqequalHypSubstitution unionEquality unionElimination sqleReflexivity equalityEquality equalityTransitivity equalitySymmetry hypothesisEquality dependent_functionElimination independent_functionElimination decideExceptionCases axiomSqleEquality exceptionSqequal baseApply closedConclusion baseClosed isectElimination independent_isectElimination independent_pairFormation inrFormation imageMemberEquality imageElimination inlFormation instantiate extract_by_obid applyEquality lambdaEquality isectEquality functionEquality cumulativity universeEquality intEquality setEquality setElimination rename dependent_set_memberEquality axiomEquality

Latex:
\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: 2016_05_16-AM-09_07_18
Last ObjectModification: 2016_01_17-AM-09_42_45

Theory : C-semantics


Home Index