]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/lib/arithmetics/primes.ma
update in delayed_updating
[helm.git] / matita / matita / lib / arithmetics / primes.ma
index 7c5df29f35151cebe5d3c6664368c8ee9f2ece73..62c0a0081af5ecadfade0e7b0bbaa1ff4a3b216a 100644 (file)
@@ -247,8 +247,7 @@ qed.
 
 (* smallest factor *)
 definition smallest_factor : nat → nat ≝
-λn:nat. if_then_else ? (leb n 1) n
-  (min n 2 (λm.(eqb (n \mod m) O))).
+λn:nat. if leb n 1 then n else min n 2 (λm.(eqb (n \mod m) O)).
 
 theorem smallest_factor_to_min : ∀n. 1 < n → 
 smallest_factor n = (min n 2 (λm.(eqb (n \mod m) O))).
@@ -311,7 +310,7 @@ qed.
 
 theorem prime_smallest_factor_n : ∀n. 1 < n → 
   prime (smallest_factor n).
-#n #lt1n (cut (0<n)) [/2/] #posn % /2/ #m #divmmin #lt1m
+#n #lt1n (cut (0<n)) [/2/] #posn % (* bug? *) [/2/] #m #divmmin #lt1m
 @le_to_le_to_eq
   [@divides_to_le // @lt_O_smallest_factor //
   |>smallest_factor_to_min // @true_to_le_min //
@@ -439,9 +438,9 @@ let rec nth_prime n ≝ match n with
     min upper_bound (S previous_prime) primeb].
 
 lemma nth_primeS: ∀n.nth_prime (S n) = 
-  let previous_prime ≝ nth_prime n in
+   (let previous_prime ≝ nth_prime n in
     let upper_bound ≝ S previous_prime! in
-    min upper_bound (S previous_prime) primeb.
+    min upper_bound (S previous_prime) primeb).
 // qed.
     
 (* it works *)