Step
*
1
1
1
of Lemma
iterate-rotate-rotate-by
1. n : ℕ
2. i : ℤ
3. ¬i < 1
4. 0 < i
5. rot(n)^i - 1 = rotate-by(n;i - 1) ∈ (ℕn ⟶ ℕn)
6. x : ℕn
⊢ if (x + (i - 1) rem n =z n - 1) then 0 else (x + (i - 1) rem n) + 1 fi  = (x + i rem n) ∈ ℕn
BY
{ ((InstLemma `rem_addition` [⌜x + (i - 1)⌝;⌜1⌝;⌜n⌝]⋅ THENA Auto')
   THEN Symmetry
   THEN (EqTypeCD THENW Auto)
   THEN ((Symmetry⋅ THEN NthHypEq (-1) THEN EqCDA) ORELSE Auto)) }
1
.....subterm..... T:t
2:n
1. n : ℕ
2. i : ℤ
3. ¬i < 1
4. 0 < i
5. rot(n)^i - 1 = rotate-by(n;i - 1) ∈ (ℕn ⟶ ℕn)
6. x : ℕn
7. ((x + (i - 1) rem n) + (1 rem n) rem n) = ((x + (i - 1)) + 1 rem n) ∈ ℤ
⊢ if (x + (i - 1) rem n =z n - 1) then 0 else (x + (i - 1) rem n) + 1 fi  = ((x + (i - 1) rem n) + (1 rem n) rem n) ∈ ℤ
2
.....subterm..... T:t
3:n
1. n : ℕ
2. i : ℤ
3. ¬i < 1
4. 0 < i
5. rot(n)^i - 1 = rotate-by(n;i - 1) ∈ (ℕn ⟶ ℕn)
6. x : ℕn
7. ((x + (i - 1) rem n) + (1 rem n) rem n) = ((x + (i - 1)) + 1 rem n) ∈ ℤ
⊢ (x + i rem n) = ((x + (i - 1)) + 1 rem n) ∈ ℤ
Latex:
Latex:
1.  n  :  \mBbbN{}
2.  i  :  \mBbbZ{}
3.  \mneg{}i  <  1
4.  0  <  i
5.  rot(n)\^{}i  -  1  =  rotate-by(n;i  -  1)
6.  x  :  \mBbbN{}n
\mvdash{}  if  (x  +  (i  -  1)  rem  n  =\msubz{}  n  -  1)  then  0  else  (x  +  (i  -  1)  rem  n)  +  1  fi    =  (x  +  i  rem  n)
By
Latex:
((InstLemma  `rem\_addition`  [\mkleeneopen{}x  +  (i  -  1)\mkleeneclose{};\mkleeneopen{}1\mkleeneclose{};\mkleeneopen{}n\mkleeneclose{}]\mcdot{}  THENA  Auto')
  THEN  Symmetry
  THEN  (EqTypeCD  THENW  Auto)
  THEN  ((Symmetry\mcdot{}  THEN  NthHypEq  (-1)  THEN  EqCDA)  ORELSE  Auto))
Home
Index