Step
*
1
2
1
1
1
of Lemma
fset-size-remove
1. T : Type
2. eq : EqDecider(T)
3. istype(T List)
4. ∀x1,y:T List.  istype(set-equal(T;x1;y))
5. ∀x1:T List. set-equal(T;x1;x1)
6. a : Base
7. a ∈ T List
8. x : T
9. (x ∈ a)
⊢ filter(λx@0.(¬b(eq x@0 x));remove-repeats(eq;a)) = remove-first(λy.(eq y x);remove-repeats(eq;a)) ∈ (T List)
BY
{ Assert ⌜no_repeats(T;remove-repeats(eq;a)) ∧ (x ∈ remove-repeats(eq;a))⌝⋅ }
1
.....assertion..... 
1. T : Type
2. eq : EqDecider(T)
3. istype(T List)
4. ∀x1,y:T List.  istype(set-equal(T;x1;y))
5. ∀x1:T List. set-equal(T;x1;x1)
6. a : Base
7. a ∈ T List
8. x : T
9. (x ∈ a)
⊢ no_repeats(T;remove-repeats(eq;a)) ∧ (x ∈ remove-repeats(eq;a))
2
1. T : Type
2. eq : EqDecider(T)
3. istype(T List)
4. ∀x1,y:T List.  istype(set-equal(T;x1;y))
5. ∀x1:T List. set-equal(T;x1;x1)
6. a : Base
7. a ∈ T List
8. x : T
9. (x ∈ a)
10. no_repeats(T;remove-repeats(eq;a)) ∧ (x ∈ remove-repeats(eq;a))
⊢ filter(λx@0.(¬b(eq x@0 x));remove-repeats(eq;a)) = remove-first(λy.(eq y x);remove-repeats(eq;a)) ∈ (T List)
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  istype(T  List)
4.  \mforall{}x1,y:T  List.    istype(set-equal(T;x1;y))
5.  \mforall{}x1:T  List.  set-equal(T;x1;x1)
6.  a  :  Base
7.  a  \mmember{}  T  List
8.  x  :  T
9.  (x  \mmember{}  a)
\mvdash{}  filter(\mlambda{}x@0.(\mneg{}\msubb{}(eq  x@0  x));remove-repeats(eq;a))  =  remove-first(\mlambda{}y.(eq  y  x);remove-repeats(eq;a))
By
Latex:
Assert  \mkleeneopen{}no\_repeats(T;remove-repeats(eq;a))  \mwedge{}  (x  \mmember{}  remove-repeats(eq;a))\mkleeneclose{}\mcdot{}
Home
Index