fact: Fixpoint test_Certif (lc : Certif) : bool := match lc with | nil => true | (Proof_certif _ _) :: lc => test_Certif lc | (Lucas_certif n p) :: lc => if test_Certif lc then if gt2 p then match Mp p with | Zpos n' => if (n ?= n') then match SS p with | Z0 => true | _ => false end else false | _ => false end else false else false | (Pock_certif n a dec sqrt) :: lc => if test_pock n a dec sqrt then if all_in lc dec then test_Certif lc else false else false | (SPock_certif n a dec) :: lc => false | (Ell_certif _ _ _ _ _ _ _):: lc => false end.
imports: List ZArith Zorder ZCAux LucasLehmer Pocklington ZCmisc Pmod