Last active
May 10, 2018 23:35
-
-
Save haruyama/77e09c70e09d960d9c84234d7c7a3d4b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From mathcomp | |
Require Import ssreflect ssrnat. | |
Section naturalNumber. | |
Lemma add0nEqn (n : nat) : 0 + n = n. | |
Proof. by []. Qed. | |
Lemma addn3Eq2n1 (n : nat) : n + 3 = 2 + n + 1. | |
Proof. | |
rewrite addn1. | |
rewrite add2n. | |
rewrite addnC. | |
by []. | |
Qed. | |
Fixpoint sum n := if n is m.+1 then sum m + n else 0. | |
Lemma sumGauss (n : nat) : sum n * 2 = (n + 1) * n. | |
Proof. | |
elim: n => [// | n IHn]. | |
rewrite mulnC. | |
rewrite (_ : sum (n.+1) = n.+1 + (sum n)); last first. | |
rewrite /=. | |
by rewrite addnC. | |
rewrite mulnDr. | |
rewrite mulnC in IHn. | |
rewrite IHn. | |
rewrite 2!addn1. | |
rewrite [_ * n]mulnC. | |
rewrite -mulnDl. | |
by []. | |
Qed. | |
End naturalNumber. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://twitter.com/haruyama/status/994523101374238720 以降のやりとりのために配置した