// This prints the left floatting menu
Dedukti    Load Matita      Load Coq         Load Lean        Load PVS         Load OpenTheory Load
Dedukti-jumb

Theorem

fermat.permut_mod

Statement

∀ p a, prime p ⇒ ¬(p | a) ⇒ permut (λn. mod (a × n) p) (p-1)

Main Dependencies
Theory

Coq-Jumb
Statement

Theorem permut_mod : forall (p:nat.nat), forall (a:nat.nat), (primes.prime p) -> (connectives.Not (primes.divides p a)) -> permutation.permut (fun (n:nat.nat) => div_mod.mod (nat.times a n) p) (nat.pred p).



Matita-Jumb
Statement

theorem permut_mod : \forall (p:nat). \forall (a:nat). ((prime) p) -> ((Not) ((divides) p a)) -> (permut) (\lambda n : nat. (mod) ((times) a n) p) ((pred) p).



Lean-jumb
Statement

theorem permut_mod : forall (p:nat.nat) , forall (a:nat.nat) , (((primes.prime) ) (p)) -> (((connectives.Not) ) ((((primes.divides) ) (p)) (a))) -> (((permutation.permut) ) (fun (n : nat.nat) , (((div_mod.mod) ) ((((nat.times) ) (a)) (n))) (p))) (((nat.pred_) ) (p)).



PVS-jumb

Statement

permut_mod : LEMMA (FORALL(p:nat_sttfa_th.sttfa_nat):(FORALL(a:nat_sttfa_th.sttfa_nat):(primes_sttfa_th.prime(p) => (connectives_sttfa_th.sttfa_Not(primes_sttfa_th.sttfa_divides(p)(a)) => permutation_sttfa_th.permut((LAMBDA(n:nat_sttfa_th.sttfa_nat):div_mod_sttfa_th.mod(nat_sttfa_th.times(a)(n))(p)))(nat_sttfa_th.pred(p))))))



OpenTheory

Printing for OpenTheory is not working at the moment.