rpms/alt-ergo/F-8 README.alt-ergo, NONE, 1.1 alt-ergo.spec, NONE, 1.1 import.log, NONE, 1.1 swap0_why.why, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
Alan Dunn
amdunn at fedoraproject.org
Sat Sep 6 02:00:27 UTC 2008
- Previous message (by thread): rpms/alt-ergo/F-9 README.alt-ergo, NONE, 1.1 alt-ergo.spec, NONE, 1.1 import.log, NONE, 1.1 swap0_why.why, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Next message (by thread): rpms/libxklavier/devel vnc-bug.patch, NONE, 1.1 .cvsignore, 1.16, 1.17 libxklavier.spec, 1.39, 1.40 sources, 1.16, 1.17
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: amdunn
Update of /cvs/pkgs/rpms/alt-ergo/F-8
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30431/F-8
Modified Files:
.cvsignore sources
Added Files:
README.alt-ergo alt-ergo.spec import.log swap0_why.why
Log Message:
Initial commit for F-8 branch.
--- NEW FILE README.alt-ergo ---
Fedora alt-ergo package:
Contains the main program alt-ergo.
Consider visiting the main Alt-Ergo site - http://alt-ergo.lri.fr -
for more documentation as it becomes available and a number of
examples of usage. Any current documentation (save the man page) is
generated by the package maintainer.
--- NEW FILE alt-ergo.spec ---
# rpmlint "no-binary" error is not really an error - see:
# https://www.redhat.com/archives/fedora-packaging/2008-August/msg00017.html
# and ocaml-ocamlgraph spec file for a discussion of this issue.
# The following are necessary for alt-ergo to depend on the correct
# version of ocaml-ocamlgraph
%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
%define debug_package %{nil}
%define _use_internal_dependency_generator 0
%define __find_requires /usr/lib/rpm/ocaml-find-requires.sh
%define __find_provides /usr/lib/rpm/ocaml-find-provides.sh
Name: alt-ergo
Version: 0.8
Release: 3%{?dist}
Summary: Alt-Ergo automatic theorem prover
# Note: rpmlint invalid-license warning is incorrect - I had the
# CeCILL-C license reviewed by Fedora legal, and it is now present on
# http://fedoraproject.org/wiki/Licensing
Group: Applications/Engineering
License: CeCILL-C
URL: http://alt-ergo.lri.fr
Source0: http://alt-ergo.lri.fr/http/alt-ergo-0.8.tar.gz
Source1: swap0_why.why
Source2: README.alt-ergo
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: ocaml, ocaml-ocamlgraph-devel, prelink
%if 0%{?fedora} < 9
# There's no ocaml for ppc64 in Fedora <= 8
# bz# (will be changed when exists as a module):
ExcludeArch: ppc64
%endif
%description
Alt-Ergo is an automated theorem prover implemented in OCaml. It is
based on CC(X) - a congruence closure algorithm parameterized by an
equational theory X. This algorithm is reminiscent of the Shostak
algorithm. Currently CC(X) is instantiated by the theory of linear
arithmetics. Alt-Ergo also contains a home made SAT-solver and an
instantiation mechanism by which it fully supports quantifiers.
%prep
%setup -q
cp -p %{SOURCE1} %{SOURCE2} .
%build
# Avoid a Makefile patch by just adding this empty file, and thus autoconf
# doesn't complain (better than ignoring all status from configure)
touch version.sh.in
./configure --prefix=%{_prefix} --bindir=%{_bindir} --libdir=%{_datadir} --mandir=%{_mandir}
%if ! %{opt}
%define opt_option OCAMLBEST=byte OCAMLC=ocamlc OCAMLLEX=ocamllex
%else
%define opt_option OCAMLBEST=opt OCAMLOPT=ocamlopt.opt
%endif
make %{opt_option}
mv CeCILL-C CeCILL-C.iso8859
iconv -f ISO-8859-1 -t UTF-8 < CeCILL-C.iso8859 > CeCILL-C
rm CeCILL-C.iso8859
%if %{opt}
strip ./alt-ergo.opt
execstack -c ./alt-ergo.opt
%endif
# Test alt-ergo on fairly trivial why file - generated from why example swap0.mlw w/why v2.14
%check
%if %opt
%define altergo ./alt-ergo.opt
%else
%define altergo ./alt-ergo.byte
%endif
%{altergo} swap0_why.why
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_bindir}
make %{opt_option} BINDIR=%{buildroot}%{_bindir} LIBDIR=%{buildroot}%{_datadir} MANDIR=%{buildroot}%{_mandir} install
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_datadir}/%{name}
%{_mandir}/man1/alt-ergo.1.gz
%doc README.alt-ergo COPYING CeCILL-C CHANGES
%changelog
* Fri Sep 05 2008 Alan Dunn <amdunn at gmail.com> 0.8-3
- Fixed BuildRequires to add prelink (for execstack).
* Tue Aug 26 2008 Alan Dunn <amdunn at gmail.com> 0.8-2
- Fixed BuildRequires to add ocaml-ocamlgraph-devel instead of
ocaml-ocamlgraph, made other minor changes.
* Mon Aug 25 2008 Alan Dunn <amdunn at gmail.com> 0.8-1
- Initial Fedora RPM version.
--- NEW FILE import.log ---
alt-ergo-0_8-3_fc8:F-8:alt-ergo-0.8-3.fc8.src.rpm:1220666121
--- NEW FILE swap0_why.why ---
logic eq_unit : unit, unit -> prop
logic neq_unit : unit, unit -> prop
logic eq_bool : bool, bool -> prop
logic neq_bool : bool, bool -> prop
logic bool_and : bool, bool -> bool
logic bool_or : bool, bool -> bool
logic bool_xor : bool, bool -> bool
logic bool_not : bool -> bool
axiom bool_and_def:
(forall a:bool.
(forall b:bool.
((bool_and(a, b) = true) <-> ((a = true) and (b = true)))))
axiom bool_or_def:
(forall a:bool.
(forall b:bool. ((bool_or(a, b) = true) <-> ((a = true) or (b = true)))))
axiom bool_xor_def:
(forall a:bool. (forall b:bool. ((bool_xor(a, b) = true) <-> (a <> b))))
axiom bool_not_def: (forall a:bool. ((bool_not(a) = true) <-> (a = false)))
logic ite : bool, 'a1, 'a1 -> 'a1
axiom ite_true: (forall x:'a1. (forall y:'a1. (ite(true, x, y) = x)))
axiom ite_false: (forall x:'a1. (forall y:'a1. (ite(false, x, y) = y)))
logic add_int : int, int -> int
logic sub_int : int, int -> int
logic mul_int : int, int -> int
logic div_int : int, int -> int
logic mod_int : int, int -> int
logic neg_int : int -> int
logic lt_int : int, int -> prop
logic le_int : int, int -> prop
logic gt_int : int, int -> prop
logic ge_int : int, int -> prop
logic eq_int : int, int -> prop
logic neq_int : int, int -> prop
logic lt_int_bool : int, int -> bool
logic le_int_bool : int, int -> bool
logic gt_int_bool : int, int -> bool
logic ge_int_bool : int, int -> bool
logic eq_int_bool : int, int -> bool
logic neq_int_bool : int, int -> bool
axiom lt_int_bool_axiom:
(forall x:int. (forall y:int. ((lt_int_bool(x, y) = true) <-> (x < y))))
axiom le_int_bool_axiom:
(forall x:int. (forall y:int. ((le_int_bool(x, y) = true) <-> (x <= y))))
axiom gt_int_bool_axiom:
(forall x:int. (forall y:int. ((gt_int_bool(x, y) = true) <-> (x > y))))
axiom ge_int_bool_axiom:
(forall x:int. (forall y:int. ((ge_int_bool(x, y) = true) <-> (x >= y))))
axiom eq_int_bool_axiom:
(forall x:int. (forall y:int. ((eq_int_bool(x, y) = true) <-> (x = y))))
axiom neq_int_bool_axiom:
(forall x:int. (forall y:int. ((neq_int_bool(x, y) = true) <-> (x <> y))))
logic add_real : real, real -> real
logic sub_real : real, real -> real
logic mul_real : real, real -> real
logic div_real : real, real -> real
logic pow_real : real, real -> real
logic neg_real : real -> real
logic abs_real : real -> real
logic sqrt_real : real -> real
logic real_of_int : int -> real
logic int_of_real : real -> int
logic lt_real : real, real -> prop
logic le_real : real, real -> prop
logic gt_real : real, real -> prop
logic ge_real : real, real -> prop
logic eq_real : real, real -> prop
logic neq_real : real, real -> prop
logic lt_real_bool : real, real -> bool
logic le_real_bool : real, real -> bool
logic gt_real_bool : real, real -> bool
logic ge_real_bool : real, real -> bool
logic eq_real_bool : real, real -> bool
logic neq_real_bool : real, real -> bool
axiom lt_real_bool_axiom:
(forall x:real. (forall y:real. ((lt_real_bool(x, y) = true) <-> (x < y))))
axiom le_real_bool_axiom:
(forall x:real.
(forall y:real. ((le_real_bool(x, y) = true) <-> (x <= y))))
axiom gt_real_bool_axiom:
(forall x:real. (forall y:real. ((gt_real_bool(x, y) = true) <-> (x > y))))
axiom ge_real_bool_axiom:
(forall x:real.
(forall y:real. ((ge_real_bool(x, y) = true) <-> (x >= y))))
axiom eq_real_bool_axiom:
(forall x:real. (forall y:real. ((eq_real_bool(x, y) = true) <-> (x = y))))
axiom neq_real_bool_axiom:
(forall x:real.
(forall y:real. ((neq_real_bool(x, y) = true) <-> (x <> y))))
logic int_max : int, int -> int
logic int_min : int, int -> int
logic real_max : real, real -> real
logic real_min : real, real -> real
predicate zwf_zero(a: int, b: int) = ((0 <= b) and (a < b))
type 'a farray
logic access : 'a1 farray, int -> 'a1
logic update : 'a1 farray, int, 'a1 -> 'a1 farray
axiom access_update:
(forall a:'a1 farray.
(forall i:int. (forall v:'a1. (access(update(a, i, v), i) = v))))
axiom access_update_neq:
(forall a:'a1 farray.
(forall i:int.
(forall j:int.
(forall v:'a1.
((i <> j) -> (access(update(a, i, v), j) = access(a, j)))))))
logic array_length : 'a1 farray -> int
predicate sorted_array(t: int farray, i: int, j: int) =
(forall k1:int.
(forall k2:int.
((((i <= k1) and (k1 <= k2)) and (k2 <= j)) -> (access(t,
k1) <= access(t, k2)))))
predicate exchange(a1: 'a1 farray, a2: 'a1 farray, i: int, j: int) =
((array_length(a1) = array_length(a2)) and
((access(a1, i) = access(a2, j)) and
((access(a2, i) = access(a1, j)) and
(forall k:int.
(((k <> i) and (k <> j)) -> (access(a1, k) = access(a2, k)))))))
logic permut : 'a1 farray, 'a1 farray, int, int -> prop
axiom permut_refl:
(forall t:'a1 farray. (forall l:int. (forall u:int. permut(t, t, l, u))))
axiom permut_sym:
(forall t1:'a1 farray.
(forall t2:'a1 farray.
(forall l:int.
(forall u:int. (permut(t1, t2, l, u) -> permut(t2, t1, l, u))))))
axiom permut_trans:
(forall t1:'a1 farray.
(forall t2:'a1 farray.
(forall t3:'a1 farray.
(forall l:int.
(forall u:int.
(permut(t1, t2, l, u) ->
(permut(t2, t3, l, u) -> permut(t1, t3, l, u))))))))
axiom permut_exchange:
(forall a1:'a1 farray.
(forall a2:'a1 farray.
(forall l:int.
(forall u:int.
(forall i:int.
(forall j:int.
(((l <= i) and (i <= u)) ->
(((l <= j) and (j <= u)) ->
(exchange(a1, a2, i, j) -> permut(a1, a2, l, u))))))))))
axiom exchange_upd:
(forall a:'a1 farray.
(forall i:int.
(forall j:int. exchange(a, update(update(a, i, access(a, j)), j,
access(a, i)), i, j))))
axiom permut_weakening:
(forall a1:'a1 farray.
(forall a2:'a1 farray.
(forall l1:int.
(forall r1:int.
(forall l2:int.
(forall r2:int.
((((l1 <= l2) and (l2 <= r2)) and (r2 <= r1)) ->
(permut(a1, a2, l2, r2) -> permut(a1, a2, l1, r1)))))))))
axiom permut_eq:
(forall a1:'a1 farray.
(forall a2:'a1 farray.
(forall l:int.
(forall u:int.
((l <= u) ->
(permut(a1, a2, l, u) ->
(forall i:int.
(((i < l) or (u < i)) -> (access(a2, i) = access(a1, i))))))))))
predicate permutation(a1: 'a1 farray, a2: 'a1 farray) = permut(a1, a2, 0,
(array_length(a1) - 1))
axiom array_length_update:
(forall a:'a1 farray.
(forall i:int.
(forall v:'a1. (array_length(update(a, i, v)) = array_length(a)))))
axiom permut_array_length:
(forall a1:'a1 farray.
(forall a2:'a1 farray.
(forall l:int.
(forall u:int.
(permut(a1, a2, l, u) -> (array_length(a1) = array_length(a2)))))))
goal swap1_po_1:
forall x0:int.
forall y:int.
forall x:int.
(x = y) ->
forall y0:int.
(y0 = x0) ->
((x = y) and (y0 = x0))
goal swap2_po_1:
forall x0:int.
forall y:int.
forall x:int.
(x = y) ->
forall y0:int.
(y0 = x0) ->
((x = y) and (y0 = x0))
goal swap3_po_1:
forall a0:int.
forall b:int.
forall a:int.
(a = b) ->
forall b0:int.
(b0 = a0) ->
((a = b) and (b0 = a0))
goal call_swap3_y_x_po_1:
forall x0:int.
forall y0:int.
forall x:int.
forall y:int.
((y = x0) and (x = y0)) ->
((x = y0) and (y = x0))
goal swap4_po_1:
forall a:int.
forall b:int.
forall tmp:int.
(tmp = a) ->
forall a0:int.
(a0 = b) ->
forall b0:int.
(b0 = tmp) ->
((a0 = b) and (b0 = a))
goal call_swap4_x_y_po_1:
forall x:int.
forall y:int.
(x = 3) ->
forall x0:int.
forall y0:int.
((x0 = y) and (y0 = x)) ->
(y0 = 3)
goal call_swap4_y_x_po_1:
forall x:int.
forall y:int.
(x = 3) ->
forall x0:int.
forall y0:int.
((y0 = x) and (x0 = y)) ->
(y0 = 3)
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/alt-ergo/F-8/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 5 Sep 2008 21:05:34 -0000 1.1
+++ .cvsignore 6 Sep 2008 01:59:56 -0000 1.2
@@ -0,0 +1 @@
+alt-ergo-0.8.tar.gz
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/alt-ergo/F-8/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources 5 Sep 2008 21:05:34 -0000 1.1
+++ sources 6 Sep 2008 01:59:56 -0000 1.2
@@ -0,0 +1 @@
+ce8e9fbe24c0c2d7328b4b70ac0c2f9e alt-ergo-0.8.tar.gz
- Previous message (by thread): rpms/alt-ergo/F-9 README.alt-ergo, NONE, 1.1 alt-ergo.spec, NONE, 1.1 import.log, NONE, 1.1 swap0_why.why, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Next message (by thread): rpms/libxklavier/devel vnc-bug.patch, NONE, 1.1 .cvsignore, 1.16, 1.17 libxklavier.spec, 1.39, 1.40 sources, 1.16, 1.17
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list