Step
*
1
2
1
of Lemma
append_functionality_wrt_permr
1. T : Type
2. as : T List
3. as' : T List
4. bs : T List
5. bs' : T List
6. ||as|| = ||as'|| ∈ ℤ
7. pa : Sym(||as||)
8. ∀i:ℕ||as||. (as[pa.f i] = as'[i] ∈ T)
9. ||bs|| = ||bs'|| ∈ ℤ
10. pb : Sym(||bs||)
11. ∀i:ℕ||bs||. (bs[pb.f i] = bs'[i] ∈ T)
12. ||as @ bs|| = ||as' @ bs'|| ∈ ℤ
⊢ ∃p:Sym(||as @ bs||). ∀i:ℕ||as @ bs||. (as @ bs[p.f i] = as' @ bs'[i] ∈ T)
BY
{ ((Unfold `sym_grp` 0 THEN RWH (LemmaC `length_append`) 0) THENA Auto'  % simplifies wf reasoning later %⋅) }
1
1. T : Type
2. as : T List
3. as' : T List
4. bs : T List
5. bs' : T List
6. ||as|| = ||as'|| ∈ ℤ
7. pa : Sym(||as||)
8. ∀i:ℕ||as||. (as[pa.f i] = as'[i] ∈ T)
9. ||bs|| = ||bs'|| ∈ ℤ
10. pb : Sym(||bs||)
11. ∀i:ℕ||bs||. (bs[pb.f i] = bs'[i] ∈ T)
12. ||as @ bs|| = ||as' @ bs'|| ∈ ℤ
⊢ ∃p:Perm(ℕ||as|| + ||bs||). ∀i:ℕ||as|| + ||bs||. (as @ bs[p.f i] = as' @ bs'[i] ∈ T)
Latex:
Latex:
1.  T  :  Type
2.  as  :  T  List
3.  as'  :  T  List
4.  bs  :  T  List
5.  bs'  :  T  List
6.  ||as||  =  ||as'||
7.  pa  :  Sym(||as||)
8.  \mforall{}i:\mBbbN{}||as||.  (as[pa.f  i]  =  as'[i])
9.  ||bs||  =  ||bs'||
10.  pb  :  Sym(||bs||)
11.  \mforall{}i:\mBbbN{}||bs||.  (bs[pb.f  i]  =  bs'[i])
12.  ||as  @  bs||  =  ||as'  @  bs'||
\mvdash{}  \mexists{}p:Sym(||as  @  bs||).  \mforall{}i:\mBbbN{}||as  @  bs||.  (as  @  bs[p.f  i]  =  as'  @  bs'[i])
By
Latex:
((Unfold  `sym\_grp`  0  THEN  RWH  (LemmaC  `length\_append`)  0)
  THENA  Auto'
             
              \%  simplifies  wf  reasoning  later  \%\mcdot{}
  )
Home
Index