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