Step * 1 of Lemma swapped_select


1. Type
2. L1 List
3. L2 List
4. : ℕ||L1||
5. : ℕ||L1||
6. L2 swap(L1;i;j) ∈ (T List)
⊢ {(((L2[i] L1[j] ∈ T) ∧ (L2[j] L1[i] ∈ T)) ∧ (||L2|| ||L1|| ∈ ℤ) ∧ (L1 swap(L2;i;j) ∈ (T List)))
∧ (∀[x:ℕ||L2||]. (L2[x] L1[x] ∈ T) supposing ((¬(x j ∈ ℤ)) and (x i ∈ ℤ))))}
BY
(AssertBY ||L2|| ||L1|| ∈ ℤ    ((HypSubst (-1) 0) THEN Auto THEN BackThruLemma `swap_length` THEN Auto)⋅
   THEN AssertBY L2 swap(L1;i;j) ∈ {L:T List| ||L|| ||L1|| ∈ ℤ}      (EqTypeCD THEN Auto)⋅
   THEN Unfold `guard` 0
   THEN Auto
   THEN HypSubst 0
   THEN Auto
   THEN Try (((D (-1)) THEN Complete (Auto)))
   THEN Try (((RWO "swap_select" THENA Auto)
              THEN Unfold `flip` 0
              THEN Reduce 0
              THEN Repeat (SplitOnConclITE THEN Auto)⋅
              THEN (HypSubstSq (-1) 0)
              THEN Auto))) }


Latex:


Latex:

1.  T  :  Type
2.  L1  :  T  List
3.  L2  :  T  List
4.  i  :  \mBbbN{}||L1||
5.  j  :  \mBbbN{}||L1||
6.  L2  =  swap(L1;i;j)
\mvdash{}  \{(((L2[i]  =  L1[j])  \mwedge{}  (L2[j]  =  L1[i]))  \mwedge{}  (||L2||  =  ||L1||)  \mwedge{}  (L1  =  swap(L2;i;j)))
\mwedge{}  (\mforall{}[x:\mBbbN{}||L2||].  (L2[x]  =  L1[x])  supposing  ((\mneg{}(x  =  j))  and  (\mneg{}(x  =  i))))\}


By


Latex:
(AssertBY  ||L2||  =  ||L1||      ((HypSubst  (-1)  0)
                                                            THEN  Auto
                                                            THEN  BackThruLemma  `swap\_length`
                                                            THEN  Auto)\mcdot{}
  THEN  AssertBY  L2  =  swap(L1;i;j)        (EqTypeCD  THEN  Auto)\mcdot{}
  THEN  Unfold  `guard`  0
  THEN  Auto
  THEN  HypSubst  8  0
  THEN  Auto
  THEN  Try  (((D  (-1))  THEN  Complete  (Auto)))
  THEN  Try  (((RWO  "swap\_select"  0  THENA  Auto)
                        THEN  Unfold  `flip`  0
                        THEN  Reduce  0
                        THEN  Repeat  (SplitOnConclITE  THEN  Auto)\mcdot{}
                        THEN  (HypSubstSq  (-1)  0)
                        THEN  Auto)))




Home Index