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: x =a y,  btrue: tt,  it: ⋅,  bfalse: ff,  bool_cases_sqequal,  eqff_to_assert,  any: any x,  all: ∀x:A. B[x],  implies: P ⇒ Q,  has-value: (a)↓,  so_lambda: so_lambda4,  so_lambda: λ2x.t[x],  uimplies: b supposing a,  subtype_rel: A ⊆r 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