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: List nat: ifthenelse: if then else fi  eq_atom: =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