Subject: Ssreflect Users Discussion List
List archive
- From: Kazuhiko Sakaguchi <>
- To: , ssreflect <>
- Cc:
- Subject: [ssreflect] [ANN] Algebra Tactics 1.1.1 released
- Date: Thu, 13 Apr 2023 15:12:30 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23: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 IT+eYyIrIxXh6I8/QaMtkO5wC0kgQ4=
- Ironport-hdrordr: A9a23:mBt55awq2Wbgi9TUOhkXKrPwFb1zdoMgy1knxilNoNJuA6ulfq eV7Y0mPH7P+VAssRQb8+xoV5PwIk80maQU3WBzB9aftWvdyQmVxehZhOOI/9SKIVyaygcy79 YFT0G8MrHN5JpB4PoSLDPWLz/o+re6zJw=
- Ironport-phdr: A9a23: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 m3dqdlhp1zgme6KmGIPbQ==
- Ironport-sdr: 64380041_Y+SO5ZNzstkcyQy6sS6SuOhmugy6TcNxcr0NrmoXWPIIOA9 60u3SLPCC1w1mYM1wQiE8iDadZqn6GbwISFkUmA==
Dear Mathematical Components users,
We are pleased to announce the release of Algebra Tactics 1.1.1.
In addition to the already provided `ring` and `field` tactics, this
release gives access to the `lra`, `nra` and `psatz` tactics from the
Micromega plugin shipped with Coq. For the moment, the new tactics are
*considered experimental features and subject to change*.
The new release is available in the OPAM package
`coq-mathcomp-algebra-tactics.1.1.1` compatible with Coq 8.16 and 8.17
and MathComp 1.15 and 1.16. A Nix package is also available.
The new tactics work for any abstract `realDomainType`
```
From mathcomp Require Import ssreflect ssrfun ssrbool ssralg ssrnum lra.
Local Open Scope ring_scope.
Example any_realDomain (F : realDomainType) (x y : F) :
x + 2 * y <= 3 -> 2 * x + y <= 3 -> x + y <= 2.
Proof. lra. Qed.
Print Assumptions any_realDomain. (* Closed under the global context *)
```
or any `realFieldType` with divisions
```
From mathcomp Require Import ssreflect ssrfun ssrbool ssralg ssrnum lra.
Local Open Scope ring_scope.
Example any_field (F : realFieldType) (x y : F) :
x / 2 + y <= 3 -> x + y / 2 <= 3 -> x + y <= 4.
Proof. lra. Qed.
```
They also handle any concrete instance of the above (like the rational
numbers for instance)
```
From mathcomp Require Import ssreflect ssrfun ssrbool ssralg ssrnum rat lra.
Local Open Scope ring_scope.
Example rat (x y : rat) :
x + 2 * y <= 3 -> 2 * x + y <= 3 -> x + y <= 2.
Proof. lra. Qed.
```
The `nra` (non-linear real arithmetic) tactic is an extension of the
`lra` tactic that handles some non-linear goals
```
From mathcomp Require Import ssreflect ssrfun ssrbool ssralg ssrnum lra.
Local Open Scope ring_scope.
Example non_linear (F : realDomainType) (x y : F) : - x * x >= 0 -> x * y = 0.
Proof. nra. Qed.
```
One can also use the `psatz` tactic, provided the CSDP solver is installed.
Just like the `ring` and `field` tactics, `lra`, `nra` and `psatz`
handle any ring morphism, either abstract
```
From mathcomp Require Import ssreflect ssrfun ssrbool ssralg ssrnum lra.
Local Open Scope ring_scope.
Example abstract_rmorphism (R : realDomainType) (f : {rmorphism R -> R})
(x y : R) : f y >= 0 -> f x + 2 * f (y + 1) <= f (3 * y + x) + 2.
Proof. lra. Qed.
```
or concrete (`ratr` is the injection from `rat` to any ring)
```
From mathcomp Require Import ssreflect ssrfun ssrbool ssralg ssrnum rat lra.
Local Open Scope ring_scope.
Example ratr (R : realFieldType) (x y : rat) :
ratr y >= 0 :> R -> ratr x + 2 * ratr (y + 1) <= ratr (3 * y + x) + 2 :> R.
Proof. lra. Qed.
```
We would like to thank Frédéric Besson and Enrico Tassi for their help
respectively with Micromega and Coq-Elpi.
Kazuhiko and Pierre
- [ssreflect] [ANN] Algebra Tactics 1.1.1 released, Kazuhiko Sakaguchi, 04/13/2023
Archive powered by MHonArc 2.6.19+.