Nuprl Lemma : insert-combine-cons

cmp,f,x,a,as:Top.
  (insert-combine(cmp;f;x;[a as]) eval tst cmp in
                                      if (tst =z 0) then [f as]
                                      if 0 <tst then [x; [a as]]
                                      else [a insert-combine(cmp;f;x;as)]
                                      fi )


Proof




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

Latex:
\mforall{}cmp,f,x,a,as:Top.
    (insert-combine(cmp;f;x;[a  /  as])  \msim{}  eval  tst  =  cmp  x  a  in
                                                                            if  (tst  =\msubz{}  0)  then  [f  x  a  /  as]
                                                                            if  0  <z  tst  then  [x;  [a  /  as]]
                                                                            else  [a  /  insert-combine(cmp;f;x;as)]
                                                                            fi  )



Date html generated: 2016_05_14-PM-02_40_52
Last ObjectModification: 2015_12_26-PM-02_44_15

Theory : list_1


Home Index