Step
*
of Lemma
remove-combine-cons
∀[T:Type]. ∀[cmp:T ⟶ ℤ]. ∀[x:T]. ∀[l:T List].
(remove-combine(cmp;[x / l]) ~ if (cmp x =z 0) then l
if 0 <z cmp x then [x / l]
else [x / remove-combine(cmp;l)]
fi )
BY
{ (Auto
THEN RW (AddrC [1] (UnfoldC `remove-combine`)) 0
THEN Reduce 0
THEN Fold `remove-combine` 0
THEN CallByValueReduce 0
THEN Auto) }
Latex:
Latex:
\mforall{}[T:Type]. \mforall{}[cmp:T {}\mrightarrow{} \mBbbZ{}]. \mforall{}[x:T]. \mforall{}[l:T List].
(remove-combine(cmp;[x / l]) \msim{} if (cmp x =\msubz{} 0) then l
if 0 <z cmp x then [x / l]
else [x / remove-combine(cmp;l)]
fi )
By
Latex:
(Auto
THEN RW (AddrC [1] (UnfoldC `remove-combine`)) 0
THEN Reduce 0
THEN Fold `remove-combine` 0
THEN CallByValueReduce 0
THEN Auto)
Home
Index