Nuprl Lemma : aa_ltree-induction

[T:Type]. [P:aa_ltree(T)  ].
  (P[aa_lt_leaf()]
   (val:T. left_subtree,right_subtree:aa_ltree(T).
        (P[left_subtree]  P[right_subtree]  P[aa_lt_node(val;left_subtree;right_subtree)]))
   {x:aa_ltree(T). P[x]})


Proof




Definitions occuring in Statement :  aa_lt_node: aa_lt_node(val;left_subtree;right_subtree),  aa_lt_leaf: aa_lt_leaf(),  aa_ltree: aa_ltree(T),  uall: [x:A]. B[x],  prop: ,  guard: {T},  so_apply: x[s],  all: x:A. B[x],  implies: P  Q,  function: x:A  B[x],  universe: Type
Definitions :  uall: [x:A]. B[x],  prop: ,  implies: P  Q,  so_apply: x[s],  all: x:A. B[x],  guard: {T},  member: t  T,  type-monotone: Monotone(T.F[T]),  uimplies: b supposing a,  so_lambda: x.t[x],  aa_ltree: aa_ltree(T),  aa_lt_leaf: aa_lt_leaf(),  aa_lt_node: aa_lt_node(val;left_subtree;right_subtree),  unit: Unit,  it:
Lemmas :  unit_wf2,  subtype_rel_sum,  subtype_rel_simple_product,  aa_ltree_wf,  all_wf,  aa_lt_node_wf,  aa_lt_leaf_wf
\mforall{}[T:Type].  \mforall{}[P:aa\_ltree(T)  {}\mrightarrow{}  \mBbbP{}].
    (P[aa\_lt\_leaf()]
    {}\mRightarrow{}  (\mforall{}val:T.  \mforall{}left$_{subtree}$,right$_{subtree}$:aa\_ltree(T\000C).
                (P[left$_{subtree}$]  {}\mRightarrow{}  P[right$_{subtree}$]  {}\mRightarrow{}  P[aa\000C\_lt\_node(val;left$_{subtree}$;right$_{subtree}$)]))
    {}\mRightarrow{}  \{\mforall{}x:aa\_ltree(T).  P[x]\})


Date html generated: 2013_03_20-AM-10_57_50
Last ObjectModification: 2012_11_27-AM-10_32_24

Home Index