Step * 1 1 of Lemma bag-remove1_wf


1. Type
2. eq EqDecider(T)
3. T
4. as List
5. bs List
6. permutation(T;as;bs)
7. ∀a:T. ((a ∈ as) ⇐⇒ (a ∈ bs))
8. (x ∈ as) ⇐⇒ (x ∈ bs)
9. as@0 List
10. b1 List
11. as ((as@0 [x]) b1) ∈ (T List)
12. bag-remove1(eq;as;x) (inl (rev(as@0) b1)) ∈ (T List?)
13. a1 List
14. bs@0 List
15. bs ((a1 [x]) bs@0) ∈ (T List)
16. bag-remove1(eq;bs;x) (inl (rev(a1) bs@0)) ∈ (T List?)
⊢ bag-remove1(eq;as;x) bag-remove1(eq;bs;x) ∈ (bag(T)?)
BY
xxx((HypSubst' -5 THEN Auto)
      THEN HypSubst' -1 0
      THEN Fold `bag-append` 0
      THEN Try (((RWO "reverse-bag" 0⋅ THENA Auto)
                 THEN (EqCD THENA Auto)
                 THEN Unfold `bag-append` 0
                 THEN EqTypeCD
                 THEN Auto)))⋅xxx }

1
.....antecedent..... 
1. Type
2. eq EqDecider(T)
3. T
4. as List
5. bs List
6. permutation(T;as;bs)
7. ∀a:T. ((a ∈ as) ⇐⇒ (a ∈ bs))
8. (x ∈ as)  (x ∈ bs)
9. (x ∈ as)  (x ∈ bs)
10. as@0 List
11. b1 List
12. as ((as@0 [x]) b1) ∈ (T List)
13. bag-remove1(eq;as;x) (inl (rev(as@0) b1)) ∈ (T List?)
14. a1 List
15. bs@0 List
16. bs ((a1 [x]) bs@0) ∈ (T List)
17. bag-remove1(eq;bs;x) (inl (rev(a1) bs@0)) ∈ (T List?)
⊢ permutation(T;as@0 b1;a1 bs@0)

2
1. Type
2. eq EqDecider(T)
3. T
4. as List
5. bs List
6. permutation(T;as;bs)
7. ∀a:T. ((a ∈ as) ⇐⇒ (a ∈ bs))
8. (x ∈ as)  (x ∈ bs)
9. (x ∈ as)  (x ∈ bs)
10. as@0 List
11. b1 List
12. as ((as@0 [x]) b1) ∈ (T List)
13. bag-remove1(eq;as;x) (inl (rev(as@0) b1)) ∈ (T List?)
14. a1 List
15. bs@0 List
16. bs ((a1 [x]) bs@0) ∈ (T List)
17. bag-remove1(eq;bs;x) (inl (rev(a1) bs@0)) ∈ (T List?)
18. List?
⊢ (inl (rev(as@0) b1)) z ∈ (bag(T)?) ∈ ℙ


Latex:


Latex:

1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  x  :  T
4.  as  :  T  List
5.  bs  :  T  List
6.  permutation(T;as;bs)
7.  \mforall{}a:T.  ((a  \mmember{}  as)  \mLeftarrow{}{}\mRightarrow{}  (a  \mmember{}  bs))
8.  (x  \mmember{}  as)  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  bs)
9.  as@0  :  T  List
10.  b1  :  T  List
11.  as  =  ((as@0  @  [x])  @  b1)
12.  bag-remove1(eq;as;x)  =  (inl  (rev(as@0)  @  b1))
13.  a1  :  T  List
14.  bs@0  :  T  List
15.  bs  =  ((a1  @  [x])  @  bs@0)
16.  bag-remove1(eq;bs;x)  =  (inl  (rev(a1)  @  bs@0))
\mvdash{}  bag-remove1(eq;as;x)  =  bag-remove1(eq;bs;x)


By


Latex:
xxx((HypSubst'  -5  0  THEN  Auto)
        THEN  HypSubst'  -1  0
        THEN  Fold  `bag-append`  0
        THEN  Try  (((RWO  "reverse-bag"  0\mcdot{}  THENA  Auto)
                              THEN  (EqCD  THENA  Auto)
                              THEN  Unfold  `bag-append`  0
                              THEN  EqTypeCD
                              THEN  Auto)))\mcdot{}xxx




Home Index