Step
*
2
1
1
1
of Lemma
remove-repeats_functionality_wrt_permutation
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)))
BY
{ (InstLemma `permutation-filter` [⌜T⌝;⌜remove-repeats(eq;v)⌝;⌜remove-repeats(eq;as @ bs)⌝;⌜λx.(¬b(eq x u))⌝]⋅
   THENA 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)
14. permutation({a:T| ↑((λx.(¬b(eq x u))) a)} filter(λx.(¬b(eq x u));remove-repeats(eq;v));
                filter(λx.(¬b(eq x u));remove-repeats(eq;as @ bs)))
⊢ 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:
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))
13.  [u  /  filter(\mlambda{}x.(\mneg{}\msubb{}(eq  x  u));remove-repeats(eq;as  @  bs))]
=  [u  /  filter(\mlambda{}x.(\mneg{}\msubb{}(eq  x  u));remove-repeats(eq;as  @  bs))]
\mvdash{}  permutation(T;filter(\mlambda{}x.(\mneg{}\msubb{}(eq  x  u));remove-repeats(eq;v));
                            filter(\mlambda{}x.(\mneg{}\msubb{}(eq  x  u));remove-repeats(eq;as  @  bs)))
By
Latex:
(InstLemma  `permutation-filter`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}remove-repeats(eq;v)\mkleeneclose{};\mkleeneopen{}remove-repeats(eq;as  @  bs)\mkleeneclose{};
  \mkleeneopen{}\mlambda{}x.(\mneg{}\msubb{}(eq  x  u))\mkleeneclose{}]\mcdot{}
  THENA  Auto
  )
Home
Index