Nuprl Lemma : remove-first-cons
∀[L,x,P:Top].  (remove-first(P;[x / L]) ~ if P x then L else [x / remove-first(P;L)] fi )
Proof
Definitions occuring in Statement : 
remove-first: remove-first(P;L)
, 
cons: [a / b]
, 
ifthenelse: if b then t else f fi 
, 
uall: ∀[x:A]. B[x]
, 
top: Top
, 
apply: f a
, 
sqequal: s ~ t
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
member: t ∈ T
, 
remove-first: remove-first(P;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{}[L,x,P:Top].    (remove-first(P;[x  /  L])  \msim{}  if  P  x  then  L  else  [x  /  remove-first(P;L)]  fi  )
Date html generated:
2016_05_14-PM-02_47_11
Last ObjectModification:
2015_12_26-PM-02_38_16
Theory : list_1
Home
Index