Step * 1 of Lemma fset-size-remove


1. 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. Base
7. Base
8. b ∈ pertype(λx,y. ((x ∈ List) ∧ (y ∈ List) ∧ set-equal(T;x;y)))
9. a ∈ List
10. b ∈ List
11. set-equal(T;a;b)
12. T
13. x ∈ a
⊢ ||fset-remove(eq;x;a)|| (||a|| 1) ∈ ℤ
BY
(ThinVar `b'
   THEN Unfold `fset-member` (-1)
   THEN RW assert_pushdownC (-1)
   THEN Auto
   THEN RepUR ``fset-size fset-remove fset-filter`` 0
   THEN (RWO "remove-repeats-filter" THENA Auto)
   THEN (InstLemma `length-remove-first` [⌜T⌝;⌜remove-repeats(eq;a)⌝;⌜λy.(eq x)⌝]⋅ THENA Auto)
   THEN RepeatFor (D -1))⋅ }

1
1. 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. Base
7. a ∈ List
8. T
9. (x ∈ a)
10. (∀x@0∈remove-repeats(eq;a).¬↑((λy.(eq x)) x@0))
11. remove-first(λy.(eq x);remove-repeats(eq;a)) remove-repeats(eq;a)
⊢ ||filter(λx@0.(¬b(eq x@0 x));remove-repeats(eq;a))|| (||remove-repeats(eq;a)|| 1) ∈ ℤ

2
1. 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. Base
7. a ∈ List
8. T
9. (x ∈ a)
10. (∃x@0∈remove-repeats(eq;a). ↑((λy.(eq x)) x@0))
11. ||remove-first(λy.(eq x);remove-repeats(eq;a))|| (||remove-repeats(eq;a)|| 1) ∈ ℤ
⊢ ||filter(λx@0.(¬b(eq x@0 x));remove-repeats(eq;a))|| (||remove-repeats(eq;a)|| 1) ∈ ℤ


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.  b  :  Base
8.  c  :  a  =  b
9.  a  \mmember{}  T  List
10.  b  \mmember{}  T  List
11.  set-equal(T;a;b)
12.  x  :  T
13.  x  \mmember{}  a
\mvdash{}  ||fset-remove(eq;x;a)||  =  (||a||  -  1)


By


Latex:
(ThinVar  `b'
  THEN  Unfold  `fset-member`  (-1)
  THEN  RW  assert\_pushdownC  (-1)
  THEN  Auto
  THEN  RepUR  ``fset-size  fset-remove  fset-filter``  0
  THEN  (RWO  "remove-repeats-filter"  0  THENA  Auto)
  THEN  (InstLemma  `length-remove-first`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}remove-repeats(eq;a)\mkleeneclose{};\mkleeneopen{}\mlambda{}y.(eq  y  x)\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  RepeatFor  2  (D  -1))\mcdot{}




Home Index