Step * 1 1 1 of Lemma fset-to-list

.....subterm..... T:t
2:n
1. Type
2. eq EqDecider(T)
3. T ⟶ T ⟶ ℙ
4. ∀a,b:T.  Dec(R b)
5. Linorder(T;a,b.R b)
6. List ∈ Type
7. ∀x,y:T List.  (set-equal(T;x;y) ∈ Type)
8. ∀x:T List. set-equal(T;x;x)
9. Base
10. Base
11. b ∈ pertype(λx,y. ((x ∈ List) ∧ (y ∈ List) ∧ set-equal(T;x;y)))
12. a ∈ List
13. b ∈ 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)
⊢ (sort a) (sort b) ∈ (T List)
BY
((InstHyp [⌜a⌝(-1)⋅ THENA Auto)
   THEN MoveToConcl (-1)
   THEN (InstHyp [⌜b⌝(-1)⋅ THENA Auto)
   THEN MoveToConcl (-1)
   THEN (GenConcl ⌜(sort a) sa ∈ (T List)⌝⋅ THENA Auto)
   THEN (GenConcl ⌜(sort b) sb ∈ (T List)⌝⋅ THENA Auto)
   THEN Auto) }

1
1. Type
2. eq EqDecider(T)
3. T ⟶ T ⟶ ℙ
4. ∀a,b:T.  Dec(R b)
5. Linorder(T;a,b.R b)
6. List ∈ Type
7. ∀x,y:T List.  (set-equal(T;x;y) ∈ Type)
8. ∀x:T List. set-equal(T;x;x)
9. Base
10. Base
11. b ∈ pertype(λx,y. ((x ∈ List) ∧ (y ∈ List) ∧ set-equal(T;x;y)))
12. a ∈ List
13. b ∈ 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 List
18. (sort a) sa ∈ (T List)
19. sb 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)


Latex:


Latex:
.....subterm.....  T:t
2:n
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)
\mvdash{}  (sort  a)  =  (sort  b)


By


Latex:
((InstHyp  [\mkleeneopen{}a\mkleeneclose{}]  (-1)\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  (InstHyp  [\mkleeneopen{}b\mkleeneclose{}]  (-1)\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  (GenConcl  \mkleeneopen{}(sort  a)  =  sa\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (GenConcl  \mkleeneopen{}(sort  b)  =  sb\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  Auto)




Home Index