Step
*
of Lemma
permutation_transitivity
∀[A:Type]. ∀as,bs,cs:A List.  (permutation(A;as;bs) 
⇒ permutation(A;bs;cs) 
⇒ permutation(A;as;cs))
BY
{ ((Unfold `permutation` 0 THEN Auto)
   THEN ExRepD
   THEN (Assert ||as|| = ||bs|| ∈ ℤ BY
               ((HypSubst (-4) 0 THEN Auto) THEN RWO "permute_list_length" 0 THEN Auto))
   THEN PromoteHyp (-1) 4
   THEN ((HypSubst (-1) 0 THENA Auto) THEN StrongHypSubst (-4) 0⋅)
   THEN InstConcl [⌜f1 o f⌝]⋅
   THEN Auto
   THEN RWW "permute_permute_list" 0
   THEN Auto
   THEN RepUR ``inject compose`` 0
   THEN Auto) }
Latex:
Latex:
\mforall{}[A:Type].  \mforall{}as,bs,cs:A  List.    (permutation(A;as;bs)  {}\mRightarrow{}  permutation(A;bs;cs)  {}\mRightarrow{}  permutation(A;as;cs))
By
Latex:
((Unfold  `permutation`  0  THEN  Auto)
  THEN  ExRepD
  THEN  (Assert  ||as||  =  ||bs||  BY
                          ((HypSubst  (-4)  0  THEN  Auto)  THEN  RWO  "permute\_list\_length"  0  THEN  Auto))
  THEN  PromoteHyp  (-1)  4
  THEN  ((HypSubst  (-1)  0  THENA  Auto)  THEN  StrongHypSubst  (-4)  0\mcdot{})
  THEN  InstConcl  [\mkleeneopen{}f1  o  f\mkleeneclose{}]\mcdot{}
  THEN  Auto
  THEN  RWW  "permute\_permute\_list"  0
  THEN  Auto
  THEN  RepUR  ``inject  compose``  0
  THEN  Auto)
Home
Index