Step
*
1
of Lemma
fset-item_wf
1. T : Type
2. eq : EqDecider(T)
3. istype(T List)
4. ∀x,y:T List.  istype(set-equal(T;x;y))
5. ∀x:T List. set-equal(T;x;x)
6. a : Base
7. b : Base
8. c : a = b ∈ pertype(λx,y. ((x ∈ T List) ∧ (y ∈ T List) ∧ set-equal(T;x;y)))
9. a ∈ T List
10. b ∈ T List
11. set-equal(T;a;b)
12. ||remove-repeats(eq;a)|| = 1 ∈ ℤ
13. ||remove-repeats(eq;a)|| ≤ ||a||
14. 1 ≤ ||a||
⊢ hd(a) = hd(b) ∈ T
BY
{ Assert ⌜||b|| ≥ 1 ⌝⋅ }
1
.....assertion..... 
1. T : Type
2. eq : EqDecider(T)
3. istype(T List)
4. ∀x,y:T List.  istype(set-equal(T;x;y))
5. ∀x:T List. set-equal(T;x;x)
6. a : Base
7. b : Base
8. c : a = b ∈ pertype(λx,y. ((x ∈ T List) ∧ (y ∈ T List) ∧ set-equal(T;x;y)))
9. a ∈ T List
10. b ∈ T List
11. set-equal(T;a;b)
12. ||remove-repeats(eq;a)|| = 1 ∈ ℤ
13. ||remove-repeats(eq;a)|| ≤ ||a||
14. 1 ≤ ||a||
⊢ ||b|| ≥ 1 
2
1. T : Type
2. eq : EqDecider(T)
3. istype(T List)
4. ∀x,y:T List.  istype(set-equal(T;x;y))
5. ∀x:T List. set-equal(T;x;x)
6. a : Base
7. b : Base
8. c : a = b ∈ pertype(λx,y. ((x ∈ T List) ∧ (y ∈ T List) ∧ set-equal(T;x;y)))
9. a ∈ T List
10. b ∈ T List
11. set-equal(T;a;b)
12. ||remove-repeats(eq;a)|| = 1 ∈ ℤ
13. ||remove-repeats(eq;a)|| ≤ ||a||
14. 1 ≤ ||a||
15. ||b|| ≥ 1 
⊢ hd(a) = hd(b) ∈ T
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  istype(T  List)
4.  \mforall{}x,y:T  List.    istype(set-equal(T;x;y))
5.  \mforall{}x:T  List.  set-equal(T;x;x)
6.  a  :  Base
7.  b  :  Base
8.  c  :  a  =  b
9.  a  \mmember{}  T  List
10.  b  \mmember{}  T  List
11.  set-equal(T;a;b)
12.  ||remove-repeats(eq;a)||  =  1
13.  ||remove-repeats(eq;a)||  \mleq{}  ||a||
14.  1  \mleq{}  ||a||
\mvdash{}  hd(a)  =  hd(b)
By
Latex:
Assert  \mkleeneopen{}||b||  \mgeq{}  1  \mkleeneclose{}\mcdot{}
Home
Index