Nuprl Lemma : C_TYPE-ext
C_TYPE() ≡ lbl:Atom × if lbl =a "Void" then Unit
                      if lbl =a "Int" then Unit
                      if lbl =a "Struct" then (Atom × C_TYPE()) List
                      if lbl =a "Array" then length:ℕ × C_TYPE()
                      if lbl =a "Pointer" then C_TYPE()
                      else Void
                      fi 
Proof
Definitions occuring in Statement : 
C_TYPE: C_TYPE()
, 
list: T List
, 
nat: ℕ
, 
ifthenelse: if b then t else f fi 
, 
eq_atom: x =a y
, 
ext-eq: A ≡ B
, 
unit: Unit
, 
product: x:A × B[x]
, 
token: "$token"
, 
atom: Atom
, 
void: Void
Lemmas : 
C_TYPEco-ext, 
eq_atom_wf, 
bool_wf, 
eqtt_to_assert, 
assert_of_eq_atom, 
subtype_base_sq, 
atom_subtype_base, 
unit_wf2, 
unit_subtype_base, 
it_wf, 
eqff_to_assert, 
equal_wf, 
bool_cases_sqequal, 
bool_subtype_base, 
assert-bnot, 
neg_assert_of_eq_atom, 
list-prod-set-type, 
C_TYPEco_wf, 
has-value_wf-partial, 
nat_wf, 
set-value-type, 
le_wf, 
int-value-type, 
C_TYPEco_size_wf, 
sum-partial-has-value, 
length_wf_nat, 
select_wf, 
sq_stable__le, 
value-type-has-value, 
int_seg_wf, 
length_wf, 
C_TYPE_wf, 
list_wf, 
subtype_rel_list, 
subtype_rel_product, 
add-nat, 
false_wf, 
sum-nat, 
C_TYPE_size_wf, 
nat_properties
C\_TYPE()  \mequiv{}  lbl:Atom  \mtimes{}  if  lbl  =a  "Void"  then  Unit
                                            if  lbl  =a  "Int"  then  Unit
                                            if  lbl  =a  "Struct"  then  (Atom  \mtimes{}  C\_TYPE())  List
                                            if  lbl  =a  "Array"  then  length:\mBbbN{}  \mtimes{}  C\_TYPE()
                                            if  lbl  =a  "Pointer"  then  C\_TYPE()
                                            else  Void
                                            fi 
Date html generated:
2015_07_17-AM-07_42_07
Last ObjectModification:
2015_01_29-PM-04_40_39
Home
Index