From 036d849b5faf173cff13c5f97b59c0516bfff959 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr>
Date: Tue, 22 Oct 2019 13:57:06 +0200
Subject: [PATCH] [wp] remove garbage files

---
 src/plugins/wp/MakeDistrib                    |  55 -----
 src/plugins/wp/Partitioning.ml                | 163 --------------
 src/plugins/wp/Partitioning.mli               |  38 ----
 src/plugins/wp/PrecisionLoss.mli              |  37 ----
 src/plugins/wp/REVISION                       |  18 --
 src/plugins/wp/doc/tutorial/.gitignore        |  10 -
 src/plugins/wp/doc/tutorial/Makefile          | 207 ------------------
 src/plugins/wp/doc/tutorial/README            |  15 --
 .../wp/doc/tutorial/adjacent/adjacent.c       |   2 -
 .../wp/doc/tutorial/adjacent/adjacent.h       |   6 -
 .../wp/doc/tutorial/adjacent/adjacent.impl    |  15 --
 .../wp/doc/tutorial/adjacent/adjacent.spec    |  18 --
 .../wp/doc/tutorial/adjacent/adjacent.tex     |  23 --
 .../doc/tutorial/adjacent/adjacent_report.tex |   1 -
 .../wp/doc/tutorial/adjacent/neighbors.spec   |   4 -
 src/plugins/wp/doc/tutorial/binary/binary.h   |   6 -
 .../wp/doc/tutorial/binary/division.spec      |   7 -
 .../wp/doc/tutorial/binary/sorted.spec        |   4 -
 .../doc/tutorial/binarysearch/binarysearch.c  |   3 -
 .../doc/tutorial/binarysearch/binarysearch.h  |   7 -
 .../tutorial/binarysearch/binarysearch.impl   |   5 -
 .../tutorial/binarysearch/binarysearch.spec   |   9 -
 .../tutorial/binarysearch/binarysearch.tex    |  26 ---
 .../binarysearch/binarysearch_report.tex      |   1 -
 src/plugins/wp/doc/tutorial/compare/compare.c |   2 -
 .../wp/doc/tutorial/compare/compare.report    |   5 -
 .../wp/doc/tutorial/compare/compare.spec      |  19 --
 .../wp/doc/tutorial/compare/compare.tex       |  22 --
 .../doc/tutorial/compare/compare_report.tex   |   1 -
 src/plugins/wp/doc/tutorial/compare/greater.c |   2 -
 .../wp/doc/tutorial/compare/greater.spec      |   9 -
 src/plugins/wp/doc/tutorial/compare/less.c    |   2 -
 src/plugins/wp/doc/tutorial/compare/less.spec |   9 -
 src/plugins/wp/doc/tutorial/console.report    |  12 -
 src/plugins/wp/doc/tutorial/copy/copy.c       |   2 -
 src/plugins/wp/doc/tutorial/copy/copy.h       |   6 -
 src/plugins/wp/doc/tutorial/copy/copy.impl    |  12 -
 src/plugins/wp/doc/tutorial/copy/copy.spec    |  11 -
 src/plugins/wp/doc/tutorial/copy/copy.tex     |  20 --
 .../wp/doc/tutorial/copy/copy_report.tex      |   1 -
 .../wp/doc/tutorial/count/count.axioms        |  22 --
 src/plugins/wp/doc/tutorial/count/count.c     |   2 -
 src/plugins/wp/doc/tutorial/count/count.h     |   7 -
 src/plugins/wp/doc/tutorial/count/count.impl  |  15 --
 src/plugins/wp/doc/tutorial/count/count.lemma |   5 -
 src/plugins/wp/doc/tutorial/count/count.spec  |   8 -
 src/plugins/wp/doc/tutorial/count/count.tex   |  35 ---
 .../wp/doc/tutorial/count/count_report.tex    |   1 -
 .../wp/doc/tutorial/count/original.axioms     |  22 --
 src/plugins/wp/doc/tutorial/equal/equal.c     |   2 -
 src/plugins/wp/doc/tutorial/equal/equal.h     |   6 -
 src/plugins/wp/doc/tutorial/equal/equal.impl  |  13 --
 src/plugins/wp/doc/tutorial/equal/equal.spec  |   9 -
 src/plugins/wp/doc/tutorial/equal/equal.tex   |  40 ----
 .../wp/doc/tutorial/equal/equal_report.tex    |   1 -
 .../doc/tutorial/equal/equal_rte_report.tex   |   1 -
 src/plugins/wp/doc/tutorial/fill/fill.c       |   2 -
 src/plugins/wp/doc/tutorial/fill/fill.h       |   6 -
 src/plugins/wp/doc/tutorial/fill/fill.impl    |  11 -
 src/plugins/wp/doc/tutorial/fill/fill.spec    |   8 -
 src/plugins/wp/doc/tutorial/fill/fill.tex     |  23 --
 .../wp/doc/tutorial/fill/fill_report.tex      |   1 -
 src/plugins/wp/doc/tutorial/find/find.c       |   2 -
 src/plugins/wp/doc/tutorial/find/find.h       |   6 -
 src/plugins/wp/doc/tutorial/find/find.impl    |  13 --
 src/plugins/wp/doc/tutorial/find/find.spec    |  18 --
 src/plugins/wp/doc/tutorial/find/find.tex     |  25 ---
 .../wp/doc/tutorial/find/find_report.tex      |   1 -
 .../wp/doc/tutorial/find/hasvalue.spec        |   4 -
 .../wp/doc/tutorial/findfirst/findfirst.c     |   2 -
 .../wp/doc/tutorial/findfirst/findfirst.h     |   7 -
 .../wp/doc/tutorial/findfirst/findfirst.impl  |  14 --
 .../wp/doc/tutorial/findfirst/findfirst.spec  |  20 --
 .../wp/doc/tutorial/findfirst/findfirst.tex   |  25 ---
 .../tutorial/findfirst/findfirst_report.tex   |   1 -
 .../wp/doc/tutorial/findfirst/hasvalueof.spec |   6 -
 src/plugins/wp/doc/tutorial/iota/iota.c       |   2 -
 src/plugins/wp/doc/tutorial/iota/iota.h       |   6 -
 src/plugins/wp/doc/tutorial/iota/iota.impl    |  14 --
 src/plugins/wp/doc/tutorial/iota/iota.spec    |   9 -
 src/plugins/wp/doc/tutorial/iota/iota.tex     |  23 --
 .../wp/doc/tutorial/iota/iota_report.tex      |   1 -
 src/plugins/wp/doc/tutorial/library.h         |   4 -
 src/plugins/wp/doc/tutorial/library.spec      |  11 -
 .../wp/doc/tutorial/lowerbound/lowerbound.c   |   2 -
 .../wp/doc/tutorial/lowerbound/lowerbound.h   |   5 -
 .../doc/tutorial/lowerbound/lowerbound.impl   |  23 --
 .../doc/tutorial/lowerbound/lowerbound.spec   |  11 -
 .../wp/doc/tutorial/lowerbound/lowerbound.tex |  26 ---
 .../tutorial/lowerbound/lowerbound_report.tex |   1 -
 src/plugins/wp/doc/tutorial/maxelt/maxelt.c   |   2 -
 src/plugins/wp/doc/tutorial/maxelt/maxelt.h   |   5 -
 .../wp/doc/tutorial/maxelt/maxelt.impl        |  19 --
 .../wp/doc/tutorial/maxelt/maxelt.spec        |  18 --
 src/plugins/wp/doc/tutorial/maxelt/maxelt.tex |  19 --
 .../wp/doc/tutorial/maxelt/maxelt_report.tex  |   1 -
 src/plugins/wp/doc/tutorial/maxeltp/maxelt.c  |   2 -
 src/plugins/wp/doc/tutorial/maxeltp/maxelt.h  |   6 -
 .../wp/doc/tutorial/maxeltp/maxelt.impl       |  19 --
 .../wp/doc/tutorial/maxeltp/maxelt.report     |   5 -
 .../wp/doc/tutorial/maxeltp/maxelt.spec       |  17 --
 .../wp/doc/tutorial/maxeltp/maxelt.tex        |  25 ---
 .../wp/doc/tutorial/maxeltp/maxelt_report.tex |   1 -
 .../wp/doc/tutorial/maxeltp/maximum.spec      |   7 -
 src/plugins/wp/doc/tutorial/maxseq/maxseq.c   |   3 -
 src/plugins/wp/doc/tutorial/maxseq/maxseq.h   |   5 -
 .../wp/doc/tutorial/maxseq/maxseq.impl        |   4 -
 .../wp/doc/tutorial/maxseq/maxseq.spec        |   9 -
 src/plugins/wp/doc/tutorial/maxseq/maxseq.tex |  22 --
 .../wp/doc/tutorial/maxseq/maxseq_report.tex  |   1 -
 src/plugins/wp/doc/tutorial/minelt/minelt.c   |   2 -
 src/plugins/wp/doc/tutorial/minelt/minelt.h   |   5 -
 .../wp/doc/tutorial/minelt/minelt.impl        |  19 --
 .../wp/doc/tutorial/minelt/minelt.spec        |  18 --
 src/plugins/wp/doc/tutorial/minelt/minelt.tex |  20 --
 .../wp/doc/tutorial/minelt/minelt_report.tex  |   1 -
 .../doc/tutorial/mismatch/eqmismatch.report   |   5 -
 .../tutorial/mismatch/eqmismatch_report.tex   |   1 -
 src/plugins/wp/doc/tutorial/mismatch/equal.c  |   8 -
 .../wp/doc/tutorial/mismatch/mismatch.c       |   2 -
 .../wp/doc/tutorial/mismatch/mismatch.h       |   6 -
 .../wp/doc/tutorial/mismatch/mismatch.impl    |  14 --
 .../wp/doc/tutorial/mismatch/mismatch.spec    |  20 --
 .../wp/doc/tutorial/mismatch/mismatch.tex     |  34 ---
 .../doc/tutorial/mismatch/mismatch_report.tex |   1 -
 .../wp/doc/tutorial/ptests_local_config.in    |   6 -
 .../doc/tutorial/removecopy/original.axioms   |  22 --
 .../doc/tutorial/removecopy/removecopy.axioms |  22 --
 .../wp/doc/tutorial/removecopy/removecopy.c   |   2 -
 .../wp/doc/tutorial/removecopy/removecopy.h   |   7 -
 .../doc/tutorial/removecopy/removecopy.impl   |  16 --
 .../doc/tutorial/removecopy/removecopy.spec   |  22 --
 .../wp/doc/tutorial/removecopy/removecopy.tex |  40 ----
 .../tutorial/removecopy/removecopy_report.tex |   1 -
 .../wp/doc/tutorial/replacecopy/replacecopy.c |   2 -
 .../wp/doc/tutorial/replacecopy/replacecopy.h |   6 -
 .../doc/tutorial/replacecopy/replacecopy.impl |  19 --
 .../doc/tutorial/replacecopy/replacecopy.spec |  15 --
 .../doc/tutorial/replacecopy/replacecopy.tex  |  21 --
 .../replacecopy/replacecopy_report.tex        |   1 -
 .../wp/doc/tutorial/reversecopy/reverse.c     |   2 -
 .../wp/doc/tutorial/reversecopy/reverse.h     |   7 -
 .../wp/doc/tutorial/reversecopy/reverse.impl  |  33 ---
 .../wp/doc/tutorial/reversecopy/reverse.spec  |   9 -
 .../tutorial/reversecopy/reverse_report.tex   |   1 -
 .../wp/doc/tutorial/reversecopy/reversecopy.c |   2 -
 .../wp/doc/tutorial/reversecopy/reversecopy.h |   6 -
 .../doc/tutorial/reversecopy/reversecopy.impl |  12 -
 .../doc/tutorial/reversecopy/reversecopy.spec |   9 -
 .../doc/tutorial/reversecopy/reversecopy.tex  |  41 ----
 .../reversecopy/reversecopy_report.tex        |   1 -
 .../wp/doc/tutorial/rotatecopy/rotatecopy.c   |   3 -
 .../wp/doc/tutorial/rotatecopy/rotatecopy.h   |   6 -
 .../doc/tutorial/rotatecopy/rotatecopy.impl   |   5 -
 .../doc/tutorial/rotatecopy/rotatecopy.spec   |  13 --
 .../wp/doc/tutorial/rotatecopy/rotatecopy.tex |  21 --
 .../tutorial/rotatecopy/rotatecopy_report.tex |   1 -
 .../wp/doc/tutorial/search/hasrange.spec      |   5 -
 src/plugins/wp/doc/tutorial/search/search.c   |   2 -
 src/plugins/wp/doc/tutorial/search/search.h   |   6 -
 .../wp/doc/tutorial/search/search.impl        |  18 --
 .../wp/doc/tutorial/search/search.spec        |  20 --
 src/plugins/wp/doc/tutorial/search/search.tex |  32 ---
 .../wp/doc/tutorial/search/search_report.tex  |   1 -
 src/plugins/wp/doc/tutorial/summary.report    |   5 -
 src/plugins/wp/doc/tutorial/swap/swap.c       |   2 -
 src/plugins/wp/doc/tutorial/swap/swap.h       |   6 -
 src/plugins/wp/doc/tutorial/swap/swap.impl    |   5 -
 src/plugins/wp/doc/tutorial/swap/swap.spec    |  12 -
 src/plugins/wp/doc/tutorial/swap/swap.tex     |  21 --
 .../wp/doc/tutorial/swap/swap_report.tex      |   1 -
 .../wp/doc/tutorial/swapranges/swapranges.c   |   3 -
 .../wp/doc/tutorial/swapranges/swapranges.h   |   6 -
 .../doc/tutorial/swapranges/swapranges.impl   |  16 --
 .../doc/tutorial/swapranges/swapranges.spec   |  12 -
 .../wp/doc/tutorial/swapranges/swapranges.tex |  26 ---
 .../tutorial/swapranges/swapranges_report.tex |   1 -
 .../swapvalues/swapvalues-withassert.c        |   2 -
 .../swapvalues/swapvalues-withassert.impl     |   6 -
 .../wp/doc/tutorial/swapvalues/swapvalues.c   |   2 -
 .../wp/doc/tutorial/swapvalues/swapvalues.h   |   6 -
 .../doc/tutorial/swapvalues/swapvalues.impl   |   6 -
 .../doc/tutorial/swapvalues/swapvalues.spec   |  22 --
 .../wp/doc/tutorial/swapvalues/swapvalues.tex |  23 --
 .../tutorial/swapvalues/swapvalues_report.tex |   1 -
 .../doc/tutorial/tests/binary/binarysearch.i  |   4 -
 .../wp/doc/tutorial/tests/binary/lowerbound.i |   4 -
 .../binary/oracle/binarysearch.res.oracle     |   9 -
 .../tests/binary/oracle/lowerbound.res.oracle |   9 -
 .../tests/binary/oracle/upperbound.res.oracle |   8 -
 .../wp/doc/tutorial/tests/binary/upperbound.i |   4 -
 .../wp/doc/tutorial/tests/maxmin/compare.i    |   4 -
 .../wp/doc/tutorial/tests/maxmin/maxelt.i     |   4 -
 .../wp/doc/tutorial/tests/maxmin/maxeltp.i    |   4 -
 .../wp/doc/tutorial/tests/maxmin/maxseq.i     |   4 -
 .../wp/doc/tutorial/tests/maxmin/minelt.i     |   4 -
 .../tests/maxmin/oracle/compare.res.oracle    |   7 -
 .../tests/maxmin/oracle/maxelt.res.oracle     |   8 -
 .../tests/maxmin/oracle/maxeltp.res.oracle    |   8 -
 .../tests/maxmin/oracle/maxseq.res.oracle     |   8 -
 .../tests/maxmin/oracle/minelt.res.oracle     |   8 -
 .../wp/doc/tutorial/tests/mutating/copy.i     |   4 -
 .../wp/doc/tutorial/tests/mutating/fill.i     |   4 -
 .../wp/doc/tutorial/tests/mutating/iota.i     |   4 -
 .../tests/mutating/oracle/copy.res.oracle     |   8 -
 .../tests/mutating/oracle/fill.res.oracle     |   9 -
 .../tests/mutating/oracle/iota.res.oracle     |   9 -
 .../mutating/oracle/removecopy.res.oracle     |   8 -
 .../mutating/oracle/replacecopy.res.oracle    |   8 -
 .../tests/mutating/oracle/reverse.res.oracle  |   8 -
 .../mutating/oracle/reversecopy.res.oracle    |   8 -
 .../mutating/oracle/rotatecopy.res.oracle     |   8 -
 .../tests/mutating/oracle/swap.res.oracle     |   8 -
 .../mutating/oracle/swapranges.res.oracle     |   8 -
 .../oracle/swapvalues-withassert.res.oracle   |   8 -
 .../mutating/oracle/swapvalues.res.oracle     |   9 -
 .../mutating/oracle/uniquecopy.res.oracle     |   8 -
 .../doc/tutorial/tests/mutating/removecopy.i  |   4 -
 .../doc/tutorial/tests/mutating/replacecopy.i |   4 -
 .../wp/doc/tutorial/tests/mutating/reverse.i  |   4 -
 .../doc/tutorial/tests/mutating/reversecopy.i |   4 -
 .../doc/tutorial/tests/mutating/rotatecopy.i  |   4 -
 .../wp/doc/tutorial/tests/mutating/swap.i     |   4 -
 .../doc/tutorial/tests/mutating/swapranges.i  |   4 -
 .../tests/mutating/swapvalues-withassert.i    |   4 -
 .../doc/tutorial/tests/mutating/swapvalues.i  |   4 -
 .../doc/tutorial/tests/mutating/uniquecopy.i  |   4 -
 .../doc/tutorial/tests/nonmutating/adjacent.i |   5 -
 .../wp/doc/tutorial/tests/nonmutating/count.i |   4 -
 .../tutorial/tests/nonmutating/eqmismatch.i   |   4 -
 .../wp/doc/tutorial/tests/nonmutating/equal.i |   4 -
 .../tutorial/tests/nonmutating/equal_rte.i    |   4 -
 .../wp/doc/tutorial/tests/nonmutating/find.i  |   4 -
 .../tutorial/tests/nonmutating/findfirst.i    |   4 -
 .../doc/tutorial/tests/nonmutating/mismatch.i |   4 -
 .../nonmutating/oracle/adjacent.res.oracle    |   8 -
 .../tests/nonmutating/oracle/count.res.oracle |   9 -
 .../nonmutating/oracle/eqmismatch.res.oracle  |   8 -
 .../tests/nonmutating/oracle/equal.res.oracle |   8 -
 .../nonmutating/oracle/equal_rte.res.oracle   |   8 -
 .../tests/nonmutating/oracle/find.res.oracle  |   8 -
 .../nonmutating/oracle/findfirst.res.oracle   |   8 -
 .../nonmutating/oracle/mismatch.res.oracle    |   8 -
 .../nonmutating/oracle/search.res.oracle      |   8 -
 .../doc/tutorial/tests/nonmutating/search.i   |   4 -
 src/plugins/wp/doc/tutorial/tests/test_config |   2 -
 .../wp/doc/tutorial/tests/test_config.in      |   2 -
 src/plugins/wp/doc/tutorial/tut_binary.tex    |  30 ---
 src/plugins/wp/doc/tutorial/tut_function.tex  |  12 -
 src/plugins/wp/doc/tutorial/tut_intro.tex     |  49 -----
 src/plugins/wp/doc/tutorial/tut_maxmin.tex    |  10 -
 src/plugins/wp/doc/tutorial/tut_mutating.tex  |  17 --
 src/plugins/wp/doc/tutorial/tut_rationale.tex | 105 ---------
 src/plugins/wp/doc/tutorial/tutorial.tex      |  42 ----
 src/plugins/wp/doc/tutorial/tutorial.tgz      | Bin 8504 -> 0 bytes
 .../doc/tutorial/uniquecopy/original.axioms   |  29 ---
 .../doc/tutorial/uniquecopy/uniquecopy.axioms |  29 ---
 .../wp/doc/tutorial/uniquecopy/uniquecopy.c   |   2 -
 .../wp/doc/tutorial/uniquecopy/uniquecopy.h   |   7 -
 .../doc/tutorial/uniquecopy/uniquecopy.impl   |  24 --
 .../doc/tutorial/uniquecopy/uniquecopy.spec   |  24 --
 .../wp/doc/tutorial/uniquecopy/uniquecopy.tex |  40 ----
 .../tutorial/uniquecopy/uniquecopy_report.tex |   1 -
 .../wp/doc/tutorial/upperbound/upperbound.c   |   2 -
 .../wp/doc/tutorial/upperbound/upperbound.h   |   5 -
 .../doc/tutorial/upperbound/upperbound.impl   |  23 --
 .../doc/tutorial/upperbound/upperbound.spec   |  11 -
 .../wp/doc/tutorial/upperbound/upperbound.tex |  19 --
 .../tutorial/upperbound/upperbound_report.tex |   1 -
 .../wp/share/ergo/int.Exponentiation.mlw      |  50 -----
 src/plugins/wp/share/ergo/int.Power.mlw       |  44 ----
 src/plugins/wp/share/wp.driver                |   1 -
 272 files changed, 3272 deletions(-)
 delete mode 100644 src/plugins/wp/MakeDistrib
 delete mode 100644 src/plugins/wp/Partitioning.ml
 delete mode 100644 src/plugins/wp/Partitioning.mli
 delete mode 100644 src/plugins/wp/PrecisionLoss.mli
 delete mode 100644 src/plugins/wp/REVISION
 delete mode 100644 src/plugins/wp/doc/tutorial/.gitignore
 delete mode 100644 src/plugins/wp/doc/tutorial/Makefile
 delete mode 100644 src/plugins/wp/doc/tutorial/README
 delete mode 100644 src/plugins/wp/doc/tutorial/adjacent/adjacent.c
 delete mode 100644 src/plugins/wp/doc/tutorial/adjacent/adjacent.h
 delete mode 100644 src/plugins/wp/doc/tutorial/adjacent/adjacent.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/adjacent/adjacent.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/adjacent/adjacent.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/adjacent/adjacent_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/adjacent/neighbors.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/binary/binary.h
 delete mode 100644 src/plugins/wp/doc/tutorial/binary/division.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/binary/sorted.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/binarysearch/binarysearch.c
 delete mode 100644 src/plugins/wp/doc/tutorial/binarysearch/binarysearch.h
 delete mode 100644 src/plugins/wp/doc/tutorial/binarysearch/binarysearch.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/binarysearch/binarysearch.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/binarysearch/binarysearch.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/binarysearch/binarysearch_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/compare/compare.c
 delete mode 100644 src/plugins/wp/doc/tutorial/compare/compare.report
 delete mode 100644 src/plugins/wp/doc/tutorial/compare/compare.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/compare/compare.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/compare/compare_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/compare/greater.c
 delete mode 100644 src/plugins/wp/doc/tutorial/compare/greater.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/compare/less.c
 delete mode 100644 src/plugins/wp/doc/tutorial/compare/less.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/console.report
 delete mode 100644 src/plugins/wp/doc/tutorial/copy/copy.c
 delete mode 100644 src/plugins/wp/doc/tutorial/copy/copy.h
 delete mode 100644 src/plugins/wp/doc/tutorial/copy/copy.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/copy/copy.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/copy/copy.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/copy/copy_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/count/count.axioms
 delete mode 100644 src/plugins/wp/doc/tutorial/count/count.c
 delete mode 100644 src/plugins/wp/doc/tutorial/count/count.h
 delete mode 100644 src/plugins/wp/doc/tutorial/count/count.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/count/count.lemma
 delete mode 100644 src/plugins/wp/doc/tutorial/count/count.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/count/count.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/count/count_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/count/original.axioms
 delete mode 100644 src/plugins/wp/doc/tutorial/equal/equal.c
 delete mode 100644 src/plugins/wp/doc/tutorial/equal/equal.h
 delete mode 100644 src/plugins/wp/doc/tutorial/equal/equal.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/equal/equal.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/equal/equal.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/equal/equal_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/equal/equal_rte_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/fill/fill.c
 delete mode 100644 src/plugins/wp/doc/tutorial/fill/fill.h
 delete mode 100644 src/plugins/wp/doc/tutorial/fill/fill.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/fill/fill.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/fill/fill.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/fill/fill_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/find/find.c
 delete mode 100644 src/plugins/wp/doc/tutorial/find/find.h
 delete mode 100644 src/plugins/wp/doc/tutorial/find/find.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/find/find.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/find/find.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/find/find_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/find/hasvalue.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/findfirst/findfirst.c
 delete mode 100644 src/plugins/wp/doc/tutorial/findfirst/findfirst.h
 delete mode 100644 src/plugins/wp/doc/tutorial/findfirst/findfirst.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/findfirst/findfirst.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/findfirst/findfirst.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/findfirst/findfirst_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/findfirst/hasvalueof.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/iota/iota.c
 delete mode 100644 src/plugins/wp/doc/tutorial/iota/iota.h
 delete mode 100644 src/plugins/wp/doc/tutorial/iota/iota.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/iota/iota.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/iota/iota.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/iota/iota_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/library.h
 delete mode 100644 src/plugins/wp/doc/tutorial/library.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/lowerbound/lowerbound.c
 delete mode 100644 src/plugins/wp/doc/tutorial/lowerbound/lowerbound.h
 delete mode 100644 src/plugins/wp/doc/tutorial/lowerbound/lowerbound.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/lowerbound/lowerbound.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/lowerbound/lowerbound.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/lowerbound/lowerbound_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/maxelt/maxelt.c
 delete mode 100644 src/plugins/wp/doc/tutorial/maxelt/maxelt.h
 delete mode 100644 src/plugins/wp/doc/tutorial/maxelt/maxelt.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/maxelt/maxelt.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/maxelt/maxelt.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/maxelt/maxelt_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/maxeltp/maxelt.c
 delete mode 100644 src/plugins/wp/doc/tutorial/maxeltp/maxelt.h
 delete mode 100644 src/plugins/wp/doc/tutorial/maxeltp/maxelt.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/maxeltp/maxelt.report
 delete mode 100644 src/plugins/wp/doc/tutorial/maxeltp/maxelt.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/maxeltp/maxelt.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/maxeltp/maxelt_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/maxeltp/maximum.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/maxseq/maxseq.c
 delete mode 100644 src/plugins/wp/doc/tutorial/maxseq/maxseq.h
 delete mode 100644 src/plugins/wp/doc/tutorial/maxseq/maxseq.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/maxseq/maxseq.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/maxseq/maxseq.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/maxseq/maxseq_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/minelt/minelt.c
 delete mode 100644 src/plugins/wp/doc/tutorial/minelt/minelt.h
 delete mode 100644 src/plugins/wp/doc/tutorial/minelt/minelt.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/minelt/minelt.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/minelt/minelt.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/minelt/minelt_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/mismatch/eqmismatch.report
 delete mode 100644 src/plugins/wp/doc/tutorial/mismatch/eqmismatch_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/mismatch/equal.c
 delete mode 100644 src/plugins/wp/doc/tutorial/mismatch/mismatch.c
 delete mode 100644 src/plugins/wp/doc/tutorial/mismatch/mismatch.h
 delete mode 100644 src/plugins/wp/doc/tutorial/mismatch/mismatch.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/mismatch/mismatch.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/mismatch/mismatch.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/mismatch/mismatch_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/ptests_local_config.in
 delete mode 100644 src/plugins/wp/doc/tutorial/removecopy/original.axioms
 delete mode 100644 src/plugins/wp/doc/tutorial/removecopy/removecopy.axioms
 delete mode 100644 src/plugins/wp/doc/tutorial/removecopy/removecopy.c
 delete mode 100644 src/plugins/wp/doc/tutorial/removecopy/removecopy.h
 delete mode 100644 src/plugins/wp/doc/tutorial/removecopy/removecopy.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/removecopy/removecopy.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/removecopy/removecopy.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/removecopy/removecopy_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/replacecopy/replacecopy.c
 delete mode 100644 src/plugins/wp/doc/tutorial/replacecopy/replacecopy.h
 delete mode 100644 src/plugins/wp/doc/tutorial/replacecopy/replacecopy.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/replacecopy/replacecopy.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/replacecopy/replacecopy.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/replacecopy/replacecopy_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reverse.c
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reverse.h
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reverse.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reverse.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reverse_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reversecopy.c
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reversecopy.h
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reversecopy.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reversecopy.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reversecopy.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/reversecopy/reversecopy_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.c
 delete mode 100644 src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.h
 delete mode 100644 src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/search/hasrange.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/search/search.c
 delete mode 100644 src/plugins/wp/doc/tutorial/search/search.h
 delete mode 100644 src/plugins/wp/doc/tutorial/search/search.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/search/search.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/search/search.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/search/search_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/summary.report
 delete mode 100644 src/plugins/wp/doc/tutorial/swap/swap.c
 delete mode 100644 src/plugins/wp/doc/tutorial/swap/swap.h
 delete mode 100644 src/plugins/wp/doc/tutorial/swap/swap.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/swap/swap.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/swap/swap.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/swap/swap_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/swapranges/swapranges.c
 delete mode 100644 src/plugins/wp/doc/tutorial/swapranges/swapranges.h
 delete mode 100644 src/plugins/wp/doc/tutorial/swapranges/swapranges.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/swapranges/swapranges.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/swapranges/swapranges.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/swapranges/swapranges_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/swapvalues/swapvalues-withassert.c
 delete mode 100644 src/plugins/wp/doc/tutorial/swapvalues/swapvalues-withassert.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/swapvalues/swapvalues.c
 delete mode 100644 src/plugins/wp/doc/tutorial/swapvalues/swapvalues.h
 delete mode 100644 src/plugins/wp/doc/tutorial/swapvalues/swapvalues.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/swapvalues/swapvalues.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/swapvalues/swapvalues.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/swapvalues/swapvalues_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/binary/binarysearch.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/binary/lowerbound.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/binary/oracle/binarysearch.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/binary/oracle/lowerbound.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/binary/oracle/upperbound.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/binary/upperbound.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/maxmin/compare.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/maxmin/maxelt.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/maxmin/maxeltp.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/maxmin/maxseq.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/maxmin/minelt.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/maxmin/oracle/compare.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxelt.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxeltp.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxseq.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/maxmin/oracle/minelt.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/copy.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/fill.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/iota.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/copy.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/fill.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/iota.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/removecopy.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/replacecopy.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/reverse.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/reversecopy.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/rotatecopy.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/swap.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapranges.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapvalues-withassert.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapvalues.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/oracle/uniquecopy.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/removecopy.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/replacecopy.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/reverse.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/reversecopy.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/rotatecopy.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/swap.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/swapranges.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/swapvalues-withassert.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/swapvalues.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/mutating/uniquecopy.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/adjacent.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/count.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/eqmismatch.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/equal.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/equal_rte.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/find.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/findfirst.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/mismatch.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/adjacent.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/count.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/eqmismatch.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/equal.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/equal_rte.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/find.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/findfirst.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/mismatch.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/search.res.oracle
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/nonmutating/search.i
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/test_config
 delete mode 100644 src/plugins/wp/doc/tutorial/tests/test_config.in
 delete mode 100644 src/plugins/wp/doc/tutorial/tut_binary.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/tut_function.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/tut_intro.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/tut_maxmin.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/tut_mutating.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/tut_rationale.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/tutorial.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/tutorial.tgz
 delete mode 100644 src/plugins/wp/doc/tutorial/uniquecopy/original.axioms
 delete mode 100644 src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.axioms
 delete mode 100644 src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.c
 delete mode 100644 src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.h
 delete mode 100644 src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy_report.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/upperbound/upperbound.c
 delete mode 100644 src/plugins/wp/doc/tutorial/upperbound/upperbound.h
 delete mode 100644 src/plugins/wp/doc/tutorial/upperbound/upperbound.impl
 delete mode 100644 src/plugins/wp/doc/tutorial/upperbound/upperbound.spec
 delete mode 100644 src/plugins/wp/doc/tutorial/upperbound/upperbound.tex
 delete mode 100644 src/plugins/wp/doc/tutorial/upperbound/upperbound_report.tex
 delete mode 100644 src/plugins/wp/share/ergo/int.Exponentiation.mlw
 delete mode 100644 src/plugins/wp/share/ergo/int.Power.mlw

