Nuprl Lemma : RankEx1-ext
∀[T:Type]
RankEx1(T) ≡ lbl:Atom × if lbl =a "Leaf" then T
if lbl =a "Prod" then RankEx1(T) × RankEx1(T)
if lbl =a "ProdL" then T × RankEx1(T)
if lbl =a "ProdR" then RankEx1(T) × T
if lbl =a "List" then RankEx1(T) List
else Void
fi
Proof
Definitions occuring in Statement :
RankEx1: RankEx1(T)
,
list: T List
,
ifthenelse: if b then t else f fi
,
eq_atom: x =a y
,
ext-eq: A ≡ B
,
uall: ∀[x:A]. B[x]
,
product: x:A × B[x]
,
token: "$token"
,
atom: Atom
,
void: Void
,
universe: Type
Lemmas :
RankEx1co-ext,
eq_atom_wf,
bool_wf,
eqtt_to_assert,
assert_of_eq_atom,
subtype_base_sq,
atom_subtype_base,
eqff_to_assert,
equal_wf,
bool_cases_sqequal,
bool_subtype_base,
assert-bnot,
neg_assert_of_eq_atom,
value-type-has-value,
int-value-type,
has-value_wf-partial,
nat_wf,
set-value-type,
le_wf,
RankEx1co_size_wf,
list-set-type2,
RankEx1co_wf,
sum-partial-has-value,
length_wf_nat,
select_wf,
sq_stable__le,
int_seg_wf,
length_wf,
list_wf,
RankEx1_wf,
subtype_rel_list,
add-nat,
false_wf,
RankEx1_size_wf,
nat_properties,
sum-nat
\mforall{}[T:Type]
RankEx1(T) \mequiv{} lbl:Atom \mtimes{} if lbl =a "Leaf" then T
if lbl =a "Prod" then RankEx1(T) \mtimes{} RankEx1(T)
if lbl =a "ProdL" then T \mtimes{} RankEx1(T)
if lbl =a "ProdR" then RankEx1(T) \mtimes{} T
if lbl =a "List" then RankEx1(T) List
else Void
fi
Date html generated:
2015_07_17-AM-07_47_41
Last ObjectModification:
2015_01_29-PM-04_39_19
Home
Index