Step
*
1
1
1
1
of Lemma
swap-exists
1. n : ℕ
2. Arr : Type
3. idx : ℕn ⟶ Arr ⟶ ℤ
4. upd : ℕn ⟶ ℤ ⟶ Arr ⟶ Arr
5. newarray : ℤ ⟶ Arr
6. A5 : ∀[i:ℕn]. ∀[v:ℤ].  ((idx i (newarray v)) = v ∈ ℤ)
7. A6 : ∀[i,j:ℕn]. ∀[x:Arr]. ∀[v:ℤ].  ((idx i (upd j v x)) = if (i =z j) then v else idx i x fi  ∈ ℤ)
8. i : ℕn
9. j : ℕn
⊢ ∀A:Arr. ∀i,j,k:ℕn.
    ((((idx j (upd j (idx i A) (upd i (idx j A) A))) = (idx i A) ∈ ℤ)
    ∧ ((idx i (upd j (idx i A) (upd i (idx j A) A))) = (idx j A) ∈ ℤ))
    ∧ (((¬(k = i ∈ ℤ)) ∧ (¬(k = j ∈ ℤ))) 
⇒ ((idx k (upd j (idx i A) (upd i (idx j A) A))) = (idx k A) ∈ ℤ)))
BY
{ TACTIC:(RepUR ``Arr`` 0 THEN Auto) }
1
1. n : ℕ
2. Arr : Type
3. idx : ℕn ⟶ Arr ⟶ ℤ
4. upd : ℕn ⟶ ℤ ⟶ Arr ⟶ Arr
5. newarray : ℤ ⟶ Arr
6. A5 : ∀[i:ℕn]. ∀[v:ℤ].  ((idx i (newarray v)) = v ∈ ℤ)
7. A6 : ∀[i,j:ℕn]. ∀[x:Arr]. ∀[v:ℤ].  ((idx i (upd j v x)) = if (i =z j) then v else idx i x fi  ∈ ℤ)
8. i : ℕn
9. j : ℕn
10. A : Arr
11. i1 : ℕn
12. j1 : ℕn
13. k : ℕn
⊢ (idx j1 (upd j1 (idx i1 A) (upd i1 (idx j1 A) A))) = (idx i1 A) ∈ ℤ
2
1. n : ℕ
2. Arr : Type
3. idx : ℕn ⟶ Arr ⟶ ℤ
4. upd : ℕn ⟶ ℤ ⟶ Arr ⟶ Arr
5. newarray : ℤ ⟶ Arr
6. A5 : ∀[i:ℕn]. ∀[v:ℤ].  ((idx i (newarray v)) = v ∈ ℤ)
7. A6 : ∀[i,j:ℕn]. ∀[x:Arr]. ∀[v:ℤ].  ((idx i (upd j v x)) = if (i =z j) then v else idx i x fi  ∈ ℤ)
8. i : ℕn
9. j : ℕn
10. A : Arr
11. i1 : ℕn
12. j1 : ℕn
13. k : ℕn
14. (idx j1 (upd j1 (idx i1 A) (upd i1 (idx j1 A) A))) = (idx i1 A) ∈ ℤ
⊢ (idx i1 (upd j1 (idx i1 A) (upd i1 (idx j1 A) A))) = (idx j1 A) ∈ ℤ
3
1. n : ℕ
2. Arr : Type
3. idx : ℕn ⟶ Arr ⟶ ℤ
4. upd : ℕn ⟶ ℤ ⟶ Arr ⟶ Arr
5. newarray : ℤ ⟶ Arr
6. A5 : ∀[i:ℕn]. ∀[v:ℤ].  ((idx i (newarray v)) = v ∈ ℤ)
7. A6 : ∀[i,j:ℕn]. ∀[x:Arr]. ∀[v:ℤ].  ((idx i (upd j v x)) = if (i =z j) then v else idx i x fi  ∈ ℤ)
8. i : ℕn
9. j : ℕn
10. A : Arr
11. i1 : ℕn
12. j1 : ℕn
13. k : ℕn
14. (idx j1 (upd j1 (idx i1 A) (upd i1 (idx j1 A) A))) = (idx i1 A) ∈ ℤ
15. (idx i1 (upd j1 (idx i1 A) (upd i1 (idx j1 A) A))) = (idx j1 A) ∈ ℤ
16. ¬(k = i1 ∈ ℤ)
17. ¬(k = j1 ∈ ℤ)
⊢ (idx k (upd j1 (idx i1 A) (upd i1 (idx j1 A) A))) = (idx k A) ∈ ℤ
Latex:
Latex:
1.  n  :  \mBbbN{}
2.  Arr  :  Type
3.  idx  :  \mBbbN{}n  {}\mrightarrow{}  Arr  {}\mrightarrow{}  \mBbbZ{}
4.  upd  :  \mBbbN{}n  {}\mrightarrow{}  \mBbbZ{}  {}\mrightarrow{}  Arr  {}\mrightarrow{}  Arr
5.  newarray  :  \mBbbZ{}  {}\mrightarrow{}  Arr
6.  A5  :  \mforall{}[i:\mBbbN{}n].  \mforall{}[v:\mBbbZ{}].    ((idx  i  (newarray  v))  =  v)
7.  A6  :  \mforall{}[i,j:\mBbbN{}n].  \mforall{}[x:Arr].  \mforall{}[v:\mBbbZ{}].    ((idx  i  (upd  j  v  x))  =  if  (i  =\msubz{}  j)  then  v  else  idx  i  x  fi  )
8.  i  :  \mBbbN{}n
9.  j  :  \mBbbN{}n
\mvdash{}  \mforall{}A:Arr.  \mforall{}i,j,k:\mBbbN{}n.
        ((((idx  j  (upd  j  (idx  i  A)  (upd  i  (idx  j  A)  A)))  =  (idx  i  A))
        \mwedge{}  ((idx  i  (upd  j  (idx  i  A)  (upd  i  (idx  j  A)  A)))  =  (idx  j  A)))
        \mwedge{}  (((\mneg{}(k  =  i))  \mwedge{}  (\mneg{}(k  =  j)))  {}\mRightarrow{}  ((idx  k  (upd  j  (idx  i  A)  (upd  i  (idx  j  A)  A)))  =  (idx  k  A))))
By
Latex:
TACTIC:(RepUR  ``Arr``  0  THEN  Auto)
Home
Index