aboutsummaryrefslogtreecommitdiff
path: root/mathcomp
diff options
context:
space:
mode:
authorAnton Trunov2018-07-24 17:10:22 +0200
committerAnton Trunov2018-07-24 19:39:25 +0200
commit664feb54237e18e7a1528321bdd8fd28d1e0f1be (patch)
tree0a8fd85d0385d10c519ebb35d754be045e62e5b5 /mathcomp
parent1897c9978a61f03819ffb1ea6bc6199d87975485 (diff)
Add addnBAC, addnBCA, and addnABC lemmas to ssrnat
Proofs by Cyril Cohen
Diffstat (limited to 'mathcomp')
-rw-r--r--mathcomp/ssreflect/ssrnat.v9
1 files changed, 9 insertions, 0 deletions
diff --git a/mathcomp/ssreflect/ssrnat.v b/mathcomp/ssreflect/ssrnat.v
index 4619db7..b7ff16c 100644
--- a/mathcomp/ssreflect/ssrnat.v
+++ b/mathcomp/ssreflect/ssrnat.v
@@ -512,6 +512,15 @@ Proof. by rewrite addnC; apply: subnKC. Qed.
Lemma addnBA m n p : p <= n -> m + (n - p) = m + n - p.
Proof. by move=> le_pn; rewrite -{2}(subnK le_pn) addnA addnK. Qed.
+Lemma addnBAC m n p : n <= m -> m - n + p = m + p - n.
+Proof. by move=> le_nm; rewrite addnC addnBA // addnC. Qed.
+
+Lemma addnBCA m n p : p <= m -> p <= n -> m + (n - p) = n + (m - p).
+Proof. by move=> le_pm le_pn; rewrite !addnBA // addnC. Qed.
+
+Lemma addnABC m n p : p <= m -> p <= n -> m + (n - p) = m - p + n.
+Proof. by move=> le_pm le_pn; rewrite addnBA // addnBAC. Qed.
+
Lemma subnBA m n p : p <= n -> m - (n - p) = m + p - n.
Proof. by move=> le_pn; rewrite -{2}(subnK le_pn) subnDr. Qed.