Step * 1 2 1 of Lemma bag-splits-permutation1


1. Type
2. List
3. T
4. T
5. LL (bag(T) × bag(T)) List
6. bag-splits(L) LL ∈ ((bag(T) × bag(T)) List)
7. f1 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
8. p.<{b} (fst(p)), snd(p)>f1 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
9. f2 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
10. p.<{a} (fst(p)), snd(p)>f2 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
11. f3 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
12. p.<fst(p), {a} (snd(p))>f3 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
13. f4 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
14. p.<fst(p), {b} (snd(p))>f4 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
⊢ permutation(bag(T) × bag(T);map(f2;map(f4;LL)) map(f3;map(f1;LL));map(f1;map(f3;LL)) map(f4;map(f2;LL)))
BY
((RWO "map-map" THENA Auto) THEN Subst ⌜map(f3 f1;LL) map(f1 f3;LL) ∈ ((bag(T) × bag(T)) List)⌝ 0⋅ THEN Auto)
⋅ }

1
.....equality..... 
1. Type
2. List
3. T
4. T
5. LL (bag(T) × bag(T)) List
6. bag-splits(L) LL ∈ ((bag(T) × bag(T)) List)
7. f1 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
8. p.<{b} (fst(p)), snd(p)>f1 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
9. f2 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
10. p.<{a} (fst(p)), snd(p)>f2 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
11. f3 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
12. p.<fst(p), {a} (snd(p))>f3 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
13. f4 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
14. p.<fst(p), {b} (snd(p))>f4 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
⊢ map(f3 f1;LL) map(f1 f3;LL) ∈ ((bag(T) × bag(T)) List)

2
1. Type
2. List
3. T
4. T
5. LL (bag(T) × bag(T)) List
6. bag-splits(L) LL ∈ ((bag(T) × bag(T)) List)
7. f1 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
8. p.<{b} (fst(p)), snd(p)>f1 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
9. f2 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
10. p.<{a} (fst(p)), snd(p)>f2 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
11. f3 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
12. p.<fst(p), {a} (snd(p))>f3 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
13. f4 (bag(T) × bag(T)) ⟶ (bag(T) × bag(T))
14. p.<fst(p), {b} (snd(p))>f4 ∈ ((bag(T) × bag(T)) ⟶ (bag(T) × bag(T)))
⊢ permutation(bag(T) × bag(T);map(f2 f4;LL) map(f1 f3;LL);map(f1 f3;LL) map(f4 f2;LL))


Latex:


Latex:

1.  T  :  Type
2.  L  :  T  List
3.  a  :  T
4.  b  :  T
5.  LL  :  (bag(T)  \mtimes{}  bag(T))  List
6.  bag-splits(L)  =  LL
7.  f1  :  (bag(T)  \mtimes{}  bag(T))  {}\mrightarrow{}  (bag(T)  \mtimes{}  bag(T))
8.  (\mlambda{}p.<\{b\}  +  (fst(p)),  snd(p)>)  =  f1
9.  f2  :  (bag(T)  \mtimes{}  bag(T))  {}\mrightarrow{}  (bag(T)  \mtimes{}  bag(T))
10.  (\mlambda{}p.<\{a\}  +  (fst(p)),  snd(p)>)  =  f2
11.  f3  :  (bag(T)  \mtimes{}  bag(T))  {}\mrightarrow{}  (bag(T)  \mtimes{}  bag(T))
12.  (\mlambda{}p.<fst(p),  \{a\}  +  (snd(p))>)  =  f3
13.  f4  :  (bag(T)  \mtimes{}  bag(T))  {}\mrightarrow{}  (bag(T)  \mtimes{}  bag(T))
14.  (\mlambda{}p.<fst(p),  \{b\}  +  (snd(p))>)  =  f4
\mvdash{}  permutation(bag(T)  \mtimes{}  bag(T);map(f2;map(f4;LL))  @  map(f3;map(f1;LL));map(f1;map(f3;LL))
                            @  map(f4;map(f2;LL)))


By


Latex:
((RWO  "map-map"  0  THENA  Auto)  THEN  Subst  \mkleeneopen{}map(f3  o  f1;LL)  =  map(f1  o  f3;LL)\mkleeneclose{}  0\mcdot{}  THEN  Auto)\mcdot{}




Home Index