Nuprl Lemma : tree_ind_wf

[E,A:Type]. ∀[R:A ⟶ tree(E) ⟶ ℙ]. ∀[v:tree(E)]. ∀[leaf:value:E ⟶ {x:A| R[x;tree_leaf(value)]} ].
[node:left:tree(E) ⟶ right:tree(E) ⟶ {x:A| R[x;left]}  ⟶ {x:A| R[x;right]}  ⟶ {x:A| R[x;tree_node(left;right)]} ].
  (tree_ind(v;
            tree_leaf(value) leaf[value];
            tree_node(left,right) rec1,rec2.node[left;right;rec1;rec2])  ∈ {x:A| R[x;v]} )


Proof




Definitions occuring in Statement :  tree_ind: tree_ind tree_node: tree_node(left;right) tree_leaf: tree_leaf(value) tree: tree(E) 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] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T tree_ind: tree_ind so_apply: x[s1;s2;s3;s4] so_apply: x[s] so_apply: x[s1;s2] tree-definition tree-induction uniform-comp-nat-induction tree-ext eq_atom: =a y btrue: tt it: bfalse: ff bool_cases_sqequal eqff_to_assert any: any x all: x:A. B[x] implies:  Q has-value: (a)↓ so_lambda: so_lambda4 so_lambda: λ2x.t[x] uimplies: supposing a subtype_rel: A ⊆B prop: guard: {T}
Lemmas referenced :  tree-definition has-value_wf_base is-exception_wf lifting-strict-atom_eq strict4-decide tree_wf tree_leaf_wf tree_node_wf subtype_rel_function subtype_rel_self istype-universe tree-induction uniform-comp-nat-induction tree-ext bool_cases_sqequal eqff_to_assert
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt cut sqequalRule Error :memTop,  inhabitedIsType hypothesis lambdaFormation_alt thin sqequalSqle divergentSqle callbyvalueDecide sqequalHypSubstitution hypothesisEquality unionElimination sqleReflexivity equalityIstype equalityTransitivity equalitySymmetry dependent_functionElimination independent_functionElimination introduction decideExceptionCases axiomSqleEquality exceptionSqequal baseApply closedConclusion baseClosed extract_by_obid isectElimination independent_isectElimination lambdaEquality_alt isectIsType because_Cache functionIsType universeIsType universeEquality setIsType applyEquality functionEquality setEquality instantiate functionExtensionality

Latex:
\mforall{}[E,A:Type].  \mforall{}[R:A  {}\mrightarrow{}  tree(E)  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[v:tree(E)].  \mforall{}[leaf:value:E  {}\mrightarrow{}  \{x:A|  R[x;tree\_leaf(value)]\}  ].
\mforall{}[node:left:tree(E)
              {}\mrightarrow{}  right:tree(E)
              {}\mrightarrow{}  \{x:A|  R[x;left]\} 
              {}\mrightarrow{}  \{x:A|  R[x;right]\} 
              {}\mrightarrow{}  \{x:A|  R[x;tree\_node(left;right)]\}  ].
    (tree\_ind(v;
                        tree\_leaf(value){}\mRightarrow{}  leaf[value];
                        tree\_node(left,right){}\mRightarrow{}  rec1,rec2.node[left;right;rec1;rec2])    \mmember{}  \{x:A|  R[x;v]\}  )



Date html generated: 2020_05_20-AM-07_48_00
Last ObjectModification: 2020_01_24-PM-03_06_20

Theory : tree_1


Home Index