Step * 1 of Lemma list-partition-permutation


1. Type
2. T
3. List
4. ∀f:ℕ||v|| ⟶ 𝔹let as,bs list-partition(f;v) in permutation(T;v;as bs)
5. : ℕ||v|| 1 ⟶ 𝔹
⊢ let as,bs let left,right list-partition(f;v) 
              in if ||v|| then <[u left], right> else <left, [u right]> fi  
  in permutation(T;[u v];as bs)
BY
((InstHyp [⌜f⌝(-2)⋅ THEN Auto')
   THEN MoveToConcl (-1)
   THEN GenConclAtAddr [1;1]
   THEN Thin (-1)
   THEN -1
   THEN Reduce 0
   THEN AutoSplit
   THEN Auto
   THEN RWO "permutation-cons" 0
   THEN Auto) }

1
1. Type
2. T
3. List
4. ∀f:ℕ||v|| ⟶ 𝔹let as,bs list-partition(f;v) in permutation(T;v;as bs)
5. : ℕ||v|| 1 ⟶ 𝔹
6. v2 List
7. v3 List
8. ↑(f ||v||)
9. permutation(T;v;v2 v3)
⊢ ∃as,bs:T List. (([u (v2 v3)] (as [u bs]) ∈ (T List)) ∧ permutation(T;v;as bs))


Latex:


Latex:

1.  T  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}f:\mBbbN{}||v||  {}\mrightarrow{}  \mBbbB{}.  let  as,bs  =  list-partition(f;v)  in  permutation(T;v;as  @  bs)
5.  f  :  \mBbbN{}||v||  +  1  {}\mrightarrow{}  \mBbbB{}
\mvdash{}  let  as,bs  =  let  left,right  =  list-partition(f;v) 
                            in  if  f  ||v||  then  <[u  /  left],  right>  else  <left,  [u  /  right]>  fi   
    in  permutation(T;[u  /  v];as  @  bs)


By


Latex:
((InstHyp  [\mkleeneopen{}f\mkleeneclose{}]  (-2)\mcdot{}  THEN  Auto')
  THEN  MoveToConcl  (-1)
  THEN  GenConclAtAddr  [1;1]
  THEN  Thin  (-1)
  THEN  D  -1
  THEN  Reduce  0
  THEN  AutoSplit
  THEN  Auto
  THEN  RWO  "permutation-cons"  0
  THEN  Auto)




Home Index