Exercices supplémentaires sur les entiers naturels

Pour résoudre ces exercices, vous pouvez utiliser les théorèmes suivants (déjà prouvés dans Naturels) :
  • add_0_l : n : nat, 0 + n = n
  • add_0_r : n : nat, n + 0 = n
  • add_1_l : n : nat, 1 + n = S n
  • add_1_r : n : nat, n + 1 = S n
  • add_succ_l : n m : nat, S n + m = S (n + m)
  • add_succ_r : n m : nat, n + S m = S (n + m)
  • add_comm : n m : nat, n + m = m + n
  • add_assoc : n m p : nat, n + (m + p) = (n + m) + p
  • mul_0_l : n : nat, 0 × n = 0
  • mul_0_r : n : nat, n × 0 = 0
  • mul_1_l : n : nat, 1 × n = n
  • mul_1_r : n : nat, n × 1 = n
  • mul_succ_l : n m : nat, S n × m = n × m + m
  • mul_succ_r : n m : nat, n × S m = n × m + n
  • mul_comm : n m : nat, n × m = m × n
ainsi, bien sûr, que les théorèmes prouvés précédemment dans ce sujet.
Pour vous souvenir de l'énoncé, vous pouvez utiliser la commande Check.

Exercice : Prouver le théorème suivant.

Indice pour le sens direct : faire une preuve par cas sur la nullité ou non de n ou de m (utiliser la tactique destruct).

Exercice : Prouver le théorème suivant.

Exercice : Prouver le théorème suivant, sans induction.

Utiliser rewrite et les théorèmes précédents.

Exercice : Prouver le théorème suivant.

Goals

Help
Messages