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