4 Ltac ae := why3 "alt-ergo" timelimit 3.
13 goal Test0_5 : true -> false
19 goal Test1: a /\ b -> a
29 goal Test2: forall x:int. x*x >= 0
33 goal Test4: 1=2 -> 3=4
35 goal Test5: forall x:int. x <> 0 -> x*x > 0
37 goal Test6: 2+3 = 5 /\ (forall x:int. x*x >= 0)
39 goal Test7: 0 = 2 /\ 2 = 3 /\ 4 = 5 /\ 6 = 7
41 goal Test8: 2+2=4 /\ 3+3=6
45 goal Test9: 2+2=5 /\ 3+3=8
55 goal G1 : (aa 5) /\ ("stop_split" aa 0 /\ bb 6) /\ ("stop_split" aa 1 /\ bb 2)
57 goal G2 : ("stop_split" aa 0 && bb 1) && ("stop_split" aa 1 && bb 2)
59 goal G3 : forall x:int. ("stop_split" aa x /\ bb 1) /\ ("stop_split" aa 1 /\ bb 2)
61 goal G4 : forall x:int. ("stop_split" aa x && bb 1) && ("stop_split" aa 1 && bb 2)
65 goal Glet : (let x = 1 in x+1 = 2) /\ (let y = 3 in y+2 = 4)
81 use int.EuclideanDivision
83 goal EDiv1: EuclideanDivision.div 1 2 = 0
85 goal EDiv2: EuclideanDivision.div (-1) 2 = -1
87 use int.ComputerDivision
89 goal CDiv1: ComputerDivision.div 1 2 = 0
91 goal CDiv2: ComputerDivision.div (-1) 2 = 0
100 function x : list int
104 | Nil -> 1 = 0 /\ 2 = 3
105 | Cons _ Nil -> 4 = 5 /\ 6 = 7
106 | Cons _ _ -> 8 = 9 /\ 10 = 11
116 goal Real1: forall x:real. x <> 0.0 -> x*x <> 0.0
120 goal RealAbs1: forall x:real. 100.0 >= abs x >= 1.0 -> x*x >= 1.0
122 goal T: forall x y:real. abs x <= 1.0 /\ abs y <= 1.0 -> x - y <= 2.0
128 use floating_point.Rounding
129 use floating_point.Single
131 lemma Round_single_01: Single.round NearestTiesToEven 0.1 = 0x0.199999Ap0
140 forall x y : int. x > 0 /\ y > 0 ->
141 (exists z t:int. x + t = y + z) -> x > y
144 forall x y : int. (x > 0 /\ y > 0) /\ (x < 10 /\ y < 10) ->
145 (exists x' y':int. x + x' = y + y') -> x > y
151 forall x y: t 'a 'b, z z': t int 'c. z = z' -> x = y
154 axiom A: exists x. x * 6 = 42
167 axiom P_arefl: forall x:t. not (p x x)
169 axiom P_total: forall x y:t. p x y \/ p y x \/ x=y
173 axiom A : forall x:t. p (f x) x
175 lemma B : forall x:t. not (p x (f x))
179 theory TestRealizeUse
185 axiom C : forall x:t. p (q x) x
189 theory TestRealizeUseInt
195 axiom C : forall x:int. q x + x >= 0
205 predicate p (x:int) (y:int) = x <= 3 /\ y <= 7
215 inductive p (x:int) =
217 | C0 : forall x:int. p x -> p x
218 (* NonPositiveIndDecl
220 (if p x then true else false) -> p x
222 | C2 : let x=0 in p x
229 lemma L1 : forall x:t. true
231 lemma L2 : exists x:t. x=x -> false
235 theory TestPVSRealAbs
239 use import real.Abs as A
241 lemma l: A.abs (-. 1.0) = 1.0