diff --git a/src/plugins/wp/MakeDistrib b/src/plugins/wp/MakeDistrib
deleted file mode 100644
index 3f0d12127b3..00000000000
--- a/src/plugins/wp/MakeDistrib
+++ /dev/null
@@ -1,55 +0,0 @@
-# --------------------------------------------------------------------------
-# ---  Makefile for WP Distribution                                      ---
-# ---  Do not distribute this file                                       ---
-# --------------------------------------------------------------------------
-
-.PHONY: doc changes headers instructions distrib
-
-TARBALL=wp-$(WP_VERSION)-$(WP_KERNEL)
-MANUAL=doc/WP-$(WP_VERSION).pdf
-WPINSTALL=install-wp-$(WP_VERSION)-$(WP_KERNEL).prehtml
-
-HEADERS= \
-	Makefile.in configure.ac \
-	*.ml *.mll *.mli \
-	$(MODELS)
-
-DISTRIB_FILES:= \
-	README INSTALL $(MANUAL) licenses/LGPLv2.1 \
-	Makefile.in configure.ac configure .depend \
-	*.ml *.mll *.mli $(MODELS)
-
-distrib: $(DISTRIB_FILES) headers instructions
-	@echo "Preparing distribution"
-	@rm -fr tmp.tar $(TARBALL) $(TARBALL).tgz
-	@tar cf tmp.tar $(DISTRIB_FILES)
-	@mkdir $(TARBALL)
-	@tar xf tmp.tar -C $(TARBALL)
-	@echo "Archive $(TARBALL).tgz"
-	@tar zcf $(TARBALL).tgz $(TARBALL)
-	@rm -fr tmp.tar $(TARBALL)
-	@echo "Distribute '$(TARBALL).tgz' into '<distrib>/download/$(TARBALL).tar.gz'"
-	@echo "Distribute '$(MANUAL)' into '<distrib>/download/frama-c-wp-manual.pdf'"
-	@echo "Distribute '$(MANUAL)' into '<distrib>/download/wp-$(WP_VERSION)-$(WP_KERNEL).pdf'"
-	@echo "Distribute '$(WPINSTALL)' into '<trunk>/doc/www/src/"
-	@echo "Distribute 'Changelog' into '<trunk>/doc/www/src/wpChangelog'"
-
-instructions:
-	@echo "Installation instructions"
-	@ocaml htmlfilter.ml < INSTALL > $(WPINSTALL)
-
-headers::
-	@echo "Applying Headers"
-	@headache -c headers/headache_config.txt -h headers/open-source/CEA_LGPL $(HEADERS)
-
-doc/WP-$(WP_VERSION).pdf: doc
-
-doc::
-	@echo "WP $(WP_VERSION) Manual"
-	@make -C doc/manual
-	@cp -f doc/manual/wp.pdf doc/WP-$(WP_VERSION).pdf
-
-changes:
-	changelog -html /usr/local/shared/changelog -plugin WP -o Changelog.html Changelog
-
-# --------------------------------------------------------------------------
diff --git a/src/plugins/wp/Partitioning.ml b/src/plugins/wp/Partitioning.ml
deleted file mode 100644
index d8490466d97..00000000000
--- a/src/plugins/wp/Partitioning.ml
+++ /dev/null
@@ -1,163 +0,0 @@
-(**************************************************************************)
-(*                                                                        *)
-(*  This file is part of WP plug-in of Frama-C.                           *)
-(*                                                                        *)
-(*  Copyright (C) 2007-2019                                               *)
-(*    CEA (Commissariat a l'energie atomique et aux energies              *)
-(*         alternatives)                                                  *)
-(*                                                                        *)
-(*  you can redistribute it and/or modify it under the terms of the GNU   *)
-(*  Lesser General Public License as published by the Free Software       *)
-(*  Foundation, version 2.1.                                              *)
-(*                                                                        *)
-(*  It is distributed in the hope that it will be useful,                 *)
-(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
-(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
-(*  GNU Lesser General Public License for more details.                   *)
-(*                                                                        *)
-(*  See the GNU Lesser General Public License version 2.1                 *)
-(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
-(*                                                                        *)
-(**************************************************************************)
-
-(* -------------------------------------------------------------------------- *)
-(* --- Variables Partitioning                                             --- *)
-(* -------------------------------------------------------------------------- *)
-
-open Qed.Logic
-open Lang
-open Lang.F
-
-type partition = {
-  mutable color : var Vmap.t ;
-  mutable depend : Vars.t Vmap.t ;
-  mutable mem : var Tmap.t ;
-}
-
-let zero = Var.dummy
-let create () = {
-  color = Vmap.empty ;
-  depend = Vmap.empty ;
-  mem = Tmap.empty ;
-}
-
-(* -------------------------------------------------------------------------- *)
-(* --- Current Partition                                                  --- *)
-(* -------------------------------------------------------------------------- *)
-
-let rec color w x =
-  try
-    let y = Vmap.find x w.color in
-    let z = color w y in
-    if z != y then w.color <- Vmap.add x z w.color ; z
-  with Not_found -> x
-
-let depend w x =
-  try Vmap.find (color w x) w.depend
-  with Not_found -> Vars.empty
-
-(* -------------------------------------------------------------------------- *)
-(* --- Unification & Dependencies                                         --- *)
-(* -------------------------------------------------------------------------- *)
-
-(* keep x, bind y *)
-let merge w x y =
-  w.color <- Vmap.add y x w.color ;
-  let xs = depend w x in
-  let ys = depend w y in
-  let zs = Vars.union xs ys in
-  w.depend <- Vmap.add x zs (Vmap.remove y w.depend)
-
-let unify w x y =
-  if x == zero then y else
-  if y == zero then x else
-    let x = color w x in
-    let y = color w y in
-    let cmp = Var.compare x y in
-    if cmp < 0 then (merge w x y ; x) else
-    if cmp > 0 then (merge w y x ; y) else
-      x
-
-let add_depend w x xs =
-  let x = color w x in
-  let ys = depend w x in
-  w.depend <- Vmap.add x (Vars.union xs ys) w.depend
-
-(* -------------------------------------------------------------------------- *)
-(* --- Segregation                                                        --- *)
-(* -------------------------------------------------------------------------- *)
-
-let is_varray x = match Var.sort x with Sarray _ -> true | _ -> false
-
-let color_of w c e =
-  let ms,xs = Vars.partition is_varray (F.vars e) in
-  let c = Vars.fold (unify w) ms c in
-  let d = Vars.fold (unify w) xs zero in
-  if c == zero then d else
-    (if d != zero then add_depend w c (Vars.singleton d) ; c)
-
-(* -------------------------------------------------------------------------- *)
-(* --- Collection                                                         --- *)
-(* -------------------------------------------------------------------------- *)
-
-let rec collect w p =
-  match F.repr p with
-  | Eq(a,b) | Leq(a,b) | Lt(a,b) | Neq(a,b) ->
-      let ca = color_of w zero a in
-      let cb = color_of w zero b in
-      ignore (unify w ca cb)
-  | Fun(_,es) ->
-      ignore
-        (List.fold_left
-           (fun c e ->
-              let ce = color_of w zero e in
-              unify w c ce)
-           zero es)
-  | And ps | Or ps -> List.iter (collect w) ps
-  | Not p -> collect w p
-  | Imply(hs,p) -> List.iter (collect w) (p::hs)
-  | Bind(_,_,p) -> collect w (lc_repr p)
-  | _ -> ignore (color_of w zero p)
-
-let collect w p = collect w (F.e_bool p)
-
-(* -------------------------------------------------------------------------- *)
-(* --- Partition                                                          --- *)
-(* -------------------------------------------------------------------------- *)
-
-type classeq = partition * Vars.t
-
-(* dependencies must be normalized *)
-let rec closure w x xs =
-  let x = color w x in
-  if Vars.mem x xs then xs else
-    Vars.fold (closure w) (depend w x) (Vars.add x xs)
-
-let classes w =
-  w.depend <- Vmap.map (fun _ xs -> Vars.map (color w) xs) w.depend ;
-  Vars.fold
-    (fun x cs -> ( w , closure w x Vars.empty ) :: cs)
-    (Vmap.fold
-       (fun _ x xs -> Vars.add (color w x) xs)
-       w.color Vars.empty)
-    []
-
-(* Tautologies: False ==> P and P ==> True for all P *)
-(* Requires: filter false p ==> p *)
-(* Requires: p ==> filter true p *)
-let rec filter w positive xs p =
-  match F.pred p with
-  | And ps -> F.p_all (filter w positive xs) ps
-  | Or ps -> F.p_any (filter w positive xs) ps
-  | Not p -> F.p_not (filter w (not positive) xs p)
-  | Imply(hs,p) ->
-      let hs = List.map (filter w (not positive) xs) hs in
-      F.p_hyps hs (filter w positive xs p)
-  | Bind(q,x,p) -> F.p_bind q x (filter w positive (Vars.add x xs) p)
-  | _ ->
-      if Vars.exists (fun x -> Vars.mem (color w x) xs) (F.varsp p)
-      then p
-      else if positive then p_true else p_false
-
-let filter_hyp (w,xs) = filter w true xs
-let filter_goal (w,xs) = filter w false xs
diff --git a/src/plugins/wp/Partitioning.mli b/src/plugins/wp/Partitioning.mli
deleted file mode 100644
index ae3501d9293..00000000000
--- a/src/plugins/wp/Partitioning.mli
+++ /dev/null
@@ -1,38 +0,0 @@
-(**************************************************************************)
-(*                                                                        *)
-(*  This file is part of WP plug-in of Frama-C.                           *)
-(*                                                                        *)
-(*  Copyright (C) 2007-2019                                               *)
-(*    CEA (Commissariat a l'energie atomique et aux energies              *)
-(*         alternatives)                                                  *)
-(*                                                                        *)
-(*  you can redistribute it and/or modify it under the terms of the GNU   *)
-(*  Lesser General Public License as published by the Free Software       *)
-(*  Foundation, version 2.1.                                              *)
-(*                                                                        *)
-(*  It is distributed in the hope that it will be useful,                 *)
-(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
-(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
-(*  GNU Lesser General Public License for more details.                   *)
-(*                                                                        *)
-(*  See the GNU Lesser General Public License version 2.1                 *)
-(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
-(*                                                                        *)
-(**************************************************************************)
-
-(* -------------------------------------------------------------------------- *)
-(* --- Variables Cleaning                                                 --- *)
-(* -------------------------------------------------------------------------- *)
-
-open Cil_types
-open Lang
-open Lang.F
-
-type partition
-type classeq
-
-val create : unit -> partition
-val collect : partition -> F.pred -> unit
-val classes : partition -> classeq list
-val filter_hyp : classeq -> F.pred -> F.pred
-val filter_goal : classeq -> F.pred -> F.pred
diff --git a/src/plugins/wp/PrecisionLoss.mli b/src/plugins/wp/PrecisionLoss.mli
deleted file mode 100644
index 791197b43d9..00000000000
--- a/src/plugins/wp/PrecisionLoss.mli
+++ /dev/null
@@ -1,37 +0,0 @@
-(**************************************************************************)
-(*                                                                        *)
-(*  This file is part of WP plug-in of Frama-C.                           *)
-(*                                                                        *)
-(*  Copyright (C) 2007-2019                                               *)
-(*    CEA (Commissariat a l'energie atomique et aux energies              *)
-(*         alternatives)                                                  *)
-(*                                                                        *)
-(*  you can redistribute it and/or modify it under the terms of the GNU   *)
-(*  Lesser General Public License as published by the Free Software       *)
-(*  Foundation, version 2.1.                                              *)
-(*                                                                        *)
-(*  It is distributed in the hope that it will be useful,                 *)
-(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
-(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
-(*  GNU Lesser General Public License for more details.                   *)
-(*                                                                        *)
-(*  See the GNU Lesser General Public License version 2.1                 *)
-(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
-(*                                                                        *)
-(**************************************************************************)
-
-open Qed.Logic
-open Lang
-open Conditions
-open Epsilon
-
-type term = F.term
-
-type system
-val fixpoint : system -> int -> int
-val assume : system -> term -> unit
-val target : system -> term -> unit
-
-val dump : Format.formatter -> system -> unit
-
-class simplifier : Conditions.simplifier
diff --git a/src/plugins/wp/REVISION b/src/plugins/wp/REVISION
deleted file mode 100644
index 083a9563227..00000000000
--- a/src/plugins/wp/REVISION
+++ /dev/null
@@ -1,18 +0,0 @@
-# --------------------------------------------------------------------------
-# ---  REVISION HISTORY                                                  ---
-# --------------------------------------------------------------------------
-
-R11810  create wp/carbon
-R11881  create wp/work-record
-R12158  create wp/work/engine
-R12896  moveto wp/main
-R12978  main development branch (against trunk kernel)
-R12975  merged with trunk
-R13113  create wp/work/init
-R13372  merged with trunk
-R13474  merged with trunk
-R13504  merged with trunk
-R13540  merged with wp/work/init
-R13543  plugins/wp/main back into trunk/src/wp
-R13553  create wp/work/HoareRef
-R14288  merged wp/work/HoareRef into trunk/scr/wp
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/.gitignore b/src/plugins/wp/doc/tutorial/.gitignore
deleted file mode 100644
index d38b2f1f1b7..00000000000
--- a/src/plugins/wp/doc/tutorial/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-/tutorial.pdf
-/cealistlogo.jpg
-/frama-c-book.cls
-/frama-c-cover.pdf
-/frama-c-left.pdf
-/frama-c-right.pdf
-/feedback/
-/tests/test_config
-/tests/ptests_config
-/tests/*/result
diff --git a/src/plugins/wp/doc/tutorial/Makefile b/src/plugins/wp/doc/tutorial/Makefile
deleted file mode 100644
index ccecf0ee412..00000000000
--- a/src/plugins/wp/doc/tutorial/Makefile
+++ /dev/null
@@ -1,207 +0,0 @@
-# --------------------------------------------------------------------------
-# ---  WP User & Reference Manual                                        ---
-# --------------------------------------------------------------------------
-
-.PHONY: all clean
-
-all: tutorial.pdf
-
-include ../MakeDoc
-
-TEX= \
-	tutorial.tex \
-	tut_intro.tex \
-	tut_function.tex \
-	tut_maxmin.tex \
-	tut_binary.tex \
-	tut_rationale.tex \
-	tut_mutating.tex \
-	library.spec \
-	equal/equal.tex \
-	equal/equal.spec \
-	equal/equal.impl \
-	mismatch/mismatch.tex \
-	mismatch/mismatch.spec \
-	mismatch/mismatch.impl \
-	mismatch/equal.c \
-	find/find.tex \
-	find/hasvalue.spec \
-	find/find.spec \
-	find/find.impl \
-	findfirst/findfirst.tex \
-	findfirst/hasvalueof.spec \
-	findfirst/findfirst.spec \
-	findfirst/findfirst.impl \
-	adjacent/adjacent.tex \
-	adjacent/neighbors.spec \
-	adjacent/adjacent.spec \
-	adjacent/adjacent.impl \
-	count/count.tex \
-	count/count.axioms \
-	count/count.lemma \
-	count/count.axioms \
-	count/count.spec \
-	count/count.impl \
-	search/search.tex \
-	search/hasrange.spec \
-	search/search.spec \
-	search/search.impl \
-	compare/compare.tex \
-	compare/less.spec \
-	compare/greater.spec \
-	maxelt/maxelt.tex \
-	maxelt/maxelt.spec \
-	maxelt/maxelt.impl \
-	maxeltp/maxelt.tex \
-	maxeltp/maximum.spec \
-	maxeltp/maxelt.spec \
-	maxeltp/maxelt.impl \
-	maxseq/maxseq.tex \
-	maxseq/maxseq.spec \
-	maxseq/maxseq.impl \
-	minelt/minelt.tex \
-	minelt/minelt.spec \
-	minelt/minelt.impl \
-	binary/sorted.spec \
-	binary/division.spec \
-	lowerbound/lowerbound.tex \
-	lowerbound/lowerbound.spec \
-	lowerbound/lowerbound.impl \
-	upperbound/upperbound.tex \
-	upperbound/upperbound.spec \
-	upperbound/upperbound.impl \
-	binarysearch/binarysearch.tex \
-	binarysearch/binarysearch.spec \
-	binarysearch/binarysearch.impl \
-	fill/fill.tex \
-	fill/fill.spec \
-	fill/fill.impl \
-	swap/swap.tex \
-	swap/swap.spec \
-	swap/swap.impl \
-	swapvalues/swapvalues.tex \
-	swapvalues/swapvalues.spec \
-	swapvalues/swapvalues.impl \
-	swapranges/swapranges.tex \
-	swapranges/swapranges.spec \
-	swapranges/swapranges.impl \
-	copy/copy.tex \
-	copy/copy.spec \
-	copy/copy.impl \
-	reversecopy/reversecopy.tex \
-	reversecopy/reversecopy.spec \
-	reversecopy/reversecopy.impl \
-	reversecopy/reverse.spec \
-	reversecopy/reverse.impl \
-	rotatecopy/rotatecopy.tex \
-	rotatecopy/rotatecopy.spec \
-	rotatecopy/rotatecopy.impl \
-	replacecopy/replacecopy.tex \
-	replacecopy/replacecopy.spec \
-	replacecopy/replacecopy.impl \
-	removecopy/removecopy.tex \
-	removecopy/removecopy.spec \
-	removecopy/removecopy.impl \
-	removecopy/removecopy.axioms \
-	removecopy/original.axioms \
-	uniquecopy/uniquecopy.tex \
-	uniquecopy/uniquecopy.spec \
-	uniquecopy/uniquecopy.impl \
-	uniquecopy/uniquecopy.axioms \
-	uniquecopy/original.axioms \
-	iota/iota.tex \
-	iota/iota.spec \
-	iota/iota.impl \
-
-NONMUTATING= \
-	equal equal_rte mismatch eqmismatch \
-	find findfirst adjacent \
-	count search
-
-MAXMIN= compare maxelt maxeltp minelt maxseq
-BINARY= lowerbound upperbound binarysearch
-MUTATING= \
-	fill swap
-
-ORACLES= \
-	$(addprefix tests/nonmutating/oracle/, $(addsuffix .res.oracle, $(NONMUTATING))) \
-	$(addprefix tests/maxmin/oracle/, $(addsuffix .res.oracle, $(MAXMIN))) \
-	$(addprefix tests/binary/oracle/, $(addsuffix .res.oracle, $(BINARY))) \
-	$(addprefix tests/mutating/oracle/, $(addsuffix .res.oracle, $(MUTATING))) \
-
-OLD= \
-	swapvalues/swapvalues.log \
-	swapvalues/swapvalues-withassert.log \
-	swapranges/swapranges.log \
-	copy/copy.log \
-	reversecopy/reversecopy.log \
-	reversecopy/reverse.log \
-	rotatecopy/rotatecopy.log \
-	replacecopy/replacecopy.log \
-	removecopy/removecopy.log \
-	uniquecopy/uniquecopy.log \
-	iota/iota.log \
-
-# --------------------------------------------------------------------------
-# ---  General                                                           ---
-# --------------------------------------------------------------------------
-
-clean::
-	@echo "Cleaning Tutorial"
-	rm -f tutorial.pdf *.cb *.cb2 *.log *.out *.toc *.aux *.blg *.bbl *~
-
-tutorial.pdf: $(FRAMAC_DOC) $(TEX) $(SOURCE) $(ORACLES)
-	rubber -d tutorial
-
-# --------------------------------------------------------------------------
-# ---  Generated Logs via ptests                                         ---
-# --------------------------------------------------------------------------
-
-.PHONY: config tests kdiff3 update
-
-tests: config
-	ptests.opt -j 2
-
-kdiff3: config
-	ptests.opt -j 2 -diff kdiff3
-
-update: config
-	ptests.opt -update
-
-
-config: tests/test_config tests/ptests_config
-
-LIB_PATH=`frama-c -print-lib-path`
-SHARE_PATH=`frama-c -print-share-path`
-
-tests/test_config: tests/test_config.in
-	rm -f $@
-	@echo "SED $< ->  $@"
-	sed "s|@LIB_PATH@|-add-path ${LIB_PATH}/plugins -add-path .|" $< > $@
-	chmod -f a-w $@
-
-tests/ptests_config: ptests_local_config.in
-	rm -f $@
-	@echo "SED $< ->  $@"
-	sed "s|@LIB_PATH@|${LIB_PATH}|" $< \
-	| sed "s|@SHARE_PATH@|${SHARE_PATH}|" > $@
-	chmod -f a-w $@
-
-# --------------------------------------------------------------------------
-# ---  ZIP of Examples
-# --------------------------------------------------------------------------
-
-.PHONY: archive
-
-archive:
-	cd .. && (find tutorial -name "README" -or -name "*.spec" -or -name "*.impl" -or -name "*.h" -or -name "*.c" | \
-        xargs tar zcf tutorial/tutorial.tgz)
-
-# --------------------------------------------------------------------------
-.PHONY: help
-
-help:
-	@echo "step 1: make tests   -> Runs tests"
-	@echo "step 2: make update  -> Updates oracles (ptests -update)"
-	@echo "step 3: make all     -> Build tutorial.pdf file from oracles"
-	@echo "step 4: make archive -> Build tutorial.tgz archive file"
diff --git a/src/plugins/wp/doc/tutorial/README b/src/plugins/wp/doc/tutorial/README
deleted file mode 100644
index e5c1c8bbdc0..00000000000
--- a/src/plugins/wp/doc/tutorial/README
+++ /dev/null
@@ -1,15 +0,0 @@
-----------------------------------------------------------
-SOURCE EXAMPLES FOR FRAMA-C WP 0.5 TUTORIAL
-
-http://frama-c.com
-----------------------------------------------------------
-LICENSE INFORMATION
-
-The example source files in the present archive are 
-inspired from the book "ACSL By Example",
-produced by the Fraunhofer FIRST Institute for 
-the Device-Soft project.
-
-"ACSL By Example" Version 7.1.0 of December 2011, 
-http://www.first.fraunhofer.de
-----------------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/adjacent/adjacent.c b/src/plugins/wp/doc/tutorial/adjacent/adjacent.c
deleted file mode 100644
index 9b1e6753259..00000000000
--- a/src/plugins/wp/doc/tutorial/adjacent/adjacent.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "adjacent.h"
-#include "adjacent.impl"
diff --git a/src/plugins/wp/doc/tutorial/adjacent/adjacent.h b/src/plugins/wp/doc/tutorial/adjacent/adjacent.h
deleted file mode 100644
index 3e6373ebea8..00000000000
--- a/src/plugins/wp/doc/tutorial/adjacent/adjacent.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef ADJACENT_H
-#define ADJACENT_H
-#include "../library.h"
-#include "neighbors.spec"
-#include "adjacent.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/adjacent/adjacent.impl b/src/plugins/wp/doc/tutorial/adjacent/adjacent.impl
deleted file mode 100644
index 3540a564c33..00000000000
--- a/src/plugins/wp/doc/tutorial/adjacent/adjacent.impl
+++ /dev/null
@@ -1,15 +0,0 @@
-size_type adjacent_find(const value_type* a, size_type n)
-{
-  if (0==n) return n ;
-
-  /*@ 
-    loop invariant 0 <= i < n; 
-    loop invariant !HasEqualNeighbors(a, i+1); 
-    loop assigns i;
-    loop variant n-i; 
-  */ 
-  for (size_type i = 0; i < n-1; i++) 
-    if (a[i] == a[i+1]) 
-      return i; 
-  return n;
-}
diff --git a/src/plugins/wp/doc/tutorial/adjacent/adjacent.spec b/src/plugins/wp/doc/tutorial/adjacent/adjacent.spec
deleted file mode 100644
index 5f2b995c955..00000000000
--- a/src/plugins/wp/doc/tutorial/adjacent/adjacent.spec
+++ /dev/null
@@ -1,18 +0,0 @@
-/*@ 
-  requires IsValidRange(a, n); 
-  assigns \nothing; 
- 
-  behavior some:
-    assumes HasEqualNeighbors(a, n); 
-    ensures 0 <= \result < n-1 ; 
-    ensures a[\result] == a[\result+1]; 
-    ensures !HasEqualNeighbors(a, \result); 
-
-  behavior none:
-    assumes !HasEqualNeighbors(a, n); 
-    ensures \result == n; 
- 
-  complete behaviors; 
-  disjoint behaviors; 
-*/
-size_type adjacent_find(const value_type* a, size_type n) ;
diff --git a/src/plugins/wp/doc/tutorial/adjacent/adjacent.tex b/src/plugins/wp/doc/tutorial/adjacent/adjacent.tex
deleted file mode 100644
index 2b1e8d088d5..00000000000
--- a/src/plugins/wp/doc/tutorial/adjacent/adjacent.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\section{The \textsf{adjacent-find} Algorithm}
-\label{adjacent-find}
-
-This algorithm looks for the first two consecutive equal elements in a sequence.
-The formal definition of equal neighbors is:
-
-\listingname{adjacent.h}
-\cinput{adjacent/neighbors.spec}
-
-The specification of the algorithm is:
-
-\listingname{adjacent.h}
-\cinput{adjacent/adjacent.spec}
-
-The implementation of the algorithm is:
-
-\listingname{adjacent.c}
-\cinput{adjacent/adjacent.impl}
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in:
-\fclogs{nonmutating}{adjacent}
-
diff --git a/src/plugins/wp/doc/tutorial/adjacent/adjacent_report.tex b/src/plugins/wp/doc/tutorial/adjacent/adjacent_report.tex
deleted file mode 100644
index b8d4ece1619..00000000000
--- a/src/plugins/wp/doc/tutorial/adjacent/adjacent_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+adjacent_find+ & 23 & 11 & 12 & 100\% (95) \\
diff --git a/src/plugins/wp/doc/tutorial/adjacent/neighbors.spec b/src/plugins/wp/doc/tutorial/adjacent/neighbors.spec
deleted file mode 100644
index d883104e0c5..00000000000
--- a/src/plugins/wp/doc/tutorial/adjacent/neighbors.spec
+++ /dev/null
@@ -1,4 +0,0 @@
-/*@ 
-  predicate HasEqualNeighbors{A}(value_type* a, integer n) = 
-    \exists integer i; 0 <= i < n-1 && a[i] == a[i+1];
-*/
diff --git a/src/plugins/wp/doc/tutorial/binary/binary.h b/src/plugins/wp/doc/tutorial/binary/binary.h
deleted file mode 100644
index 1e7c98964ac..00000000000
--- a/src/plugins/wp/doc/tutorial/binary/binary.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef BINARY_H
-#define BINARY_H
-#include "../library.h"
-#include "sorted.spec"
-#include "division.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/binary/division.spec b/src/plugins/wp/doc/tutorial/binary/division.spec
deleted file mode 100644
index 579961aff2e..00000000000
--- a/src/plugins/wp/doc/tutorial/binary/division.spec
+++ /dev/null
@@ -1,7 +0,0 @@
-/*@
-  axiomatic Division {
-    axiom div: \forall integer i; 0 <= i ==> 0 <= 2*(i/2) <= i;
-    axiom dec: \forall integer a; 0 <= a ==> 0 <= (a/2) <= a ;
-    axiom mean: \forall integer a,b; a <= a + (b-a)/2 <= b ;
-  }
-*/
diff --git a/src/plugins/wp/doc/tutorial/binary/sorted.spec b/src/plugins/wp/doc/tutorial/binary/sorted.spec
deleted file mode 100644
index 17abd7b7138..00000000000
--- a/src/plugins/wp/doc/tutorial/binary/sorted.spec
+++ /dev/null
@@ -1,4 +0,0 @@
-/*@
-  predicate IsSorted{L}(value_type* a, integer n) =
-    \forall integer i,j; 0<=i<=j<n ==> a[i]<=a[j];
-*/
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.c b/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.c
deleted file mode 100644
index 772f73fa216..00000000000
--- a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "binarysearch.h"
-#include "../lowerbound/lowerbound.h"
-#include "binarysearch.impl"
diff --git a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.h b/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.h
deleted file mode 100644
index ad348d2f1d4..00000000000
--- a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef BINARYSEARCH_H
-#define BINARYSEARCH_H
-#include "../library.h"
-#include "../find/hasvalue.spec"
-#include "../binary/binary.h"
-#include "binarysearch.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.impl b/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.impl
deleted file mode 100644
index 46b94a7d63f..00000000000
--- a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.impl
+++ /dev/null
@@ -1,5 +0,0 @@
-bool binary_search(const value_type* a, size_type n, value_type val)
-{
-  size_type lwb = lower_bound(a, n, val);
-  return lwb < n && a[lwb] <= val;
-}
diff --git a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.spec b/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.spec
deleted file mode 100644
index f958c43592b..00000000000
--- a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.spec
+++ /dev/null
@@ -1,9 +0,0 @@
-/*@ 
-  requires IsValidRange(a, n); 
-  requires IsSorted(a, n);
-
-  assigns \nothing;
-
-  ensures \result <==> HasValue(a, n, val);
-*/
-bool binary_search(const value_type* a, size_type n, value_type val);
diff --git a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.tex b/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.tex
deleted file mode 100644
index 74c6307e586..00000000000
--- a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\clearpage
-\section{The \textsf{binary-search} algorithm}
-
-We study here the \texttt{binary-search}
-algorithm from ``ACSL By Example''. 
-Its specification is:
-
-\listingname{binarysearch.h}
-\cinput{binarysearch/binarysearch.spec}
-
-The implementation of the algorithm is:
-
-\listingname{binarysearch.c}
-\cinput{binarysearch/binarysearch.impl}
-
-\paragraph{Remark:} the original specification of loop-assigns in ``ACSL By Example'' 
-is \emph{wrong} since the loop \emph{do} assigns the local variables
-of the function. The original specification works with \textsf{Jessie}
-since local variables rarely live in the assignable heap, but it is
-not correct for \textsf{WP} where assigns clauses are more strictly
-verified.
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in:
-\fclogs{binary}{binarysearch}
-
diff --git a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch_report.tex b/src/plugins/wp/doc/tutorial/binarysearch/binarysearch_report.tex
deleted file mode 100644
index 6feee078a9e..00000000000
--- a/src/plugins/wp/doc/tutorial/binarysearch/binarysearch_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+binary_search+ & 10 & 8 & 2 & 100\% (91) \\
diff --git a/src/plugins/wp/doc/tutorial/compare/compare.c b/src/plugins/wp/doc/tutorial/compare/compare.c
deleted file mode 100644
index 075082e4929..00000000000
--- a/src/plugins/wp/doc/tutorial/compare/compare.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "../library.h"
-#include "compare.spec"
diff --git a/src/plugins/wp/doc/tutorial/compare/compare.report b/src/plugins/wp/doc/tutorial/compare/compare.report
deleted file mode 100644
index addd77e1a4f..00000000000
--- a/src/plugins/wp/doc/tutorial/compare/compare.report
+++ /dev/null
@@ -1,5 +0,0 @@
-@SUFFIX "_report.tex"
-@ZERO "-"
-@HEAD
-\textit{partial orders} & %total & %wp & %ergo & %success\% (%time) \\
-@END
diff --git a/src/plugins/wp/doc/tutorial/compare/compare.spec b/src/plugins/wp/doc/tutorial/compare/compare.spec
deleted file mode 100644
index c07f6483c3e..00000000000
--- a/src/plugins/wp/doc/tutorial/compare/compare.spec
+++ /dev/null
@@ -1,19 +0,0 @@
-/*@ 
-  axiomatic Comparison {
-
-  lemma LessIrreflexivity: 
-    \forall value_type a; !(a < a);
-  lemma LessAntisymetry:   
-    \forall value_type a, b; (a < b) ==> !(b < a);
-  lemma LessTransitivity:
-    \forall value_type a, b, c; (a < b) && (b < c) ==> (a < c);
-
-  lemma Greater:
-    \forall value_type a, b; (a > b) <==> (b < a); 
-  lemma LessOrEqual:
-    \forall value_type a, b; (a <= b) <==> !(b < a);
-  lemma GreaterOrEqual: 
-    \forall value_type a, b; (a >= b) <==> !(a < b);
-
-  } 
-*/
diff --git a/src/plugins/wp/doc/tutorial/compare/compare.tex b/src/plugins/wp/doc/tutorial/compare/compare.tex
deleted file mode 100644
index 0872264002a..00000000000
--- a/src/plugins/wp/doc/tutorial/compare/compare.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\section{Partial Order Properties}
-\label{compare}
-
-In the case study, the partial order \verb$<$ is used with integer
-types only. With decision procedures supported by \textsf{WP} plug-in,
-the \emph{irrreflexivity}, \emph{antisymmetry} and \emph{transitivity}
-properties naturally holds and are not necessary to be included in the
-specifications.
-
-However, for \emph{genericity} purpose, we can still manage to prove
-them using \textsf{ACSL}. This can be implemented with an axiomatic
-definition:
-
-\begin{feature}{0.7}
-  Proving lemmas is now supported by \textsf{WP}.
-\end{feature}
-
-\listingname{compare.spec}
-\cinput{compare/compare.spec}
-
-All these lemmas are easily discharged:
-\fclogs{maxmin}{compare}
diff --git a/src/plugins/wp/doc/tutorial/compare/compare_report.tex b/src/plugins/wp/doc/tutorial/compare/compare_report.tex
deleted file mode 100644
index 1c177e25279..00000000000
--- a/src/plugins/wp/doc/tutorial/compare/compare_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\textit{partial orders} & 6 & 4 & 2 & 100\% (1s) \\
diff --git a/src/plugins/wp/doc/tutorial/compare/greater.c b/src/plugins/wp/doc/tutorial/compare/greater.c
deleted file mode 100644
index 857cdc7a547..00000000000
--- a/src/plugins/wp/doc/tutorial/compare/greater.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "../library.h"
-#include "greater.spec"
diff --git a/src/plugins/wp/doc/tutorial/compare/greater.spec b/src/plugins/wp/doc/tutorial/compare/greater.spec
deleted file mode 100644
index eca77c4dd20..00000000000
--- a/src/plugins/wp/doc/tutorial/compare/greater.spec
+++ /dev/null
@@ -1,9 +0,0 @@
-/*@ 
-  ensures Greater:
-    \forall value_type a, b; (a > b) <==> (b < a); 
-  ensures LessOrEqual:
-    \forall value_type a, b; (a <= b) <==> !(b < a);
-  ensures GreaterOrEqual: 
-    \forall value_type a, b; (a >= b) <==> !(a < b);
-*/
-void greater(void) { }
diff --git a/src/plugins/wp/doc/tutorial/compare/less.c b/src/plugins/wp/doc/tutorial/compare/less.c
deleted file mode 100644
index fe789f6c422..00000000000
--- a/src/plugins/wp/doc/tutorial/compare/less.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "../library.h"
-#include "less.spec"
diff --git a/src/plugins/wp/doc/tutorial/compare/less.spec b/src/plugins/wp/doc/tutorial/compare/less.spec
deleted file mode 100644
index c3e4ae03f26..00000000000
--- a/src/plugins/wp/doc/tutorial/compare/less.spec
+++ /dev/null
@@ -1,9 +0,0 @@
-/*@
-  ensures LessIrreflexivity: 
-    \forall value_type a; !(a < a);
-  ensures LessAntisymetry:   
-    \forall value_type a, b; (a < b) ==> !(b < a);
-  ensures LessTransitivity:
-    \forall value_type a, b, c; (a < b) && (b < c) ==> (a < c);
-*/
-void less(void) { }
diff --git a/src/plugins/wp/doc/tutorial/console.report b/src/plugins/wp/doc/tutorial/console.report
deleted file mode 100644
index 5c90877059f..00000000000
--- a/src/plugins/wp/doc/tutorial/console.report
+++ /dev/null
@@ -1,12 +0,0 @@
-@CONSOLE
-@ZERO "   -"
-@HEAD
-------------------------------------------------
-Module  &20: #VC   WP   Ergo &39:Success
-@AXIOMATIC
-%name &20:%total %wp  %ergo &40:%success%%
-@FUNCTION
-%function &20:%total %wp  %ergo &40:%success%%
-@TAIL
-------------------------------------------------
-@END
diff --git a/src/plugins/wp/doc/tutorial/copy/copy.c b/src/plugins/wp/doc/tutorial/copy/copy.c
deleted file mode 100644
index 2837cf34c8c..00000000000
--- a/src/plugins/wp/doc/tutorial/copy/copy.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "copy.h"
-#include "copy.impl"
diff --git a/src/plugins/wp/doc/tutorial/copy/copy.h b/src/plugins/wp/doc/tutorial/copy/copy.h
deleted file mode 100644
index c1174f633f0..00000000000
--- a/src/plugins/wp/doc/tutorial/copy/copy.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _COPY_H
-#define _COPY_H
-#include "../library.h"
-#include "copy.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/copy/copy.impl b/src/plugins/wp/doc/tutorial/copy/copy.impl
deleted file mode 100644
index 83061061aaf..00000000000
--- a/src/plugins/wp/doc/tutorial/copy/copy.impl
+++ /dev/null
@@ -1,12 +0,0 @@
-void copy(const value_type* a, size_type n, value_type* b) {
-  /*@
-    loop invariant 0 <= i <= n;
-    
-    loop assigns i,b[0..i-1];
-    
-    loop invariant IsEqual{Here,Here}(a, i, b);
-    loop variant n-i;
-  */
-  for (size_type i = 0; i < n; i++)
-    b[i] = a[i];
-}
diff --git a/src/plugins/wp/doc/tutorial/copy/copy.spec b/src/plugins/wp/doc/tutorial/copy/copy.spec
deleted file mode 100644
index b9dc882e464..00000000000
--- a/src/plugins/wp/doc/tutorial/copy/copy.spec
+++ /dev/null
@@ -1,11 +0,0 @@
-/*@
-  requires IsValidRange(a, n);
-  requires IsValidRange(b, n);
-  requires \separated(a+(0..n-1), b+(0..n-1));
-
-  assigns b[0..n-1];
-  
-  ensures IsEqual{Here,Here}(a, n, b);
-
-*/
-void copy(const value_type* a, size_type n, value_type* b);
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/copy/copy.tex b/src/plugins/wp/doc/tutorial/copy/copy.tex
deleted file mode 100644
index da973b08823..00000000000
--- a/src/plugins/wp/doc/tutorial/copy/copy.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\clearpage
-\section{The \textsf{copy} Algorithm}
-\label{copy}
-
-We now study the \texttt{copy} algorithm from ``ACSL By Example''.
-This algorithm copies the contents from a source sequence to a destination sequence.
-
-The specification of the \texttt{copy} algorithm is as follows:
-
-\listingname{copy.h}
-\cinput{copy/copy.spec}
-
-The implementation of the algorithm is:
-
-\listingname{copy.c}
-\cinput{copy/copy.impl}
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in: 
-\fclogs{mutating}{copy}
diff --git a/src/plugins/wp/doc/tutorial/copy/copy_report.tex b/src/plugins/wp/doc/tutorial/copy/copy_report.tex
deleted file mode 100644
index 60b60a1ce1e..00000000000
--- a/src/plugins/wp/doc/tutorial/copy/copy_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+copy+ & 15 & 4 & 9 & 86.7\% (291) \\
diff --git a/src/plugins/wp/doc/tutorial/count/count.axioms b/src/plugins/wp/doc/tutorial/count/count.axioms
deleted file mode 100644
index fe6624335be..00000000000
--- a/src/plugins/wp/doc/tutorial/count/count.axioms
+++ /dev/null
@@ -1,22 +0,0 @@
-/*@ 
-  axiomatic Counting
-  {
-    logic integer Count{L}(value_type* a, value_type val,
-                           integer i, integer j) 
-      reads a[i],a[j-1];
-
-    axiom Count0{L}:
-      \forall value_type *a, v, integer i;
-         Count(a, v, i, i) == 0;
-
-    axiom Count1{L}:
-      \forall value_type* a, v, integer i, integer i, j, k;
-         i <= j <= k ==> Count(a, v, i, k) ==
-	                 Count(a, v, i, j) + Count(a, v, j, k);
-
-    axiom Count2{L}:
-      \forall value_type* a, v, integer i;
-         (a[i] != v ==> Count(a, v, i, i+1) == 0) &&
-	 (a[i] == v ==> Count(a, v, i, i+1) == 1) ;
-   }
-*/
diff --git a/src/plugins/wp/doc/tutorial/count/count.c b/src/plugins/wp/doc/tutorial/count/count.c
deleted file mode 100644
index b9566979105..00000000000
--- a/src/plugins/wp/doc/tutorial/count/count.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "count.h"
-#include "count.impl"
diff --git a/src/plugins/wp/doc/tutorial/count/count.h b/src/plugins/wp/doc/tutorial/count/count.h
deleted file mode 100644
index 1dc7bc21cf5..00000000000
--- a/src/plugins/wp/doc/tutorial/count/count.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef COUNT_H
-#define COUNT_H
-#include "../library.h"
-#include "count.axioms"
-#include "count.lemma"
-#include "count.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/count/count.impl b/src/plugins/wp/doc/tutorial/count/count.impl
deleted file mode 100644
index ce3f24f0aae..00000000000
--- a/src/plugins/wp/doc/tutorial/count/count.impl
+++ /dev/null
@@ -1,15 +0,0 @@
-size_type count(const value_type* a, size_type n, value_type val)
-{
-  size_type cnt = 0 ;
-  /*@ 
-    loop invariant 0 <= i <= n; 
-    loop invariant 0 <= cnt <= i;
-    loop invariant cnt == Count(a, val, 0, i);
-    loop assigns i,cnt;
-    loop variant n-i; 
-  */ 
-  for (size_type i = 0; i < n; i++) 
-    if (a[i] == val) 
-      cnt++;
-  return cnt; 
-}
diff --git a/src/plugins/wp/doc/tutorial/count/count.lemma b/src/plugins/wp/doc/tutorial/count/count.lemma
deleted file mode 100644
index cc7533c3b48..00000000000
--- a/src/plugins/wp/doc/tutorial/count/count.lemma
+++ /dev/null
@@ -1,5 +0,0 @@
-/*@
-  lemma CountLemma: \forall value_type *a, v, integer i;
-     0 <= i ==> Count(a, v, 0, i+1) ==
-                Count(a, v, 0, i) + Count(a, v, i, i+1);
-*/
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/count/count.spec b/src/plugins/wp/doc/tutorial/count/count.spec
deleted file mode 100644
index 81f198ffd81..00000000000
--- a/src/plugins/wp/doc/tutorial/count/count.spec
+++ /dev/null
@@ -1,8 +0,0 @@
-/*@
-  requires IsValidRange(a, n); 
-
-  ensures \result == Count(a, val, 0, n);
-
-  assigns \nothing; 
-*/
-size_type count(const value_type* a, size_type n, value_type val) ;
diff --git a/src/plugins/wp/doc/tutorial/count/count.tex b/src/plugins/wp/doc/tutorial/count/count.tex
deleted file mode 100644
index c975eaf8c56..00000000000
--- a/src/plugins/wp/doc/tutorial/count/count.tex
+++ /dev/null
@@ -1,35 +0,0 @@
-\section{The \textsf{count} Algorithm}
-\label{count}
-
-The algorithm presented here counts the number of occurrences for a
-given element in a sequence. The axiomatization of counting
-occurrences proposed in ``ACSL By Example'' is:
-
-\listingname{count.axioms}
-\cinput{count/original.axioms}
-
-\begin{feature}{0.7}
-The \texttt{read} clause in \texttt{count} predicate definition is now
-correctly handled. Moreover, proof obligations for lemmas are now generated.
-\end{feature}
-
-The specification of the function is as follows:
-
-\listingname{count.h} 
-\cinput{count/count.spec}
-
-Then comes the implementation of the \texttt{count} algorithm:
-
-\listingname{count.c}
-\cinput{count/count.impl}
-
-In order to prove the algorithm, it is necessary to prove an
-intermediate lemma:
-
-\listingname{count.lemma}
-\cinput{count/count.lemma}
-
-The algorithm can now be proved correct against its specification by
-simply running the \textsf{WP} plug-in: 
-\fclogs{nonmutating}{count}
-
diff --git a/src/plugins/wp/doc/tutorial/count/count_report.tex b/src/plugins/wp/doc/tutorial/count/count_report.tex
deleted file mode 100644
index 9fbbff20b18..00000000000
--- a/src/plugins/wp/doc/tutorial/count/count_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+count+ & 16 & 8 & 8 & 100\% (65) \\
diff --git a/src/plugins/wp/doc/tutorial/count/original.axioms b/src/plugins/wp/doc/tutorial/count/original.axioms
deleted file mode 100644
index e83b1959999..00000000000
--- a/src/plugins/wp/doc/tutorial/count/original.axioms
+++ /dev/null
@@ -1,22 +0,0 @@
-/*@ 
-  axiomatic Counting
-  {
-    logic integer Count{L}(value_type* a, value_type val,
-                           integer i, integer j) 
-      reads a[i..j-1];
-
-    axiom Count0{L}:
-      \forall value_type *a, v, integer i;
-         Count(a, v, i, i) == 0;
-
-    axiom Count1{L}:
-      \forall value_type* a, v, integer i, integer i, j, k;
-         i <= j <= k ==> Count(a, v, i, k) ==
-	                 Count(a, v, i, j) + Count(a, v, j, k);
-
-    axiom Count2{L}:
-      \forall value_type* a, v, integer i;
-         (a[i] != v ==> Count(a, v, i, i+1) == 0) &&
-	 (a[i] == v ==> Count(a, v, i, i+1) == 1) ;
-   }
-*/
diff --git a/src/plugins/wp/doc/tutorial/equal/equal.c b/src/plugins/wp/doc/tutorial/equal/equal.c
deleted file mode 100644
index fd3834d869c..00000000000
--- a/src/plugins/wp/doc/tutorial/equal/equal.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "equal.h"
-#include "equal.impl"
diff --git a/src/plugins/wp/doc/tutorial/equal/equal.h b/src/plugins/wp/doc/tutorial/equal/equal.h
deleted file mode 100644
index c4be22ed824..00000000000
--- a/src/plugins/wp/doc/tutorial/equal/equal.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _EQUAL_H
-#define _EQUAL_H
-#include "../library.h"
-#include "equal.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/equal/equal.impl b/src/plugins/wp/doc/tutorial/equal/equal.impl
deleted file mode 100644
index 70c0536a191..00000000000
--- a/src/plugins/wp/doc/tutorial/equal/equal.impl
+++ /dev/null
@@ -1,13 +0,0 @@
-bool equal(const value_type* a, size_type n, const value_type* b)
-{
-  /*@
-    loop invariant 0 <= i <= n;
-    loop invariant \forall int k; 0 <= k < i ==> a[k] == b[k];
-    loop assigns i;
-    loop variant n-i;
-  */
-  for (int i = 0; i < n; i++)
-    if (a[i] != b[i])
-      return 0;
-  return 1;
-}
diff --git a/src/plugins/wp/doc/tutorial/equal/equal.spec b/src/plugins/wp/doc/tutorial/equal/equal.spec
deleted file mode 100644
index 9b1c7ac9a13..00000000000
--- a/src/plugins/wp/doc/tutorial/equal/equal.spec
+++ /dev/null
@@ -1,9 +0,0 @@
-/*@
-  requires IsValidRange(a, n);
-  requires IsValidRange(b, n);
-
-  assigns \nothing;
-
-  ensures \result <==> IsEqual{Here,Here}(a, n, b);
-*/
-bool equal(const value_type* a, size_type n, const value_type* b);
diff --git a/src/plugins/wp/doc/tutorial/equal/equal.tex b/src/plugins/wp/doc/tutorial/equal/equal.tex
deleted file mode 100644
index a4b7e43688e..00000000000
--- a/src/plugins/wp/doc/tutorial/equal/equal.tex
+++ /dev/null
@@ -1,40 +0,0 @@
-\section{The \textsf{equal} Algorithm}
-\label{equal}
-
-This algorithm implements a comparison over two generic sequences.
-The specification of the algorithm is:
-
-\listingname{equal.h}
-\cinput{equal/equal.spec}
-
-The implementation is:
-
-\listingname{equal.c}
-\cinput{equal/equal.impl}
-
-\clearpage
-\subsection{Correctness}
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in: 
-\fclogs{nonmutating}{equal}
-
-The reader should notice the warning emitted by \textsf{WP}. Actually,
-the plug-in is not responsible for proving the absence of runtime
-errors during program execution, since other plug-ins can be used
-for this, for instance \emph{Value Analysis}.
-
-\subsection{Safety}
-
-However, it is still possible to completely prove the program with
-\textsf{WP} thanks to \textsf{RTE} plug-in. This last plug-in
-generates assertions in the program wherever a runtime error might
-occur. Then, the \textsf{WP} plug-in can try to discharge the
-generated assertions.
-
-This all-together method is easily performed with \texttt{wp-rte}
-option of \textsf{WP}:
-\fclogs{nonmutating}{equal_rte}
-
-In this book, we will always use this technique to prove the
-correctness and the safety of studied algorithm.
diff --git a/src/plugins/wp/doc/tutorial/equal/equal_report.tex b/src/plugins/wp/doc/tutorial/equal/equal_report.tex
deleted file mode 100644
index a742c088480..00000000000
--- a/src/plugins/wp/doc/tutorial/equal/equal_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+equal+ & 12 & 8 & 4 & 100\% (88) \\
diff --git a/src/plugins/wp/doc/tutorial/equal/equal_rte_report.tex b/src/plugins/wp/doc/tutorial/equal/equal_rte_report.tex
deleted file mode 100644
index 68ced662220..00000000000
--- a/src/plugins/wp/doc/tutorial/equal/equal_rte_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+equal+ & 15 & 8 & 7 & 100\% (94) \\
diff --git a/src/plugins/wp/doc/tutorial/fill/fill.c b/src/plugins/wp/doc/tutorial/fill/fill.c
deleted file mode 100644
index a874b62754c..00000000000
--- a/src/plugins/wp/doc/tutorial/fill/fill.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "fill.h"
-#include "fill.impl"
diff --git a/src/plugins/wp/doc/tutorial/fill/fill.h b/src/plugins/wp/doc/tutorial/fill/fill.h
deleted file mode 100644
index 0e659d8f6b8..00000000000
--- a/src/plugins/wp/doc/tutorial/fill/fill.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _FILL_H
-#define _FILL_H
-#include "../library.h"
-#include "fill.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/fill/fill.impl b/src/plugins/wp/doc/tutorial/fill/fill.impl
deleted file mode 100644
index 6be0419195f..00000000000
--- a/src/plugins/wp/doc/tutorial/fill/fill.impl
+++ /dev/null
@@ -1,11 +0,0 @@
-void fill(value_type* a, size_type n, value_type val)
-{
-  /*@
-    loop invariant 0 <= i <= n;
-    loop invariant \forall integer k; 0 <= k < i ==> a[k] == val;
-    loop assigns a[0..n-1], i;
-    loop variant n-i;
-  */
-  for (size_type i = 0 ; i < n ; i++)
-    a[i] = val;
-}
diff --git a/src/plugins/wp/doc/tutorial/fill/fill.spec b/src/plugins/wp/doc/tutorial/fill/fill.spec
deleted file mode 100644
index 21bdf01b361..00000000000
--- a/src/plugins/wp/doc/tutorial/fill/fill.spec
+++ /dev/null
@@ -1,8 +0,0 @@
-/*@
-  requires IsValidRange(a, n);
-
-  assigns a[0..n-1];
-
-  ensures \forall integer i; 0 <= i < n ==> a[i] == val;
-*/
-void fill(value_type* a, size_type n, value_type val);
diff --git a/src/plugins/wp/doc/tutorial/fill/fill.tex b/src/plugins/wp/doc/tutorial/fill/fill.tex
deleted file mode 100644
index be30fb066ea..00000000000
--- a/src/plugins/wp/doc/tutorial/fill/fill.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\section{The \textsf{fill} Algorithm}
-\label{fill}
-
-We now study the \texttt{fill} algorithm from ``ACSL By Example''.
-This algorithm initializes a sequence with a particular value.
-
-The specification of the \texttt{fill} algorithm is as follows:
-
-\listingname{fill.h}
-\cinput{fill/fill.spec}
-
-The implementation of the algorithm is:
-
-\listingname{fill.c}
-\cinput{fill/fill.impl}
-
-
-From the original specification from ``ACSL By Example'', we only add
-the \emph{loop assigns} clause.
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in: 
-\fclogs{mutating}{fill}
-
diff --git a/src/plugins/wp/doc/tutorial/fill/fill_report.tex b/src/plugins/wp/doc/tutorial/fill/fill_report.tex
deleted file mode 100644
index e8cce5cc437..00000000000
--- a/src/plugins/wp/doc/tutorial/fill/fill_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+fill+ & 14 & 5 & 9 & 100\% (85) \\
diff --git a/src/plugins/wp/doc/tutorial/find/find.c b/src/plugins/wp/doc/tutorial/find/find.c
deleted file mode 100644
index 541e019a9c2..00000000000
--- a/src/plugins/wp/doc/tutorial/find/find.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "find.h"
-#include "find.impl"
diff --git a/src/plugins/wp/doc/tutorial/find/find.h b/src/plugins/wp/doc/tutorial/find/find.h
deleted file mode 100644
index 33cb76383ef..00000000000
--- a/src/plugins/wp/doc/tutorial/find/find.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef FIND_H
-#define FIND_H
-#include "../library.h"
-#include "hasvalue.spec"
-#include "find.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/find/find.impl b/src/plugins/wp/doc/tutorial/find/find.impl
deleted file mode 100644
index 82cfa1ddb37..00000000000
--- a/src/plugins/wp/doc/tutorial/find/find.impl
+++ /dev/null
@@ -1,13 +0,0 @@
-size_type find(const value_type* a, size_type n, value_type val)
-{
-  /*@ 
-    loop invariant 0 <= i <= n; 
-    loop invariant !HasValue(a, i, val); 
-    loop assigns i;
-    loop variant n-i; 
-  */ 
-  for (size_type i = 0; i < n; i++) 
-    if (a[i] == val) 
-      return i; 
-  return n; 
-}
diff --git a/src/plugins/wp/doc/tutorial/find/find.spec b/src/plugins/wp/doc/tutorial/find/find.spec
deleted file mode 100644
index 53348154c4a..00000000000
--- a/src/plugins/wp/doc/tutorial/find/find.spec
+++ /dev/null
@@ -1,18 +0,0 @@
-/*@ 
-  requires IsValidRange(a, n); 
-  assigns \nothing; 
- 
-  behavior some:
-    assumes HasValue(a, n, val); 
-    ensures 0 <= \result < n; 
-    ensures a[\result] == val; 
-    ensures !HasValue(a, \result, val); 
-
-  behavior none:
-    assumes !HasValue(a, n, val); 
-    ensures \result == n; 
- 
-  complete behaviors; 
-  disjoint behaviors; 
-*/
-size_type find(const value_type* a, size_type n, value_type val) ;
diff --git a/src/plugins/wp/doc/tutorial/find/find.tex b/src/plugins/wp/doc/tutorial/find/find.tex
deleted file mode 100644
index d442aa09ea0..00000000000
--- a/src/plugins/wp/doc/tutorial/find/find.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-\section{The \textsf{find} Algorithm}
-\label{find}
-
-We study now the \emph{reconsidered} version of the \texttt{find}
-algorithm from ``ACSL By Example''.  This algorithm looks for the
-first occurrence of an element into a sequence.  We makes use of the
-following helper predicate:
-
-\listingname{find.h}
-\cinput{find/hasvalue.spec}
-
-Then follows the specification of the \texttt{find} algorithm:
-
-\listingname{find.h}
-\cinput{find/find.spec}
-
-The implementation of the algorithm is:
-
-\listingname{find.c}
-\cinput{find/find.impl}
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in: 
-\fclogs{nonmutating}{find}
-
diff --git a/src/plugins/wp/doc/tutorial/find/find_report.tex b/src/plugins/wp/doc/tutorial/find/find_report.tex
deleted file mode 100644
index 671e8edeba0..00000000000
--- a/src/plugins/wp/doc/tutorial/find/find_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+find+ & 19 & 9 & 10 & 100\% (64) \\
diff --git a/src/plugins/wp/doc/tutorial/find/hasvalue.spec b/src/plugins/wp/doc/tutorial/find/hasvalue.spec
deleted file mode 100644
index 905586a015e..00000000000
--- a/src/plugins/wp/doc/tutorial/find/hasvalue.spec
+++ /dev/null
@@ -1,4 +0,0 @@
-/*@ 
-  predicate HasValue{A}(value_type* a, integer n, value_type val) = 
-    \exists integer i; 0 <= i < n && a[i] == val; 
-*/
diff --git a/src/plugins/wp/doc/tutorial/findfirst/findfirst.c b/src/plugins/wp/doc/tutorial/findfirst/findfirst.c
deleted file mode 100644
index efb8501f463..00000000000
--- a/src/plugins/wp/doc/tutorial/findfirst/findfirst.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "findfirst.h"
-#include "findfirst.impl"
diff --git a/src/plugins/wp/doc/tutorial/findfirst/findfirst.h b/src/plugins/wp/doc/tutorial/findfirst/findfirst.h
deleted file mode 100644
index a5571e11fa4..00000000000
--- a/src/plugins/wp/doc/tutorial/findfirst/findfirst.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef FINDFIRST_H
-#define FINDFIRST_H
-#include "../library.h"
-#include "../find/find.h"
-#include "hasvalueof.spec"
-#include "findfirst.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/findfirst/findfirst.impl b/src/plugins/wp/doc/tutorial/findfirst/findfirst.impl
deleted file mode 100644
index 88234d3b1f5..00000000000
--- a/src/plugins/wp/doc/tutorial/findfirst/findfirst.impl
+++ /dev/null
@@ -1,14 +0,0 @@
-size_type find_first_of(const value_type* a, size_type m,
-	  		const value_type* b, size_type n)
-{
-  /*@ 
-    loop invariant 0 <= i && i <= m; 
-    loop invariant !HasValueOf(a, i, b, n); 
-    loop assigns i;
-    loop variant m-i; 
-   */ 
-  for (size_type i = 0; i < m; i++) 
-    if (find(b, n, a[i]) < n) 
-      return i;
-  return m; 
-}
diff --git a/src/plugins/wp/doc/tutorial/findfirst/findfirst.spec b/src/plugins/wp/doc/tutorial/findfirst/findfirst.spec
deleted file mode 100644
index 977c9dbd0c3..00000000000
--- a/src/plugins/wp/doc/tutorial/findfirst/findfirst.spec
+++ /dev/null
@@ -1,20 +0,0 @@
-/*@ 
-  requires IsValidRange(a, m); 
-  requires IsValidRange(b, n); 
-  assigns \nothing; 
- 
-  behavior found:
-    assumes HasValueOf(a, m, b, n); 
-    ensures (0 <= \result < m); 
-    ensures HasValue(b, n, a[\result]);
-    ensures !HasValueOf(a, \result, b, n); 
-
-  behavior not_found:
-    assumes !HasValueOf(a, m, b, n); 
-    ensures \result == m; 
- 
-  complete behaviors; 
-  disjoint behaviors; 
-*/
-size_type find_first_of(const value_type* a, size_type m,
-                        const value_type* b, size_type n);
diff --git a/src/plugins/wp/doc/tutorial/findfirst/findfirst.tex b/src/plugins/wp/doc/tutorial/findfirst/findfirst.tex
deleted file mode 100644
index 8911c7c0038..00000000000
--- a/src/plugins/wp/doc/tutorial/findfirst/findfirst.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-\section{The \textsf{find-first-of} Algorithm}
-\label{find-first-of}
-
-This algorithm is an extension of \texttt{find}: it looks for the
-first element of sequence $a$ that belongs to sequence $b$. We also
-makes use of the \texttt{HasValue} predicate. But we also need its
-extension to sequence, as in the original specification from
-``ACSL By Example'':
-
-\listingname{findfirst.h}
-\cinput{findfirst/hasvalueof.spec}
-
-The specification of the algorithm is:
-
-\listingname{findfirst.h}
-\cinput{findfirst/findfirst.spec}
-
-The implementation of the algorithm is:
-
-\listingname{findfirst.c}
-\cinput{findfirst/findfirst.impl}
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in: 
-\fclogs{nonmutating}{findfirst}
diff --git a/src/plugins/wp/doc/tutorial/findfirst/findfirst_report.tex b/src/plugins/wp/doc/tutorial/findfirst/findfirst_report.tex
deleted file mode 100644
index d70d08a0506..00000000000
--- a/src/plugins/wp/doc/tutorial/findfirst/findfirst_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+find_first_of+ & 26 & 16 & 10 & 100\% (101) \\
diff --git a/src/plugins/wp/doc/tutorial/findfirst/hasvalueof.spec b/src/plugins/wp/doc/tutorial/findfirst/hasvalueof.spec
deleted file mode 100644
index 9feb4e9a420..00000000000
--- a/src/plugins/wp/doc/tutorial/findfirst/hasvalueof.spec
+++ /dev/null
@@ -1,6 +0,0 @@
-/*@ 
-  predicate HasValueOf{A}(value_type* a, integer m, 
-                          value_type* b, integer n) = 
-    \exists integer i; 0 <= i < m && 
-       HasValue{A}(b, n, \at(a[i],A)); 
-*/
diff --git a/src/plugins/wp/doc/tutorial/iota/iota.c b/src/plugins/wp/doc/tutorial/iota/iota.c
deleted file mode 100644
index 00e7267a3db..00000000000
--- a/src/plugins/wp/doc/tutorial/iota/iota.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "iota.h"
-#include "iota.impl"
diff --git a/src/plugins/wp/doc/tutorial/iota/iota.h b/src/plugins/wp/doc/tutorial/iota/iota.h
deleted file mode 100644
index 9a04eada1be..00000000000
--- a/src/plugins/wp/doc/tutorial/iota/iota.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _IOTA_H
-#define _IOTA_H
-#include "../library.h"
-#include "iota.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/iota/iota.impl b/src/plugins/wp/doc/tutorial/iota/iota.impl
deleted file mode 100644
index a88a675487a..00000000000
--- a/src/plugins/wp/doc/tutorial/iota/iota.impl
+++ /dev/null
@@ -1,14 +0,0 @@
-void iota(value_type* a, size_type n, value_type val)
-{
-  /*@
-
-    loop invariant 0 <= i <= n;
-    loop assigns i, a[0..n-1];
-
-    loop invariant \forall integer k; 0 <= k < i
-                    ==> a[k] == val + k;
-    loop variant n-i;
-  */
-  for (size_type i = 0; i < n; i++)
-    a[i] = val + i;
-}
diff --git a/src/plugins/wp/doc/tutorial/iota/iota.spec b/src/plugins/wp/doc/tutorial/iota/iota.spec
deleted file mode 100644
index 8ecc4240c22..00000000000
--- a/src/plugins/wp/doc/tutorial/iota/iota.spec
+++ /dev/null
@@ -1,9 +0,0 @@
-/*@
-  requires IsValidRange(a, n);
-  requires val + n < 2147483647 ; // INT_MAX
-
-  assigns a[0..n-1];
-  
-  ensures \forall integer k; 0 <= k < n ==> a[k] == val + k;
-*/
-void iota(value_type* a, size_type n, value_type val);
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/iota/iota.tex b/src/plugins/wp/doc/tutorial/iota/iota.tex
deleted file mode 100644
index b1cca9dccbb..00000000000
--- a/src/plugins/wp/doc/tutorial/iota/iota.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\clearpage
-\section{The \textsf{iota} Algorithm}
-\label{iota}
-
-We now study the \texttt{iota} algorithm from ``ACSL By Example''.
-This algorithm assigns sequentially increasing values to a range, with a
-user-defined start value.
-
-We slightly modify the specification of the \texttt{iota} algorithm 
-to replace the \texttt{INT\_MAX} macro-definition by its value on 32-bit
-architectures:
-
-\listingname{iota.h}
-\cinput{iota/iota.spec}
-
-The implementation of the algorithm is:
-
-\listingname{iota.c}
-\cinput{iota/iota.impl}
-
-The implementation is proved correct against its specification by
-running the \textsf{WP} plug-in: 
-\fclogs{mutating}{iota}
diff --git a/src/plugins/wp/doc/tutorial/iota/iota_report.tex b/src/plugins/wp/doc/tutorial/iota/iota_report.tex
deleted file mode 100644
index e2eaac29659..00000000000
--- a/src/plugins/wp/doc/tutorial/iota/iota_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+iota+ & 16 & 5 & 11 & 100\% (91) \\
diff --git a/src/plugins/wp/doc/tutorial/library.h b/src/plugins/wp/doc/tutorial/library.h
deleted file mode 100644
index 05ed0eccfbf..00000000000
--- a/src/plugins/wp/doc/tutorial/library.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef _LIBRARY_H
-#define _LIBRARY_H
-#include "library.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/library.spec b/src/plugins/wp/doc/tutorial/library.spec
deleted file mode 100644
index 389cbfad428..00000000000
--- a/src/plugins/wp/doc/tutorial/library.spec
+++ /dev/null
@@ -1,11 +0,0 @@
-typedef int value_type; 
-typedef int size_type; 
-typedef int bool; 
-
-/*@ predicate IsValidRange(value_type* a, integer n) = 
-  @   (0 <= n) && \valid(a+(0..n-1));
-  @*/
-
-/*@ predicate IsEqual{A,B}(value_type* a, integer n, value_type* b) = 
-  @   \forall integer i; 0 <= i < n ==> \at(a[i], A) == \at(b[i], B) ; 
-  @*/ 
diff --git a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.c b/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.c
deleted file mode 100644
index 5651556635a..00000000000
--- a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "lowerbound.h"
-#include "lowerbound.impl"
diff --git a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.h b/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.h
deleted file mode 100644
index 4ca3f6079cd..00000000000
--- a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef LOWERBOUND_H
-#define LOWERBOUND_H
-#include "../binary/binary.h"
-#include "lowerbound.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.impl b/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.impl
deleted file mode 100644
index 2c93372d5e7..00000000000
--- a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.impl
+++ /dev/null
@@ -1,23 +0,0 @@
-size_type lower_bound(const value_type *a, size_type n, value_type val)
-{
-  size_type left = 0; 
-  size_type right = n; 
-  size_type middle = 0; 
-
-  /*@
-    loop invariant 0 <= left <= right <= n;
-    loop invariant \forall integer i; 0 <= i < left ==> a[i] < val; 
-    loop invariant \forall integer i; right <= i < n ==> val <= a[i];
-    loop assigns middle,left,right;
-    loop variant right - left;
-  */
-  while (left < right) {
-    middle = left + (right - left) / 2;
-    if (a[middle] < val) 
-      left = middle + 1;
-    else
-      right = middle; 
-  }
-
-  return left;
-}
diff --git a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.spec b/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.spec
deleted file mode 100644
index c92ff8d0a59..00000000000
--- a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.spec
+++ /dev/null
@@ -1,11 +0,0 @@
-/*@ 
-  requires IsValidRange(a, n); 
-  requires IsSorted(a, n);
-
-  assigns \nothing;
-
-  ensures 0 <= \result <= n; 
-  ensures \forall integer k; 0 <= k < \result ==> a[k] < val; 
-  ensures \forall integer k; \result <= k < n ==> val <= a[k];
-*/
-size_type lower_bound(const value_type* a, size_type n, value_type val);
diff --git a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.tex b/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.tex
deleted file mode 100644
index 5f8d9314763..00000000000
--- a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\clearpage
-\section{The \textsf{lower-bound} algorithm}
-
-We study here the \texttt{lower-bound}
-algorithm from ``ACSL By Example''. 
-Its specification is:
-
-\listingname{lowerbound.h}
-\cinput{lowerbound/lowerbound.spec}
-
-The implementation of the algorithm is:
-
-\listingname{lowerbound.c}
-\cinput{lowerbound/lowerbound.impl}
-
-\paragraph{Remark:} the original specification of loop-assigns in ``ACSL By Example'' 
-is \emph{wrong} since the loop \emph{do} assigns the local variables
-of the function. The original specification works with \textsf{Jessie}
-since local variables rarely live in the assignable heap, but it is
-not correct for \textsf{WP} where assigns clauses are more strictly
-verified.
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in:
-\fclogs{binary}{lowerbound}
-
diff --git a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound_report.tex b/src/plugins/wp/doc/tutorial/lowerbound/lowerbound_report.tex
deleted file mode 100644
index 4d77444a0af..00000000000
--- a/src/plugins/wp/doc/tutorial/lowerbound/lowerbound_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+lower_bound+ & 22 & 9 & 13 & 100\% (198) \\
diff --git a/src/plugins/wp/doc/tutorial/maxelt/maxelt.c b/src/plugins/wp/doc/tutorial/maxelt/maxelt.c
deleted file mode 100644
index 2f0974f61f5..00000000000
--- a/src/plugins/wp/doc/tutorial/maxelt/maxelt.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "maxelt.h"
-#include "maxelt.impl"
diff --git a/src/plugins/wp/doc/tutorial/maxelt/maxelt.h b/src/plugins/wp/doc/tutorial/maxelt/maxelt.h
deleted file mode 100644
index cbb75f978f9..00000000000
--- a/src/plugins/wp/doc/tutorial/maxelt/maxelt.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef MAXELT_H
-#define MAXELT_H
-#include "../library.h"
-#include "maxelt.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/maxelt/maxelt.impl b/src/plugins/wp/doc/tutorial/maxelt/maxelt.impl
deleted file mode 100644
index 6b92f962d88..00000000000
--- a/src/plugins/wp/doc/tutorial/maxelt/maxelt.impl
+++ /dev/null
@@ -1,19 +0,0 @@
-size_type max_element(const value_type* a, size_type n) 
-{
-  if (n == 0) return 0;
-
-  size_type max = 0; 
-  /*@
-    loop invariant 0 <= i <= n; 
-    loop invariant 0 <= max < n; 
-    loop invariant \forall integer k; 0 <= k < i ==> a[k] <= a[max]; 
-    loop invariant \forall integer k; 0 <= k < max ==> a[k] < a[max]; 
-    loop assigns max,i;
-    loop variant n-i;
-   */
-  for (size_type i = 0; i < n; i++) 
-    if (a[max] < a[i])
-      max = i; 
-
-  return max;
-}
diff --git a/src/plugins/wp/doc/tutorial/maxelt/maxelt.spec b/src/plugins/wp/doc/tutorial/maxelt/maxelt.spec
deleted file mode 100644
index 876bd28bfa3..00000000000
--- a/src/plugins/wp/doc/tutorial/maxelt/maxelt.spec
+++ /dev/null
@@ -1,18 +0,0 @@
-/*@ 
-  requires IsValidRange(a, n);
-  assigns \nothing;
-
-  behavior empty: 
-    assumes n == 0; 
-    ensures \result == 0;
-  
-  behavior not_empty: 
-    assumes 0 < n; 
-    ensures 0 <= \result < n;
-    ensures \forall integer i; 0 <= i < n ==> a[i] <= a[\result]; 
-    ensures \forall integer i; 0 <= i < \result ==> a[i] < a[\result];
-
-  complete behaviors; 
-  disjoint behaviors;
-*/
-size_type max_element(const value_type* a, size_type n);
diff --git a/src/plugins/wp/doc/tutorial/maxelt/maxelt.tex b/src/plugins/wp/doc/tutorial/maxelt/maxelt.tex
deleted file mode 100644
index 8ae31ba54ac..00000000000
--- a/src/plugins/wp/doc/tutorial/maxelt/maxelt.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\section{The \textsf{max-element} Algorithm}
-\label{max-element}
-
-We study now the first version of the \texttt{max-element}
-algorithm from ``ACSL By Example''. 
-The specification of the \texttt{max-element} algorithm is as follows:
-
-\listingname{maxelt.h}
-\cinput{maxelt/maxelt.spec}
-
-The implementation of the algorithm is:
-
-\listingname{maxelt.c}
-\cinput{maxelt/maxelt.impl}
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in: 
-\fclogs{maxmin}{maxelt}
-
diff --git a/src/plugins/wp/doc/tutorial/maxelt/maxelt_report.tex b/src/plugins/wp/doc/tutorial/maxelt/maxelt_report.tex
deleted file mode 100644
index 741718dd777..00000000000
--- a/src/plugins/wp/doc/tutorial/maxelt/maxelt_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+max_element+ & 25 & 13 & 12 & 100\% (119) \\
diff --git a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.c b/src/plugins/wp/doc/tutorial/maxeltp/maxelt.c
deleted file mode 100644
index 2f0974f61f5..00000000000
--- a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "maxelt.h"
-#include "maxelt.impl"
diff --git a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.h b/src/plugins/wp/doc/tutorial/maxeltp/maxelt.h
deleted file mode 100644
index c0b3da8c7c5..00000000000
--- a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef MAXELT_H
-#define MAXELT_H
-#include "../library.h"
-#include "maximum.spec"
-#include "maxelt.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.impl b/src/plugins/wp/doc/tutorial/maxeltp/maxelt.impl
deleted file mode 100644
index a6dafbeadef..00000000000
--- a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.impl
+++ /dev/null
@@ -1,19 +0,0 @@
-size_type max_element(const value_type* a, size_type n) 
-{
-  if (n == 0) return 0;
-
-  size_type max = 0; 
-  /*@
-    loop invariant 0 <= i <= n; 
-    loop invariant 0 <= max < n; 
-    loop invariant IsMaximum(a, i, max); 
-    loop invariant IsFirstMaximum(a, max);
-    loop assigns i,max;
-    loop variant n-i;
-   */
-  for (size_type i = 0; i < n; i++) 
-    if (a[max] < a[i])
-      max = i; 
-
-  return max;
-}
diff --git a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.report b/src/plugins/wp/doc/tutorial/maxeltp/maxelt.report
deleted file mode 100644
index 4d0ffbba1fe..00000000000
--- a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.report
+++ /dev/null
@@ -1,5 +0,0 @@
-@SUFFIX "_report.tex"
-@ZERO "-"
-@FUNCTION
-\textit{max with predicates} & %total & %wp & %ergo & %success\% (%time) \\
-@END
diff --git a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.spec b/src/plugins/wp/doc/tutorial/maxeltp/maxelt.spec
deleted file mode 100644
index c7fb3459b99..00000000000
--- a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.spec
+++ /dev/null
@@ -1,17 +0,0 @@
-/*@ 
-  requires IsValidRange(a, n);
-  assigns \nothing;
-
-  behavior empty: 
-    assumes n == 0; 
-    ensures \result == 0;
-  
-  behavior not_empty: 
-    assumes 0 < n; 
-    ensures 0 <= \result < n;
-    ensures IsMaximum(a, n, \result); 
-    ensures IsFirstMaximum(a, \result);
-
-  complete behaviors; disjoint behaviors;
-*/
-size_type max_element(const value_type* a, size_type n);
diff --git a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.tex b/src/plugins/wp/doc/tutorial/maxeltp/maxelt.tex
deleted file mode 100644
index 3e2d87fc879..00000000000
--- a/src/plugins/wp/doc/tutorial/maxeltp/maxelt.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-\section{The \textsf{max-element} Algorithm with Predicates}
-\label{max-element-pred}
-
-We study now the \emph{reconsidered} version of the \texttt{max-element}
-algorithm from ``ACSL By Example'' with predicates:
-
-\listingname{maximum.spec}
-\cinput{maxeltp/maximum.spec}
-
-Remark that we rephrased the original specification of \texttt{IsMaximum}.
-The specification of the \texttt{max-element} algorithm 
-becomes:
-
-\listingname{maxelt.h}
-\cinput{maxeltp/maxelt.spec}
-
-The implementation of the algorithm is now:
-
-\listingname{maxelt.c}
-\cinput{maxeltp/maxelt.impl}
-
-The implementation is proved correct against its specification by
-running the \textsf{WP} plug-in:
-\fclogs{maxmin}{maxeltp}
-
diff --git a/src/plugins/wp/doc/tutorial/maxeltp/maxelt_report.tex b/src/plugins/wp/doc/tutorial/maxeltp/maxelt_report.tex
deleted file mode 100644
index 52169f842f7..00000000000
--- a/src/plugins/wp/doc/tutorial/maxeltp/maxelt_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\textit{max with predicates} & 25 & 12 & 13 & 100\% (1s) \\
diff --git a/src/plugins/wp/doc/tutorial/maxeltp/maximum.spec b/src/plugins/wp/doc/tutorial/maxeltp/maximum.spec
deleted file mode 100644
index 7576b4d86b2..00000000000
--- a/src/plugins/wp/doc/tutorial/maxeltp/maximum.spec
+++ /dev/null
@@ -1,7 +0,0 @@
-/*@ 
-  predicate IsMaximum{L}(value_type* a, integer n, integer max) =
-    !(\exists integer i; 0 <= i < n && (a[max] < a[i]));
-
-  predicate IsFirstMaximum{L}(value_type* a, integer max) = 
-    \forall integer i; 0 <= i < max ==> a[i] < a[max];
-*/
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/maxseq/maxseq.c b/src/plugins/wp/doc/tutorial/maxseq/maxseq.c
deleted file mode 100644
index b847d485ed8..00000000000
--- a/src/plugins/wp/doc/tutorial/maxseq/maxseq.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "maxseq.h"
-#include "../maxeltp/maxelt.h"
-#include "maxseq.impl"
diff --git a/src/plugins/wp/doc/tutorial/maxseq/maxseq.h b/src/plugins/wp/doc/tutorial/maxseq/maxseq.h
deleted file mode 100644
index b656136af23..00000000000
--- a/src/plugins/wp/doc/tutorial/maxseq/maxseq.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef MAXSEQ_H
-#define MAXSEQ_H
-#include "../library.h"
-#include "maxseq.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/maxseq/maxseq.impl b/src/plugins/wp/doc/tutorial/maxseq/maxseq.impl
deleted file mode 100644
index 6df811c7c29..00000000000
--- a/src/plugins/wp/doc/tutorial/maxseq/maxseq.impl
+++ /dev/null
@@ -1,4 +0,0 @@
-size_type max_seq(const value_type* a, size_type n)
-{
-  return a[max_element(a,n)];
-}
diff --git a/src/plugins/wp/doc/tutorial/maxseq/maxseq.spec b/src/plugins/wp/doc/tutorial/maxseq/maxseq.spec
deleted file mode 100644
index dfe720cdefd..00000000000
--- a/src/plugins/wp/doc/tutorial/maxseq/maxseq.spec
+++ /dev/null
@@ -1,9 +0,0 @@
-/*@ 
-  requires n>0 ;
-  requires IsValidRange(a, n);
-  assigns \nothing;
-
-  ensures \forall integer i; 0 <= i <= n-1 ==> \result >= a[i];
-  ensures \exists integer e; 0 <= e <= n-1 &&  \result == a[e];
-*/
-size_type max_seq(const value_type* a, size_type n);
diff --git a/src/plugins/wp/doc/tutorial/maxseq/maxseq.tex b/src/plugins/wp/doc/tutorial/maxseq/maxseq.tex
deleted file mode 100644
index a57ed273c7c..00000000000
--- a/src/plugins/wp/doc/tutorial/maxseq/maxseq.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\section{The \textsf{max-seq} Algorithm}
-\label{max-seq}
-
-We study now the \texttt{max-seq} algorithm from ``ACSL By Example''.
-Its specification is to return the maximal value in a sequence, not
-its index like in the \texttt{max-element} algorithm.
-
-The specification is as follows:
-
-\listingname{maxseq.h}
-\cinput{maxseq/maxseq.spec}
-
-The algorithm is implemented in terms of algorithm
-\texttt{max-element}, as follows:
-
-\listingname{maxseq.c}
-\cinput{maxseq/maxseq.impl}
-
-The implementation is proved correct against its specification thanks to the 
-specification of the \texttt{max-element} function:
-\fclogs{maxmin}{maxseq}
-
diff --git a/src/plugins/wp/doc/tutorial/maxseq/maxseq_report.tex b/src/plugins/wp/doc/tutorial/maxseq/maxseq_report.tex
deleted file mode 100644
index c8191f091f4..00000000000
--- a/src/plugins/wp/doc/tutorial/maxseq/maxseq_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+max_seq+ & 8 & 5 & 3 & 100\% (55) \\
diff --git a/src/plugins/wp/doc/tutorial/minelt/minelt.c b/src/plugins/wp/doc/tutorial/minelt/minelt.c
deleted file mode 100644
index 07b4f320690..00000000000
--- a/src/plugins/wp/doc/tutorial/minelt/minelt.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "minelt.h"
-#include "minelt.impl"
diff --git a/src/plugins/wp/doc/tutorial/minelt/minelt.h b/src/plugins/wp/doc/tutorial/minelt/minelt.h
deleted file mode 100644
index 7d67cdf7476..00000000000
--- a/src/plugins/wp/doc/tutorial/minelt/minelt.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef MINELT_H
-#define MINELT_H
-#include "../library.h"
-#include "minelt.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/minelt/minelt.impl b/src/plugins/wp/doc/tutorial/minelt/minelt.impl
deleted file mode 100644
index 347716f761f..00000000000
--- a/src/plugins/wp/doc/tutorial/minelt/minelt.impl
+++ /dev/null
@@ -1,19 +0,0 @@
-size_type min_element(const value_type* a, size_type n) 
-{
-  if (n == 0) return 0;
-
-  size_type min = 0; 
-  /*@
-    loop invariant 0 <= i <= n; 
-    loop invariant 0 <= min < n; 
-    loop invariant \forall integer k; 0 <= k < i   ==> a[min] <= a[k]; 
-    loop invariant \forall integer k; 0 <= k < min ==> a[min] <  a[k]; 
-    loop assigns i,min;
-    loop variant n-i;
-   */
-  for (size_type i = 0; i < n; i++) 
-    if (a[i] < a[min])
-      min = i; 
-      
-  return min;
-}
diff --git a/src/plugins/wp/doc/tutorial/minelt/minelt.spec b/src/plugins/wp/doc/tutorial/minelt/minelt.spec
deleted file mode 100644
index ff1166419c8..00000000000
--- a/src/plugins/wp/doc/tutorial/minelt/minelt.spec
+++ /dev/null
@@ -1,18 +0,0 @@
-/*@ 
-  requires IsValidRange(a, n);
-  assigns \nothing;
-
-  behavior empty: 
-    assumes n == 0; 
-    ensures \result == 0;
-  
-  behavior not_empty: 
-    assumes 0 < n; 
-    ensures 0 <= \result < n;
-    ensures \forall integer i; 0 <= i < n ==> a[\result] <= a[i]; 
-    ensures \forall integer i; 0 <= i < \result ==> a[\result] < a[i];
-
-  complete behaviors; 
-  disjoint behaviors;
-*/
-size_type min_element(const value_type* a, size_type n);
diff --git a/src/plugins/wp/doc/tutorial/minelt/minelt.tex b/src/plugins/wp/doc/tutorial/minelt/minelt.tex
deleted file mode 100644
index 04d70543f78..00000000000
--- a/src/plugins/wp/doc/tutorial/minelt/minelt.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\clearpage
-\section{The \textsf{min-element} Algorithm}
-\label{min-element}
-
-We study now the first version of the \texttt{min-element}
-algorithm from ``ACSL By Example''. 
-The specification of the \texttt{min-element} algorithm:
-
-\listingname{minelt.h}
-\cinput{minelt/minelt.spec}
-
-The implementation of the algorithm is:
-
-\listingname{minelt.c}
-\cinput{minelt/minelt.impl}
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in: 
-\fclogs{maxmin}{minelt}
-
diff --git a/src/plugins/wp/doc/tutorial/minelt/minelt_report.tex b/src/plugins/wp/doc/tutorial/minelt/minelt_report.tex
deleted file mode 100644
index bff388eed3e..00000000000
--- a/src/plugins/wp/doc/tutorial/minelt/minelt_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+min_element+ & 25 & 13 & 12 & 100\% (119) \\
diff --git a/src/plugins/wp/doc/tutorial/mismatch/eqmismatch.report b/src/plugins/wp/doc/tutorial/mismatch/eqmismatch.report
deleted file mode 100644
index 62953448443..00000000000
--- a/src/plugins/wp/doc/tutorial/mismatch/eqmismatch.report
+++ /dev/null
@@ -1,5 +0,0 @@
-@SUFFIX "_report.tex"
-@ZERO "-"
-@FUNCTION
-\verb+equal+ (mismatch) & %total & %wp & %ergo & %success\% (%time) \\
-@END
diff --git a/src/plugins/wp/doc/tutorial/mismatch/eqmismatch_report.tex b/src/plugins/wp/doc/tutorial/mismatch/eqmismatch_report.tex
deleted file mode 100644
index a47029927cd..00000000000
--- a/src/plugins/wp/doc/tutorial/mismatch/eqmismatch_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+equal+ (mismatch) & 7 & 6 & 1 & 100\% (1s) \\
diff --git a/src/plugins/wp/doc/tutorial/mismatch/equal.c b/src/plugins/wp/doc/tutorial/mismatch/equal.c
deleted file mode 100644
index 0d8279753d7..00000000000
--- a/src/plugins/wp/doc/tutorial/mismatch/equal.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "mismatch.h"
-#include "../equal/equal.h"
-bool equal(const value_type* p, size_type m, const value_type* q)
-{
-  return mismatch(p, m, q) == m; 
-}
-
-
diff --git a/src/plugins/wp/doc/tutorial/mismatch/mismatch.c b/src/plugins/wp/doc/tutorial/mismatch/mismatch.c
deleted file mode 100644
index 31308027dc6..00000000000
--- a/src/plugins/wp/doc/tutorial/mismatch/mismatch.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "mismatch.h"
-#include "mismatch.impl"
diff --git a/src/plugins/wp/doc/tutorial/mismatch/mismatch.h b/src/plugins/wp/doc/tutorial/mismatch/mismatch.h
deleted file mode 100644
index ef3a0bba86a..00000000000
--- a/src/plugins/wp/doc/tutorial/mismatch/mismatch.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _MISMATCH_H
-#define _MISMATCH_H
-#include "../library.h"
-#include "mismatch.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/mismatch/mismatch.impl b/src/plugins/wp/doc/tutorial/mismatch/mismatch.impl
deleted file mode 100644
index 20e70af48c4..00000000000
--- a/src/plugins/wp/doc/tutorial/mismatch/mismatch.impl
+++ /dev/null
@@ -1,14 +0,0 @@
-size_type mismatch(const value_type* a, size_type n, const value_type* b) 
-{ 
-  /*@ 
-    loop invariant 0 <= i <= n; 
-    loop invariant IsEqual{Here,Here}(a, i, b); 
-    loop assigns i;
-    loop variant n-i; 
-  */ 
-  for (size_type i = 0; i < n; i++) 
-    if (a[i] != b[i]) 
-      return i; 
-  return n; 
-}
- 
diff --git a/src/plugins/wp/doc/tutorial/mismatch/mismatch.spec b/src/plugins/wp/doc/tutorial/mismatch/mismatch.spec
deleted file mode 100644
index a8779c18ec4..00000000000
--- a/src/plugins/wp/doc/tutorial/mismatch/mismatch.spec
+++ /dev/null
@@ -1,20 +0,0 @@
-/*@ 
-  requires IsValidRange(a, n); 
-  requires IsValidRange(b, n); 
-
-  assigns \nothing; 
-  
-  behavior all_equal: 
-    assumes IsEqual{Here,Here}(a, n, b); 
-    ensures \result == n; 
-   
-  behavior some_not_equal: 
-    assumes !IsEqual{Here,Here}(a, n, b); 
-    ensures 0 <= \result < n; 
-    ensures a[\result] != b[\result]; 
-    ensures IsEqual{Here,Here}(a, \result, b); 
-
-  complete behaviors; 
-  disjoint behaviors; 
-*/ 
-size_type mismatch(const value_type* a, size_type n, const value_type* b); 
diff --git a/src/plugins/wp/doc/tutorial/mismatch/mismatch.tex b/src/plugins/wp/doc/tutorial/mismatch/mismatch.tex
deleted file mode 100644
index 96be419b4b4..00000000000
--- a/src/plugins/wp/doc/tutorial/mismatch/mismatch.tex
+++ /dev/null
@@ -1,34 +0,0 @@
-\clearpage
-\section{The \textsf{mismatch} Algorithm}
-
-We now present the \texttt{mismatch} algorithm that returns the index
-of the first different element between two sequences, and (-1) otherwise.
-
-\listingname{mismatch.h}
-\cinput{mismatch/mismatch.spec}
-
-The implementation is simply:
-
-\listingname{mismatch.c}
-\cinput{mismatch/mismatch.impl}
-
-Once again, \textsf{WP} simply proves the algorithm:
-\fclogs{nonmutating}{mismatch}
-
-\clearpage
-\section{Alternate \textsf{equal} with \textsf{mismatch}}
-
-It is also possible to implement the \texttt{equal} algorithm in terms
-of \texttt{mismatch}. Using the same specification file given for
-\texttt{equal} in \ref{equal}, the implementation is now:
-
-\listingname{equal.c [alt]}
-\cinput{mismatch/equal.c}
-
-The entire program is proven correct by \textsf{WP} plug-in (here,
-the proofs steps for function \texttt{mismatch} are omitted):
-\fclogs{nonmutating}{eqmismatch}
-
-As the reader may observe, the \textsf{WP} has proven the precondition
-of \texttt{mismatch} from the one of \texttt{equal}, and the
-post-condition of \texttt{equal} from the one of \texttt{mismatch}.
diff --git a/src/plugins/wp/doc/tutorial/mismatch/mismatch_report.tex b/src/plugins/wp/doc/tutorial/mismatch/mismatch_report.tex
deleted file mode 100644
index 40749040ebf..00000000000
--- a/src/plugins/wp/doc/tutorial/mismatch/mismatch_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+mismatch+ & 20 & 9 & 11 & 100\% (79) \\
diff --git a/src/plugins/wp/doc/tutorial/ptests_local_config.in b/src/plugins/wp/doc/tutorial/ptests_local_config.in
deleted file mode 100644
index 340c6454f72..00000000000
--- a/src/plugins/wp/doc/tutorial/ptests_local_config.in
+++ /dev/null
@@ -1,6 +0,0 @@
-DEFAULT_SUITES=nonmutating maxmin binary mutating
-TOPLEVEL_PATH=frama-c
-FRAMAC_SHARE=@SHARE_PATH@
-FRAMAC_LIBC=@LIB_PATH@
-FRAMAC_PLUGIN=.
-FRAMAC_PLUGIN_GUI=./gui
diff --git a/src/plugins/wp/doc/tutorial/removecopy/original.axioms b/src/plugins/wp/doc/tutorial/removecopy/original.axioms
deleted file mode 100644
index e3d60afaa38..00000000000
--- a/src/plugins/wp/doc/tutorial/removecopy/original.axioms
+++ /dev/null
@@ -1,22 +0,0 @@
-/*@
-  axiomatic WhitherRemove_Function
-  {
-    logic integer WhitherRemove{L}(value_type* a, value_type v,
-                    integer i) reads a[0..(i-1)];
-    
-    axiom whither_1:
-      \forall value_type *a, v; WhitherRemove(a, v, 0) == 0;
-
-    axiom whither_2:
-      \forall value_type *a, v, integer i; a[i] == v ==>
-        WhitherRemove(a, v, i+1) == WhitherRemove(a, v, i);
-
-    axiom whither_3:
-      \forall value_type *a, v, integer i; a[i] != v ==>
-        WhitherRemove(a, v, i+1) == WhitherRemove(a, v, i) + 1;
-
-    axiom whither_lemma:
-      \forall value_type *a, v, integer i, j; i < j && a[i] != v ==>
-        WhitherRemove(a, v, i) < WhitherRemove(a, v, j);
-  }
-*/
diff --git a/src/plugins/wp/doc/tutorial/removecopy/removecopy.axioms b/src/plugins/wp/doc/tutorial/removecopy/removecopy.axioms
deleted file mode 100644
index 7f4c67e868f..00000000000
--- a/src/plugins/wp/doc/tutorial/removecopy/removecopy.axioms
+++ /dev/null
@@ -1,22 +0,0 @@
-/*@
-  axiomatic WhitherRemove_Function
-  {
-    logic integer WhitherRemove{L}(value_type* a, value_type v,
-                    integer i) reads a[0], a[i-1];
-    
-    axiom whither_1:
-      \forall value_type *a, v; WhitherRemove(a, v, 0) == 0;
-
-    axiom whither_2:
-      \forall value_type *a, v, integer i; a[i] == v ==>
-        WhitherRemove(a, v, i+1) == WhitherRemove(a, v, i);
-
-    axiom whither_3:
-      \forall value_type *a, v, integer i; a[i] != v ==>
-        WhitherRemove(a, v, i+1) == WhitherRemove(a, v, i) + 1;
-
-    axiom whither_lemma:
-      \forall value_type *a, v, integer i, j; i < j && a[i] != v ==>
-        WhitherRemove(a, v, i) < WhitherRemove(a, v, j);
-  }
-*/
diff --git a/src/plugins/wp/doc/tutorial/removecopy/removecopy.c b/src/plugins/wp/doc/tutorial/removecopy/removecopy.c
deleted file mode 100644
index a03905b4b3c..00000000000
--- a/src/plugins/wp/doc/tutorial/removecopy/removecopy.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "removecopy.h"
-#include "removecopy.impl"
diff --git a/src/plugins/wp/doc/tutorial/removecopy/removecopy.h b/src/plugins/wp/doc/tutorial/removecopy/removecopy.h
deleted file mode 100644
index 41847d52fca..00000000000
--- a/src/plugins/wp/doc/tutorial/removecopy/removecopy.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _REMOVECOPY_H
-#define _REMOVECOPY_H
-#include "../library.h"
-#include "removecopy.axioms"
-#include "removecopy.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/removecopy/removecopy.impl b/src/plugins/wp/doc/tutorial/removecopy/removecopy.impl
deleted file mode 100644
index 617b2828d18..00000000000
--- a/src/plugins/wp/doc/tutorial/removecopy/removecopy.impl
+++ /dev/null
@@ -1,16 +0,0 @@
-size_type remove_copy(const value_type* a, size_type n, 
-		     value_type* b, value_type v) 
-{
-  size_type j = 0;
-  /*@
-    loop assigns b[0..j-1], i, j;
-    loop invariant 0 <= j <= i <= n;
-    loop invariant RemoveCopy(a, i, b, j, v);
-    loop variant n-i;
-  */
-  for (size_type i = 0; i < n; i++) {
-    if (a[i] != v)
-      b[j++] = a[i];
-  }
-  return j;
-}
diff --git a/src/plugins/wp/doc/tutorial/removecopy/removecopy.spec b/src/plugins/wp/doc/tutorial/removecopy/removecopy.spec
deleted file mode 100644
index 43465a13665..00000000000
--- a/src/plugins/wp/doc/tutorial/removecopy/removecopy.spec
+++ /dev/null
@@ -1,22 +0,0 @@
-/*@
-  predicate 
-    RemoveCopy{L}(value_type* a, integer n,
-	          value_type* b, integer m, value_type v) =
-      m == WhitherRemove(a, v, n) &&
-      \forall integer i;
-        0 <= i < n && a[i] != v ==> b[WhitherRemove(a, v, i)] == a[i];
-*/
-
-/*@
-  requires IsValidRange(a, n);
-  requires IsValidRange(b, n);
-  requires \separated(a+(0..n-1), b+(0..n-1));
-
-  assigns b[0..n-1];
-  
-  ensures \forall integer k; \result <= k < n ==> b[k] == \old(b[k]);
-
-  ensures RemoveCopy(a, n, b, \result, val);
-*/
-size_type remove_copy(const value_type* a, size_type n, 
-                      value_type* b, value_type val);
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/removecopy/removecopy.tex b/src/plugins/wp/doc/tutorial/removecopy/removecopy.tex
deleted file mode 100644
index 97e150a2aed..00000000000
--- a/src/plugins/wp/doc/tutorial/removecopy/removecopy.tex
+++ /dev/null
@@ -1,40 +0,0 @@
-\section{The \textsf{remove-copy} Algorithm}
-\label{remove-copy}
-
-We now study the \texttt{remove-copy} algorithm from ``ACSL By Example''.
-This algorithm copies the contents from a source sequence to a destination
-sequence whilst removing elements having a given value. The return value is the
-length of the range.
-
-\subsection{Adapting the Axiomatics}
-
-The axiomatization provided in ``ACSL By Example'' is:
-
-\listingname{remove-copy.axioms}
-\cinput{removecopy/original.axioms}
-
-The predicate \texttt{WhitherRemove} is defined by a \texttt{read} clause.
-It must be adapted for the current version of the \textsf{WP} plug-in which
-only implements a limited subset of \texttt{read} clauses:
-
-\listingname{remove-copy.axioms [adapted]}
-\cinput{removecopy/removecopy.axioms}
-
-\subsection{Proving the Algorithm}
-
-The specification of the \texttt{remove-copy} algorithm bases itself on the
-\texttt{RemoveCopy} predicate, itself based on the \texttt{WhitherRemove}
-function:
-
-\listingname{removecopy.h}
-\cinput{removecopy/removecopy.spec}
-
-The implementation of the algorithm is:
-
-\listingname{removecopy.c}
-\cinput{removecopy/removecopy.impl}
-
-\clearpage
-The implementation can be partially proved correct against its specification by
-running the \textsf{WP} plug-in: 
-\fclogs{mutating}{removecopy}
diff --git a/src/plugins/wp/doc/tutorial/removecopy/removecopy_report.tex b/src/plugins/wp/doc/tutorial/removecopy/removecopy_report.tex
deleted file mode 100644
index 4e08fe3c7fb..00000000000
--- a/src/plugins/wp/doc/tutorial/removecopy/removecopy_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+remove_copy+ & 20 & 7 & 11 & 90.0\% (496) \\
diff --git a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.c b/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.c
deleted file mode 100644
index 1f19aba55c6..00000000000
--- a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "replacecopy.h"
-#include "replacecopy.impl"
diff --git a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.h b/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.h
deleted file mode 100644
index c4e646d020a..00000000000
--- a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _REPLACE_COPY_H
-#define _REPLACE_COPY_H
-#include "../library.h"
-#include "replacecopy.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.impl b/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.impl
deleted file mode 100644
index dd41f3e81c6..00000000000
--- a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.impl
+++ /dev/null
@@ -1,19 +0,0 @@
-size_type replace_copy(const value_type* a, size_type n,
-                       value_type* b,
-		       value_type old_val, value_type new_val) 
-{
-  /*@ 
-    loop invariant 0 <= i <= n;
-    
-    loop assigns i,b[0..i-1];
-
-    loop invariant \forall integer j; 0 <= j < i ==>
-                    (a[j] == old_val && b[j] == new_val) ||
-		    (a[j] != old_val && b[j] == a[j]);
-    loop variant n-i;
-  */
-  for(size_type i = 0; i < n; i++)
-    b[i] = (a[i] == old_val ? new_val : a[i]);
-
-  return n;		    
-}
diff --git a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.spec b/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.spec
deleted file mode 100644
index b69f67eb5a4..00000000000
--- a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.spec
+++ /dev/null
@@ -1,15 +0,0 @@
-/*@
-  requires IsValidRange(a, n);
-  requires IsValidRange(b, n);
-  requires \separated(a+(0..n-1), b+(0..n-1));
-
-  assigns b[0..(n-1)];
-
-  ensures \forall integer j; 0 <= j < n ==>
-           (a[j] == old_val && b[j] == new_val) ||
-	   (a[j] != old_val && b[j] == a[j]);
-  ensures \result == n;
-*/
-size_type replace_copy(const value_type* a, size_type n, 
-                       value_type* b,
-		       value_type old_val, value_type new_val);
diff --git a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.tex b/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.tex
deleted file mode 100644
index cecdd9632c0..00000000000
--- a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\section{The \textsf{replace-copy} Algorithm}
-\label{replace-copy}
-
-We now study the \texttt{replace-copy} algorithm from ``ACSL By Example''.
-This algorithm copies a source sequence to a destination sequence whilst
-substituting every occurrence of a given value by another value.
-
-The specification of the \texttt{replace-copy} algorithm is as follows:
-
-\listingname{replacecopy.h}
-\cinput{replacecopy/replacecopy.spec}
-
-The implementation of the algorithm is:
-
-\listingname{replacecopy.c}
-\cinput{replacecopy/replacecopy.impl}
-
-A partial proof of correctness is obtained by running the \textsf{WP} plug-in: 
-\fclogs{mutating}{replacecopy}
-
-%% loop invariant preservation proven by Simplify though
diff --git a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy_report.tex b/src/plugins/wp/doc/tutorial/replacecopy/replacecopy_report.tex
deleted file mode 100644
index 1ff6a4887dd..00000000000
--- a/src/plugins/wp/doc/tutorial/replacecopy/replacecopy_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+replace_copy+ & 19 & 7 & 10 & 89.5\% (522) \\
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reverse.c b/src/plugins/wp/doc/tutorial/reversecopy/reverse.c
deleted file mode 100644
index d3de6c759a4..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reverse.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "reverse.h"
-#include "reverse.impl"
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reverse.h b/src/plugins/wp/doc/tutorial/reversecopy/reverse.h
deleted file mode 100644
index e22adb305fb..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reverse.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _REVERSE_H
-#define _REVERSE_H
-#include "../library.h"
-#include "../swapvalues/swapvalues.h"
-#include "reverse.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reverse.impl b/src/plugins/wp/doc/tutorial/reversecopy/reverse.impl
deleted file mode 100644
index b237af53c84..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reverse.impl
+++ /dev/null
@@ -1,33 +0,0 @@
-void reverse(value_type* a, size_type n) {
-  size_type first = 0;
-  size_type last = n-1;
-  
-  /*@
-    loop invariant 0 <= first;
-    loop invariant last < n;
-     // next 2 are added for proving "normal" assigns with alt-ergo
-    loop invariant n > 0 ==> first <= n ;
-    loop invariant n <= 0 ==> first == 0;
-
-     // false, though simplify is ok with it ...
-     //  loop invariant n > 0 ==> first <= last;
-
-    loop invariant first + last == n - 1;
-    
-    loop invariant \forall integer k;
-      0 <= k < first ==> a[k] == \at(a[n-1-k], Pre);
-      
-    loop invariant \forall integer k;
-      last < k < n ==> a[k] == \at(a[n-1-k], Pre);
-
-    loop assigns a[0..(first-1)];
-    loop assigns a[(last+1)..(n-1)];
-    loop assigns first, last;
-
-    loop variant last;
-  */
-  while (first < last) {
-    swap_values(a, n, first++, last--);
-  }
-
-}
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reverse.spec b/src/plugins/wp/doc/tutorial/reversecopy/reverse.spec
deleted file mode 100644
index be294d74919..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reverse.spec
+++ /dev/null
@@ -1,9 +0,0 @@
-/*@
-  requires IsValidRange(a, n);
- 
-  assigns a[0..(n-1)];
-  
-  ensures \forall integer i; 0 <= i < n ==> 
-            a[i] == \old(a[n-1-i]);
-*/
-void reverse(value_type* a, size_type n);
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reverse_report.tex b/src/plugins/wp/doc/tutorial/reversecopy/reverse_report.tex
deleted file mode 100644
index fd12238c708..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reverse_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+reverse+ & 39 & 25 & 12 & 94.9\% (3086) \\
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.c b/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.c
deleted file mode 100644
index b7c7a4731ad..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "reversecopy.h"
-#include "reversecopy.impl"
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.h b/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.h
deleted file mode 100644
index 4262124342e..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _REVERSE_COPY_H
-#define _REVERSE_COPY_H
-#include "../library.h"
-#include "reversecopy.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.impl b/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.impl
deleted file mode 100644
index ed518bc3e63..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.impl
+++ /dev/null
@@ -1,12 +0,0 @@
-void reverse_copy(const value_type* a, size_type n, value_type* b) {
-  /*@
-    loop invariant 0 <= i <= n;
-    loop invariant \forall integer k; 0 <= k < i ==> 
-                     b[k] == a[n-1-k];
-
-    loop assigns b[0..i-1], i ;
-    loop variant n-i;
-  */
-  for (size_type i = 0; i < n; i++)
-    b[i] = a[n-1-i];
-}
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.spec b/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.spec
deleted file mode 100644
index db02b3f827d..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.spec
+++ /dev/null
@@ -1,9 +0,0 @@
-/*@
-  requires IsValidRange(a, n);
-  requires IsValidRange(b, n);
-  
-  assigns b[0..(n-1)];
-  
-  ensures \forall integer i; 0 <= i < n ==> b[i] == a[n-1-i];
-*/
-void reverse_copy(const value_type* a, size_type n, value_type* b);
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.tex b/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.tex
deleted file mode 100644
index 69a948e79ad..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy.tex
+++ /dev/null
@@ -1,41 +0,0 @@
-\clearpage
-\section{The \textsf{reverse-copy} and \textsf{reverse} Algorithms}
-\label{reversecopy}
-
-\subsection{\textsf{reverse-copy}}
-
-We now study the \texttt{reverse-copy} algorithm from ``ACSL By Example''.
-This algorithm copies the contents from a source sequence to a destination
-sequence in reverse order.
-
-The specification of the \texttt{reverse-copy} algorithm is as follows:
-
-\listingname{reversecopy.h}
-\cinput{reversecopy/reversecopy.spec}
-
-The implementation of the algorithm is:
-
-\listingname{reversecopy.c}
-\cinput{reversecopy/reversecopy.impl}
-
-Running the \textsf{WP} plug-in does not allow proving all properties:
-\fclogs{mutating}{reversecopy}
-
-\subsection{\textsf{reverse}}
-
-The \texttt{reverse} algorithm is an in place version of the
-\texttt{reverse-copy} algorithm.
-
-Its specification is as follows:
-
-\listingname{reverse.h}
-\cinput{reversecopy/reverse.spec}
-
-The implementation is:
-
-\listingname{reverse.c}
-\cinput{reversecopy/reverse.impl}
-
-Running the \textsf{WP} plug-in does not allow proving some loop invariants
-preservation nor certain loop assigns:
-\fclogs{mutating}{reverse}
diff --git a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy_report.tex b/src/plugins/wp/doc/tutorial/reversecopy/reversecopy_report.tex
deleted file mode 100644
index cdaf8f03008..00000000000
--- a/src/plugins/wp/doc/tutorial/reversecopy/reversecopy_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+reverse_copy+ & 18 & 5 & 11 & 88.9\% (201) \\
diff --git a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.c b/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.c
deleted file mode 100644
index 3a0a9ac708f..00000000000
--- a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "rotatecopy.h"
-#include "../copy/copy.h"
-#include "rotatecopy.impl"
diff --git a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.h b/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.h
deleted file mode 100644
index 419390f5995..00000000000
--- a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _ROTATE_COPY_H
-#define _ROTATE_COPY_H
-#include "../library.h"
-#include "rotatecopy.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.impl b/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.impl
deleted file mode 100644
index 4c0d081fe57..00000000000
--- a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.impl
+++ /dev/null
@@ -1,5 +0,0 @@
-void rotate_copy(const value_type* a, size_type m, size_type n,
-                 value_type* b) {
-  copy(a, m, b+(n-m));
-  copy(a+m, n-m, b);
-}
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.spec b/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.spec
deleted file mode 100644
index 24f91a20d32..00000000000
--- a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.spec
+++ /dev/null
@@ -1,13 +0,0 @@
-/*@
-  requires IsValidRange(a, n);
-  requires IsValidRange(b, n);
-  requires \separated(a+(0..n-1), b+(0..n-1));
-  requires 0 <= m <= n;
-
-  assigns b[0..(n-1)];
-
-  ensures IsEqual{Here,Here}(a, m, b+(n-m));
-  ensures IsEqual{Here,Here}(a+m, n-m, b);  
-*/
-void rotate_copy(const value_type* a, size_type m, size_type n,
-                 value_type* b);
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.tex b/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.tex
deleted file mode 100644
index 8b80e17532b..00000000000
--- a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\section{The \textsf{rotate-copy} Algorithm}
-\label{rotate-copy}
-
-We now study the \texttt{rotate-copy} algorithm from ``ACSL By Example''.
-This algorithm rotates a source sequence by a certain number of positions and
-copies the result to a destination sequence of same size.
-
-The specification of the \texttt{rotate-copy} algorithm is as follows:
-
-\listingname{rotatecopy.h}
-\cinput{rotatecopy/rotatecopy.spec}
-
-The implementation of the algorithm is:
-
-\listingname{rotatecopy.c}
-\cinput{rotatecopy/rotatecopy.impl}
-
-A partial proof of correctness is obtained by running the \textsf{WP} plug-in: 
-\fclogs{mutating}{rotatecopy}
-
-%% simplify does better on the unproven post (which is symmetrical to other post btw)
diff --git a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy_report.tex b/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy_report.tex
deleted file mode 100644
index 791e263de29..00000000000
--- a/src/plugins/wp/doc/tutorial/rotatecopy/rotatecopy_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+rotate_copy+ & 16 & 3 & 13 & 100\% (2187) \\
diff --git a/src/plugins/wp/doc/tutorial/search/hasrange.spec b/src/plugins/wp/doc/tutorial/search/hasrange.spec
deleted file mode 100644
index 1a91379dc1e..00000000000
--- a/src/plugins/wp/doc/tutorial/search/hasrange.spec
+++ /dev/null
@@ -1,5 +0,0 @@
-/*@
-  predicate HasSubRange{A}(value_type* a, integer m,
-                           value_type* b, integer n) =
-    \exists size_type k; (0 <= k <= m-n) && IsEqual{A,A}(a+k, n, b);
-*/
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/search/search.c b/src/plugins/wp/doc/tutorial/search/search.c
deleted file mode 100644
index 19201ce5a54..00000000000
--- a/src/plugins/wp/doc/tutorial/search/search.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "search.h"
-#include "search.impl"
diff --git a/src/plugins/wp/doc/tutorial/search/search.h b/src/plugins/wp/doc/tutorial/search/search.h
deleted file mode 100644
index 4e5fa933de4..00000000000
--- a/src/plugins/wp/doc/tutorial/search/search.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef SEARCH_H
-#define SEARCH_H
-#include "../library.h"
-#include "hasrange.spec"
-#include "search.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/search/search.impl b/src/plugins/wp/doc/tutorial/search/search.impl
deleted file mode 100644
index 7520d28497b..00000000000
--- a/src/plugins/wp/doc/tutorial/search/search.impl
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "../equal/equal.h"
-
-size_type search(const value_type* a, size_type m, const value_type* b, size_type n)
-{
-  if ((n == 0) || (m == 0)) return 0;
-  if (n > m) return m; 
-  /*@
-     loop invariant 0 <= i <= m-n+1; 
-     loop invariant !HasSubRange(a, n+i-1, b, n); 
-     loop assigns i; 
-     loop variant m-i;
-  */
-  for(size_type i = 0; i <= m-n; i++) {
-    if (equal(a+i, n, b)) // Is there a match? 
-      return i;
-  } 
-  return m;
-}
diff --git a/src/plugins/wp/doc/tutorial/search/search.spec b/src/plugins/wp/doc/tutorial/search/search.spec
deleted file mode 100644
index d7bf72a5d79..00000000000
--- a/src/plugins/wp/doc/tutorial/search/search.spec
+++ /dev/null
@@ -1,20 +0,0 @@
-/*@ 
-  requires IsValidRange(a, m); 
-  requires IsValidRange(b, n);
-  assigns \nothing;
-
-  behavior has_match: 
-    assumes HasSubRange(a, m, b, n); 
-    ensures (n == 0 || m ==0) ==> \result == 0; 
-    ensures 0 <= \result <= m-n; 
-    ensures IsEqual{Here,Here}(a+\result, n, b); 
-    ensures !HasSubRange(a, \result+n-1, b, n);
-
-  behavior no_match: 
-    assumes !HasSubRange(a, m, b, n); 
-    ensures \result == m;
-
-  complete behaviors; 
-  disjoint behaviors;
-*/
-size_type search(const value_type* a, size_type m, const value_type* b, size_type n);
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/search/search.tex b/src/plugins/wp/doc/tutorial/search/search.tex
deleted file mode 100644
index 4f1a82a226f..00000000000
--- a/src/plugins/wp/doc/tutorial/search/search.tex
+++ /dev/null
@@ -1,32 +0,0 @@
-\clearpage
-\section{The \textsf{search} Algorithm}
-\label{search}
-
-We study now the \texttt{search} algorithm from ``ACSL By Example''.
-This algorithm looks for a subsequence inside a sequence.
-We use the same definition as in the original specification:
-
-\listingname{search.h}
-\cinput{search/hasrange.spec}
-
-Then follows the specification of the \texttt{search} algorithm:
-
-\listingname{search.h}
-\cinput{search/search.spec}
-
-The implementation of the algorithm is:
-
-\listingname{search.c}
-\cinput{search/search.impl}
-
-Remark that \texttt{search} is defined in terms of \texttt{equal}, and
-its specification should be included from the \texttt{equal.h} header
-file.
-
-\clearpage
-From the original specification from ``ACSL By Example'', we only add
-the \emph{loop assigns} clause.
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in: 
-\fclogs{nonmutating}{search}
-
diff --git a/src/plugins/wp/doc/tutorial/search/search_report.tex b/src/plugins/wp/doc/tutorial/search/search_report.tex
deleted file mode 100644
index 78d75bff82d..00000000000
--- a/src/plugins/wp/doc/tutorial/search/search_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+search+ & 32 & 19 & 13 & 100\% (90) \\
diff --git a/src/plugins/wp/doc/tutorial/summary.report b/src/plugins/wp/doc/tutorial/summary.report
deleted file mode 100644
index 4d502e0e01f..00000000000
--- a/src/plugins/wp/doc/tutorial/summary.report
+++ /dev/null
@@ -1,5 +0,0 @@
-@SUFFIX "_report.tex"
-@ZERO "-"
-@FUNCTION
-\verb+%function+ & %total & %wp & %ergo & %success\% %ergo:steps \\
-@END
diff --git a/src/plugins/wp/doc/tutorial/swap/swap.c b/src/plugins/wp/doc/tutorial/swap/swap.c
deleted file mode 100644
index 900958c47db..00000000000
--- a/src/plugins/wp/doc/tutorial/swap/swap.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "swap.h"
-#include "swap.impl"
diff --git a/src/plugins/wp/doc/tutorial/swap/swap.h b/src/plugins/wp/doc/tutorial/swap/swap.h
deleted file mode 100644
index fe13ddae37e..00000000000
--- a/src/plugins/wp/doc/tutorial/swap/swap.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SWAP_H
-#define _SWAP_H
-#include "../library.h"
-#include "swap.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/swap/swap.impl b/src/plugins/wp/doc/tutorial/swap/swap.impl
deleted file mode 100644
index c1220390d58..00000000000
--- a/src/plugins/wp/doc/tutorial/swap/swap.impl
+++ /dev/null
@@ -1,5 +0,0 @@
-void swap(value_type* p, value_type* q) {
-  const value_type save = *p;
-  *p = *q;
-  *q = save;
-}    
diff --git a/src/plugins/wp/doc/tutorial/swap/swap.spec b/src/plugins/wp/doc/tutorial/swap/swap.spec
deleted file mode 100644
index 861054e15ee..00000000000
--- a/src/plugins/wp/doc/tutorial/swap/swap.spec
+++ /dev/null
@@ -1,12 +0,0 @@
-/*@
-  requires \valid(p);
-  requires \valid(q);
-  requires \separated(p,q);
-
-  assigns *p;
-  assigns *q;
-
-  ensures *p == \old(*q);
-  ensures *q == \old(*p);
-*/
-void swap(value_type* p, value_type* q);
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/swap/swap.tex b/src/plugins/wp/doc/tutorial/swap/swap.tex
deleted file mode 100644
index 625aeeffbc9..00000000000
--- a/src/plugins/wp/doc/tutorial/swap/swap.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\clearpage
-\section{The \textsf{swap} Algorithm}
-\label{swap}
-
-We now study the \texttt{swap} algorithm from ``ACSL By Example''.
-This algorithm exchanges the value of two variables.
-
-The specification of the \texttt{swap} algorithm is as follows:
-
-\listingname{swap.h}
-\cinput{swap/swap.spec}
-
-The implementation of the algorithm is:
-
-\listingname{swap.c}
-\cinput{swap/swap.impl}
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in: 
-\fclogs{mutating}{swap}
-
diff --git a/src/plugins/wp/doc/tutorial/swap/swap_report.tex b/src/plugins/wp/doc/tutorial/swap/swap_report.tex
deleted file mode 100644
index d3f0aea66f4..00000000000
--- a/src/plugins/wp/doc/tutorial/swap/swap_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+swap+ & 9 & 6 & 3 & 100\% (21) \\
diff --git a/src/plugins/wp/doc/tutorial/swapranges/swapranges.c b/src/plugins/wp/doc/tutorial/swapranges/swapranges.c
deleted file mode 100644
index 33a59c589c9..00000000000
--- a/src/plugins/wp/doc/tutorial/swapranges/swapranges.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "swapranges.h"
-#include "../swap/swap.h"
-#include "swapranges.impl"
diff --git a/src/plugins/wp/doc/tutorial/swapranges/swapranges.h b/src/plugins/wp/doc/tutorial/swapranges/swapranges.h
deleted file mode 100644
index e09793267fc..00000000000
--- a/src/plugins/wp/doc/tutorial/swapranges/swapranges.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SWAP_RANGES_H
-#define _SWAP_RANGES_H
-#include "../library.h"
-#include "swapranges.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/swapranges/swapranges.impl b/src/plugins/wp/doc/tutorial/swapranges/swapranges.impl
deleted file mode 100644
index 638829b68e7..00000000000
--- a/src/plugins/wp/doc/tutorial/swapranges/swapranges.impl
+++ /dev/null
@@ -1,16 +0,0 @@
-void swap_ranges(value_type* a, size_type n, value_type* b) {
-  /*@ 
-    loop invariant 0 <= i <= n;
-    
-    loop assigns a[0..i-1];
-    loop assigns b[0..i-1];
-    loop assigns i;
-
-    loop invariant IsEqual{Pre,Here}(a, i, b);
-    loop invariant IsEqual{Here,Pre}(a, i, b);
-    loop variant n-i;
-  */  
-  for (size_type i = 0 ; i < n ; i++) {
-    swap(&a[i], &b[i]);
-  }	
-}    
diff --git a/src/plugins/wp/doc/tutorial/swapranges/swapranges.spec b/src/plugins/wp/doc/tutorial/swapranges/swapranges.spec
deleted file mode 100644
index 60e173c455d..00000000000
--- a/src/plugins/wp/doc/tutorial/swapranges/swapranges.spec
+++ /dev/null
@@ -1,12 +0,0 @@
-/*@
-  requires IsValidRange(a, n);
-  requires IsValidRange(b, n);
-  requires \separated(a+(0..n-1), b+(0..n-1));
-
-  assigns a[0..n-1];
-  assigns b[0..n-1];
-
-  ensures IsEqual{Here,Old}(a, n, b);
-  ensures IsEqual{Old,Here}(a, n, b);
-*/
-void swap_ranges(value_type* a, size_type n, value_type* b);
diff --git a/src/plugins/wp/doc/tutorial/swapranges/swapranges.tex b/src/plugins/wp/doc/tutorial/swapranges/swapranges.tex
deleted file mode 100644
index f908540bd0c..00000000000
--- a/src/plugins/wp/doc/tutorial/swapranges/swapranges.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\clearpage
-\section{The \textsf{swap-ranges} Algorithm}
-\label{swap-ranges}
-
-We now study the \texttt{swap-ranges} algorithm from ``ACSL By Example''.
-This algorithm exchanges the contents of two ranges element-wise.
-The specification of the \texttt{swap-ranges} algorithm is as follows:
-
-\listingname{swapranges.h}
-\cinput{swapranges/swapranges.spec}
-
-The implementation of the algorithm is:
-
-\listingname{swapranges.c}
-\cinput{swapranges/swapranges.impl}
-
-Within \texttt{Store} model, the preservation of loop invariants are
-hardly discharged by \textsf{Alt-Ergo}:
-%. The implementation is proven
-%correct with model \texttt{Logic} that takes benefit from arrays
-%passed by reference:
-\fclogs{mutating}{swapranges}
-
-%%\logsinput{swapranges/swapranges.log}
-
-%% can be proven using Jessie + simplify if \separated requires removed
diff --git a/src/plugins/wp/doc/tutorial/swapranges/swapranges_report.tex b/src/plugins/wp/doc/tutorial/swapranges/swapranges_report.tex
deleted file mode 100644
index 35d5fee8805..00000000000
--- a/src/plugins/wp/doc/tutorial/swapranges/swapranges_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+swap_ranges+ & 22 & 5 & 13 & 81.8\% (2385) \\
diff --git a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues-withassert.c b/src/plugins/wp/doc/tutorial/swapvalues/swapvalues-withassert.c
deleted file mode 100644
index c9b33917bb9..00000000000
--- a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues-withassert.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "swapvalues.h"
-#include "swapvalues-withassert.impl"
diff --git a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues-withassert.impl b/src/plugins/wp/doc/tutorial/swapvalues/swapvalues-withassert.impl
deleted file mode 100644
index abed2a54e32..00000000000
--- a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues-withassert.impl
+++ /dev/null
@@ -1,6 +0,0 @@
-void swap_values(value_type* a, size_type n,
-                 size_type   i, size_type j) {
-  value_type tmp = a[i];
-  a[i] = a[j];
-  a[j] = tmp;
-}    
diff --git a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.c b/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.c
deleted file mode 100644
index 17ffb560c44..00000000000
--- a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "swapvalues.h"
-#include "swapvalues.impl"
diff --git a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.h b/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.h
deleted file mode 100644
index 836070ec3f3..00000000000
--- a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SWAP_VALUES_H
-#define _SWAP_VALUES_H
-#include "../library.h"
-#include "swapvalues.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.impl b/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.impl
deleted file mode 100644
index abed2a54e32..00000000000
--- a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.impl
+++ /dev/null
@@ -1,6 +0,0 @@
-void swap_values(value_type* a, size_type n,
-                 size_type   i, size_type j) {
-  value_type tmp = a[i];
-  a[i] = a[j];
-  a[j] = tmp;
-}    
diff --git a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.spec b/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.spec
deleted file mode 100644
index d1e446023da..00000000000
--- a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.spec
+++ /dev/null
@@ -1,22 +0,0 @@
-/*@
-  predicate 
-    SwapValues{L1,L2}(value_type* a, size_type i, size_type j) =
-      0 <= i && 0 <= j &&
-      \at(a[i],L1) == \at(a[j],L2) &&
-      \at(a[j],L1) == \at(a[i],L2) &&
-      (\forall integer k; 0 <= k && k != i && k != j ==>
-	  \at(a[k],L1) == \at(a[k],L2));
-*/
-
-/*@
-  requires IsValidRange(a, n);
-  requires 0 <= i < n;
-  requires 0 <= j < n;
-
-  assigns a[i];
-  assigns a[j];
-
-  ensures SwapValues{Old,Here}(a, i, j);
-*/
-void swap_values(value_type* a, size_type n,
-                 size_type   i, size_type j);
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.tex b/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.tex
deleted file mode 100644
index 60e04a1907b..00000000000
--- a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\clearpage
-\section{The \textsf{swap-values} Algorithm}
-\label{swap-values}
-
-We now study the \texttt{swap-values} algorithm from ``ACSL By Example''.
-This algorithm exchanges the value of two variables.
-
-The specification of the \texttt{swap-values} algorithm is as follows:
-
-\listingname{swapvalues.h}
-\cinput{swapvalues/swapvalues.spec}
-
-The implementation of the algorithm is:
-
-\listingname{swapvalues.c}
-\cinput{swapvalues/swapvalues.impl}
-
-The implementation is proved correct:
-\fclogs{mutating}{swapvalues}
-
-%With \texttt{Store} memory model, the proof obligations are not discharged by \textsf{Alt-Ergo}:
-%\fclogs{mutating}{swapvalues-withassert}
-
diff --git a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues_report.tex b/src/plugins/wp/doc/tutorial/swapvalues/swapvalues_report.tex
deleted file mode 100644
index 1b248b7e580..00000000000
--- a/src/plugins/wp/doc/tutorial/swapvalues/swapvalues_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+swap_values+ & 8 & 3 & 5 & 100\% (61) \\
diff --git a/src/plugins/wp/doc/tutorial/tests/binary/binarysearch.i b/src/plugins/wp/doc/tutorial/tests/binary/binarysearch.i
deleted file mode 100644
index 77a41a5002f..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/binary/binarysearch.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   OPT: -wp -wp-par 1 -wp-msg-key shell -wp-verbose 0 binarysearch/binarysearch.c -then -wp-rte -wp -wp-report console.report -wp-report summary.report -wp-report-basename binarysearch/binarysearch
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/binary/lowerbound.i b/src/plugins/wp/doc/tutorial/tests/binary/lowerbound.i
deleted file mode 100644
index 39a854de9c3..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/binary/lowerbound.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   OPT: -wp -wp-par 1 -wp-msg-key shell -wp-verbose 0 -then -wp-rte -wp -wp-report console.report -wp-report summary.report -wp-report-basename lowerbound/lowerbound lowerbound/lowerbound.c
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/binary/oracle/binarysearch.res.oracle b/src/plugins/wp/doc/tutorial/tests/binary/oracle/binarysearch.res.oracle
deleted file mode 100644
index 7b138b4ca17..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/binary/oracle/binarysearch.res.oracle
+++ /dev/null
@@ -1,9 +0,0 @@
-# frama-c -wp [...]
-[kernel] Parsing tests/binary/binarysearch.i (no preprocessing)
-[kernel] Parsing binarysearch/binarysearch.c (with preprocessing)
-[wp] warning: Missing RTE guards
-[rte] annotating function binary_search
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-binary_search         10    8     2      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/binary/oracle/lowerbound.res.oracle b/src/plugins/wp/doc/tutorial/tests/binary/oracle/lowerbound.res.oracle
deleted file mode 100644
index dafee56c3b9..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/binary/oracle/lowerbound.res.oracle
+++ /dev/null
@@ -1,9 +0,0 @@
-# frama-c -wp [...]
-[kernel] Parsing tests/binary/lowerbound.i (no preprocessing)
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing lowerbound/lowerbound.c (with preprocessing)
-[rte] annotating function lower_bound
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-lower_bound           22    9    13      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/binary/oracle/upperbound.res.oracle b/src/plugins/wp/doc/tutorial/tests/binary/oracle/upperbound.res.oracle
deleted file mode 100644
index 3fca20e9581..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/binary/oracle/upperbound.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/binary/upperbound.i (no preprocessing)
-[kernel] Parsing upperbound/upperbound.c (with preprocessing)
-[rte] annotating function upper_bound
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-upper_bound           22    8    14      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/binary/upperbound.i b/src/plugins/wp/doc/tutorial/tests/binary/upperbound.i
deleted file mode 100644
index a031083b0bf..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/binary/upperbound.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename upperbound/upperbound" +"upperbound/upperbound.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/maxmin/compare.i b/src/plugins/wp/doc/tutorial/tests/maxmin/compare.i
deleted file mode 100644
index 4a912f7b7cc..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/maxmin/compare.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report compare/compare.report" +"-wp-report-basename compare/compare" +"compare/compare.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/maxmin/maxelt.i b/src/plugins/wp/doc/tutorial/tests/maxmin/maxelt.i
deleted file mode 100644
index a5805ee2d9b..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/maxmin/maxelt.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename maxelt/maxelt" +"maxelt/maxelt.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/maxmin/maxeltp.i b/src/plugins/wp/doc/tutorial/tests/maxmin/maxeltp.i
deleted file mode 100644
index 06be70fe898..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/maxmin/maxeltp.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report maxeltp/maxelt.report" +"-wp-report-basename maxeltp/maxelt" +"maxeltp/maxelt.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/maxmin/maxseq.i b/src/plugins/wp/doc/tutorial/tests/maxmin/maxseq.i
deleted file mode 100644
index 6f6a79ff3af..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/maxmin/maxseq.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename maxseq/maxseq" +"maxseq/maxseq.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/maxmin/minelt.i b/src/plugins/wp/doc/tutorial/tests/maxmin/minelt.i
deleted file mode 100644
index d96f773ef22..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/maxmin/minelt.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename minelt/minelt" +"minelt/minelt.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/compare.res.oracle b/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/compare.res.oracle
deleted file mode 100644
index de32d853ef4..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/compare.res.oracle
+++ /dev/null
@@ -1,7 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/maxmin/compare.i (no preprocessing)
-[kernel] Parsing compare/compare.c (with preprocessing)
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-Axiomatic Comparison   6    4     2      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxelt.res.oracle b/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxelt.res.oracle
deleted file mode 100644
index c57f6f5b0d1..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxelt.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/maxmin/maxelt.i (no preprocessing)
-[kernel] Parsing maxelt/maxelt.c (with preprocessing)
-[rte] annotating function max_element
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-max_element           25   13    12      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxeltp.res.oracle b/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxeltp.res.oracle
deleted file mode 100644
index 7e73d6924ab..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxeltp.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/maxmin/maxeltp.i (no preprocessing)
-[kernel] Parsing maxeltp/maxelt.c (with preprocessing)
-[rte] annotating function max_element
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-max_element           25   12    13      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxseq.res.oracle b/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxseq.res.oracle
deleted file mode 100644
index 66e1995e102..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/maxseq.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/maxmin/maxseq.i (no preprocessing)
-[kernel] Parsing maxseq/maxseq.c (with preprocessing)
-[rte] annotating function max_seq
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-max_seq                8    5     3      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/minelt.res.oracle b/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/minelt.res.oracle
deleted file mode 100644
index 1c725b37f63..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/maxmin/oracle/minelt.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/maxmin/minelt.i (no preprocessing)
-[kernel] Parsing minelt/minelt.c (with preprocessing)
-[rte] annotating function min_element
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-min_element           25   13    12      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/copy.i b/src/plugins/wp/doc/tutorial/tests/mutating/copy.i
deleted file mode 100644
index a58d777553c..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/copy.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename copy/copy" +"copy/copy.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/fill.i b/src/plugins/wp/doc/tutorial/tests/mutating/fill.i
deleted file mode 100644
index 00eb8b0c422..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/fill.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   OPT:-wp -wp-par 1 -wp-msg-key shell -wp-verbose 0 @PTEST_FILE@ @PTEST_NAME@/@PTEST_NAME@.c -then -wp -wp-rte -wp-report console.report -wp-report summary.report -wp-report-basename @PTEST_NAME@/@PTEST_NAME@
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/iota.i b/src/plugins/wp/doc/tutorial/tests/mutating/iota.i
deleted file mode 100644
index 00eb8b0c422..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/iota.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   OPT:-wp -wp-par 1 -wp-msg-key shell -wp-verbose 0 @PTEST_FILE@ @PTEST_NAME@/@PTEST_NAME@.c -then -wp -wp-rte -wp-report console.report -wp-report summary.report -wp-report-basename @PTEST_NAME@/@PTEST_NAME@
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/copy.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/copy.res.oracle
deleted file mode 100644
index 3d13dba59cf..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/copy.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/mutating/copy.i (no preprocessing)
-[kernel] Parsing copy/copy.c (with preprocessing)
-[rte] annotating function copy
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-copy                  15    4     9     86.7%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/fill.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/fill.res.oracle
deleted file mode 100644
index 542dfd8b745..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/fill.res.oracle
+++ /dev/null
@@ -1,9 +0,0 @@
-# frama-c -wp [...]
-[kernel] Parsing tests/mutating/fill.i (no preprocessing)
-[kernel] Parsing fill/fill.c (with preprocessing)
-[wp] warning: Missing RTE guards
-[rte] annotating function fill
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-fill                  14    5     9      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/iota.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/iota.res.oracle
deleted file mode 100644
index 53a2a88968a..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/iota.res.oracle
+++ /dev/null
@@ -1,9 +0,0 @@
-# frama-c -wp [...]
-[kernel] Parsing tests/mutating/iota.i (no preprocessing)
-[kernel] Parsing iota/iota.c (with preprocessing)
-[wp] warning: Missing RTE guards
-[rte] annotating function iota
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-iota                  16    5    11      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/removecopy.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/removecopy.res.oracle
deleted file mode 100644
index 4492d9cf953..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/removecopy.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/mutating/removecopy.i (no preprocessing)
-[kernel] Parsing removecopy/removecopy.c (with preprocessing)
-[rte] annotating function remove_copy
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-remove_copy           20    7    11     90.0%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/replacecopy.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/replacecopy.res.oracle
deleted file mode 100644
index 55ab4468e5b..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/replacecopy.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/mutating/replacecopy.i (no preprocessing)
-[kernel] Parsing replacecopy/replacecopy.c (with preprocessing)
-[rte] annotating function replace_copy
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-replace_copy          19    7    10     89.5%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/reverse.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/reverse.res.oracle
deleted file mode 100644
index 7c954059cc6..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/reverse.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/mutating/reverse.i (no preprocessing)
-[kernel] Parsing reversecopy/reverse.c (with preprocessing)
-[rte] annotating function reverse
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-reverse               39   25    12     94.9%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/reversecopy.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/reversecopy.res.oracle
deleted file mode 100644
index 2f1a1e505be..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/reversecopy.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/mutating/reversecopy.i (no preprocessing)
-[kernel] Parsing reversecopy/reversecopy.c (with preprocessing)
-[rte] annotating function reverse_copy
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-reverse_copy          18    5    11     88.9%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/rotatecopy.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/rotatecopy.res.oracle
deleted file mode 100644
index 8f2becab5a5..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/rotatecopy.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/mutating/rotatecopy.i (no preprocessing)
-[kernel] Parsing rotatecopy/rotatecopy.c (with preprocessing)
-[rte] annotating function rotate_copy
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-rotate_copy           16    3    13      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swap.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swap.res.oracle
deleted file mode 100644
index b05f75df8ee..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swap.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/mutating/swap.i (no preprocessing)
-[kernel] Parsing swap/swap.c (with preprocessing)
-[rte] annotating function swap
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-swap                   9    6     3      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapranges.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapranges.res.oracle
deleted file mode 100644
index 404d2414e3a..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapranges.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/mutating/swapranges.i (no preprocessing)
-[kernel] Parsing swapranges/swapranges.c (with preprocessing)
-[rte] annotating function swap_ranges
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-swap_ranges           22    5    13     81.8%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapvalues-withassert.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapvalues-withassert.res.oracle
deleted file mode 100644
index 1a23c9f627c..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapvalues-withassert.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/mutating/swapvalues-withassert.i (no preprocessing)
-[kernel] Parsing swapvalues/swapvalues-withassert.c (with preprocessing)
-[rte] annotating function swap_values
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-swap_values            8    3     4     87.5%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapvalues.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapvalues.res.oracle
deleted file mode 100644
index e217634d7e9..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/swapvalues.res.oracle
+++ /dev/null
@@ -1,9 +0,0 @@
-# frama-c -wp [...]
-[kernel] Parsing tests/mutating/swapvalues.i (no preprocessing)
-[kernel] Parsing swapvalues/swapvalues.c (with preprocessing)
-[wp] warning: Missing RTE guards
-[rte] annotating function swap_values
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-swap_values            8    3     5      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/uniquecopy.res.oracle b/src/plugins/wp/doc/tutorial/tests/mutating/oracle/uniquecopy.res.oracle
deleted file mode 100644
index 8888733622e..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/oracle/uniquecopy.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/mutating/uniquecopy.i (no preprocessing)
-[kernel] Parsing uniquecopy/uniquecopy.c (with preprocessing)
-[rte] annotating function unique_copy
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-unique_copy           33   13     3     48.5%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/removecopy.i b/src/plugins/wp/doc/tutorial/tests/mutating/removecopy.i
deleted file mode 100644
index 23a92d8e210..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/removecopy.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename removecopy/removecopy" +"removecopy/removecopy.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/replacecopy.i b/src/plugins/wp/doc/tutorial/tests/mutating/replacecopy.i
deleted file mode 100644
index 18a6058cf56..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/replacecopy.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename replacecopy/replacecopy" +"replacecopy/replacecopy.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/reverse.i b/src/plugins/wp/doc/tutorial/tests/mutating/reverse.i
deleted file mode 100644
index 8a12874cbab..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/reverse.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-timeout 5" +"-wp-report summary.report" +"-wp-report-basename reversecopy/reverse" +"reversecopy/reverse.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/reversecopy.i b/src/plugins/wp/doc/tutorial/tests/mutating/reversecopy.i
deleted file mode 100644
index 1cf01894857..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/reversecopy.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename reversecopy/reversecopy" +"reversecopy/reversecopy.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/rotatecopy.i b/src/plugins/wp/doc/tutorial/tests/mutating/rotatecopy.i
deleted file mode 100644
index 2c72649a2d5..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/rotatecopy.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename rotatecopy/rotatecopy" +"rotatecopy/rotatecopy.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/swap.i b/src/plugins/wp/doc/tutorial/tests/mutating/swap.i
deleted file mode 100644
index 5f756508f21..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/swap.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename swap/swap" +"swap/swap.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/swapranges.i b/src/plugins/wp/doc/tutorial/tests/mutating/swapranges.i
deleted file mode 100644
index ce1af5dc858..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/swapranges.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename swapranges/swapranges" +"swapranges/swapranges.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/swapvalues-withassert.i b/src/plugins/wp/doc/tutorial/tests/mutating/swapvalues-withassert.i
deleted file mode 100644
index e5b947e8e23..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/swapvalues-withassert.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"swapvalues/swapvalues-withassert.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/swapvalues.i b/src/plugins/wp/doc/tutorial/tests/mutating/swapvalues.i
deleted file mode 100644
index 00eb8b0c422..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/swapvalues.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   OPT:-wp -wp-par 1 -wp-msg-key shell -wp-verbose 0 @PTEST_FILE@ @PTEST_NAME@/@PTEST_NAME@.c -then -wp -wp-rte -wp-report console.report -wp-report summary.report -wp-report-basename @PTEST_NAME@/@PTEST_NAME@
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/mutating/uniquecopy.i b/src/plugins/wp/doc/tutorial/tests/mutating/uniquecopy.i
deleted file mode 100644
index 7da97640313..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/mutating/uniquecopy.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename uniquecopy/uniquecopy" +"uniquecopy/uniquecopy.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/adjacent.i b/src/plugins/wp/doc/tutorial/tests/nonmutating/adjacent.i
deleted file mode 100644
index dea079729dd..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/adjacent.i
+++ /dev/null
@@ -1,5 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename adjacent/adjacent" +"adjacent/adjacent.c"
-*/
-
-
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/count.i b/src/plugins/wp/doc/tutorial/tests/nonmutating/count.i
deleted file mode 100644
index 963aa89eaf1..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/count.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename count/count" +"count/count.c"
- */
-
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/eqmismatch.i b/src/plugins/wp/doc/tutorial/tests/nonmutating/eqmismatch.i
deleted file mode 100644
index 238975e0129..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/eqmismatch.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report mismatch/eqmismatch.report" +"-wp-report-basename mismatch/eqmismatch" +"mismatch/equal.c"
- */
-
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/equal.i b/src/plugins/wp/doc/tutorial/tests/nonmutating/equal.i
deleted file mode 100644
index b4de719217f..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/equal.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: -"-wp-rte" +"-wp-report summary.report" +"-wp-report-basename equal/equal" +"equal/equal.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/equal_rte.i b/src/plugins/wp/doc/tutorial/tests/nonmutating/equal_rte.i
deleted file mode 100644
index 6a36817b365..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/equal_rte.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename equal/equal_rte" +"equal/equal.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/find.i b/src/plugins/wp/doc/tutorial/tests/nonmutating/find.i
deleted file mode 100644
index 1f25c3b212e..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/find.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename find/find" +"find/find.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/findfirst.i b/src/plugins/wp/doc/tutorial/tests/nonmutating/findfirst.i
deleted file mode 100644
index 5a7b60e7f63..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/findfirst.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename findfirst/findfirst" +"findfirst/findfirst.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/mismatch.i b/src/plugins/wp/doc/tutorial/tests/nonmutating/mismatch.i
deleted file mode 100644
index fcaf18df649..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/mismatch.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename mismatch/mismatch" +"mismatch/mismatch.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/adjacent.res.oracle b/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/adjacent.res.oracle
deleted file mode 100644
index 8805de5ec86..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/adjacent.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/nonmutating/adjacent.i (no preprocessing)
-[kernel] Parsing adjacent/adjacent.c (with preprocessing)
-[rte] annotating function adjacent_find
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-adjacent_find         23   11    12      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/count.res.oracle b/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/count.res.oracle
deleted file mode 100644
index ea361f2e9c0..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/count.res.oracle
+++ /dev/null
@@ -1,9 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/nonmutating/count.i (no preprocessing)
-[kernel] Parsing count/count.c (with preprocessing)
-[rte] annotating function count
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-Lemma                  1    -     1      100%
-count                 16    8     8      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/eqmismatch.res.oracle b/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/eqmismatch.res.oracle
deleted file mode 100644
index d814045627c..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/eqmismatch.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/nonmutating/eqmismatch.i (no preprocessing)
-[kernel] Parsing mismatch/equal.c (with preprocessing)
-[rte] annotating function equal
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-equal                  7    6     1      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/equal.res.oracle b/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/equal.res.oracle
deleted file mode 100644
index 267c8fb5bd3..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/equal.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp [...]
-[kernel] Parsing tests/nonmutating/equal.i (no preprocessing)
-[kernel] Parsing equal/equal.c (with preprocessing)
-[wp] warning: Missing RTE guards
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-equal                 12    8     4      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/equal_rte.res.oracle b/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/equal_rte.res.oracle
deleted file mode 100644
index 77ed294c38f..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/equal_rte.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/nonmutating/equal_rte.i (no preprocessing)
-[kernel] Parsing equal/equal.c (with preprocessing)
-[rte] annotating function equal
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-equal                 15    8     7      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/find.res.oracle b/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/find.res.oracle
deleted file mode 100644
index d022459964f..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/find.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/nonmutating/find.i (no preprocessing)
-[kernel] Parsing find/find.c (with preprocessing)
-[rte] annotating function find
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-find                  19    9    10      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/findfirst.res.oracle b/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/findfirst.res.oracle
deleted file mode 100644
index b138d449c53..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/findfirst.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/nonmutating/findfirst.i (no preprocessing)
-[kernel] Parsing findfirst/findfirst.c (with preprocessing)
-[rte] annotating function find_first_of
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-find_first_of         26   16    10      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/mismatch.res.oracle b/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/mismatch.res.oracle
deleted file mode 100644
index 1f70ace71c3..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/mismatch.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/nonmutating/mismatch.i (no preprocessing)
-[kernel] Parsing mismatch/mismatch.c (with preprocessing)
-[rte] annotating function mismatch
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-mismatch              20    9    11      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/search.res.oracle b/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/search.res.oracle
deleted file mode 100644
index 00d18c5d9b7..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/oracle/search.res.oracle
+++ /dev/null
@@ -1,8 +0,0 @@
-# frama-c -wp -wp-rte [...]
-[kernel] Parsing tests/nonmutating/search.i (no preprocessing)
-[kernel] Parsing search/search.c (with preprocessing)
-[rte] annotating function search
-------------------------------------------------
-Module               #VC   WP   Ergo   Success
-search                32   19    13      100%
-------------------------------------------------
diff --git a/src/plugins/wp/doc/tutorial/tests/nonmutating/search.i b/src/plugins/wp/doc/tutorial/tests/nonmutating/search.i
deleted file mode 100644
index bf426a6687c..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/nonmutating/search.i
+++ /dev/null
@@ -1,4 +0,0 @@
-/* run.config
-   STDOPT: +"-wp-report summary.report" +"-wp-report-basename search/search" +"search/search.c"
-*/
-
diff --git a/src/plugins/wp/doc/tutorial/tests/test_config b/src/plugins/wp/doc/tutorial/tests/test_config
deleted file mode 100644
index 0370931cb79..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/test_config
+++ /dev/null
@@ -1,2 +0,0 @@
-CMD: @frama-c@ -add-path /usr/local/lib/frama-c/plugins -add-path . -journal-disable
-OPT: -wp -wp-par 1 -wp-log shell -wp-verbose 0 -wp-rte -wp-report console.report
diff --git a/src/plugins/wp/doc/tutorial/tests/test_config.in b/src/plugins/wp/doc/tutorial/tests/test_config.in
deleted file mode 100644
index 4425f4ef1ad..00000000000
--- a/src/plugins/wp/doc/tutorial/tests/test_config.in
+++ /dev/null
@@ -1,2 +0,0 @@
-CMD: @frama-c@ @LIB_PATH@ -journal-disable
-OPT: -wp -wp-par 1 -wp-msg-key shell -wp-verbose 0 -wp-rte -wp-report console.report
diff --git a/src/plugins/wp/doc/tutorial/tut_binary.tex b/src/plugins/wp/doc/tutorial/tut_binary.tex
deleted file mode 100644
index 9d9b0ab39e6..00000000000
--- a/src/plugins/wp/doc/tutorial/tut_binary.tex
+++ /dev/null
@@ -1,30 +0,0 @@
-\chapter{Binary Search Algorithms}
-\label{binary}
-
-In this chapter, we study the binary search algorithms defined in ``ACSL By Example''.
-
-\section{Specification Helpers}
-\label{binary-helpers}
-Like in the original book, we must introduce in our library the
-definition for sorted sequences:
-
-\listingname{binary.h}
-\cinput{binary/sorted.spec}
-
-We also require the introduction of an helper axiom for division:
-
-\listingname{binary.h}
-\cinput{binary/division.spec}
-
-\section{By-Reference Arguments}
-The generated proof obligations for lowerbound and upperbound functions
-are rather difficult to discharge with the \texttt{Store} memory model.
-It is better here to use the \texttt{Logic} memory model that combines \textsf{Store}
-and arrays passed by references detection, which is quite effective here.
-
-This experimental memory model is activated by \texttt{-wp-model Logic}. However,
-the proofs can be handled in \texttt{Store} model with a timeout of one minute.
-
-\input{lowerbound/lowerbound.tex}
-\input{upperbound/upperbound.tex}
-\input{binarysearch/binarysearch.tex}
diff --git a/src/plugins/wp/doc/tutorial/tut_function.tex b/src/plugins/wp/doc/tutorial/tut_function.tex
deleted file mode 100644
index 39a9c53f116..00000000000
--- a/src/plugins/wp/doc/tutorial/tut_function.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\chapter{Non-Mutating Algorithm}
-
-We focus here on the non-mutating algorithm presented in ``ACSL By
-Example'', chapter §3.
-
-\input{equal/equal.tex}
-\input{mismatch/mismatch.tex}
-\input{find/find.tex}
-\input{findfirst/findfirst.tex}
-\input{adjacent/adjacent.tex}
-\input{count/count.tex}
-\input{search/search.tex}
diff --git a/src/plugins/wp/doc/tutorial/tut_intro.tex b/src/plugins/wp/doc/tutorial/tut_intro.tex
deleted file mode 100644
index b48e5486357..00000000000
--- a/src/plugins/wp/doc/tutorial/tut_intro.tex
+++ /dev/null
@@ -1,49 +0,0 @@
-\chapter{Introduction}
-
-This book is a guided tour on how to use \textsf{WP} plug-in of
-\textsf{Frama-C} for proving \textsf{C} programs annotated with
-\textsf{ACSL} notations. It is based on the excellent ``ACSL By
-Example'' book produced by the Fraunhofer FIRST Institute for 
-the Device-Soft project\footnote{Version 7.1.0 of December 2011, 
-  see \url{http://www.first.fraunhofer.de}}.
-
-We assume the reader to be familiar with \textsf{ACSL} in general and
-already equipped with the \textsf{WP} plug-in, which is distributed
-with \textsf{Frama-C} releases. Please refer to the \textsf{WP} user's
-manual\footnote{\url{http://frama-c.com/download/frama-c-wp-manual.pdf}}
-for installation and general overview of the plug-in.
-
-\section{Library}
-
-The case studies presented in this document are exact copies of the
-ones presented in the original ``ACSL By Example'' book. Sometimes, we
-indicate some modifications of the specification that makes
-\textsf{WP} better prove the programs.
-
-All examples uses the following \emph{library} of \textsf{C} and
-\textsf{ACSL} definitions:
-
-\listingname{library.h}
-\cinput{library.h}
-
-\section{Examples}
-
-Source of case studies are generally presented in two separated files:
-one for the header and specification of the algorithm, and one of its
-implementation.  To ease the presentation in the book, we have omitted
-the necessary \texttt{include} lines from sources.
-
-Thus, a header file \texttt{A.h} should be enclosed by the following lines:
-\begin{ccode}
-  #ifndef _A_H
-  #define _A_H
-  #include "../library.h"
-  [...]
-  #endif
-\end{ccode}
-
-Similarly, an implementation file \texttt{A.c} should start by including its header:
-\begin{ccode}
-  #include "A.h"
-  [...]
-\end{ccode}
diff --git a/src/plugins/wp/doc/tutorial/tut_maxmin.tex b/src/plugins/wp/doc/tutorial/tut_maxmin.tex
deleted file mode 100644
index 082b761661d..00000000000
--- a/src/plugins/wp/doc/tutorial/tut_maxmin.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-\chapter{Maximum and Minimum Algorithms}
-
-In this chapter we study the algorithms for computing the extremum
-elements in a sequence.
-
-\input{compare/compare.tex}
-\input{maxelt/maxelt.tex}
-\input{maxeltp/maxelt.tex}
-\input{maxseq/maxseq.tex}
-\input{minelt/minelt.tex}
diff --git a/src/plugins/wp/doc/tutorial/tut_mutating.tex b/src/plugins/wp/doc/tutorial/tut_mutating.tex
deleted file mode 100644
index 2ea5d7f818a..00000000000
--- a/src/plugins/wp/doc/tutorial/tut_mutating.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\chapter{Mutating Algorithms}
-\label{mutating}
-
-In this chapter, we study the mutating algorithms defined in ``ACSL By
-Example''.
-
-\input{fill/fill.tex}
-\input{iota/iota.tex}
-\input{swap/swap.tex}
-\input{swapvalues/swapvalues.tex}
-\input{swapranges/swapranges.tex}
-\input{copy/copy.tex}
-\input{reversecopy/reversecopy.tex}
-\input{rotatecopy/rotatecopy.tex}
-\input{replacecopy/replacecopy.tex}
-\input{removecopy/removecopy.tex}
-\input{uniquecopy/uniquecopy.tex}
diff --git a/src/plugins/wp/doc/tutorial/tut_rationale.tex b/src/plugins/wp/doc/tutorial/tut_rationale.tex
deleted file mode 100644
index 185c7e699e4..00000000000
--- a/src/plugins/wp/doc/tutorial/tut_rationale.tex
+++ /dev/null
@@ -1,105 +0,0 @@
-\chapter{Rationale}
-
-This chapter summurize the results of using \textsf{WP} for proving
-the algorithms of ``ACSL By Example'' book.
-
-\section{General Observations}
-
-\paragraph{Missing Assigns.} 
-Most of assigns clauses of the original specifications version 5.1.1
-were incomplete. This is not a problem when using \textsf{Jessie}
-because its memory model handles local variables in a different way
-than \textsf{WP} does. It should be noticed that in pure
-\textsf{ACSL}, the absence of an assigns clause means
-\emph{everything} is assigned.  Actually, it is always a correct
-over-approximation, but in general, it is very difficult to prove
-something after everything has been assigned. \textsf{WP} complains
-with a warning for missing assigns clauses.
-
-\paragraph{Proving Safety.}
-The \textsf{WP} plug-in does not prove the absence of runtime errors
-ny its own. In this book, we use \textsf{RTE} plug-in to generate the
-necessary assertions to guarantee the absence of runtime erros, and
-finally prove them by \textsf{WP}. This is done very simply by using
-the \texttt{-wp-rte} option of \textsf{WP}.
-
-However, it is often the case where annotations generated by \textsf{RTE}
-introduce caveats for the \textsf{SMT} solvers. In this book, we choose to
-prove separately safety from functional behaviors. We typically use:
-
-\begin{shell}
-# frama-c -wp [...] file.c -then -wp-rte -wp
-\end{shell}
-
-Using this tip, we first prove functional properties without \textsf{RTE},
-annotation generated, \emph{then} we prove safety. Remark that proving safety 
-may take advantage of functional specifications, but not the opposite.
-
-\section{Tool Chain}
-
-All examples presented in this book are automatically produced by
-\textsf{Frama-C}. Dedicated \textit{wp-reports} have been used to
-produce the logs and summary reports of this book.
-
-The reference version and tools are:
-\begin{center}
-  \begin{tabular}{lc}
-    \hline
-    \textsf{Frama-C} & Nitrogen-20111001+dev \\
-    \textsf{WP} plug-in & 0.9 \\
-    \textsf{Alt-Ergo} & 0.99.1 \\
-    \hline
-  \end{tabular}
-\end{center}
-
-\newpage
-
-\newenvironment{summary}%
-{\begin{quote}\begin{tabular}{lcccl}
-  Algorithm & \#VC\, & \textsf{WP} & \textsf{Alt-Ergo} & ~~Success \\
-  \hline
-}{\end{tabular}\end{quote}}
-
-\section{Non-Mutating Algorithms}
-\begin{summary}
-  \input{equal/equal_rte_report}
-  \input{mismatch/mismatch_report}
-  \input{mismatch/eqmismatch_report}
-  \input{find/find_report}
-  \input{findfirst/findfirst_report}
-  \input{adjacent/adjacent_report}
-  \input{count/count_report}
-  \input{search/search_report}
-\end{summary}
-
-\section{Maximum and Minimum Algorithms}
-\begin{summary}
-  \input{compare/compare_report}
-  \input{maxelt/maxelt_report}
-  \input{maxeltp/maxelt_report}
-  \input{minelt/minelt_report}
-  \input{maxseq/maxseq_report}
-\end{summary}
-
-\section{Binary Search Algorithms}
-\begin{summary}
-  \input{lowerbound/lowerbound_report}
-  \input{upperbound/upperbound_report}
-  \input{binarysearch/binarysearch_report}
-\end{summary}
-
-\section{Mutating Algorithms}
-\begin{summary}
-  \input{fill/fill_report}
-  \input{iota/iota_report}
-  \input{swap/swap_report}
-  \input{swapvalues/swapvalues_report}
-  \input{swapranges/swapranges_report}
-  \input{copy/copy_report}
-  \input{reversecopy/reversecopy_report}
-  \input{reversecopy/reverse_report}
-  \input{rotatecopy/rotatecopy_report}
-  \input{replacecopy/replacecopy_report}
-  \input{removecopy/removecopy_report}
-  \input{uniquecopy/uniquecopy_report}
-\end{summary}
diff --git a/src/plugins/wp/doc/tutorial/tutorial.tex b/src/plugins/wp/doc/tutorial/tutorial.tex
deleted file mode 100644
index 011caded87b..00000000000
--- a/src/plugins/wp/doc/tutorial/tutorial.tex
+++ /dev/null
@@ -1,42 +0,0 @@
-\documentclass[web]{frama-c-book}
-\usepackage{longtable}
-\usepackage{pifont}
-\newcommand{\fclogs}[2]{\logsinput{tests/#1/oracle/#2.res.oracle}}
-\newenvironment{feature}[1]%
-{\footnotesize\begin{description}\item[\scriptsize WP #1]\color{blue}}
-{\end{description}}
-
-\begin{document}
-\coverpage{WP Tutorial}
-\begin{titlepage}
-\includegraphics[height=14mm]{cealistlogo.jpg}
-\hfill~
-\vfill
-\title{WP Tutorial}%
-{WP 0.8 for Neon-20140201}
-\author{Patrick Baudin, Loïc Correnson, Philippe Hermann}
-\begin{center}
-CEA LIST, Software Safety Laboratory
-\end{center}
-\vfill
-\begin{flushleft}
-  \textcopyright 2010-2014 CEA LIST
-  
-  This work is based on the book ``\textsf{ACSL by Example}''
-  published by the FOKUS Team at Fraunhofer Institute.
-\end{flushleft}
-\end{titlepage}
-
-\cleardoublepage
-\markright{}
-\tableofcontents
-
-\input{tut_intro}
-\input{tut_function}
-\input{tut_maxmin}
-\input{tut_binary}
-\input{tut_mutating}
-\input{tut_rationale}
-
-\end{document}
-
diff --git a/src/plugins/wp/doc/tutorial/tutorial.tgz b/src/plugins/wp/doc/tutorial/tutorial.tgz
deleted file mode 100644
index 52960d62a04e27c5c7843e61f852bb938670bb4e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8504
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

diff --git a/src/plugins/wp/doc/tutorial/uniquecopy/original.axioms b/src/plugins/wp/doc/tutorial/uniquecopy/original.axioms
deleted file mode 100644
index bbe63ce4199..00000000000
--- a/src/plugins/wp/doc/tutorial/uniquecopy/original.axioms
+++ /dev/null
@@ -1,29 +0,0 @@
-/*@
-  axiomatic WhitherUnique_Function
-  {
-    logic integer WhitherUnique{L}(value_type* a, integer i) 
-          reads a[0..i];
-    
-    axiom unique_1:
-      \forall value_type *a; WhitherUnique(a, 0) == 0;
-
-    axiom unique_2:
-      \forall value_type *a, integer i; 
-        a[i] == a[i+1] ==>
-          WhitherUnique(a, i+1) == WhitherUnique(a, i);
-
-    axiom unique_3:
-      \forall value_type *a, v, integer i; 
-        a[i] != a[i+1] ==>
-          WhitherUnique(a, i+1) == WhitherUnique(a, i) + 1;
-
-    axiom unique_lemma_4:
-      \forall value_type *a, integer i, j; 
-        i < j && a[i] != a[i+1] ==>
-          WhitherUnique(a, i) < WhitherUnique(a, j);
-
-    axiom unique_lemma_5:
-      \forall value_type *a, integer i, j; 
-        i < j ==> WhitherUnique(a, i) <= WhitherUnique(a, j);
-  }
-*/
diff --git a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.axioms b/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.axioms
deleted file mode 100644
index 896a637257b..00000000000
--- a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.axioms
+++ /dev/null
@@ -1,29 +0,0 @@
-/*@
-  axiomatic WhitherUnique_Function
-  {
-    logic integer WhitherUnique{L}(value_type* a, integer i) 
-          reads a[0], a[i];
-    
-    axiom unique_1:
-      \forall value_type *a; WhitherUnique(a, 0) == 0;
-
-    axiom unique_2:
-      \forall value_type *a, integer i; 
-        a[i] == a[i+1] ==>
-          WhitherUnique(a, i+1) == WhitherUnique(a, i);
-
-    axiom unique_3:
-      \forall value_type *a, v, integer i; 
-        a[i] != a[i+1] ==>
-          WhitherUnique(a, i+1) == WhitherUnique(a, i) + 1;
-
-    axiom unique_lemma_4:
-      \forall value_type *a, integer i, j; 
-        i < j && a[i] != a[i+1] ==>
-          WhitherUnique(a, i) < WhitherUnique(a, j);
-
-    axiom unique_lemma_5:
-      \forall value_type *a, integer i, j; 
-        i < j ==> WhitherUnique(a, i) <= WhitherUnique(a, j);
-  }
-*/
diff --git a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.c b/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.c
deleted file mode 100644
index ad0dd30ddc8..00000000000
--- a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "uniquecopy.h"
-#include "uniquecopy.impl"
diff --git a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.h b/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.h
deleted file mode 100644
index 5cfea9e9037..00000000000
--- a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _UNIQUECOPY_H
-#define _UNIQUECOPY_H
-#include "../library.h"
-#include "uniquecopy.axioms"
-#include "uniquecopy.spec"
-#endif
-
diff --git a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.impl b/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.impl
deleted file mode 100644
index c1fdb1d1ed0..00000000000
--- a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.impl
+++ /dev/null
@@ -1,24 +0,0 @@
-size_type unique_copy(const value_type* a, size_type n, 
-		      value_type* b) 
-{
-  if (n <= 0) return 0;
-
-  size_type j = 0;
-  b[j++] = a[0];
-  /*@
-    loop assigns b[1..j-1], i, j;
-    loop invariant 1 <= j <= i <= n;
-
-    // loop invariant \forall integer k; 0 <= k <= i-1
-    //                 ==> WhitherUnique(a,k) <= WhitherUnique(a,i-1);
-    loop invariant \forall integer k; 0 <= k < i
-                    ==> a[k] == b[WhitherUnique(a,k)];
-    loop invariant UniqueCopy(a, i, b, j);
-    loop variant n-i;
-  */
-  for (size_type i = 1; i < n; i++) {
-    if (a[i] != a[i-1])
-      b[j++] = a[i];
-  }
-  return j;
-}
diff --git a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.spec b/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.spec
deleted file mode 100644
index 1f60bc931c8..00000000000
--- a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.spec
+++ /dev/null
@@ -1,24 +0,0 @@
-/*@
-  predicate 
-    UniqueCopy{L}(value_type* a, integer n,
-	          value_type* b, integer m) =
-      (n == 0 ==> m == 0) && 
-      (n >= 1 ==> m-1 == WhitherUnique(a, n-1)) &&
-      \forall integer i;
-        0 <= i < n ==> a[i] == b[WhitherUnique(a,i)];
-*/
-
-/*@
-  requires IsValidRange(a, n);
-  requires IsValidRange(b, n);
-  requires \separated(a+(0..n-1), b+(0..n-1));
-
-  assigns b[0..n-1];
-  
-  ensures \forall integer k; \result <= k < n ==> b[k] == \old(b[k]);
-
-  ensures 0 <= \result <= n;
-  ensures UniqueCopy(a, n, b, \result);
-*/
-size_type unique_copy(const value_type* a, 
-                      size_type n, value_type* b);
\ No newline at end of file
diff --git a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.tex b/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.tex
deleted file mode 100644
index cfc896e2f91..00000000000
--- a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy.tex
+++ /dev/null
@@ -1,40 +0,0 @@
-\section{The \textsf{unique-copy} Algorithm}
-\label{unique-copy}
-
-We now study the \texttt{unique-copy} algorithm from ``ACSL By Example''.
-This algorithm copies the contents from a source sequence to a destination
-sequence whilst removing elements consecutive groups of duplicate elements once
-the first one is copied. The return value is the length of the range.
-
-\subsection{Adapting the Axiomatics}
-
-The axiomatization provided in ``ACSL By Example'' is:
-
-\listingname{unique-copy.axioms}
-\cinput{uniquecopy/original.axioms}
-
-The predicate \texttt{WhitherUnique} is defined by a \texttt{read} clause.
-It must be adapted for the current version of the \textsf{WP} plug-in which
-only implements a limited subset of \texttt{read} clauses:
-
-\listingname{unique-copy.axioms [adapted]}
-\cinput{uniquecopy/uniquecopy.axioms}
-
-\subsection{Proving the Algorithm}
-
-The specification of the \texttt{unique-copy} algorithm bases itself on the
-\texttt{UniqueCopy} predicate, itself based on the \texttt{WhitherUnique}
-function:
-
-\listingname{uniquecopy.h}
-\cinput{uniquecopy/uniquecopy.spec}
-
-\clearpage
-The implementation of the algorithm is:
-
-\listingname{uniquecopy.c}
-\cinput{uniquecopy/uniquecopy.impl}
-
-The implementation can be partially proved correct against its specification by
-running the \textsf{WP} plug-in: 
-\fclogs{mutating}{uniquecopy}
diff --git a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy_report.tex b/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy_report.tex
deleted file mode 100644
index b19f9865956..00000000000
--- a/src/plugins/wp/doc/tutorial/uniquecopy/uniquecopy_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+unique_copy+ & 33 & 13 & 3 & 48.5\% (44) \\
diff --git a/src/plugins/wp/doc/tutorial/upperbound/upperbound.c b/src/plugins/wp/doc/tutorial/upperbound/upperbound.c
deleted file mode 100644
index 1210b256cce..00000000000
--- a/src/plugins/wp/doc/tutorial/upperbound/upperbound.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "upperbound.h"
-#include "upperbound.impl"
diff --git a/src/plugins/wp/doc/tutorial/upperbound/upperbound.h b/src/plugins/wp/doc/tutorial/upperbound/upperbound.h
deleted file mode 100644
index 87433aa2f1c..00000000000
--- a/src/plugins/wp/doc/tutorial/upperbound/upperbound.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef UPPERBOUND_H
-#define UPPERBOUND_H
-#include "../binary/binary.h"
-#include "upperbound.spec"
-#endif
diff --git a/src/plugins/wp/doc/tutorial/upperbound/upperbound.impl b/src/plugins/wp/doc/tutorial/upperbound/upperbound.impl
deleted file mode 100644
index 97e47f49b5e..00000000000
--- a/src/plugins/wp/doc/tutorial/upperbound/upperbound.impl
+++ /dev/null
@@ -1,23 +0,0 @@
-size_type upper_bound(const value_type *a, size_type n, value_type val)
-{
-  size_type left = 0; 
-  size_type right = n; 
-  size_type middle = 0; 
-
-  /*@
-    loop invariant 0 <= left <= right <= n;
-    loop invariant \forall integer i; 0 <= i < left ==> a[i] <= val; 
-    loop invariant \forall integer i; right <= i < n ==> val < a[i];
-    loop assigns middle,left,right;
-    loop variant right - left;
-  */
-  while (left < right) {
-    middle = left + (right - left) / 2;
-    if (a[middle] <= val) 
-      left = middle + 1;
-    else
-      right = middle; 
-  }
-
-  return right;
-}
diff --git a/src/plugins/wp/doc/tutorial/upperbound/upperbound.spec b/src/plugins/wp/doc/tutorial/upperbound/upperbound.spec
deleted file mode 100644
index 6fc18831773..00000000000
--- a/src/plugins/wp/doc/tutorial/upperbound/upperbound.spec
+++ /dev/null
@@ -1,11 +0,0 @@
-/*@ 
-  requires IsValidRange(a, n); 
-  requires IsSorted(a, n);
-
-  assigns \nothing;
-
-  ensures 0 <= \result <= n; 
-  ensures \forall integer k; 0 <= k < \result ==> a[k] <= val; 
-  ensures \forall integer k; \result <= k < n ==> val < a[k];
-*/
-size_type upper_bound(const value_type* a, size_type n, value_type val);
diff --git a/src/plugins/wp/doc/tutorial/upperbound/upperbound.tex b/src/plugins/wp/doc/tutorial/upperbound/upperbound.tex
deleted file mode 100644
index 91b01afc4e6..00000000000
--- a/src/plugins/wp/doc/tutorial/upperbound/upperbound.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\clearpage
-\section{The \textsf{upper-bound} algorithm}
-
-We study here the \texttt{upper-bound}
-algorithm from ``ACSL By Example''. 
-Its specification is:
-
-\listingname{upperbound.h}
-\cinput{upperbound/upperbound.spec}
-
-The implementation of the algorithm is:
-
-\listingname{upperbound.c}
-\cinput{upperbound/upperbound.impl}
-
-The implementation is proved correct against its specification by
-simply running the \textsf{WP} plug-in:
-\fclogs{binary}{upperbound}
-
diff --git a/src/plugins/wp/doc/tutorial/upperbound/upperbound_report.tex b/src/plugins/wp/doc/tutorial/upperbound/upperbound_report.tex
deleted file mode 100644
index 019c9239199..00000000000
--- a/src/plugins/wp/doc/tutorial/upperbound/upperbound_report.tex
+++ /dev/null
@@ -1 +0,0 @@
-\verb+upper_bound+ & 22 & 8 & 14 & 100\% (198) \\
diff --git a/src/plugins/wp/share/ergo/int.Exponentiation.mlw b/src/plugins/wp/share/ergo/int.Exponentiation.mlw
deleted file mode 100644
index 63c0d3569f4..00000000000
--- a/src/plugins/wp/share/ergo/int.Exponentiation.mlw
+++ /dev/null
@@ -1,50 +0,0 @@
-(* this is the prelude for Alt-Ergo, version >= 0.95.2 *)
-(** The theory BuiltIn_ must be appended to this file*)
-(** The theory Bool_ must be appended to this file*)
-(** The theory int_Int_ must be appended to this file*)
-type t
-
-logic one : t
-
-logic infix_as : t, t -> t
-
-axiom Assoc :
-  (forall x:t. forall y:t. forall z:t. (infix_as(infix_as(x, y),
-  z) = infix_as(x, infix_as(y, z))))
-
-axiom Unit_def_l : (forall x:t. (infix_as(one, x) = x))
-
-axiom Unit_def_r : (forall x:t. (infix_as(x, one) = x))
-
-logic power : t, int -> t
-
-axiom Power_0 : (forall x:t. (power(x, 0) = one))
-
-axiom Power_s :
-  (forall x:t. forall n:int. ((0 <= n) -> (power(x, (n + 1)) = infix_as(x,
-  power(x, n)))))
-
-axiom Power_s_alt :
-  (forall x:t. forall n:int. ((0 <  n) -> (power(x, n) = infix_as(x, power(x,
-  (n - 1))))))
-
-axiom Power_1 : (forall x:t. (power(x, 1) = x))
-
-axiom Power_sum :
-  (forall x:t. forall n:int. forall m:int. ((0 <= n) -> ((0 <= m) ->
-  (power(x, (n + m)) = infix_as(power(x, n), power(x, m))))))
-
-axiom Power_mult :
-  (forall x:t. forall n:int. forall m:int. ((0 <= n) -> ((0 <= m) ->
-  (power(x, (n * m)) = power(power(x, n), m)))))
-
-axiom Power_comm1 :
-  (forall x:t. forall y:t. ((infix_as(x, y) = infix_as(y, x)) ->
-  (forall n:int. ((0 <= n) -> (infix_as(power(x, n), y) = infix_as(y,
-  power(x, n)))))))
-
-axiom Power_comm2 :
-  (forall x:t. forall y:t. ((infix_as(x, y) = infix_as(y, x)) ->
-  (forall n:int. ((0 <= n) -> (power(infix_as(x, y), n) = infix_as(power(x,
-  n), power(y, n)))))))
-
diff --git a/src/plugins/wp/share/ergo/int.Power.mlw b/src/plugins/wp/share/ergo/int.Power.mlw
deleted file mode 100644
index c5e16444dce..00000000000
--- a/src/plugins/wp/share/ergo/int.Power.mlw
+++ /dev/null
@@ -1,44 +0,0 @@
-(* this is the prelude for Alt-Ergo, version >= 0.95.2 *)
-(** The theory BuiltIn_ must be appended to this file*)
-(** The theory Bool_ must be appended to this file*)
-(** The theory int_Int_ must be appended to this file*)
-(** The theory int_Exponentiation_ must be appended to this file*)
-logic power : int, int -> int
-
-axiom Power_0 : (forall x:int. (power(x, 0) = 1))
-
-axiom Power_s :
-  (forall x:int. forall n:int. ((0 <= n) -> (power(x,
-  (n + 1)) = (x * power(x, n)))))
-
-axiom Power_s_alt :
-  (forall x:int. forall n:int. ((0 <  n) -> (power(x, n) = (x * power(x,
-  (n - 1))))))
-
-axiom Power_1 : (forall x:int. (power(x, 1) = x))
-
-axiom Power_sum :
-  (forall x:int. forall n:int. forall m:int. ((0 <= n) -> ((0 <= m) ->
-  (power(x, (n + m)) = (power(x, n) * power(x, m))))))
-
-axiom Power_mult :
-  (forall x:int. forall n:int. forall m:int. ((0 <= n) -> ((0 <= m) ->
-  (power(x, (n * m)) = power(power(x, n), m)))))
-
-axiom Power_comm1 :
-  (forall x:int. forall y:int. (((x * y) = (y * x)) ->
-  (forall n:int. ((0 <= n) -> ((power(x, n) * y) = (y * power(x, n)))))))
-
-axiom Power_comm2 :
-  (forall x:int. forall y:int. (((x * y) = (y * x)) ->
-  (forall n:int. ((0 <= n) -> (power((x * y), n) = (power(x, n) * power(y,
-  n)))))))
-
-axiom Power_non_neg :
-  (forall x:int. forall y:int. (((0 <= x) and (0 <= y)) -> (0 <= power(x,
-  y))))
-
-axiom Power_monotonic :
-  (forall x:int. forall n:int. forall m:int. (((0 <  x) and ((0 <= n) and
-  (n <= m))) -> (power(x, n) <= power(x, m))))
-
diff --git a/src/plugins/wp/share/wp.driver b/src/plugins/wp/share/wp.driver
index 1b6b435d6c0..8054baaeedd 100644
--- a/src/plugins/wp/share/wp.driver
+++ b/src/plugins/wp/share/wp.driver
@@ -151,7 +151,6 @@ why3.import += "real.PowerReal" ;
 coq.file += "coqwp:int/Exponentiation.v" ;
 coq.file += "coqwp:int/Power.v" ;
 coq.file += "coqwp:real/PowerReal.v" ;
-altergo.file += "ergo/int.Power.mlw" ;
 altergo.file += "ergo/real.PowerReal.mlw" ;
 
 library truncate: qed
-- 
GitLab