Commit 1009c5dc authored by MARCHE Claude's avatar MARCHE Claude

Reals: separate PowerInt and PowerReal, add realization of RealInfix

parent 8b002d87
......@@ -837,7 +837,7 @@ ifeq (@enable_coq_libs@,yes)
COQLIBS_INT_FILES = Abs ComputerDivision EuclideanDivision Int MinMax
COQLIBS_INT = $(addprefix lib/coq/int/, $(COQLIBS_INT_FILES))
COQLIBS_REAL_FILES = Abs ExpLog FromInt MinMax Real Square
COQLIBS_REAL_FILES = Abs ExpLog FromInt MinMax Real Square RealInfix
COQLIBS_REAL = $(addprefix lib/coq/real/, $(COQLIBS_REAL_FILES))
ifeq (@enable_coq_fp_libs@,yes)
......
......@@ -133,8 +133,12 @@ https://gforge.inria.fr/tracker/index.php?func=detail&aid=13736&group_id=2990
ne pas oublier de dire que les dependances avec le .why ou .mlw: ne sera pas vérifié
- (WHO?) revoir documentation du smoke detector
- (WHO?) Documenter l'utilisation de plusieurs version du meme prouveur comme CVC3 et Z3
- (CLAUDE) Documenter les popups qui peuvent apparaitre dans why3ide quand les prouveurs ont changé
ET LES METTRE AU POINT
- (CLAUDE) Documenter les popups qui peuvent apparaitre dans why3ide quand les prouveurs ont changé. Et les mettre au point:
. Lors d'un replay, le dialogue "replace proof" apparait un nombre important de fois,
il faut absolument pouvoir interrompre, ou donner une reponse qui soit appliquée pour le reste.
(le 3e bouton "never replace..." ne semble pas jourer ce role...)
. le dialogue "replace proof" est de toute facon trop large, et les choix possibles sont confus.
- DONE (ANDREI) ajouter option a why3config pour ajouter association ident-executable
- (CLAUDE) meme ordre d'idee: ne pas ecraser "default editor" et "timelimit"
- (WHO?) complete api.tex: explain how to build theories, apply
......
......@@ -256,11 +256,20 @@ theory real.ExpLog
end
theory real.Power
theory real.PowerInt
prelude "Require Import Rpower."
(* no power: R -> R -> R in Coq ? (only powerRZ: R -> Z -> R) *)
syntax function power "(powerRZ %1)"
end
theory real.PowerReal
prelude "Require Import Rpower."
syntax function pow "(Rpower %1)"
end
theory real.Trigonometry
......
......@@ -242,7 +242,7 @@ theory real.ExpLog
end
theory real.Power
theory real.PowerReal
syntax function pow "(%1 ^ %2)"
......
......@@ -2,5 +2,15 @@ theory Test
use import real.Real
goal G1 : 5.5 * 10. = 55.
goal G2 : 9. / 3. = 3.
goal G3 : inv(5.) = 0.2
goal G3 : inv 5. = 0.2
end
theory TestInfix
use import real.RealInfix
goal Add : 5.5 +. 10. = 15.5
goal Sub : 9. -. 3. = 6.
goal Neg : -. 5. +. 3.5 = -. 1.5
goal Mul : 5.5 *. 10. = 55.
goal Div : 9. /. 2. = 4.5
goal Inv : inv 5. = 0.2
end
This diff is collapsed.
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require real.Real.
......@@ -26,6 +26,7 @@ theory RealInfix
function ( *.) (x:real) (y:real) : real = x * y
function (/.) (x:real) (y:real) : real = x / y
function (-._) (x:real) : real = - x
function inv (x:real) : real = Real.inv x
predicate (<=.) (x:real) (y:real) = x <= y
predicate (>=.) (x:real) (y:real) = x >= y
......@@ -220,7 +221,27 @@ theory ExpLogTest
end
theory Power
theory PowerInt
use int.Int
use Real
clone export int.Exponentiation with
type t = real, constant one = Real.one, function (*) = Real.(*)
end
theory PowerIntTest
use import PowerInt
lemma Pow_2_2 : power 2.0 2 = 4.0
end
theory PowerReal
use import Real
use import Square
......@@ -251,9 +272,9 @@ theory Power
end
theory PowerTest
theory PowerRealTest
use import Power
use import PowerReal
lemma Pow_2_2 : pow 2.0 2.0 = 4.0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment