Nuprl Lemma : length-remove-repeats
∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[L1,L2:T List].
  ||remove-repeats(eq;L1)|| = ||remove-repeats(eq;L2)|| ∈ ℤ supposing ∀x:T. ((x ∈ L1) 
⇐⇒ (x ∈ L2))
Proof
Definitions occuring in Statement : 
remove-repeats: remove-repeats(eq;L)
, 
l_member: (x ∈ l)
, 
length: ||as||
, 
list: T List
, 
deq: EqDecider(T)
, 
uimplies: b supposing a
, 
uall: ∀[x:A]. B[x]
, 
all: ∀x:A. B[x]
, 
iff: P 
⇐⇒ Q
, 
int: ℤ
, 
universe: Type
, 
equal: s = t ∈ T
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
member: t ∈ T
, 
uimplies: b supposing a
, 
all: ∀x:A. B[x]
, 
and: P ∧ Q
, 
prop: ℙ
, 
so_lambda: λ2x.t[x]
, 
so_apply: x[s]
, 
set-equal: set-equal(T;x;y)
, 
iff: P 
⇐⇒ Q
, 
implies: P 
⇒ Q
, 
rev_implies: P 
⇐ Q
Lemmas referenced : 
set-equal-no_repeats-length, 
remove-repeats_wf, 
remove-repeats_property, 
all_wf, 
iff_wf, 
l_member_wf, 
member-remove-repeats
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isect_memberFormation, 
introduction, 
cut, 
lemma_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
hypothesisEquality, 
hypothesis, 
independent_isectElimination, 
because_Cache, 
dependent_functionElimination, 
productElimination, 
sqequalRule, 
lambdaEquality, 
isect_memberEquality, 
axiomEquality, 
equalityTransitivity, 
equalitySymmetry, 
addLevel, 
allFunctionality, 
independent_pairFormation, 
impliesFunctionality, 
independent_functionElimination
Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[L1,L2:T  List].
    ||remove-repeats(eq;L1)||  =  ||remove-repeats(eq;L2)||  supposing  \mforall{}x:T.  ((x  \mmember{}  L1)  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  L2))
Date html generated:
2016_05_14-PM-03_26_38
Last ObjectModification:
2015_12_26-PM-06_23_09
Theory : decidable!equality
Home
Index