Nuprl Lemma : C_TYPEco-ext

C_TYPEco() ≡ lbl:Atom × if lbl =a "Void" then Unit
                        if lbl =a "Int" then Unit
                        if lbl =a "Struct" then (Atom × C_TYPEco()) List
                        if lbl =a "Array" then length:ℕ × C_TYPEco()
                        if lbl =a "Pointer" then C_TYPEco()
                        else Void
                        fi 


Proof




Definitions occuring in Statement :  C_TYPEco: C_TYPEco() 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 :  corec-ext eq_atom_wf bool_wf eqtt_to_assert assert_of_eq_atom unit_wf2 eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_atom list_wf nat_wf subtype_rel_product subtype_rel_self subtype_rel_list subtype_rel_wf strong-continuous-depproduct continuous-constant strong-continuous-list strong-continuous-product continuous-id subtype_rel_weakening
C\_TYPEco()  \mequiv{}  lbl:Atom  \mtimes{}  if  lbl  =a  "Void"  then  Unit
                                                if  lbl  =a  "Int"  then  Unit
                                                if  lbl  =a  "Struct"  then  (Atom  \mtimes{}  C\_TYPEco())  List
                                                if  lbl  =a  "Array"  then  length:\mBbbN{}  \mtimes{}  C\_TYPEco()
                                                if  lbl  =a  "Pointer"  then  C\_TYPEco()
                                                else  Void
                                                fi 



Date html generated: 2015_07_17-AM-07_42_01
Last ObjectModification: 2015_01_27-AM-09_47_50

Home Index