Step * 2 of Lemma exp-rem-property


1. : ℕ+
2. : ℕ
3. ∀n:ℕn. ∀[i:ℕ]. (exp-rem(i;n;m) i^n rem m)
4. ¬(n 0 ∈ ℤ)
5. ¬(n 1 ∈ ℤ)
6. ∀[i:ℕ]. (exp-rem(i;n ÷ 2;m) i^(n ÷ 2) rem m)
7. : ℕ
8. i^n (i^(n rem 2) i^(n ÷ 2) i^(n ÷ 2)) ∈ ℤ
⊢ eval n' n ÷ in
  eval exp-rem(i;n';m) in
    if rem 2=0 then rem else (i rem m) i^n rem m
BY
(HypSubst' (-1) 0⋅
   THEN ((RWO "int_eq-as-ifthenelse" THENA Auto) THEN AutoSplit THEN Try ((HypSubst' (-1) THEN Reduce 0)))
   THEN (RepeatFor ((CallByValueReduce THENA Auto)⋅)
         THEN (RWO "-3 -4" 0⋅ THEN Auto⋅ THEN RWW "rem_mul<THEN Auto)⋅
         )⋅}

1
1. : ℕ+
2. {1...}
3. rem 2 ≠ 0
4. ∀n:ℕn. ∀[i:ℕ]. (exp-rem(i;n;m) i^n rem m)
5. ¬(n 1 ∈ ℤ)
6. ∀[i:ℕ]. (exp-rem(i;n ÷ 2;m) i^(n ÷ 2) rem m)
7. : ℕ
8. i^n (i^(n rem 2) i^(n ÷ 2) i^(n ÷ 2)) ∈ ℤ
⊢ (i (i^(n ÷ 2) rem m) (i^(n ÷ 2) rem m) rem m) (i^(n rem 2) i^(n ÷ 2) i^(n ÷ 2) rem m) ∈ ℤ


Latex:


Latex:

1.  m  :  \mBbbN{}\msupplus{}
2.  n  :  \mBbbN{}
3.  \mforall{}n:\mBbbN{}n.  \mforall{}[i:\mBbbN{}].  (exp-rem(i;n;m)  \msim{}  i\^{}n  rem  m)
4.  \mneg{}(n  =  0)
5.  \mneg{}(n  =  1)
6.  \mforall{}[i:\mBbbN{}].  (exp-rem(i;n  \mdiv{}  2;m)  \msim{}  i\^{}(n  \mdiv{}  2)  rem  m)
7.  i  :  \mBbbN{}
8.  i\^{}n  =  (i\^{}(n  rem  2)  *  i\^{}(n  \mdiv{}  2)  *  i\^{}(n  \mdiv{}  2))
\mvdash{}  eval  n'  =  n  \mdiv{}  2  in
    eval  x  =  exp-rem(i;n';m)  in
        if  n  rem  2=0  then  x  *  x  rem  m  else  (i  *  x  *  x  rem  m)  \msim{}  i\^{}n  rem  m


By


Latex:
(HypSubst'  (-1)  0\mcdot{}
  THEN  ((RWO  "int\_eq-as-ifthenelse"  0  THENA  Auto)
              THEN  AutoSplit
              THEN  Try  ((HypSubst'  (-1)  0  THEN  Reduce  0)))
  THEN  (RepeatFor  2  ((CallByValueReduce  0  THENA  Auto)\mcdot{})
              THEN  (RWO  "-3  -4"  0\mcdot{}  THEN  Auto\mcdot{}  THEN  RWW  "rem\_mul<"  0  THEN  Auto)\mcdot{}
              )\mcdot{})




Home Index