Step
*
2
1
1
of Lemma
remove-repeats_functionality_wrt_permutation
.....assertion..... 
1. [T] : Type
2. eq : EqDecider(T)
3. n : ℕ
4. u : T
5. v : T List
6. ∀L2:T List
     (||L2|| < ||[u / v]||
     
⇒ (∀L3:T List. (permutation(T;L2;L3) 
⇒ permutation(T;remove-repeats(eq;L2);remove-repeats(eq;L3)))))
7. L2 : T List
8. permutation(T;[u / v];L2)
9. as : T List
10. bs : T List
11. permutation(T;v;as @ bs)
12. permutation(T;remove-repeats(eq;v);remove-repeats(eq;as @ bs))
⊢ permutation(T;[u / filter(λx.(¬b(eq x u));remove-repeats(eq;v))];[u / 
                                                                    filter(λx.(¬b(eq x u));remove-repeats(eq;as @ bs))])
BY
{ ((BLemma `permutation-cons`  THEN Auto)
   THEN With ⌜[]⌝ (D 0)⋅
   THEN Auto
   THEN Reduce 0
   THEN With ⌜filter(λx.(¬b(eq x u));remove-repeats(eq;as @ bs))⌝ (D 0)⋅
   THEN Auto) }
1
1. [T] : Type
2. eq : EqDecider(T)
3. n : ℕ
4. u : T
5. v : T List
6. ∀L2:T List
     (||L2|| < ||[u / v]||
     
⇒ (∀L3:T List. (permutation(T;L2;L3) 
⇒ permutation(T;remove-repeats(eq;L2);remove-repeats(eq;L3)))))
7. L2 : T List
8. permutation(T;[u / v];L2)
9. as : T List
10. bs : T List
11. permutation(T;v;as @ bs)
12. permutation(T;remove-repeats(eq;v);remove-repeats(eq;as @ bs))
13. [u / filter(λx.(¬b(eq x u));remove-repeats(eq;as @ bs))]
= [u / filter(λx.(¬b(eq x u));remove-repeats(eq;as @ bs))]
∈ (T List)
⊢ permutation(T;filter(λx.(¬b(eq x u));remove-repeats(eq;v));filter(λx.(¬b(eq x u));remove-repeats(eq;as @ bs)))
Latex:
Latex:
.....assertion..... 
1.  [T]  :  Type
2.  eq  :  EqDecider(T)
3.  n  :  \mBbbN{}
4.  u  :  T
5.  v  :  T  List
6.  \mforall{}L2:T  List
          (||L2||  <  ||[u  /  v]||
          {}\mRightarrow{}  (\mforall{}L3:T  List
                      (permutation(T;L2;L3)  {}\mRightarrow{}  permutation(T;remove-repeats(eq;L2);remove-repeats(eq;L3)))))
7.  L2  :  T  List
8.  permutation(T;[u  /  v];L2)
9.  as  :  T  List
10.  bs  :  T  List
11.  permutation(T;v;as  @  bs)
12.  permutation(T;remove-repeats(eq;v);remove-repeats(eq;as  @  bs))
\mvdash{}  permutation(T;[u  /  filter(\mlambda{}x.(\mneg{}\msubb{}(eq  x  u));remove-repeats(eq;v))];[u  / 
                                                                                                                                        filter(\mlambda{}x.(\mneg{}\msubb{}(eq  x  u));
                                                                                                                                                      remove-repeats(eq;as
                                                                                                                                                      @  bs))])
By
Latex:
((BLemma  `permutation-cons`    THEN  Auto)
  THEN  With  \mkleeneopen{}[]\mkleeneclose{}  (D  0)\mcdot{}
  THEN  Auto
  THEN  Reduce  0
  THEN  With  \mkleeneopen{}filter(\mlambda{}x.(\mneg{}\msubb{}(eq  x  u));remove-repeats(eq;as  @  bs))\mkleeneclose{}  (D  0)\mcdot{}
  THEN  Auto)
Home
Index