Nuprl Definition : int-palindrome-test

int-palindrome-test(L) ==
  let x,y = fix((λlist_ind,L@0. eval v = L@0 in
                                if v is a pair then let x,xs' = v 
                                                    in let a,ys = list_ind xs' 
                                                       in let h,t = ys 
                                                          in <case a
                                                               of inl() =>
                                                               if x=h  then inl Ax  else (inr Ax )
                                                               | inr() =>
                                                               inr Ax 
                                                             , t
                                                             > otherwise if v = Ax then <inl Ax, L> otherwise ⊥)) 
            L 
  in x



Definitions occuring in Statement :  bottom: ⊥,  callbyvalue: callbyvalue,  ispair: if z is a pair then a otherwise b,  isaxiom: if z = Ax then a otherwise b,  int_eq: if a=b  then c  else d,  apply: f a,  fix: fix(F),  lambda: λx.A[x],  spread: spread def,  pair: <a, b>,  decide: case b of inl(x) => s[x] | inr(y) => t[y],  inr: inr x ,  inl: inl x,  axiom: Ax
Definitions occuring in definition :  fix: fix(F),  lambda: λx.A[x],  callbyvalue: callbyvalue,  ispair: if z is a pair then a otherwise b,  apply: f a,  spread: spread def,  decide: case b of inl(x) => s[x] | inr(y) => t[y],  int_eq: if a=b  then c  else d,  inr: inr x ,  isaxiom: if z = Ax then a otherwise b,  pair: <a, b>,  inl: inl x,  axiom: Ax,  bottom: ⊥
FDL editor aliases :  int-palindrome-test

Latex:
int-palindrome-test(L)  ==
    let  x,y  =  fix((\mlambda{}list$_{ind}$,L@0.  eval  v  =  L@0  in
                                                              if  v  is  a  pair  then  let  x,xs'  =  v 
                                                                                                      in  let  a,ys  =  list$_{ind}$  xs\000C' 
                                                                                                            in  let  h,t  =  ys 
                                                                                                                  in  <case  a
                                                                                                                            of  inl()  =>
                                                                                                                            if  x=h    then  inl  Ax    else  (inr  Ax  )
                                                                                                                            |  inr()  =>
                                                                                                                            inr  Ax 
                                                                                                                        ,  t
                                                                                                                        >  otherwise  if  v  =  Ax  then  <inl  Ax,  L>  o\000Ctherwise  \mbot{})) 
                        L 
    in  x



Date html generated: 2016_05_15-PM-07_37_23
Last ObjectModification: 2015_09_23-AM-08_17_29

Theory : general


Home Index