Nuprl Lemma : RankEx2-ext
∀[S,T:Type].
RankEx2(S;T) ≡ lbl:Atom × if lbl =a "LeafT" then T
if lbl =a "LeafS" then S
if lbl =a "Prod" then RankEx2(S;T) × S × T
if lbl =a "Union" then S × RankEx2(S;T) + RankEx2(S;T)
if lbl =a "ListProd" then (S × RankEx2(S;T)) List
if lbl =a "UnionList" then T + (RankEx2(S;T) List)
else Void
fi
Proof
Definitions occuring in Statement :
RankEx2: RankEx2(S;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]
,
union: left + right
,
token: "$token"
,
atom: Atom
,
void: Void
,
universe: Type
Lemmas :
RankEx2co-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,
RankEx2co_size_wf,
RankEx2_wf,
list-prod-set-type,
RankEx2co_wf,
sum-partial-has-value,
length_wf_nat,
select_wf,
sq_stable__le,
int_seg_wf,
length_wf,
list_wf,
list-set-type2,
subtype_rel_sum,
subtype_rel_product,
subtype_rel_list,
add-nat,
false_wf,
RankEx2_size_wf,
nat_properties,
sum-nat
\mforall{}[S,T:Type].
RankEx2(S;T) \mequiv{} lbl:Atom \mtimes{} if lbl =a "LeafT" then T
if lbl =a "LeafS" then S
if lbl =a "Prod" then RankEx2(S;T) \mtimes{} S \mtimes{} T
if lbl =a "Union" then S \mtimes{} RankEx2(S;T) + RankEx2(S;T)
if lbl =a "ListProd" then (S \mtimes{} RankEx2(S;T)) List
if lbl =a "UnionList" then T + (RankEx2(S;T) List)
else Void
fi
Date html generated:
2015_07_17-AM-07_49_03
Last ObjectModification:
2015_01_29-PM-04_39_21
Home
Index