Nuprl Lemma : MultiTreeco-ext
∀[T:Type]
  MultiTreeco(T) ≡ lbl:Atom × if lbl =a "Node" then labels:{L:Atom List| 0 < ||L||}  × ({a:Atom| (a ∈ labels)}  ─→ Multi\000CTreeco(T))
                              if lbl =a "Leaf" then T
                              else Void
                              fi 
Proof
Definitions occuring in Statement : 
MultiTreeco: MultiTreeco(T)
, 
l_member: (x ∈ l)
, 
length: ||as||
, 
list: T List
, 
ifthenelse: if b then t else f fi 
, 
eq_atom: x =a y
, 
ext-eq: A ≡ B
, 
less_than: a < b
, 
uall: ∀[x:A]. B[x]
, 
set: {x:A| B[x]} 
, 
function: x:A ─→ B[x]
, 
product: x:A × B[x]
, 
natural_number: $n
, 
token: "$token"
, 
atom: Atom
, 
void: Void
, 
universe: Type
Lemmas : 
corec-ext, 
eq_atom_wf, 
bool_wf, 
eqtt_to_assert, 
assert_of_eq_atom, 
list_wf, 
less_than_wf, 
length_wf, 
l_member_wf, 
eqff_to_assert, 
equal_wf, 
bool_cases_sqequal, 
subtype_base_sq, 
bool_subtype_base, 
assert-bnot, 
neg_assert_of_eq_atom, 
subtype_rel_product, 
subtype_rel_dep_function, 
set_wf, 
subtype_rel_wf, 
strong-continuous-depproduct, 
strong-continuous-function, 
continuous-id, 
continuous-constant, 
subtype_rel_weakening, 
nat_wf
\mforall{}[T:Type]
    MultiTreeco(T)  \mequiv{}  lbl:Atom  \mtimes{}  if  lbl  =a  "Node"
                                                                then  labels:\{L:Atom  List|  0  <  ||L||\} 
                                                                          \mtimes{}  (\{a:Atom|  (a  \mmember{}  labels)\}    {}\mrightarrow{}  MultiTreeco(T))
                                                            if  lbl  =a  "Leaf"  then  T
                                                            else  Void
                                                            fi 
Date html generated:
2015_07_17-AM-07_45_37
Last ObjectModification:
2015_01_27-AM-09_45_19
Home
Index