Step
*
1
3
2
2
1
1
1
1
of Lemma
permutation-iff-count1
1. T : Type
2. eq : T ⟶ T ⟶ 𝔹
3. ∀x,y:T.  (↑(eq x y) 
⇐⇒ x = y ∈ T)
4. u : T
5. v : T List
6. ∀b1:T List. ((∀x:T. (||filter(eq x;v)|| = ||filter(eq x;b1)|| ∈ ℤ)) 
⇒ permutation(T;v;b1))
7. u1 : T
8. v1 : T List
9. (∀x:T. (||filter(eq x;[u / v])|| = ||filter(eq x;v1)|| ∈ ℤ)) 
⇒ permutation(T;[u / v];v1)
10. ∀x:T. (||filter(eq x;[u / v])|| = ||filter(eq x;[u1 / v1])|| ∈ ℤ)
11. ¬(u = u1 ∈ T)
12. (u ∈ v1)
13. l1 : T List
14. l2 : T List
15. v1 = (l1 @ [u] @ l2) ∈ (T List)
16. x : T
17. ||[u / filter(eq x;v)]|| = ||filter(eq x;l1 @ [u / l2])|| ∈ ℤ
18. x = u ∈ T
19. ¬(x = u1 ∈ T)
20. ¬(x = u1 ∈ T)
⊢ ||filter(eq x;v)|| = ||filter(eq x;l1 @ l2)|| ∈ ℤ
BY
{ (Reduce (-4) THEN Assert ⌜||filter(eq x;l1 @ [u / l2])|| = (||filter(eq x;l1 @ l2)|| + 1) ∈ ℤ⌝⋅) }
1
.....assertion..... 
1. T : Type
2. eq : T ⟶ T ⟶ 𝔹
3. ∀x,y:T.  (↑(eq x y) 
⇐⇒ x = y ∈ T)
4. u : T
5. v : T List
6. ∀b1:T List. ((∀x:T. (||filter(eq x;v)|| = ||filter(eq x;b1)|| ∈ ℤ)) 
⇒ permutation(T;v;b1))
7. u1 : T
8. v1 : T List
9. (∀x:T. (||filter(eq x;[u / v])|| = ||filter(eq x;v1)|| ∈ ℤ)) 
⇒ permutation(T;[u / v];v1)
10. ∀x:T. (||filter(eq x;[u / v])|| = ||filter(eq x;[u1 / v1])|| ∈ ℤ)
11. ¬(u = u1 ∈ T)
12. (u ∈ v1)
13. l1 : T List
14. l2 : T List
15. v1 = (l1 @ [u] @ l2) ∈ (T List)
16. x : T
17. (||filter(eq x;v)|| + 1) = ||filter(eq x;l1 @ [u / l2])|| ∈ ℤ
18. x = u ∈ T
19. ¬(x = u1 ∈ T)
20. ¬(x = u1 ∈ T)
⊢ ||filter(eq x;l1 @ [u / l2])|| = (||filter(eq x;l1 @ l2)|| + 1) ∈ ℤ
2
1. T : Type
2. eq : T ⟶ T ⟶ 𝔹
3. ∀x,y:T.  (↑(eq x y) 
⇐⇒ x = y ∈ T)
4. u : T
5. v : T List
6. ∀b1:T List. ((∀x:T. (||filter(eq x;v)|| = ||filter(eq x;b1)|| ∈ ℤ)) 
⇒ permutation(T;v;b1))
7. u1 : T
8. v1 : T List
9. (∀x:T. (||filter(eq x;[u / v])|| = ||filter(eq x;v1)|| ∈ ℤ)) 
⇒ permutation(T;[u / v];v1)
10. ∀x:T. (||filter(eq x;[u / v])|| = ||filter(eq x;[u1 / v1])|| ∈ ℤ)
11. ¬(u = u1 ∈ T)
12. (u ∈ v1)
13. l1 : T List
14. l2 : T List
15. v1 = (l1 @ [u] @ l2) ∈ (T List)
16. x : T
17. (||filter(eq x;v)|| + 1) = ||filter(eq x;l1 @ [u / l2])|| ∈ ℤ
18. x = u ∈ T
19. ¬(x = u1 ∈ T)
20. ¬(x = u1 ∈ T)
21. ||filter(eq x;l1 @ [u / l2])|| = (||filter(eq x;l1 @ l2)|| + 1) ∈ ℤ
⊢ ||filter(eq x;v)|| = ||filter(eq x;l1 @ l2)|| ∈ ℤ
Latex:
Latex:
1.  T  :  Type
2.  eq  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbB{}
3.  \mforall{}x,y:T.    (\muparrow{}(eq  x  y)  \mLeftarrow{}{}\mRightarrow{}  x  =  y)
4.  u  :  T
5.  v  :  T  List
6.  \mforall{}b1:T  List.  ((\mforall{}x:T.  (||filter(eq  x;v)||  =  ||filter(eq  x;b1)||))  {}\mRightarrow{}  permutation(T;v;b1))
7.  u1  :  T
8.  v1  :  T  List
9.  (\mforall{}x:T.  (||filter(eq  x;[u  /  v])||  =  ||filter(eq  x;v1)||))  {}\mRightarrow{}  permutation(T;[u  /  v];v1)
10.  \mforall{}x:T.  (||filter(eq  x;[u  /  v])||  =  ||filter(eq  x;[u1  /  v1])||)
11.  \mneg{}(u  =  u1)
12.  (u  \mmember{}  v1)
13.  l1  :  T  List
14.  l2  :  T  List
15.  v1  =  (l1  @  [u]  @  l2)
16.  x  :  T
17.  ||[u  /  filter(eq  x;v)]||  =  ||filter(eq  x;l1  @  [u  /  l2])||
18.  x  =  u
19.  \mneg{}(x  =  u1)
20.  \mneg{}(x  =  u1)
\mvdash{}  ||filter(eq  x;v)||  =  ||filter(eq  x;l1  @  l2)||
By
Latex:
(Reduce  (-4)  THEN  Assert  \mkleeneopen{}||filter(eq  x;l1  @  [u  /  l2])||  =  (||filter(eq  x;l1  @  l2)||  +  1)\mkleeneclose{}\mcdot{})
Home
Index