apply not_le_to_lt.
change with smallest_factor (S (fact n)) \le n \to False.intro.
apply not_divides_S_fact n (smallest_factor(S (fact n))) ? ?.
-apply divides_smallest_factor_n.
-simplify.apply le_S_S.apply le_O_n.
apply lt_SO_smallest_factor.
simplify.apply le_S_S.apply le_SO_fact.
assumption.
+apply divides_smallest_factor_n.
+simplify.apply le_S_S.apply le_O_n.
qed.
(* mi sembra che il problem sia ex *)