Nuprl Definition : find_transitions

find_transitions(f;L) ==
  let h,hs 
  in eval hd(hs) in
     snd(snd(list_accum'(λd,l. let i,b,p,q 
                               in if isr(p) ∧b isr(q)
                                  then d
                                  else let a,as 
                                       in eval i' in
                                          if null(as)
                                          then eval b' in
                                               if b ∧b bb')
                                                 then eval q' if isl(q) then inr 0  else fi  in
                                                      <i', b', inr q'>
                                               if b' ∧b bb)
                                                 then eval p' if isl(p) then inr 0  else fi  in
                                                      <i', b', p', inr i >
                                               if isr(p) then <i', b', p, inr 0 >
                                               if isr(q) then <i', b', inr q>
                                               else <i', b', p, q>
                                               fi 
                                          else eval b' hd(as) in
                                               if b ∧b bb') then <i', b', inr q>
                                               if b' ∧b bb) then <i', b', p, inr i >
                                               else <i', b', p, q>
                                               fi 
                                          fi 
                                  fi   ;<1, b, inl ⋅inl ⋅>;tl(L))))



Definitions occuring in Statement :  list_accum': list_accum'(f;v;L) hd: hd(l) null: null(as) tl: tl(l) band: p ∧b q callbyvalue: callbyvalue bnot: ¬bb ifthenelse: if then else fi  isr: isr(x) isl: isl(x) it: spreadn: spread4 pi2: snd(t) apply: a lambda: λx.A[x] spread: spread def pair: <a, b> inr: inr  inl: inl x add: m natural_number: $n
Definitions occuring in definition :  tl: tl(l) it: inl: inl x pair: <a, b> natural_number: $n inr: inr  bnot: ¬bb band: p ∧b q ifthenelse: if then else fi  hd: hd(l) apply: a callbyvalue: callbyvalue isr: isr(x) isl: isl(x) null: null(as) add: m spread: spread def spreadn: spread4 lambda: λx.A[x] list_accum': list_accum'(f;v;L) pi2: snd(t)
FDL editor aliases :  find_transitions

Latex:
find\_transitions(f;L)  ==
    let  h,hs  =  L 
    in  eval  b  =  f  h  hd(hs)  in
          snd(snd(list\_accum'(\mlambda{}d,l.  let  i,b,p,q  =  d 
                                                              in  if  isr(p)  \mwedge{}\msubb{}  isr(q)
                                                                    then  d
                                                                    else  let  a,as  =  l 
                                                                              in  eval  i'  =  i  +  1  in
                                                                                    if  null(as)
                                                                                    then  eval  b'  =  f  a  h  in
                                                                                              if  b  \mwedge{}\msubb{}  (\mneg{}\msubb{}b')
                                                                                                  then  eval  q'  =  if  isl(q)  then  inr  0    else  q  fi    in
                                                                                                            <i',  b',  inr  i  ,  q'>
                                                                                              if  b'  \mwedge{}\msubb{}  (\mneg{}\msubb{}b)
                                                                                                  then  eval  p'  =  if  isl(p)  then  inr  0    else  p  fi    in
                                                                                                            <i',  b',  p',  inr  i  >
                                                                                              if  isr(p)  then  <i',  b',  p,  inr  0  >
                                                                                              if  isr(q)  then  <i',  b',  inr  0  ,  q>
                                                                                              else  <i',  b',  p,  q>
                                                                                              fi 
                                                                                    else  eval  b'  =  f  a  hd(as)  in
                                                                                              if  b  \mwedge{}\msubb{}  (\mneg{}\msubb{}b')  then  <i',  b',  inr  i  ,  q>
                                                                                              if  b'  \mwedge{}\msubb{}  (\mneg{}\msubb{}b)  then  <i',  b',  p,  inr  i  >
                                                                                              else  <i',  b',  p,  q>
                                                                                              fi 
                                                                                    fi 
                                                                    fi      ;ə,  b,  inl  \mcdot{},  inl  \mcdot{}>tl(L))))



Date html generated: 2017_04_14-AM-08_48_37
Last ObjectModification: 2017_04_10-PM-11_25_16

Theory : list_0


Home Index