Nuprl Lemma : MTree-induction2

[T:Type]. ∀[P:MultiTree(T) ⟶ ℙ].
  ((∀labels:{L:Atom List| 0 < ||L||} . ∀children:{a:Atom| (a ∈ labels)}  ⟶ MultiTree(T).
      ((∀a∈labels.P[children a])  P[MTree_Node(labels;children)]))
   (∀val:T. P[MTree_Leaf(val)])
   {∀x:MultiTree(T). P[x]})


Proof




Definitions occuring in Statement :  MTree_Leaf: MTree_Leaf(val) MTree_Node: MTree_Node(labels;children) MultiTree: MultiTree(T) l_all: (∀x∈L.P[x]) l_member: (x ∈ l) length: ||as|| list: List less_than: a < b uall: [x:A]. B[x] prop: guard: {T} so_apply: x[s] all: x:A. B[x] implies:  Q set: {x:A| B[x]}  apply: a function: x:A ⟶ B[x] natural_number: $n atom: Atom universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] implies:  Q member: t ∈ T prop: so_lambda: λ2x.t[x] so_apply: x[s] all: x:A. B[x] subtype_rel: A ⊆B guard: {T} int_seg: {i..j-} lelt: i ≤ j < k and: P ∧ Q uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False not: ¬A top: Top decidable: Dec(P) or: P ∨ Q le: A ≤ B less_than': less_than'(a;b) nat: less_than: a < b ge: i ≥  iff: ⇐⇒ Q rev_implies:  Q MTree-rank: MTree-rank(t) MTree_Node: MTree_Node(labels;children) MTree_Leaf?: MTree_Leaf?(v) pi1: fst(t) MTree_Node-children: MTree_Node-children(v) pi2: snd(t) MTree_Node-labels: MTree_Node-labels(v) eq_atom: =a y ifthenelse: if then else fi  bfalse: ff cand: c∧ B
Lemmas referenced :  l_member-settype member_map l_exists_iff map-length subtype_rel_list imax-list-ub map_wf list-subtype l_all_iff MultiTree-induction int_term_value_add_lemma itermAdd_wf nat_properties primrec-wf2 set_wf decidable__lt nat_wf MTree-rank_wf guard_wf le_wf int_formula_prop_eq_lemma int_term_value_subtract_lemma int_formula_prop_not_lemma intformeq_wf itermSubtract_wf intformnot_wf decidable__le lelt_wf false_wf int_seg_subtype subtract_wf decidable__equal_int int_seg_wf int_formula_prop_wf int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_and_lemma intformle_wf itermConstant_wf itermVar_wf intformless_wf intformand_wf satisfiable-full-omega-tt int_seg_properties MTree_Node_wf l_all_wf2 MultiTree_wf l_member_wf length_wf less_than_wf list_wf MTree_Leaf_wf all_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut lemma_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality sqequalRule lambdaEquality applyEquality hypothesis setEquality atomEquality natural_numberEquality because_Cache setElimination rename functionEquality cumulativity dependent_set_memberEquality universeEquality productElimination independent_isectElimination dependent_pairFormation int_eqEquality intEquality dependent_functionElimination isect_memberEquality voidElimination voidEquality independent_pairFormation computeAll unionElimination addLevel equalityTransitivity equalitySymmetry levelHypothesis hypothesis_subsumption introduction addEquality independent_functionElimination equalityEquality productEquality

Latex:
\mforall{}[T:Type].  \mforall{}[P:MultiTree(T)  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}labels:\{L:Atom  List|  0  <  ||L||\}  .  \mforall{}children:\{a:Atom|  (a  \mmember{}  labels)\}    {}\mrightarrow{}  MultiTree(T).
            ((\mforall{}a\mmember{}labels.P[children  a])  {}\mRightarrow{}  P[MTree\_Node(labels;children)]))
    {}\mRightarrow{}  (\mforall{}val:T.  P[MTree\_Leaf(val)])
    {}\mRightarrow{}  \{\mforall{}x:MultiTree(T).  P[x]\})



Date html generated: 2016_05_16-AM-08_54_10
Last ObjectModification: 2016_01_17-AM-09_43_19

Theory : C-semantics


Home Index