Step
*
1
1
1
1
of Lemma
fset-to-list
1. T : Type
2. eq : EqDecider(T)
3. R : T ⟶ T ⟶ ℙ
4. ∀a,b:T.  Dec(R a b)
5. Linorder(T;a,b.R a b)
6. T List ∈ Type
7. ∀x,y:T List.  (set-equal(T;x;y) ∈ Type)
8. ∀x:T List. set-equal(T;x;x)
9. a : Base
10. b : Base
11. c : a = b ∈ pertype(λx,y. ((x ∈ T List) ∧ (y ∈ T List) ∧ set-equal(T;x;y)))
12. a ∈ T List
13. b ∈ T List
14. set-equal(T;a;b)
15. sort : L:(T List) ⟶ (T List)
16. ∀L:T List. (sorted-by(R;sort L) ∧ no_repeats(T;sort L) ∧ L ⊆ sort L ∧ sort L ⊆ L)
17. sa : T List
18. (sort a) = sa ∈ (T List)
19. sb : T List
20. (sort b) = sb ∈ (T List)
21. sorted-by(R;sb)
22. no_repeats(T;sb)
23. b ⊆ sb
24. sb ⊆ b
25. sorted-by(R;sa)
26. no_repeats(T;sa)
27. a ⊆ sa
28. sa ⊆ a
⊢ sa = sb ∈ (T List)
BY
{ Assert ⌜sa ⊆ sb⌝⋅ }
1
.....assertion..... 
1. T : Type
2. eq : EqDecider(T)
3. R : T ⟶ T ⟶ ℙ
4. ∀a,b:T.  Dec(R a b)
5. Linorder(T;a,b.R a b)
6. T List ∈ Type
7. ∀x,y:T List.  (set-equal(T;x;y) ∈ Type)
8. ∀x:T List. set-equal(T;x;x)
9. a : Base
10. b : Base
11. c : a = b ∈ pertype(λx,y. ((x ∈ T List) ∧ (y ∈ T List) ∧ set-equal(T;x;y)))
12. a ∈ T List
13. b ∈ T List
14. set-equal(T;a;b)
15. sort : L:(T List) ⟶ (T List)
16. ∀L:T List. (sorted-by(R;sort L) ∧ no_repeats(T;sort L) ∧ L ⊆ sort L ∧ sort L ⊆ L)
17. sa : T List
18. (sort a) = sa ∈ (T List)
19. sb : T List
20. (sort b) = sb ∈ (T List)
21. sorted-by(R;sb)
22. no_repeats(T;sb)
23. b ⊆ sb
24. sb ⊆ b
25. sorted-by(R;sa)
26. no_repeats(T;sa)
27. a ⊆ sa
28. sa ⊆ a
⊢ sa ⊆ sb
2
1. T : Type
2. eq : EqDecider(T)
3. R : T ⟶ T ⟶ ℙ
4. ∀a,b:T.  Dec(R a b)
5. Linorder(T;a,b.R a b)
6. T List ∈ Type
7. ∀x,y:T List.  (set-equal(T;x;y) ∈ Type)
8. ∀x:T List. set-equal(T;x;x)
9. a : Base
10. b : Base
11. c : a = b ∈ pertype(λx,y. ((x ∈ T List) ∧ (y ∈ T List) ∧ set-equal(T;x;y)))
12. a ∈ T List
13. b ∈ T List
14. set-equal(T;a;b)
15. sort : L:(T List) ⟶ (T List)
16. ∀L:T List. (sorted-by(R;sort L) ∧ no_repeats(T;sort L) ∧ L ⊆ sort L ∧ sort L ⊆ L)
17. sa : T List
18. (sort a) = sa ∈ (T List)
19. sb : T List
20. (sort b) = sb ∈ (T List)
21. sorted-by(R;sb)
22. no_repeats(T;sb)
23. b ⊆ sb
24. sb ⊆ b
25. sorted-by(R;sa)
26. no_repeats(T;sa)
27. a ⊆ sa
28. sa ⊆ a
29. sa ⊆ sb
⊢ sa = sb ∈ (T List)
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  R  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}
4.  \mforall{}a,b:T.    Dec(R  a  b)
5.  Linorder(T;a,b.R  a  b)
6.  T  List  \mmember{}  Type
7.  \mforall{}x,y:T  List.    (set-equal(T;x;y)  \mmember{}  Type)
8.  \mforall{}x:T  List.  set-equal(T;x;x)
9.  a  :  Base
10.  b  :  Base
11.  c  :  a  =  b
12.  a  \mmember{}  T  List
13.  b  \mmember{}  T  List
14.  set-equal(T;a;b)
15.  sort  :  L:(T  List)  {}\mrightarrow{}  (T  List)
16.  \mforall{}L:T  List.  (sorted-by(R;sort  L)  \mwedge{}  no\_repeats(T;sort  L)  \mwedge{}  L  \msubseteq{}  sort  L  \mwedge{}  sort  L  \msubseteq{}  L)
17.  sa  :  T  List
18.  (sort  a)  =  sa
19.  sb  :  T  List
20.  (sort  b)  =  sb
21.  sorted-by(R;sb)
22.  no\_repeats(T;sb)
23.  b  \msubseteq{}  sb
24.  sb  \msubseteq{}  b
25.  sorted-by(R;sa)
26.  no\_repeats(T;sa)
27.  a  \msubseteq{}  sa
28.  sa  \msubseteq{}  a
\mvdash{}  sa  =  sb
By
Latex:
Assert  \mkleeneopen{}sa  \msubseteq{}  sb\mkleeneclose{}\mcdot{}
Home
Index