Nuprl Lemma : find-combine-cons

∀[cmp,x,l:Top].
  (find-combine(cmp;[x / l]) ~ eval tst = cmp x in
                               if (tst =z 0) then inl x
                               if 0 <z tst then inr ⋅ 
                               else find-combine(cmp;l)
                               fi )


Proof




Definitions occuring in Statement :  find-combine: find-combine(cmp;l),  cons: [a / b],  callbyvalue: callbyvalue,  ifthenelse: if b then t else f fi ,  lt_int: i <z j,  eq_int: (i =z j),  it: ⋅,  uall: ∀[x:A]. B[x],  top: Top,  apply: f a,  inr: inr x ,  inl: inl x,  natural_number: $n,  sqequal: s ~ t
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  find-combine: find-combine(cmp;l),  all: ∀x:A. B[x],  so_lambda: so_lambda(x,y,z.t[x; y; z]),  top: Top,  so_apply: x[s1;s2;s3]
Lemmas referenced :  list_ind_cons_lemma,  top_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  introduction,  cut,  sqequalRule,  lemma_by_obid,  sqequalHypSubstitution,  dependent_functionElimination,  thin,  isect_memberEquality,  voidElimination,  voidEquality,  hypothesis,  sqequalAxiom,  isectElimination,  hypothesisEquality,  because_Cache

Latex:
\mforall{}[cmp,x,l:Top].
    (find-combine(cmp;[x  /  l])  \msim{}  eval  tst  =  cmp  x  in
                                                              if  (tst  =\msubz{}  0)  then  inl  x
                                                              if  0  <z  tst  then  inr  \mcdot{} 
                                                              else  find-combine(cmp;l)
                                                              fi  )



Date html generated: 2016_05_14-PM-02_40_28
Last ObjectModification: 2015_12_26-PM-02_44_24

Theory : list_1


Home Index