diff --git a/.Makefile.lint b/.Makefile.lint index ecae11caedaf5711a2d0241b5a76796b47daffe0..7d18f22eed17986328f25354182e7a0ccd4fb06a 100644 --- a/.Makefile.lint +++ b/.Makefile.lint @@ -81,17 +81,6 @@ ML_LINT_KO+=src/kernel_services/ast_data/ast.mli ML_LINT_KO+=src/kernel_services/ast_data/kernel_function.ml ML_LINT_KO+=src/kernel_services/ast_data/kernel_function.mli ML_LINT_KO+=src/kernel_services/ast_data/property_status.mli -ML_LINT_KO+=src/kernel_services/ast_printing/cabs_debug.ml -ML_LINT_KO+=src/kernel_services/ast_printing/cil_descriptive_printer.ml -ML_LINT_KO+=src/kernel_services/ast_printing/cil_printer.mli -ML_LINT_KO+=src/kernel_services/ast_printing/cil_types_debug.mli -ML_LINT_KO+=src/kernel_services/ast_printing/cprint.ml -ML_LINT_KO+=src/kernel_services/ast_printing/cprint.mli -ML_LINT_KO+=src/kernel_services/ast_printing/logic_print.ml -ML_LINT_KO+=src/kernel_services/ast_printing/printer.ml -ML_LINT_KO+=src/kernel_services/ast_printing/printer_api.mli -ML_LINT_KO+=src/kernel_services/ast_printing/printer_builder.ml -ML_LINT_KO+=src/kernel_services/ast_printing/printer_builder.mli ML_LINT_KO+=src/kernel_services/ast_queries/ast_info.ml ML_LINT_KO+=src/kernel_services/ast_queries/ast_info.mli ML_LINT_KO+=src/kernel_services/ast_queries/cil.mli diff --git a/.gitignore b/.gitignore index 633a7d72b4f6a96980eec0d1d508467a17ddfa92..1b62026db65f526f2fbbd80f37d092e8d7eac723 100644 --- a/.gitignore +++ b/.gitignore @@ -42,9 +42,8 @@ autom4te.cache #tests /tests/ptests_config -/tests/*/result/ -/tests/*/*/result/ -/tests/*/result_*/ +/tests/**/result/ +/tests/**/result_*/ /tests/journal/intra.byte /tests/misc/my_visitor_plugin/my_visitor.opt /tests/misc/my_visitor.sav @@ -66,6 +65,7 @@ autom4te.cache /share/manuals/ #doc + /doc/manuals/ /doc/*/*.dot /doc/*/*.aux @@ -137,6 +137,8 @@ autom4te.cache /doc/pdg/pdg00*.png /doc/pdg/previous_motif.gif +/doc/server/ + #lib /lib/fc/ /lib/plugins/*.mli diff --git a/Changelog b/Changelog index 89126925807b1f70a5c6a1ac8265ecad0f82796d..61f02b36d6a38b1d36f374ab4b5cce3c36c2e721 100644 --- a/Changelog +++ b/Changelog @@ -17,6 +17,8 @@ Open Source Release <next-release> ################################## +-* Makefile [2019/09/12] Fixes #2378 - bytecode only compilation (patch + contributed by madroach) and use -thread where needed. -* Kernel [2019/08/20] Fixes a rare but critical bug which occured when Frama-C internally switched the current project in presence of >2 projects and destroyed the old current project at about the same diff --git a/INSTALL.md b/INSTALL.md index 7c8de3fe75796bfd005087a7fe8a860bbd1f2abc..fd85b7bfcb472ec6f8fa61e62605e95cf60bc646 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -82,7 +82,7 @@ Frama-C 19 (Potassium): - lablgtk.2.18.5 | lablgtk3.3.0.beta5 + lablgtk3-sourceview3.3.0.beta5 - mlgmpidl.1.2.9 (optional) - ocamlgraph.1.8.8 -- why3.1.2.0 (optional) +- why3.1.2.0 - why3-coq.1.2.0 (optional) - yojson.1.4.1 - zarith.1.7 @@ -225,7 +225,6 @@ We recommend to rely on it for the installation of Frama-C. ```shell brew install graphviz - opam install why3 ``` 5. Install *optional* dependencies for Frama-C/WP: diff --git a/Makefile b/Makefile index a2f6ecef224d5acb8fb13fb8f3a5a9abda75da13..a4ba43c60ea3355165bafcb0f4fbabaec98098e3 100644 --- a/Makefile +++ b/Makefile @@ -84,6 +84,7 @@ PLUGIN_BIN_DOC_LIST:= PLUGIN_DIST_EXTERNAL_LIST:= PLUGIN_DIST_TESTS_LIST:= PLUGIN_DISTRIBUTED_NAME_LIST:= +MERLIN_PACKAGES:= PLUGIN_HEADER_SPEC_LIST := PLUGIN_HEADER_DIRS_LIST := @@ -263,6 +264,7 @@ DISTRIB_FILES:=\ share/analysis-scripts/frama_c_results.py \ share/analysis-scripts/git_utils.py \ share/analysis-scripts/list_files.py \ + share/analysis-scripts/make_template.py \ share/analysis-scripts/make_wrapper.py \ share/analysis-scripts/parse-coverage.sh \ share/analysis-scripts/README.md \ @@ -271,6 +273,10 @@ DISTRIB_FILES:=\ share/analysis-scripts/template.mk \ $(wildcard share/emacs/*.el) share/autocomplete_frama-c \ share/_frama-c \ + share/compliance/c11_functions.json \ + share/compliance/glibc_functions.json \ + share/compliance/nonstandard_identifiers.json \ + share/compliance/posix_identifiers.json \ share/configure.ac \ share/Makefile.config.in share/Makefile.common \ share/Makefile.generic \ @@ -451,6 +457,7 @@ LIB_CMO =\ src/libraries/utils/leftistheap \ src/libraries/stdlib/integer \ src/libraries/utils/json \ + src/libraries/utils/markdown \ src/libraries/utils/rich_text \ src/libraries/utils/dotgraph @@ -809,56 +816,34 @@ PLUGIN_DIR:=src/plugins/value PLUGIN_EXTRA_DIRS:=engine values domains domains/cvalue domains/apron \ domains/gauges domains/equality legacy slevel utils gui_files \ values/numerors domains/numerors +PLUGIN_TESTS_DIRS+=value/traces # Files for the binding to Apron domains. Only available if Apron is available. ifeq ($(HAS_APRON),yes) PLUGIN_REQUIRES+= apron.octMPQ apron.boxMPQ apron.polkaMPQ apron.apron gmp -src/plugins/value/domains/apron/apron_domain.ml: \ - src/plugins/value/domains/apron/apron_domain.ok.ml \ - share/Makefile.config - $(CP_IF_DIFF) $< $@ - $(CHMOD_RO) $@ +APRON_CMO:= domains/apron/apron_domain else -src/plugins/value/domains/apron/apron_domain.ml: \ - src/plugins/value/domains/apron/apron_domain.ko.ml \ - share/Makefile.config - $(CP_IF_DIFF) $< $@ - $(CHMOD_RO) $@ -endif -PLUGIN_GENERATED+= src/plugins/value/domains/apron/apron_domain.ml +APRON_CMO:= PLUGIN_DISTRIB_EXTERNAL+= \ - domains/apron/apron_domain.ok.ml domains/apron/apron_domain.ko.ml + domains/apron/apron_domain.ml domains/apron/apron_domain.mli +endif # Files for the numerors domain. Only available is MPFR is available. NUMERORS_FILES:= \ values/numerors/numerors_utils values/numerors/numerors_float \ values/numerors/numerors_interval values/numerors/numerors_arithmetics \ - values/numerors/numerors_value + values/numerors/numerors_value domains/numerors/numerors_domain ifeq ($(HAS_MPFR),yes) PLUGIN_REQUIRES+= gmp PLUGIN_TESTS_DIRS+=value/numerors NUMERORS_CMO:= $(NUMERORS_FILES) -src/plugins/value/domains/numerors/numerors_domain.ml: \ - src/plugins/value/domains/numerors/numerors_domain.ok.ml \ - share/Makefile.config - $(CP_IF_DIFF) $< $@ - $(CHMOD_RO) $@ else # Do not compile numerors files, but include them in the distributed files. NUMERORS_CMO:= PLUGIN_DISTRIB_EXTERNAL+= $(addsuffix .ml,$(NUMERORS_FILES)) PLUGIN_DISTRIB_EXTERNAL+= $(addsuffix .mli,$(NUMERORS_FILES)) -src/plugins/value/domains/numerors/numerors_domain.ml: \ - src/plugins/value/domains/numerors/numerors_domain.ko.ml \ - share/Makefile.config - $(CP_IF_DIFF) $< $@ - $(CHMOD_RO) $@ endif -PLUGIN_GENERATED+= src/plugins/value/domains/numerors/numerors_domain.ml -PLUGIN_DISTRIB_EXTERNAL+= \ - domains/numerors/numerors_domain.ok.ml \ - domains/numerors/numerors_domain.ko.ml # General rules for ordering files within PLUGIN_CMO: # - try to keep the legacy Value before Eva @@ -870,7 +855,7 @@ PLUGIN_CMO:= slevel/split_strategy value_parameters \ slevel/per_stmt_slevel \ utils/library_functions \ utils/eval_typ utils/backward_formals \ - alarmset eval utils/structure \ + alarmset eval utils/structure utils/abstract \ values/value_product values/location_lift \ values/cvalue_forward values/cvalue_backward \ values/main_values values/main_locations \ @@ -879,15 +864,14 @@ PLUGIN_CMO:= slevel/split_strategy value_parameters \ domains/domain_store domains/domain_builder \ domains/domain_product domains/domain_lift domains/unit_domain \ domains/printer_domain \ + domains/traces_domain \ domains/simple_memory \ domains/gauges/gauges_domain \ - domains/apron/apron_domain \ domains/hcexprs \ domains/equality/equality domains/equality/equality_domain \ domains/offsm_domain \ domains/symbolic_locs \ domains/sign_domain \ - $(NUMERORS_CMO) domains/numerors/numerors_domain \ domains/cvalue/warn domains/cvalue/locals_scoping \ domains/cvalue/cvalue_offsetmap \ utils/value_results \ @@ -909,7 +893,8 @@ PLUGIN_CMO:= slevel/split_strategy value_parameters \ engine/partition engine/partitioning_parameters engine/trace_partitioning \ engine/iterator \ engine/initialization \ - engine/compute_functions engine/analysis register + engine/compute_functions engine/analysis register \ + $(APRON_CMO) $(NUMERORS_CMO) PLUGIN_CMI:= values/abstract_value values/abstract_location \ domains/abstract_domain domains/simpler_domains PLUGIN_DEPENDENCIES:=Callgraph LoopAnalysis RteGen @@ -1236,12 +1221,15 @@ bin/toplevel.opt$(EXE): $(ALL_BATCH_CMX) $(GEN_OPT_LIBS) \ LIB_KERNEL_CMO= $(filter-out src/kernel_internals/runtime/gui_init.cmo, $(CMO)) LIB_KERNEL_CMX= $(filter-out src/kernel_internals/runtime/gui_init.cmx, $(CMX)) -lib/fc/frama-c.cma: $(LIB_KERNEL_CMO) $(GEN_OPT_LIBS) $(LIB_KERNEL_CMX) lib/fc/META.frama-c - $(PRINT_LINKING) $@ and lib/fc/frama-c.cmxa +lib/fc/frama-c.cma: $(LIB_KERNEL_CMO) $(GEN_BYTE_LIBS) lib/fc/META.frama-c + $(PRINT_LINKING) $@ $(MKDIR) $(FRAMAC_LIB) - $(OCAMLMKLIB) -o lib/fc/frama-c $(OPT_LIBS) $(LIB_KERNEL_CMO) $(LIB_KERNEL_CMX) + $(OCAMLMKLIB) -o lib/fc/frama-c $(BYTE_LIBS) $(LIB_KERNEL_CMO) -lib/fc/frama-c.cmxa: lib/fc/frama-c.cma +lib/fc/frama-c.cmxa: lib/fc/frama-c.cma $(GEN_OPT_LIBS) $(LIB_KERNEL_CMX) + $(MKDIR) $(FRAMAC_LIB) + $(PRINT_LINKING) $@ + $(OCAMLMKLIB) -o lib/fc/frama-c $(OPT_LIBS) $(LIB_KERNEL_CMX) #################### # (Ocaml) Toplevel # @@ -1290,14 +1278,6 @@ gui: gui-$(OCAMLBEST) ALL_GUI_CMO= $(ALL_CMO) $(GRAPH_GUICMO) $(GUICMO) ALL_GUI_CMX= $(patsubst %.cma,%.cmxa,$(ALL_GUI_CMO:.cmo=.cmx)) -ifeq ($(LABLGTK_VERSION),3) -ifeq ($(NATIVE_THREADS),yes) -THREAD=-thread -else -THREAD=-vmthread -endif -endif - bin/viewer.byte$(EXE): BYTE_LIBS+= $(GRAPH_GUICMO) bin/viewer.byte$(EXE): $(filter-out $(GRAPH_GUICMO),$(ALL_GUI_CMO)) \ $(GEN_BYTE_LIBS) \ @@ -1368,7 +1348,7 @@ include Makefile.generating # Tests # ######### -ifeq ($(PTESTSBEST),opt) +ifeq ($(OCAMLBEST),opt) PTESTS_FILES=ptests_config.cmi ptests_config.cmx ptests_config.o else PTESTS_FILES=ptests_config.cmi ptests_config.cmo @@ -1390,9 +1370,9 @@ update_external_tests: external_tests oracles: byte opt ptests $(PRINT_MAKING) oracles - ./bin/ptests.$(PTESTSBEST)$(EXE) -make "$(MAKE)" $(PLUGIN_TESTS_LIST) \ + ./bin/ptests.$(OCAMLBEST)$(EXE) -make "$(MAKE)" $(PLUGIN_TESTS_LIST) \ > /dev/null 2>&1 - ./bin/ptests.$(PTESTSBEST)$(EXE) -make "$(MAKE)" -update \ + ./bin/ptests.$(OCAMLBEST)$(EXE) -make "$(MAKE)" -update \ $(PLUGIN_TESTS_LIST) btests: byte ./bin/ptests.byte$(EXE) @@ -1402,13 +1382,13 @@ btests: byte ./bin/ptests.byte$(EXE) tests_dist: dist ptests $(PRINT_EXEC) ptests - time -p ./bin/ptests.$(PTESTSBEST)$(EXE) -make "$(MAKE)" \ + time -p ./bin/ptests.$(OCAMLBEST)$(EXE) -make "$(MAKE)" \ $(PLUGIN_TESTS_LIST) # test only one test suite : make suite_tests %_tests: opt ptests $(PRINT_EXEC) ptests - ./bin/ptests.$(PTESTSBEST)$(EXE) -make "$(MAKE)" $($*_TESTS_OPTS) $* + ./bin/ptests.$(OCAMLBEST)$(EXE) -make "$(MAKE)" $($*_TESTS_OPTS) $* # full test suite wp_TESTS_OPTS=-j 1 @@ -1511,6 +1491,28 @@ plugins-doc: $(addsuffix _DOC,$(PLUGIN_DISTRIBUTED_NAME_LIST)),\ $(PLUGIN_DOC_LIST))) +.PHONY: server-doc-md server-doc-html server-doc + +server-doc-md: byte + $(PRINT) 'Generating Markdown server documentation' + @rm -fr doc/server + @mkdir -p doc/server + ./bin/frama-c.byte -server-doc doc/server + +server-doc-html: server-doc-md + $(PRINT) 'Generating HTML server documentation' + @find doc/server -name "*.md" -print -exec pandoc \ + --standalone --toc --toc-depth=2 --to html \ + --template doc/pandoc/template.html \ + --metadata-file {}.json \ + --lua-filter doc/pandoc/href.lua \ + {} -o {}.html \; + @cp -f doc/pandoc/style.css doc/server/ + $(PRINT) 'HTML server documentation ready:' + $(PRINT) ' open doc/server/readme.md.html' + +server-doc: server-doc-html + # to make the documentation for one plugin only, # the name of the plugin should begin with a capital letter : # Example for the pdg doc : make Pdg_DOC @@ -1862,11 +1864,15 @@ clean-install: $(PRINT_RM) "Installation directory" $(RM) -r $(FRAMAC_LIBDIR) -install-lib: clean-install +install-lib-byte: clean-install $(PRINT_INSTALL) kernel API $(MKDIR) $(FRAMAC_LIBDIR) - $(CP) $(LIB_BYTE_TO_INSTALL) $(LIB_OPT_TO_INSTALL) $(FRAMAC_LIBDIR) - $(CP) $(addprefix lib/fc/,dllframa-c.so libframa-c.a frama-c.cma frama-c.a frama-c.cmxa META.frama-c) $(FRAMAC_LIBDIR) + $(CP) $(LIB_BYTE_TO_INSTALL) $(FRAMAC_LIBDIR) + $(CP) $(addprefix lib/fc/,dllframa-c.so libframa-c.a frama-c.cma META.frama-c) $(FRAMAC_LIBDIR) + +install-lib-opt: install-lib-byte + $(CP) $(LIB_OPT_TO_INSTALL) $(FRAMAC_LIBDIR) + $(CP) $(addprefix lib/fc/,frama-c.a frama-c.cmxa) $(FRAMAC_LIBDIR) install-doc-code: $(PRINT_INSTALL) API documentation @@ -1878,7 +1884,7 @@ install-doc-code: | (cd $(FRAMAC_DATADIR)/doc ; tar xf -)) .PHONY: install -install:: install-lib +install:: install-lib-$(OCAMLBEST) $(PRINT_MAKING) destination directories $(MKDIR) $(BINDIR) $(MKDIR) $(MANDIR)/man1 @@ -1910,6 +1916,7 @@ install:: install-lib share/analysis-scripts/frama_c_results.py \ share/analysis-scripts/git_utils.py \ share/analysis-scripts/list_files.py \ + share/analysis-scripts/make_template.py \ share/analysis-scripts/make_wrapper.py \ share/analysis-scripts/parse-coverage.sh \ share/analysis-scripts/README.md \ @@ -1920,6 +1927,12 @@ install:: install-lib $(MKDIR) $(FRAMAC_DATADIR)/analysis-scripts/examples $(CP) share/analysis-scripts/examples/* \ $(FRAMAC_DATADIR)/analysis-scripts/examples + $(MKDIR) $(FRAMAC_DATADIR)/compliance + $(CP) share/compliance/c11_functions.json \ + share/compliance/glibc_functions.json \ + share/compliance/nonstandard_identifiers.json \ + share/compliance/posix_identifiers.json \ + $(FRAMAC_DATADIR)/compliance $(MKDIR) $(FRAMAC_DATADIR)/emacs $(CP) $(wildcard share/emacs/*.el) $(FRAMAC_DATADIR)/emacs $(CP) share/frama-c.rc $(ICONS) $(FRAMAC_DATADIR) @@ -1950,8 +1963,8 @@ install:: install-lib if [ -x bin/viewer.byte$(EXE) ] ; then \ $(CP) bin/viewer.byte$(EXE) $(BINDIR)/frama-c-gui.byte$(EXE); \ fi - $(CP) bin/ptests.$(PTESTSBEST)$(EXE) \ - $(BINDIR)/ptests.$(PTESTSBEST)$(EXE) + $(CP) bin/ptests.$(OCAMLBEST)$(EXE) \ + $(BINDIR)/ptests.$(OCAMLBEST)$(EXE) if [ -x bin/fc-config$(EXE) ] ; then \ $(CP) bin/fc-config$(EXE) $(BINDIR)/frama-c-config$(EXE); \ fi @@ -1988,7 +2001,7 @@ install:: install-lib .PHONY: uninstall uninstall:: $(PRINT_RM) installed binaries - $(RM) $(BINDIR)/frama-c* $(BINDIR)/ptests.$(PTESTSBEST)$(EXE) + $(RM) $(BINDIR)/frama-c* $(BINDIR)/ptests.$(OCAMLBEST)$(EXE) $(PRINT_RM) installed shared files $(RM) -R $(FRAMAC_DATADIR) $(PRINT_RM) installed libraries @@ -2303,22 +2316,16 @@ PTESTS_SRC=ptests/ptests_config.ml ptests/ptests.ml # that does not contain a 'tests' dir PTESTS_CONFIG:= $(shell if test -d tests; then echo tests/ptests_config; fi) -ifeq ($(NATIVE_THREADS),yes) -PTEST_THREAD=-thread -ptests: bin/ptests.$(PTESTSBEST)$(EXE) $(PTESTS_CONFIG) -else -PTEST_THREAD=-vmthread -ptests: bin/ptests.byte$(EXE) $(PTESTS_CONFIG) -endif +ptests: bin/ptests.$(OCAMLBEST)$(EXE) $(PTESTS_CONFIG) bin/ptests.byte$(EXE): $(PTESTS_SRC) $(PRINT_LINKING) $@ - $(OCAMLC) -I ptests -dtypes $(PTEST_THREAD) -g -o $@ \ + $(OCAMLC) -I ptests -dtypes -thread -g -o $@ \ unix.cma threads.cma str.cma dynlink.cma $^ bin/ptests.opt$(EXE): $(PTESTS_SRC) $(PRINT_LINKING) $@ - $(OCAMLOPT) -I ptests -dtypes $(PTEST_THREAD) -o $@ \ + $(OCAMLOPT) -I ptests -dtypes -thread -o $@ \ unix.cmxa threads.cmxa str.cmxa dynlink.cmxa $^ GENERATED+=ptests/ptests_config.ml tests/ptests_config diff --git a/bin/frama-c-script b/bin/frama-c-script index e3dafca01d88506b4c9402155b7c5b0f84f1b29e..3543aaee31f3e85e2215b71ac50e13946c444888 100755 --- a/bin/frama-c-script +++ b/bin/frama-c-script @@ -26,11 +26,14 @@ while [ $# -ge 1 -a "$1" = "-check" ]; do shift done -if [ $# -lt 1 ]; then +usage() { echo "usage: $0 cmd [args]" echo "" echo " where cmd is:" echo "" + echo " - help" + echo " Display this help message and exit." + echo "" echo " - make-template [dir]" echo " Interactively prepares a template for running analysis scripts," echo " writing it to [dir/GNUmakefile]. [dir] is [.] if omitted." @@ -74,7 +77,11 @@ if [ $# -lt 1 ]; then echo " - normalize-jcdb [path/to/compile_commands.json]" echo " Applies some transformations to an existing compile_commands.json" echo " (such as relativizing paths) to improve portability" - exit + exit $1 +} + +if [ $# -lt 1 ]; then + usage 1 fi DIR="$( cd "$( dirname "$0" )" && pwd )" @@ -113,62 +120,6 @@ open_file() { esac } -make_template() { - if [ "$#" -gt 0 ]; then - dir="${1%/}" - else - dir="." - fi - path="$dir/GNUmakefile" - path_tmp="${path}.tmp" - check_path_exists "$path" - read -p "Main target name: " main - if [[ ! ( "$main" =~ ^[a-zA-Z_0-9]+$ ) ]]; then - echo "error: invalid main target name"; - exit 1 - fi - read -p "Source files separated by spaces (default if empty: *.c): " sources - if [ "$sources" = "" ]; then - sources="*.c" - fi - - add_main_stub=0 - read -p "Add stub for function main (only needed if it uses command-line arguments)? [y/N] " yn - case $yn in - [Yy]) - add_main_stub=1 - sources="fc_stubs.c $sources" - ;; - *) - ;; - esac - - sed "s/^MAIN_TARGET :=/MAIN_TARGET := ${main}/" "${FRAMAC_SHARE}/analysis-scripts/template.mk" > "$path" - sed "s|\$(MAIN_TARGET).parse:|\$(MAIN_TARGET).parse: $sources|" "$path" | sed "/# Remove these lines after defining the main target/{N;N;N;N;d;}" > "$path_tmp"; mv "$path_tmp" "$path" - if [ -e "compile_commands.json" ]; then - read -p "compile_commands.json exists, add option -json-compilation-database? [Y/n] " yn - case $yn in - [Nn]) - echo "Option not added; you can later add it to FCFLAGS." - ;; - *) - # the command below inserts a line after matching a given - # pattern; compatible with macOS sed - sed -e '/^FCFLAGS[[:space:]]\++=/a\ -\ \ -json-compilation-database .\\' "$path" > "$path_tmp"; mv "$path_tmp" "$path" - ;; - esac - fi - if [ $add_main_stub -eq 1 ]; then - check_path_exists "fc_stubs.c" - cp "${FRAMAC_SHARE}/analysis-scripts/fc_stubs.c" "./" - echo "Created stub for main function: fc_stubs.c" - sed -e '/^FCFLAGS[[:space:]]\++=/a\ -\ \ -main eva_main \\' "$path" > "$path_tmp"; mv "$path_tmp" "$path" - fi - echo "Template created: $path" -} - make_path() { cat <<EOF > frama-c-path.mk FRAMAC_DIR=${DIR} @@ -276,9 +227,12 @@ normalize_jcdb() { } case "$command" in + "help" | "-help" | "--help" | "-h") + usage 0; + ;; "make-template") shift; - make_template "$@"; + ${FRAMAC_SHARE}/analysis-scripts/make_template.py "$0" "$@"; ;; "make-path") shift; @@ -313,5 +267,6 @@ case "$command" in normalize_jcdb "$@"; ;; *) - echo "error: unrecognized command: $command" + echo "error: unrecognized command: $command"; + exit 1 esac diff --git a/bin/rebuild.sh b/bin/rebuild.sh index e6f5900bd94fb75da5bcbffc16f78fa03d92e103..f8d3346fab80481cfd8a6eaa73f3f1d92765a6eb 100755 --- a/bin/rebuild.sh +++ b/bin/rebuild.sh @@ -5,4 +5,4 @@ autoconf -f ./configure make clean make depend -make -j +make -kj diff --git a/configure.in b/configure.in index aeb14b7922d7e3d83280cdd0252d81cf3284efb3..54f3e157cd2d36381976271133d8258f25da720b 100644 --- a/configure.in +++ b/configure.in @@ -411,8 +411,6 @@ if test "$OCAML_OS_TYPE" = "Win32"; then PLATFORM=Win32 OCAMLWIN32=yes EXE=.exe - # OCaml on Win32 does not support vmthreads, use native ones. - HAS_NATIVE_THREADS=yes else OCAMLWIN32=no if test "$OCAML_OS_TYPE" = "Cygwin"; then @@ -429,24 +427,6 @@ else fi EXE= fi - - if test "$OCAMLBEST" = opt; then - # OCaml native threads - AC_MSG_CHECKING([OCaml native threads]) - echo "let f = Thread.create (fun () -> ())" > test_native_threads.ml - if ($OCAMLOPT -thread -o test_native_threads unix.cmxa threads.cmxa \ - test_native_threads.ml) 2> /dev/null ; - then - HAS_NATIVE_THREADS=yes - AC_MSG_RESULT([ok.]); - else - HAS_NATIVE_THREADS=no - AC_MSG_WARN([unsupported.]); - fi - rm -f test_native_threads*; - else - HAS_NATIVE_THREADS=no; # no native compilation anyway - fi fi # C and POSIX standard headers used by C bindings. @@ -980,21 +960,6 @@ configure_library([LABLGTK], configure_tool([DOT],[dot],[dot not found: you should install GraphViz],no) -# Checking some other things which cannot be done too early -########################################################### - -# Native version of ptests can be used only if -# - a native compiler exists -# - native threads are usable - -PTESTSBEST=byte -if test \ - "$OCAMLBEST" = "opt" -a \ - "$HAS_NATIVE_THREADS" = "yes"; \ -then - PTESTSBEST=opt; -fi - ######################## # Plug-in dependencies # ######################## @@ -1043,8 +1008,6 @@ AC_SUBST(CC) AC_SUBST(EXTERNAL_PLUGINS) -AC_SUBST(HAS_NATIVE_THREADS) -AC_SUBST(PTESTSBEST) AC_SUBST(LABLGTK_PATH) # m4_foreach_w is not supported in some old autoconf versions. diff --git a/doc/code/.gitignore b/doc/code/.gitignore index b7720446464e2b86180a469acd76669aa411012f..d215811ad788d24a80392ce042fe246711ae33ff 100644 --- a/doc/code/.gitignore +++ b/doc/code/.gitignore @@ -33,3 +33,4 @@ /value/ /variadic/ /wp/ +/server/ diff --git a/doc/pandoc/href.lua b/doc/pandoc/href.lua new file mode 100644 index 0000000000000000000000000000000000000000..080635d1533c0aee541b0c4b85bb8917b80bcd74 --- /dev/null +++ b/doc/pandoc/href.lua @@ -0,0 +1,4 @@ +function Link(el) + el.target = string.gsub(el.target, "%.md", ".md.html") + return el +end diff --git a/doc/pandoc/style.css b/doc/pandoc/style.css new file mode 100644 index 0000000000000000000000000000000000000000..ba609d558f7bdb1b4936cfd8fcf9520199602f46 --- /dev/null +++ b/doc/pandoc/style.css @@ -0,0 +1,224 @@ +/**************************************************************************/ +/* */ +/* This file is part of Frama-C. */ +/* */ +/* Copyright (C) 2007-2018 */ +/* CEA (Commissariat à l'énergie atomique et aux énergies */ +/* 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). */ +/* */ +/**************************************************************************/ + +* { margin: 0; padding: 0 } + +html +{ + background-color: #fff; +} + +* { margin: 0; padding: 0 } + +body { + position: absolute; + color: #222; + width: 100%; + height: 100%; + overflow: hidden; + font-family: "Verdana", sans; + font-size: 12pt; +} + +/* -------------------------------------------------------------------------- */ +/* --- Headers --- */ +/* -------------------------------------------------------------------------- */ + +#BODY { + display: flex ; + flex-flow: row nowrap ; + width: 100% ; + height: 100% ; + overflow: hidden ; +} + +#NAVIGATION { + display: block ; + overflow: auto ; + flex: 0 1 auto ; + order: 1 ; + box-sizing: border-box ; + min-width: 3cm ; + max-width: 8cm ; + height: 100% ; + padding: 0cm 0.5cm 0cm 0.5cm ; + background: #888 ; +} + +#CONTENT { + display: block ; + overflow: auto ; + flex: 1 1 auto ; + order: 2 ; + justify-content: left ; + align-content: center ; + box-sizing: border-box ; + width: 18cm ; + height: 100% ; + padding: 0cm 1cm 1cm 1cm ; +} + +/* -------------------------------------------------------------------------- */ +/* --- Navigation --- */ +/* -------------------------------------------------------------------------- */ + +#TOC { + font-size: smaller ; +} + +#NAVIGATION a.root { + display: block; + font-family: "Optima", "Verdana", "Arial", sans; + font-size: 16pt; + margin-top: 1cm; + margin-bottom: 6mm; +} + +#NAVIGATION a.chapter { + display: block ; + margin-left: 0px; + margin-top: 10px; + margin-bottom: 10px; +} + +#NAVIGATION a:hover { + background-color: darkorange ; +} + +#NAVIGATION a { + color: white ; +} + +#NAVIGATION code { + color: black ; +} + +#NAVIGATION ul { + width: 6cm ; +} + +#NAVIGATION ul > ul { + margin-left: 0px ; + padding-top: 2px ; + padding-bottom: 2px ; + background-color: darkgrey ; +} + +/* -------------------------------------------------------------------------- */ +/* --- Headers --- */ +/* -------------------------------------------------------------------------- */ + +h1 { + width: 18cm; + font-family: "Optima", "Verdana", "Arial", sans; + text-align: left; + margin-top: 1cm; + margin-bottom: 6mm; + padding-left: 3mm; + border-left: 20px solid red; +} + +h2 { + width: 18cm; + font-family: "Optima", "Verdana", "Arial", sans; + margin-top: 5mm; + margin-bottom: 2mm; + border-bottom: solid thin darkred ; + color: darkred; +} + +h3 { + width: 17cm; + font-family: "Optima", "Verdana", "Arial", sans; + color: black; + margin-top: 5mm; + margin-bottom: 3mm; + border-bottom: thin solid #404040; +} + +h4,h5,h6 { + margin-left: 4mm; + margin-top: 4mm; + margin-bottom: 1mm; + font-family: "Optima", "Verdana", "Arial", sans; + font-size: 10pt; + font-style: italic; + font-weight: bold; + color: darkred; +} + +p { margin: 6px 0px 6px 0px; width: 15cm; } + +ul,ol,blockquote { + margin-left: 24px ; + width: 13cm; +} + +li { + padding-left: 6px ; + padding-right : 6px ; +} + +pre { + width : 15cm ; + background-color: #eef ; +} + +pre,code { font-size: smaller ; color: #106000 } + +hr { + border: none ; + border-top: 1px solid #404040 ; + margin-top: 4mm ; + margin-bottom: 4mm ; +} + +table { + border-collapse: collapse ; + margin-left: 6mm ; +} + +th,td { + padding: 2px 16px 2px 12px ; +} + +thead { + border-bottom: thin solid gray ; +} + +tr.odd { + background-color: rgba(178, 222, 236, 0.3) ; +} + +:target { background-color: darkorange; } + +a:visited { color: darkred; text-decoration: none } +a:link { color: darkred; text-decoration: none } +a:hover { background-color: lightgray; color: firebrick } +a:active { background-color: lightgray; color: darkgreen } + +a:visited em { color: darkgreen; text-decoration: none } +a:link em { color: darkgreen; text-decoration: none } +a:hover em { background-color: lightgray; color: firebrick } +a:active em { background-color: lightgray; color: darkgreen } + +/* -------------------------------------------------------------------------- */ diff --git a/doc/pandoc/template.html b/doc/pandoc/template.html new file mode 100644 index 0000000000000000000000000000000000000000..e6871d568e832f49fc1bcaadb8171df7a7f47b0b --- /dev/null +++ b/doc/pandoc/template.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="$lang$" xml:lang="$lang$"$if(dir)$ dir="$dir$"$endif$> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>$if(document)$$document$ – $endif$$title$</title> + <link rel="stylesheet" href="$root$/style.css" /> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> + <div id="BODY"> + <div id="NAVIGATION"> + <nav id="TOC"> + <a class="root" href="$root$/readme.md.html">$document$</a> + $if(chapter)$ + <a class="chapter" href="$page$">$chapter$</a> + $endif$ + $if(link)$ + <ul> + $if(toc)$ + $for(link)$ + $if(link.toc)$ + $table-of-contents$ + $else$ + <li><a href="$link.href$.html">$link.title$</a></li> + $endif$ + $endfor$ + $else$ + $for(link)$ + <li><a href="$link.href$.html">$link.title$</a></li> + $endfor$ + $endif$ + </ul> + $else$ + $table-of-contents$ + $endif$ + </nav> + </div> + <div id="CONTENT"> + $body$ + </div> + </div> +</body> +</html> diff --git a/headers/header_spec.txt b/headers/header_spec.txt index 538de20c9c758cc6e425dc44c971d4e3c7bc32fa..8eb63cc4d24298a365fca941401f0573cee0eeff 100644 --- a/headers/header_spec.txt +++ b/headers/header_spec.txt @@ -130,12 +130,17 @@ share/analysis-scripts/find_fun.py: .ignore share/analysis-scripts/flamegraph.pl: CDDL share/analysis-scripts/git_utils.py: .ignore share/analysis-scripts/list_files.py: .ignore +share/analysis-scripts/make_template.py: .ignore share/analysis-scripts/make_wrapper.py: .ignore share/analysis-scripts/parse-coverage.sh: .ignore share/analysis-scripts/README.md: .ignore share/analysis-scripts/results_display.py: .ignore share/analysis-scripts/summary.py: .ignore share/analysis-scripts/template.mk: .ignore +share/compliance/c11_functions.json: .ignore +share/compliance/glibc_functions.json: .ignore +share/compliance/nonstandard_identifiers.json: .ignore +share/compliance/posix_identifiers.json: .ignore share/autocomplete_frama-c: CEA_LGPL share/Makefile.clean: CEA_LGPL share/Makefile.common: CEA_LGPL @@ -198,6 +203,7 @@ share/libc/__fc_define_wchar_t.h: CEA_LGPL share/libc/__fc_define_wint_t.h: CEA_LGPL share/libc/__fc_gcc_builtins.h: CEA_LGPL share/libc/__fc_inet.h: CEA_LGPL +share/libc/__fc_integer.h: CEA_LGPL share/libc/__fc_machdep.h: CEA_LGPL share/libc/__fc_machdep_linux_shared.h: CEA_LGPL share/libc/__fc_runtime.c: CEA_LGPL @@ -667,6 +673,8 @@ src/libraries/utils/indexer.ml: CEA_LGPL src/libraries/utils/indexer.mli: CEA_LGPL src/libraries/utils/leftistheap.ml: JCF_LGPL src/libraries/utils/leftistheap.mli: JCF_LGPL +src/libraries/utils/markdown.ml: CEA_LGPL +src/libraries/utils/markdown.mli: CEA_LGPL src/libraries/utils/pretty_utils.ml: CEA_LGPL src/libraries/utils/pretty_utils.mli: CEA_LGPL src/libraries/utils/qstack.ml: CEA_LGPL @@ -1025,6 +1033,32 @@ src/plugins/rte/rte.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/rte/rte.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/rte/visit.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/rte/visit.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/.gitignore: .ignore +src/plugins/server/Makefile.in: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/Server.mli: .ignore +src/plugins/server/configure.ac: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/data.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/data.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/doc.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/doc.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/jbuffer.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/jbuffer.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/kernel_ast.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/kernel_ast.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/kernel_main.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/kernel_main.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/kernel_project.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/kernel_project.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/main.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/main.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/request.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/request.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/server_parameters.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/server_parameters.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/server_batch.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/server_zmq.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/syntax.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/server/syntax.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/scope/Scope.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/scope/datascope.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/scope/datascope.mli: CEA_LGPL_OR_PROPRIETARY @@ -1151,6 +1185,8 @@ src/plugins/value/domains/equality/equality_domain.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/domains/equality/equality_domain.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/domains/gauges/gauges_domain.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/domains/gauges/gauges_domain.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/value/domains/traces_domain.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/value/domains/traces_domain.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/domains/hcexprs.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/domains/hcexprs.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/domains/inout_domain.ml: CEA_LGPL_OR_PROPRIETARY @@ -1236,6 +1272,8 @@ src/plugins/value/slevel/split_strategy.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/slevel/split_strategy.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/test.assert.sh: .ignore src/plugins/value/test.sh: .ignore +src/plugins/value/utils/abstract.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/value/utils/abstract.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/utils/backward_formals.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/utils/backward_formals.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/utils/eval_typ.ml: CEA_LGPL_OR_PROPRIETARY @@ -1421,8 +1459,6 @@ src/plugins/wp/MemVar.mli: CEA_WP src/plugins/wp/MemZeroAlias.ml: CEA_WP src/plugins/wp/MemZeroAlias.mli: CEA_WP src/plugins/wp/Sigs.ml: CEA_WP -src/plugins/wp/Model.ml: CEA_WP -src/plugins/wp/Model.mli: CEA_WP src/plugins/wp/Mstate.ml: CEA_WP src/plugins/wp/Mstate.mli: CEA_WP src/plugins/wp/Partitioning.ml: CEA_WP @@ -1444,10 +1480,6 @@ src/plugins/wp/ProofScript.ml: CEA_WP src/plugins/wp/ProofScript.mli: CEA_WP src/plugins/wp/ProverCoq.ml: CEA_WP src/plugins/wp/ProverCoq.mli: CEA_WP -src/plugins/wp/ProverDetect.ml: CEA_WP -src/plugins/wp/ProverDetect.mli: CEA_WP -src/plugins/wp/ProverDetect.Why3.ml: CEA_WP -src/plugins/wp/ProverDetect.None.ml: CEA_WP src/plugins/wp/ProverErgo.ml: CEA_WP src/plugins/wp/ProverErgo.mli: CEA_WP src/plugins/wp/ProverScript.ml: CEA_WP @@ -1456,10 +1488,8 @@ src/plugins/wp/ProverSearch.ml: CEA_WP src/plugins/wp/ProverSearch.mli: CEA_WP src/plugins/wp/ProverTask.ml: CEA_WP src/plugins/wp/ProverTask.mli: CEA_WP -src/plugins/wp/ProverWhy3.ml: CEA_WP src/plugins/wp/ProverWhy3.mli: CEA_WP -src/plugins/wp/ProverWhy3ide.ml: CEA_WP -src/plugins/wp/ProverWhy3ide.mli: CEA_WP +src/plugins/wp/ProverWhy3.ml: CEA_WP src/plugins/wp/REVISION: .ignore src/plugins/wp/RefUsage.ml: CEA_WP src/plugins/wp/RefUsage.mli: CEA_WP @@ -1533,6 +1563,8 @@ src/plugins/wp/Vset.ml: CEA_WP src/plugins/wp/Vset.mli: CEA_WP src/plugins/wp/Warning.ml: CEA_WP src/plugins/wp/Warning.mli: CEA_WP +src/plugins/wp/Why3Provers.ml: CEA_WP +src/plugins/wp/Why3Provers.mli: CEA_WP src/plugins/wp/Wp.mli: .ignore src/plugins/wp/WpTac.ml: CEA_WP src/plugins/wp/WpTac.mli: CEA_WP @@ -1551,8 +1583,6 @@ src/plugins/wp/ctypes.ml: CEA_WP src/plugins/wp/ctypes.mli: CEA_WP src/plugins/wp/filter_axioms.ml: CEA_WP src/plugins/wp/filter_axioms.mli: CEA_WP -src/plugins/wp/why3_api.mli: CEA_WP -src/plugins/wp/why3_api.ml: CEA_WP src/plugins/wp/doc/MakeDoc: .ignore src/plugins/wp/doc/coqdoc/Makefile: .ignore src/plugins/wp/doc/coqdoc/coqdoc.sty: .ignore @@ -1818,8 +1848,7 @@ src/plugins/wp/semantics/Typing.v: .ignore src/plugins/wp/semantics/Values.v: .ignore src/plugins/wp/semantics/coqide.sh: .ignore src/plugins/wp/share/.gitignore: .ignore -src/plugins/wp/share/Makefile: CEA_WP -src/plugins/wp/share/Makefile.headers: CEA_WP +src/plugins/wp/share/Makefile.coqwp: CEA_WP src/plugins/wp/share/Makefile.resources: CEA_WP src/plugins/wp/share/coqwp/ArcTrigo.v: CEA_WP src/plugins/wp/share/coqwp/Bits.v: CEA_WP @@ -1845,7 +1874,7 @@ src/plugins/wp/share/coqwp/int/Exponentiation.v: UNMODIFIED_WHY3 src/plugins/wp/share/coqwp/int/Int.v: UNMODIFIED_WHY3 src/plugins/wp/share/coqwp/int/MinMax.v: UNMODIFIED_WHY3 src/plugins/wp/share/coqwp/int/Power.v: UNMODIFIED_WHY3 -src/plugins/wp/share/coqwp/for_drivers/ComputerOfEuclideanDivision.v: UNMODIFIED_WHY3 +src/plugins/wp/share/coqwp/int/ComputerOfEuclideanDivision.v: UNMODIFIED_WHY3 src/plugins/wp/share/coqwp/map/Map.v: UNMODIFIED_WHY3 src/plugins/wp/share/coqwp/map/Const.v: UNMODIFIED_WHY3 src/plugins/wp/share/coqwp/real/Abs.v: UNMODIFIED_WHY3 @@ -1881,6 +1910,7 @@ src/plugins/wp/share/ergo/Vset.mlw: CEA_WP src/plugins/wp/share/ergo/bool.Bool.mlw: MODIFIED_WHY3 src/plugins/wp/share/ergo/int.Abs.mlw: MODIFIED_WHY3 src/plugins/wp/share/ergo/int.ComputerDivision.mlw: MODIFIED_WHY3 +src/plugins/wp/share/ergo/int.ComputerOfEuclideanDivision.mlw: MODIFIED_WHY3 src/plugins/wp/share/ergo/int.Int.mlw: MODIFIED_WHY3 src/plugins/wp/share/ergo/int.MinMax.mlw: MODIFIED_WHY3 src/plugins/wp/share/ergo/map.Map.mlw: MODIFIED_WHY3 @@ -1898,66 +1928,6 @@ src/plugins/wp/share/ergo/real.Square.mlw: MODIFIED_WHY3 src/plugins/wp/share/ergo/real.Trigonometry.mlw: MODIFIED_WHY3 src/plugins/wp/share/ergo/real.Truncate.mlw: MODIFIED_WHY3 src/plugins/wp/share/install.ml: CEA_WP -src/plugins/wp/share/src/.gitignore: .ignore -src/plugins/wp/share/src/.merlin: .ignore -src/plugins/wp/share/src/Bits.v: CEA_WP -src/plugins/wp/share/src/BuiltIn/bool.mlw: CEA_WP -src/plugins/wp/share/src/Cbits.v: .ignore -src/plugins/wp/share/src/Cfloat.v: .ignore -src/plugins/wp/share/src/Cint.v: .ignore -src/plugins/wp/share/src/Cmath.v: .ignore -src/plugins/wp/share/src/Makefile: CEA_WP -src/plugins/wp/share/src/Memory.v: .ignore -src/plugins/wp/share/src/Qed.v: .ignore -src/plugins/wp/share/src/Qedlib.v: CEA_WP -src/plugins/wp/share/src/Vlist.v: .ignore -src/plugins/wp/share/src/Vset.v: .ignore -src/plugins/wp/share/src/Zbits.v: CEA_WP -src/plugins/wp/share/src/alt_ergo_realize.ml: MODIFIED_WHY3 -src/plugins/wp/share/src/alt_ergo_why3_stdlib.drv: CEA_WP -src/plugins/wp/share/src/cbits.why: CEA_WP -src/plugins/wp/share/src/cfloat.why: CEA_WP -src/plugins/wp/share/src/cint.why: CEA_WP -src/plugins/wp/share/src/cmath.why: CEA_WP -src/plugins/wp/share/src/coq-own-realization.drv: CEA_PROPRIETARY -src/plugins/wp/share/src/filter_axioms.ml: CEA_WP -src/plugins/wp/share/src/lemma_about_mod.txt: .ignore -src/plugins/wp/share/src/memory.why: CEA_WP -src/plugins/wp/share/src/qed.why: CEA_WP -src/plugins/wp/share/src/realization.conf: .ignore -src/plugins/wp/share/src/tests/import.why: .ignore -src/plugins/wp/share/src/tests/import/import_T_G_1.v: .ignore -src/plugins/wp/share/src/tests/import/why3session.xml: .ignore -src/plugins/wp/share/src/upper.ml: .ignore -src/plugins/wp/share/src/vlist.why: CEA_WP -src/plugins/wp/share/src/vset.why: CEA_WP -src/plugins/wp/share/src/why3-realize.drv: .ignore -src/plugins/wp/share/why3/ArcTrigo.v: CEA_WP -src/plugins/wp/share/why3/ArcTrigo.why: CEA_WP -src/plugins/wp/share/why3/Bits.v: CEA_WP -src/plugins/wp/share/why3/Cbits.v: CEA_WP -src/plugins/wp/share/why3/Cbits.why: CEA_WP -src/plugins/wp/share/why3/Cfloat.v: CEA_WP -src/plugins/wp/share/why3/Cfloat.why: CEA_WP -src/plugins/wp/share/why3/Cint.v: CEA_WP -src/plugins/wp/share/why3/Cint.why: CEA_WP -src/plugins/wp/share/why3/Cmath.v: CEA_WP -src/plugins/wp/share/why3/Cmath.why: CEA_WP -src/plugins/wp/share/why3/ExpLog.v: CEA_WP -src/plugins/wp/share/why3/ExpLog.why: CEA_WP -src/plugins/wp/share/why3/Memory.v: CEA_WP -src/plugins/wp/share/why3/Memory.why: CEA_WP -src/plugins/wp/share/why3/Qed.v: CEA_WP -src/plugins/wp/share/why3/Qed.why: CEA_WP -src/plugins/wp/share/why3/Qedlib.v: CEA_WP -src/plugins/wp/share/why3/Square.v: CEA_WP -src/plugins/wp/share/why3/Square.why: CEA_WP -src/plugins/wp/share/why3/Vlist.v: CEA_WP -src/plugins/wp/share/why3/Vlist.why: CEA_WP -src/plugins/wp/share/why3/Vset.v: CEA_WP -src/plugins/wp/share/why3/Vset.why: CEA_WP -src/plugins/wp/share/why3/Zbits.v: CEA_WP -src/plugins/wp/share/why3/coq.drv: CEA_WP src/plugins/wp/share/why3/frama_c_wp/cbits.mlw: CEA_WP src/plugins/wp/share/why3/frama_c_wp/cfloat.mlw: CEA_WP src/plugins/wp/share/why3/frama_c_wp/cint.mlw: CEA_WP @@ -1967,11 +1937,10 @@ src/plugins/wp/share/why3/frama_c_wp/qed.mlw: CEA_WP src/plugins/wp/share/why3/frama_c_wp/vlist.mlw: CEA_WP src/plugins/wp/share/why3/frama_c_wp/vset.mlw: CEA_WP src/plugins/wp/share/wp.driver: CEA_WP -src/plugins/wp/share/wpcoqdoc.zip: .ignore -src/plugins/wp/why3_xml.mli: MODIFIED_WHY3 -src/plugins/wp/why3_xml.mll: MODIFIED_WHY3 src/plugins/wp/wpAnnot.ml: CEA_WP src/plugins/wp/wpAnnot.mli: CEA_WP +src/plugins/wp/wpContext.ml: CEA_WP +src/plugins/wp/wpContext.mli: CEA_WP src/plugins/wp/wpPropId.ml: CEA_WP src/plugins/wp/wpPropId.mli: CEA_WP src/plugins/wp/wpReport.ml: CEA_WP diff --git a/opam/opam b/opam/opam index 3b6424cf61d919a5f75ebeb120dd05eb2d6a6d04..b430aac839e8b4c64f439c3731ac05312133ae68 100644 --- a/opam/opam +++ b/opam/opam @@ -97,6 +97,7 @@ depends: [ ( "alt-ergo-free" | "alt-ergo" ) "conf-graphviz" { post } "yojson" + "why3" ] depopts: [ @@ -104,7 +105,6 @@ depopts: [ # Coq: because .vo would would not be loadable by another version of Coq # libraries: because we use dynamic linking "coq" - "why3" "why3-coq" "mlgmpidl" "apron" @@ -121,8 +121,6 @@ conflicts: [ ] messages: [ - "Why3 can be used by the WP plug-in for running additional automatic solvers" - {!why3:installed} "Coq can be used with the WP plug-in for proving interactively proof obligations" {!coq:installed} "Alt-Ergo Graphical Interface can be used by the WP plug-in" diff --git a/ptests/ptests.ml b/ptests/ptests.ml index 79e513c75a36ad5d556520868c82ef411e778ad7..226880e6fa4d3e127c358cf6c08a5657b6c43be2 100644 --- a/ptests/ptests.ml +++ b/ptests/ptests.ml @@ -291,8 +291,8 @@ let rec argspec = " Start the tests in Frama-C's gui."; "-update", Arg.Unit (fun () -> behavior := Update) , " Take the current logs as oracles."; - "-show", Arg.Unit (fun () -> behavior := Show; use_byte := true) , - " Show the results of the tests. Sets -byte."; + "-show", Arg.Unit (fun () -> behavior := Show) , + " Show the results of the tests."; "-run", Arg.Unit (fun () -> behavior := Run) , " (default) Delete logs, run tests, then examine logs different from \ oracles."; @@ -592,7 +592,7 @@ type config = (** full path of the default toplevel. *) dc_filter : string option; (** optional filter to apply to standard output *) - dc_toplevels : (string * string * string list) list; + dc_toplevels : (string * string * string list * Macros.t) list; (** toplevel full path, options to launch the toplevel on, and list of output files to monitor beyond stdout and stderr. *) dc_dont_run : bool; @@ -612,7 +612,7 @@ let default_config () = dc_execnow = []; dc_filter = None ; dc_default_toplevel = !toplevel_path; - dc_toplevels = [ !toplevel_path, default_options, [] ]; + dc_toplevels = [ !toplevel_path, default_options, [], Macros.empty ]; dc_dont_run = false; dc_default_log = [] } @@ -674,7 +674,7 @@ let scan_execnow ~once dir (s:string) = (* the default toplevel for the current level of options. *) let current_default_toplevel = ref !toplevel_path let current_default_log = ref [] -let current_default_cmds = ref [!toplevel_path,default_options,[] ] +let current_default_cmds = ref [!toplevel_path,default_options,[], Macros.empty] let make_custom_opts = let space = Str.regexp " " in @@ -742,7 +742,7 @@ let config_options = "OPT", (fun _ s current -> - let t = current.dc_default_toplevel, s, current.dc_default_log in + let t = current.dc_default_toplevel, s, current.dc_default_log, current.dc_macros in { current with (* dc_default_toplevel = !current_default_toplevel;*) dc_default_log = !current_default_log; @@ -752,7 +752,7 @@ let config_options = (fun _ s current -> let new_top = List.map - (fun (cmd,opts, log) -> cmd, make_custom_opts opts s, log) + (fun (cmd,opts, log, macros) -> cmd, make_custom_opts opts s, log, current.dc_macros) !current_default_cmds in { current with dc_toplevels = new_top @ current.dc_toplevels; @@ -1610,17 +1610,17 @@ let dispatcher () = let i = ref 0 in let e = ref 0 in let nb_files = List.length config.dc_toplevels in - let make_toplevel_cmd (toplevel, options, log_files) = + let make_toplevel_cmd (toplevel, options, log_files, macros) = let n = !i in {file; options; toplevel; nb_files; directory; n; log_files; - filter = config.dc_filter; macros = config.dc_macros; + filter = config.dc_filter; macros; execnow=false; } in - let process_macros_cmd s = - basic_command_string - { file = file; - nb_files = nb_files; + let mk_cmd s = + { + file = file; + nb_files = nb_files; log_files = []; options = ""; toplevel = s; @@ -1628,9 +1628,12 @@ let dispatcher () = directory = directory; filter = config.dc_filter; macros = config.dc_macros; - execnow = true; } + execnow = true; + } in - let process_macros s = Macros.expand config.dc_macros s in + let process_macros_cmd s = basic_command_string (mk_cmd s) in + let macros = get_macros (mk_cmd "/bin/true") in + let process_macros s = Macros.expand macros s in let make_execnow_cmd execnow = let res = { diff --git a/share/Makefile.config.in b/share/Makefile.config.in index 7370b7bcf278c1036f03aa5e305508f0127f0f37..ea46fb652da627f73d619c60b13601bd97ce3d7b 100644 --- a/share/Makefile.config.in +++ b/share/Makefile.config.in @@ -89,9 +89,7 @@ HAS_OCAML407 ?=@HAS_OCAML407@ HAS_OCAML408 ?=@HAS_OCAML408@ PLATFORM ?=@PLATFORM@ -NATIVE_THREADS ?=@HAS_NATIVE_THREADS@ OCAMLWIN32 ?=@OCAMLWIN32@ -PTESTSBEST ?=@PTESTSBEST@ DEVELOPMENT ?=@DEVELOPMENT@ @@ -110,9 +108,11 @@ HAS_GTKSOURCEVIEW ?=@HAS_GTKSOURCEVIEW@ LABLGTK_VERSION ?=@LABLGTK_VERSION@ ifeq ("$(LABLGTK_VERSION)","3") GTKSOURCEVIEW:=lablgtk3-sourceview3 + THREAD:=-thread else GTKSOURCEVIEW:=\ $(patsubst lablgtk%,$(LABLGTK).%,$(basename $(notdir @GTKSOURCEVIEW@))) + THREAD:= endif # lablgnomecanvas diff --git a/share/Makefile.dynamic_config.external b/share/Makefile.dynamic_config.external index e76a1aa89899864ff5f1c29830e04a997b0f855c..f6fcc64d248232b764886887fef561006096b205 100644 --- a/share/Makefile.dynamic_config.external +++ b/share/Makefile.dynamic_config.external @@ -27,7 +27,7 @@ export FRAMAC_BYTE=$(BINDIR)/frama-c.byte$(EXE) export FRAMAC_INCLUDES=-I "$(FRAMAC_LIBDIR)" -export PTESTS=$(BINDIR)/ptests.$(PTESTSBEST)$(EXE) +export PTESTS=$(BINDIR)/ptests.$(OCAMLBEST)$(EXE) export FRAMAC_LIB=$(FRAMAC_LIBDIR) export DOC_DIR=$(FRAMAC_SHARE)/doc/code diff --git a/share/Makefile.dynamic_config.internal b/share/Makefile.dynamic_config.internal index 6c50e7bba80c9ccea20a91c6c08111c773703ba3..425dc8b759137c69dd72c06bcaa90ba696374169 100644 --- a/share/Makefile.dynamic_config.internal +++ b/share/Makefile.dynamic_config.internal @@ -27,7 +27,7 @@ export FRAMAC_BYTE=$(FRAMAC_ROOT_SRCDIR)/bin/toplevel.byte$(EXE) export FRAMAC_INCLUDES=$(addprefix -I $(call winpath,$(FRAMAC_ROOT_SRCDIR))/,$(FRAMAC_SRC_DIRS) lib) -export PTESTS=$(FRAMAC_ROOT_SRCDIR)/bin/ptests.$(PTESTSBEST)$(EXE) +export PTESTS=$(FRAMAC_ROOT_SRCDIR)/bin/ptests.$(OCAMLBEST)$(EXE) export FRAMAC_LIB=$(FRAMAC_ROOT_SRCDIR)/lib/fc export DOC_DIR=$(FRAMAC_ROOT_SRCDIR)/doc/code diff --git a/share/Makefile.plugin.template b/share/Makefile.plugin.template index 63edcb5cf609d4cde8a433a6e66045459f70afbb..72cf1127a0c6d842c046fd0d3cfac9350d539557 100644 --- a/share/Makefile.plugin.template +++ b/share/Makefile.plugin.template @@ -456,8 +456,8 @@ $(NAME_DOCFLAGS):= $(DOC_FLAGS) $(PLUGIN_DOCFLAGS) \ $(addprefix -package ,$(PLUGIN_REQUIRES) $(LIBRARY_NAMES)) ifeq ($(HAS_GUI),yes) -$(NAME_GUI_BFLAGS):=$($(NAME_BFLAGS)) $(addprefix -package ,$(LIBRARY_NAMES_GUI)) -$(NAME_GUI_OFLAGS):=$($(NAME_OFLAGS)) $(addprefix -package ,$(LIBRARY_NAMES_GUI)) +$(NAME_GUI_BFLAGS):=$($(NAME_BFLAGS)) $(THREAD) $(addprefix -package ,$(LIBRARY_NAMES_GUI)) +$(NAME_GUI_OFLAGS):=$($(NAME_OFLAGS)) $(THREAD) $(addprefix -package ,$(LIBRARY_NAMES_GUI)) $(TARGET_GUI_BFLAGS):= $(PLUGIN_LINK_GUI_BFLAGS) $(TARGET_GUI_OFLAGS):= $(PLUGIN_LINK_GUI_OFLAGS) $(NAME_DOCFLAGS) := $($(NAME_DOCFLAGS)) $(addprefix -package ,$(LIBRARY_NAMES_GUI)) diff --git a/share/analysis-scripts/find_fun.py b/share/analysis-scripts/find_fun.py index 5ef92a69b6287eeb95687c4cc6c443bec8bf503b..38f79e6fea9e4a1206bf6977b9ad03b14553ca22 100755 --- a/share/analysis-scripts/find_fun.py +++ b/share/analysis-scripts/find_fun.py @@ -30,6 +30,10 @@ import os import re import glob +MIN_PYTHON = (3, 5) # for glob(recursive) +if sys.version_info < MIN_PYTHON: + sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) + debug = False arg = "" diff --git a/share/analysis-scripts/make_template.py b/share/analysis-scripts/make_template.py new file mode 100755 index 0000000000000000000000000000000000000000..ca241cc8f0ebf660365c6369a52385506d19bd24 --- /dev/null +++ b/share/analysis-scripts/make_template.py @@ -0,0 +1,191 @@ +#!/usr/bin/env python3 +#-*- coding: utf-8 -*- +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2018 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# 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). # +# # +########################################################################## + +# This script is used to interactively fill template.mk, converting it +# into a GNUmakefile ready for analysis. + +import sys +import os +import re +from subprocess import Popen, PIPE +from pathlib import Path + +MIN_PYTHON = (3, 5) # for glob(recursive) +if sys.version_info < MIN_PYTHON: + sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) + +if len(sys.argv) > 3: + print("usage: %s path-to-frama-c-script [dir]" % sys.argv[0]) + print(" creates a GNUmakefile for running Frama-C on a set of files,") + print(" interactively filling a template.") + sys.exit(1) + +if not os.path.isfile(sys.argv[1]): + print("error: path to frama-c-script is not a file: " + sys.argv[1]) + sys.exit(1) + +jcdb = Path("compile_commands.json") + +if "PTESTS_TESTING" in os.environ: + print("Running ptests: setting up mock files...") + jcdb.touch() + +bindir = Path(os.path.dirname(os.path.abspath(sys.argv[1]))) +frama_c_config = bindir / "frama-c-config" +process = Popen([frama_c_config, "-print-share-path"], stdout=PIPE) +(output, err) = process.communicate() +output = output.decode('utf-8') +exit_code = process.wait() +if exit_code != 0: + print("error running frama-c-config") + sys.exit(1) +sharedir = Path(output) + +def get_known_machdeps(): + process = Popen([bindir / "frama-c", "-machdep", "help"], stdout=PIPE) + (output, err) = process.communicate() + output = output.decode('utf-8') + exit_code = process.wait() + if exit_code != 0: + print("error getting machdeps: " + output) + sys.exit(1) + match = re.match("\[kernel\] supported machines are (.*) \(default is (.*)\).", output, re.DOTALL) + if not match: + print("error getting known machdeps: " + output) + sys.exit() + machdeps = match.group(1).split() + default_machdep = match.group(2) + return (default_machdep, machdeps) + +dir = Path(sys.argv[2] if len(sys.argv) == 3 else ".") +gnumakefile = dir / "GNUmakefile" + +def check_path_exists(path): + if os.path.exists(path): + yn = input("warning: {} already exists. Overwrite? [y/N] ".format(path)) + if yn == "" or not (yn[0] == "Y" or yn[0] == "y"): + print("Exiting without overwriting.") + sys.exit(0) + +check_path_exists(gnumakefile) +main = input("Main target name: ") +if not re.match("^[a-zA-Z_0-9]+$", main): + print("error: invalid main target name") + sys.exit(1) + +sources = input("Source files separated by spaces (default if empty: *.c): ") +if not sources: + sources="*.c" + +json_compilation_database = None +if jcdb.is_file(): + yn = input("compile_commands.json exists, add option -json-compilation-database? [Y/n] ") + if yn == "" or not (yn[0] == "N" or yn[0] == "n"): + json_compilation_database = "." + else: + print("Option not added; you can later add it to FCFLAGS.") + +add_main_stub = False +yn = input("Add stub for function main (only needed if it uses command-line arguments)? [y/N] ") +if yn != "" and (yn[0] == "Y" or yn[0] == "y"): + add_main_stub = True + sources = "fc_stubs.c " + sources + +print("Please define the architectural model (machdep) of the target machine.") +(default_machdep, machdeps) = get_known_machdeps() +print("Known machdeps: " + " ".join(machdeps)) +machdep_chosen = False +while not machdep_chosen: + machdep = input("Please enter the machdep [" + default_machdep + "]: ") + if not machdep: + machdep = default_machdep + machdep_chosen = True + else: + if not (machdep in machdeps): + yn = input("'{}' is not a standard machdep. Proceed anyway? [y/N]".format(machdep)) + if yn != "" and (yn[0] == "Y" or yn[0] == "y"): + machdep_chosen = True + else: + machdep_chosen = True + +def insert_line_after(lines, line_pattern, newline): + re_line = re.compile(line_pattern) + for i in range(0, len(lines)): + if re_line.search(lines[i]): + lines.insert(i+1, newline) + return lines + print("error: no lines found matching pattern: " + line_pattern) + sys.exit(1) + +def replace_line(lines, line_pattern, value): + re_line = re.compile(line_pattern) + for i in range(0, len(lines)): + if re_line.search(lines[i]): + lines[i] = value + return lines + print("error: no lines found matching pattern: " + line_pattern) + sys.exit(1) + +def remove_lines_between(lines, start_pattern, end_pattern): + re_start = re.compile(start_pattern) + re_end = re.compile(end_pattern) + first_to_remove = -1 + last_to_remove = -1 + for i in range(0, len(lines)): + if first_to_remove == -1 and re_start.search(lines[i]): + first_to_remove = i + elif re_end.search(lines[i]): + last_to_remove = i + break + if first_to_remove == -1: + print("error: could not find start pattern: " + start_pattern) + sys.exit(1) + elif last_to_remove == -1: + print("error: could not find end pattern: " + end_pattern) + sys.exit(1) + return (lines[:first_to_remove-1] if first_to_remove > 0 else []) + (lines[last_to_remove+1:] if last_to_remove < len(lines)-1 else []) + +with open(sharedir / "analysis-scripts" / "template.mk") as f: + lines = list(f) + lines = replace_line(lines, "^MAIN_TARGET :=", "MAIN_TARGET := {}\n".format(main)) + lines = remove_lines_between(lines, "Remove these lines.*main target", "^endif") + lines = replace_line(lines, "^\$\(MAIN_TARGET\).parse:", "$(MAIN_TARGET).parse: {}\n".format(sources)) + if json_compilation_database: + lines = insert_line_after(lines, "^FCFLAGS", " -json-compilation-database {} \\\n".format(json_compilation_database)) + lines = insert_line_after(lines, "^FCFLAGS", " -machdep {} \\\n".format(machdep)) + if add_main_stub: + check_path_exists("fc_stubs.c") + from shutil import copyfile + copyfile(sharedir / "analysis-scripts" / "fc_stubs.c", "fc_stubs.c") + print("Created stub for main function: fc_stubs.c") + +gnumakefile.write_text("".join(lines)) + +print("Template created: " + gnumakefile.name) + +if "PTESTS_TESTING" in os.environ: + print("Running ptests: cleaning up after tests...") + jcdb.unlink() + if add_main_stub: + Path("fc_stubs.c").unlink() diff --git a/share/compliance/c11_functions.json b/share/compliance/c11_functions.json new file mode 100644 index 0000000000000000000000000000000000000000..1ec844c35e497dc756f763aa49b8383e23055b27 --- /dev/null +++ b/share/compliance/c11_functions.json @@ -0,0 +1,605 @@ +{ + "description": "C11 reserved function identifiers", + "source":"ISO/IEC 9899:2011", + "data":[ + {"ident":"abort", "header":"stdlib.h"}, + {"ident":"abort_handler_s", "header":"stdlib.h"}, + {"ident":"abs", "header":"stdlib.h"}, + {"ident":"acos", "header":"math.h"}, + {"ident":"acosf", "header":"math.h"}, + {"ident":"acosh", "header":"math.h"}, + {"ident":"acoshf", "header":"math.h"}, + {"ident":"acoshl", "header":"math.h"}, + {"ident":"acosl", "header":"math.h"}, + {"ident":"aligned_alloc", "header":"stdlib.h"}, + {"ident":"asctime", "header":"time.h"}, + {"ident":"asctime_s", "header":"time.h"}, + {"ident":"asin", "header":"math.h"}, + {"ident":"asinf", "header":"math.h"}, + {"ident":"asinh", "header":"math.h"}, + {"ident":"asinhf", "header":"math.h"}, + {"ident":"asinhl", "header":"math.h"}, + {"ident":"asinl", "header":"math.h"}, + {"ident":"at_quick_exit", "header":"stdlib.h"}, + {"ident":"atan", "header":"math.h"}, + {"ident":"atan2", "header":"math.h"}, + {"ident":"atan2f", "header":"math.h"}, + {"ident":"atanf", "header":"math.h"}, + {"ident":"atanh", "header":"math.h"}, + {"ident":"atanhf", "header":"math.h"}, + {"ident":"atanhl", "header":"math.h"}, + {"ident":"atanl", "header":"math.h"}, + {"ident":"atexit", "header":"stdlib.h"}, + {"ident":"atof", "header":"stdlib.h"}, + {"ident":"atoi", "header":"stdlib.h"}, + {"ident":"atol", "header":"stdlib.h"}, + {"ident":"atoll", "header":"stdlib.h"}, + {"ident":"atomic_compare_exchange_strong", "header":"stdatomic.h"}, + {"ident":"atomic_compare_exchange_strong_explicit", "header":"stdatomic.h"}, + {"ident":"atomic_compare_exchange_weak", "header":"stdatomic.h"}, + {"ident":"atomic_compare_exchange_weak_explicit", "header":"stdatomic.h"}, + {"ident":"atomic_exchange", "header":"stdatomic.h"}, + {"ident":"atomic_exchange_explicit", "header":"stdatomic.h"}, + {"ident":"atomic_fetch_key", "header":"stdatomic.h"}, + {"ident":"atomic_fetch_key_explicit", "header":"stdatomic.h"}, + {"ident":"atomic_flag_clear", "header":"stdatomic.h"}, + {"ident":"atomic_flag_clear_explicit", "header":"stdatomic.h"}, + {"ident":"atomic_flag_test_and_set", "header":"stdatomic.h"}, + {"ident":"atomic_flag_test_and_set_explicit", "header":"stdatomic.h"}, + {"ident":"atomic_init", "header":"stdatomic.h"}, + {"ident":"atomic_is_lock_free", "header":"stdatomic.h"}, + {"ident":"atomic_load", "header":"stdatomic.h"}, + {"ident":"atomic_load_explicit", "header":"stdatomic.h"}, + {"ident":"atomic_signal_fence", "header":"stdatomic.h"}, + {"ident":"atomic_store", "header":"stdatomic.h"}, + {"ident":"atomic_store_explicit", "header":"stdatomic.h"}, + {"ident":"atomic_thread_fence", "header":"stdatomic.h"}, + {"ident":"bsearch", "header":"stdlib.h"}, + {"ident":"bsearch_s", "header":"stdlib.h"}, + {"ident":"btowc", "header":"wchar.h"}, + {"ident":"c16rtomb", "header":"uchar.h"}, + {"ident":"c32rtomb", "header":"uchar.h"}, + {"ident":"cabs", "header":"complex.h"}, + {"ident":"cabsf", "header":"complex.h"}, + {"ident":"cabsl", "header":"complex.h"}, + {"ident":"cacos", "header":"complex.h"}, + {"ident":"cacosf", "header":"complex.h"}, + {"ident":"cacosh", "header":"complex.h"}, + {"ident":"cacoshf", "header":"complex.h"}, + {"ident":"cacoshl", "header":"complex.h"}, + {"ident":"cacosl", "header":"complex.h"}, + {"ident":"call_once", "header":"threads.h"}, + {"ident":"calloc", "header":"stdlib.h"}, + {"ident":"carg", "header":"complex.h"}, + {"ident":"cargf", "header":"complex.h"}, + {"ident":"cargl", "header":"complex.h"}, + {"ident":"casin", "header":"complex.h"}, + {"ident":"casinf", "header":"complex.h"}, + {"ident":"casinh", "header":"complex.h"}, + {"ident":"casinhf", "header":"complex.h"}, + {"ident":"casinhl", "header":"complex.h"}, + {"ident":"casinl", "header":"complex.h"}, + {"ident":"catan", "header":"complex.h"}, + {"ident":"catanf", "header":"complex.h"}, + {"ident":"catanh", "header":"complex.h"}, + {"ident":"catanhf", "header":"complex.h"}, + {"ident":"catanhl", "header":"complex.h"}, + {"ident":"catanl", "header":"complex.h"}, + {"ident":"cbrt", "header":"math.h"}, + {"ident":"cbrtf", "header":"math.h"}, + {"ident":"cbrtl", "header":"math.h"}, + {"ident":"ccos", "header":"complex.h"}, + {"ident":"ccosf", "header":"complex.h"}, + {"ident":"ccosh", "header":"complex.h"}, + {"ident":"ccoshf", "header":"complex.h"}, + {"ident":"ccoshl", "header":"complex.h"}, + {"ident":"ccosl", "header":"complex.h"}, + {"ident":"ceil", "header":"math.h"}, + {"ident":"ceilf", "header":"math.h"}, + {"ident":"ceill", "header":"math.h"}, + {"ident":"cexp", "header":"complex.h"}, + {"ident":"cexpf", "header":"complex.h"}, + {"ident":"cexpl", "header":"complex.h"}, + {"ident":"cimag", "header":"complex.h"}, + {"ident":"cimagf", "header":"complex.h"}, + {"ident":"cimagl", "header":"complex.h"}, + {"ident":"clearerr", "header":"stdio.h"}, + {"ident":"clock", "header":"time.h"}, + {"ident":"clog", "header":"complex.h"}, + {"ident":"clogf", "header":"complex.h"}, + {"ident":"clogl", "header":"complex.h"}, + {"ident":"cnd_broadcast", "header":"threads.h"}, + {"ident":"cnd_destroy", "header":"threads.h"}, + {"ident":"cnd_init", "header":"threads.h"}, + {"ident":"cnd_signal", "header":"threads.h"}, + {"ident":"cnd_timedwait", "header":"threads.h"}, + {"ident":"cnd_wait", "header":"threads.h"}, + {"ident":"conj", "header":"complex.h"}, + {"ident":"conjf", "header":"complex.h"}, + {"ident":"conjl", "header":"complex.h"}, + {"ident":"copysign", "header":"math.h"}, + {"ident":"copysignf", "header":"math.h"}, + {"ident":"copysignl", "header":"math.h"}, + {"ident":"cos", "header":"math.h"}, + {"ident":"cosf", "header":"math.h"}, + {"ident":"cosh", "header":"math.h"}, + {"ident":"coshf", "header":"math.h"}, + {"ident":"coshl", "header":"math.h"}, + {"ident":"cosl", "header":"math.h"}, + {"ident":"cpow", "header":"complex.h"}, + {"ident":"cpowf", "header":"complex.h"}, + {"ident":"cpowl", "header":"complex.h"}, + {"ident":"cproj", "header":"complex.h"}, + {"ident":"cprojf", "header":"complex.h"}, + {"ident":"cprojl", "header":"complex.h"}, + {"ident":"creal", "header":"complex.h"}, + {"ident":"crealf", "header":"complex.h"}, + {"ident":"creall", "header":"complex.h"}, + {"ident":"csin", "header":"complex.h"}, + {"ident":"csinf", "header":"complex.h"}, + {"ident":"csinh", "header":"complex.h"}, + {"ident":"csinhf", "header":"complex.h"}, + {"ident":"csinhl", "header":"complex.h"}, + {"ident":"csinl", "header":"complex.h"}, + {"ident":"csqrt", "header":"complex.h"}, + {"ident":"csqrtf", "header":"complex.h"}, + {"ident":"csqrtl", "header":"complex.h"}, + {"ident":"ctan", "header":"complex.h"}, + {"ident":"ctanf", "header":"complex.h"}, + {"ident":"ctanh", "header":"complex.h"}, + {"ident":"ctanhf", "header":"complex.h"}, + {"ident":"ctanhl", "header":"complex.h"}, + {"ident":"ctanl", "header":"complex.h"}, + {"ident":"ctime", "header":"time.h"}, + {"ident":"ctime_s", "header":"time.h"}, + {"ident":"difftime", "header":"time.h"}, + {"ident":"div", "header":"stdlib.h"}, + {"ident":"erf", "header":"math.h"}, + {"ident":"erfc", "header":"math.h"}, + {"ident":"erfcf", "header":"math.h"}, + {"ident":"erfcl", "header":"math.h"}, + {"ident":"erff", "header":"math.h"}, + {"ident":"erfl", "header":"math.h"}, + {"ident":"exit", "header":"stdlib.h"}, + {"ident":"exp", "header":"math.h"}, + {"ident":"exp2", "header":"math.h"}, + {"ident":"exp2f", "header":"math.h"}, + {"ident":"exp2l", "header":"math.h"}, + {"ident":"expf", "header":"math.h"}, + {"ident":"expl", "header":"math.h"}, + {"ident":"expm1", "header":"math.h"}, + {"ident":"expm1f", "header":"math.h"}, + {"ident":"expm1l", "header":"math.h"}, + {"ident":"fabs", "header":"math.h"}, + {"ident":"fabsf", "header":"math.h"}, + {"ident":"fabsl", "header":"math.h"}, + {"ident":"fclose", "header":"stdio.h"}, + {"ident":"fdim", "header":"math.h"}, + {"ident":"fdimf", "header":"math.h"}, + {"ident":"fdiml", "header":"math.h"}, + {"ident":"feclearexcept", "header":"fenv.h"}, + {"ident":"fegetenv", "header":"fenv.h"}, + {"ident":"fegetexceptflag", "header":"fenv.h"}, + {"ident":"fegetround", "header":"fenv.h"}, + {"ident":"feholdexcept", "header":"fenv.h"}, + {"ident":"feof", "header":"stdio.h"}, + {"ident":"feraiseexcept", "header":"fenv.h"}, + {"ident":"ferror", "header":"stdio.h"}, + {"ident":"fesetenv", "header":"fenv.h"}, + {"ident":"fesetexceptflag", "header":"fenv.h"}, + {"ident":"fesetround", "header":"fenv.h"}, + {"ident":"fetestexcept", "header":"fenv.h"}, + {"ident":"feupdateenv", "header":"fenv.h"}, + {"ident":"fflush", "header":"stdio.h"}, + {"ident":"fgetc", "header":"stdio.h"}, + {"ident":"fgetpos", "header":"stdio.h"}, + {"ident":"fgets", "header":"stdio.h"}, + {"ident":"fgetwc", "header":"wchar.h"}, + {"ident":"fgetws", "header":"wchar.h"}, + {"ident":"floor", "header":"math.h"}, + {"ident":"floorf", "header":"math.h"}, + {"ident":"floorl", "header":"math.h"}, + {"ident":"fma", "header":"math.h"}, + {"ident":"fmaf", "header":"math.h"}, + {"ident":"fmal", "header":"math.h"}, + {"ident":"fmax", "header":"math.h"}, + {"ident":"fmaxf", "header":"math.h"}, + {"ident":"fmaxl", "header":"math.h"}, + {"ident":"fmin", "header":"math.h"}, + {"ident":"fminf", "header":"math.h"}, + {"ident":"fminl", "header":"math.h"}, + {"ident":"fmod", "header":"math.h"}, + {"ident":"fmodf", "header":"math.h"}, + {"ident":"fmodl", "header":"math.h"}, + {"ident":"fopen", "header":"stdio.h"}, + {"ident":"fopen_s", "header":"stdio.h"}, + {"ident":"fpclassify", "header":"math.h"}, + {"ident":"fprintf", "header":"stdio.h"}, + {"ident":"fprintf_s", "header":"stdio.h"}, + {"ident":"fputc", "header":"stdio.h"}, + {"ident":"fputs", "header":"stdio.h"}, + {"ident":"fputwc", "header":"wchar.h"}, + {"ident":"fputws", "header":"wchar.h"}, + {"ident":"fread", "header":"stdio.h"}, + {"ident":"free", "header":"stdlib.h"}, + {"ident":"freopen", "header":"stdio.h"}, + {"ident":"freopen_s", "header":"stdio.h"}, + {"ident":"frexp", "header":"math.h"}, + {"ident":"frexpf", "header":"math.h"}, + {"ident":"frexpl", "header":"math.h"}, + {"ident":"fscanf", "header":"stdio.h"}, + {"ident":"fscanf_s", "header":"stdio.h"}, + {"ident":"fseek", "header":"stdio.h"}, + {"ident":"fsetpos", "header":"stdio.h"}, + {"ident":"ftell", "header":"stdio.h"}, + {"ident":"fwide", "header":"wchar.h"}, + {"ident":"fwprintf", "header":"wchar.h"}, + {"ident":"fwprintf_s", "header":"wchar.h"}, + {"ident":"fwrite", "header":"stdio.h"}, + {"ident":"fwscanf", "header":"wchar.h"}, + {"ident":"fwscanf_s", "header":"wchar.h"}, + {"ident":"getc", "header":"stdio.h"}, + {"ident":"getchar", "header":"stdio.h"}, + {"ident":"getenv", "header":"stdlib.h"}, + {"ident":"getenv_s", "header":"stdlib.h"}, + {"ident":"gets_s", "header":"stdio.h"}, + {"ident":"getwc", "header":"wchar.h"}, + {"ident":"getwchar", "header":"wchar.h"}, + {"ident":"gmtime", "header":"time.h"}, + {"ident":"gmtime_s", "header":"time.h"}, + {"ident":"hypot", "header":"math.h"}, + {"ident":"hypotf", "header":"math.h"}, + {"ident":"hypotl", "header":"math.h"}, + {"ident":"ignore_handler_s", "header":"stdlib.h"}, + {"ident":"ilogb", "header":"math.h"}, + {"ident":"ilogbf", "header":"math.h"}, + {"ident":"ilogbl", "header":"math.h"}, + {"ident":"imaxabs", "header":"inttypes.h"}, + {"ident":"imaxdiv", "header":"inttypes.h"}, + {"ident":"isalnum", "header":"ctype.h"}, + {"ident":"isalpha", "header":"ctype.h"}, + {"ident":"isblank", "header":"ctype.h"}, + {"ident":"iscntrl", "header":"ctype.h"}, + {"ident":"isdigit", "header":"ctype.h"}, + {"ident":"isfinite", "header":"math.h"}, + {"ident":"isgraph", "header":"ctype.h"}, + {"ident":"isgreater", "header":"math.h"}, + {"ident":"isgreaterequal", "header":"math.h"}, + {"ident":"isinf", "header":"math.h"}, + {"ident":"isless", "header":"math.h"}, + {"ident":"islessequal", "header":"math.h"}, + {"ident":"islessgreater", "header":"math.h"}, + {"ident":"islower", "header":"ctype.h"}, + {"ident":"isnan", "header":"math.h"}, + {"ident":"isnormal", "header":"math.h"}, + {"ident":"isprint", "header":"ctype.h"}, + {"ident":"ispunct", "header":"ctype.h"}, + {"ident":"isspace", "header":"ctype.h"}, + {"ident":"isunordered", "header":"math.h"}, + {"ident":"isupper", "header":"ctype.h"}, + {"ident":"iswalnum", "header":"wctype.h"}, + {"ident":"iswalpha", "header":"wctype.h"}, + {"ident":"iswblank", "header":"wctype.h"}, + {"ident":"iswcntrl", "header":"wctype.h"}, + {"ident":"iswctype", "header":"wctype.h"}, + {"ident":"iswdigit", "header":"wctype.h"}, + {"ident":"iswgraph", "header":"wctype.h"}, + {"ident":"iswlower", "header":"wctype.h"}, + {"ident":"iswprint", "header":"wctype.h"}, + {"ident":"iswpunct", "header":"wctype.h"}, + {"ident":"iswspace", "header":"wctype.h"}, + {"ident":"iswupper", "header":"wctype.h"}, + {"ident":"iswxdigit", "header":"wctype.h"}, + {"ident":"isxdigit", "header":"ctype.h"}, + {"ident":"kill_dependency", "header":"stdatomic.h"}, + {"ident":"labs", "header":"stdlib.h"}, + {"ident":"ldexp", "header":"math.h"}, + {"ident":"ldexpf", "header":"math.h"}, + {"ident":"ldexpl", "header":"math.h"}, + {"ident":"ldiv", "header":"stdlib.h"}, + {"ident":"lgamma", "header":"math.h"}, + {"ident":"lgammaf", "header":"math.h"}, + {"ident":"lgammal", "header":"math.h"}, + {"ident":"llabs", "header":"stdlib.h"}, + {"ident":"lldiv", "header":"stdlib.h"}, + {"ident":"llrint", "header":"math.h"}, + {"ident":"llrintf", "header":"math.h"}, + {"ident":"llrintl", "header":"math.h"}, + {"ident":"llround", "header":"math.h"}, + {"ident":"llroundf", "header":"math.h"}, + {"ident":"llroundl", "header":"math.h"}, + {"ident":"localeconv", "header":"locale.h"}, + {"ident":"localtime", "header":"time.h"}, + {"ident":"localtime_s", "header":"time.h"}, + {"ident":"log", "header":"math.h"}, + {"ident":"log10", "header":"math.h"}, + {"ident":"log10f", "header":"math.h"}, + {"ident":"log10l", "header":"math.h"}, + {"ident":"log1p", "header":"math.h"}, + {"ident":"log1pf", "header":"math.h"}, + {"ident":"log1pl", "header":"math.h"}, + {"ident":"log2", "header":"math.h"}, + {"ident":"log2f", "header":"math.h"}, + {"ident":"log2l", "header":"math.h"}, + {"ident":"logb", "header":"math.h"}, + {"ident":"logbf", "header":"math.h"}, + {"ident":"logbl", "header":"math.h"}, + {"ident":"logf", "header":"math.h"}, + {"ident":"logl", "header":"math.h"}, + {"ident":"longjmp", "header":"setjmp.h"}, + {"ident":"lrint", "header":"math.h"}, + {"ident":"lrintf", "header":"math.h"}, + {"ident":"lrintl", "header":"math.h"}, + {"ident":"lround", "header":"math.h"}, + {"ident":"lroundf", "header":"math.h"}, + {"ident":"lroundl", "header":"math.h"}, + {"ident":"malloc", "header":"stdlib.h"}, + {"ident":"mblen", "header":"stdlib.h"}, + {"ident":"mbrlen", "header":"wchar.h"}, + {"ident":"mbrtoc16", "header":"uchar.h"}, + {"ident":"mbrtoc32", "header":"uchar.h"}, + {"ident":"mbrtowc", "header":"wchar.h"}, + {"ident":"mbsinit", "header":"wchar.h"}, + {"ident":"mbsrtowcs", "header":"wchar.h"}, + {"ident":"mbsrtowcs_s", "header":"wchar.h"}, + {"ident":"mbstowcs", "header":"stdlib.h"}, + {"ident":"mbstowcs_s", "header":"stdlib.h"}, + {"ident":"mbtowc", "header":"stdlib.h"}, + {"ident":"memchr", "header":"string.h"}, + {"ident":"memcmp", "header":"string.h"}, + {"ident":"memcpy", "header":"string.h"}, + {"ident":"memcpy_s", "header":"string.h"}, + {"ident":"memmove", "header":"string.h"}, + {"ident":"memmove_s", "header":"string.h"}, + {"ident":"memset", "header":"string.h"}, + {"ident":"memset_s", "header":"string.h"}, + {"ident":"mktime", "header":"time.h"}, + {"ident":"modf", "header":"math.h"}, + {"ident":"modff", "header":"math.h"}, + {"ident":"modfl", "header":"math.h"}, + {"ident":"mtx_destroy", "header":"threads.h"}, + {"ident":"mtx_init", "header":"threads.h"}, + {"ident":"mtx_lock", "header":"threads.h"}, + {"ident":"mtx_timedlock", "header":"threads.h"}, + {"ident":"mtx_trylock", "header":"threads.h"}, + {"ident":"mtx_unlock", "header":"threads.h"}, + {"ident":"nan", "header":"math.h"}, + {"ident":"nanf", "header":"math.h"}, + {"ident":"nanl", "header":"math.h"}, + {"ident":"nearbyint", "header":"math.h"}, + {"ident":"nearbyintf", "header":"math.h"}, + {"ident":"nearbyintl", "header":"math.h"}, + {"ident":"nextafter", "header":"math.h"}, + {"ident":"nextafterf", "header":"math.h"}, + {"ident":"nextafterl", "header":"math.h"}, + {"ident":"nexttoward", "header":"math.h"}, + {"ident":"nexttowardf", "header":"math.h"}, + {"ident":"nexttowardl", "header":"math.h"}, + {"ident":"perror", "header":"stdio.h"}, + {"ident":"pow", "header":"math.h"}, + {"ident":"powf", "header":"math.h"}, + {"ident":"powl", "header":"math.h"}, + {"ident":"printf", "header":"stdio.h"}, + {"ident":"printf_s", "header":"stdio.h"}, + {"ident":"putc", "header":"stdio.h"}, + {"ident":"putchar", "header":"stdio.h"}, + {"ident":"puts", "header":"stdio.h"}, + {"ident":"putwc", "header":"wchar.h"}, + {"ident":"putwchar", "header":"wchar.h"}, + {"ident":"qsort", "header":"stdlib.h"}, + {"ident":"qsort_s", "header":"stdlib.h"}, + {"ident":"quick_exit", "header":"stdlib.h"}, + {"ident":"raise", "header":"signal.h"}, + {"ident":"rand", "header":"stdlib.h"}, + {"ident":"realloc", "header":"stdlib.h"}, + {"ident":"remainder", "header":"math.h"}, + {"ident":"remainderf", "header":"math.h"}, + {"ident":"remainderl", "header":"math.h"}, + {"ident":"remove", "header":"stdio.h"}, + {"ident":"remquo", "header":"math.h"}, + {"ident":"remquof", "header":"math.h"}, + {"ident":"remquol", "header":"math.h"}, + {"ident":"rename", "header":"stdio.h"}, + {"ident":"rewind", "header":"stdio.h"}, + {"ident":"rint", "header":"math.h"}, + {"ident":"rintf", "header":"math.h"}, + {"ident":"rintl", "header":"math.h"}, + {"ident":"round", "header":"math.h"}, + {"ident":"roundf", "header":"math.h"}, + {"ident":"roundl", "header":"math.h"}, + {"ident":"scalbln", "header":"math.h"}, + {"ident":"scalblnf", "header":"math.h"}, + {"ident":"scalblnl", "header":"math.h"}, + {"ident":"scalbn", "header":"math.h"}, + {"ident":"scalbnf", "header":"math.h"}, + {"ident":"scalbnl", "header":"math.h"}, + {"ident":"scanf", "header":"stdio.h"}, + {"ident":"scanf_s", "header":"stdio.h"}, + {"ident":"set_constraint_handler_s", "header":"stdlib.h"}, + {"ident":"setbuf", "header":"stdio.h"}, + {"ident":"setjmp", "header":"setjmp.h"}, + {"ident":"setlocale", "header":"locale.h"}, + {"ident":"setvbuf", "header":"stdio.h"}, + {"ident":"signal", "header":"signal.h"}, + {"ident":"signbit", "header":"math.h"}, + {"ident":"sin", "header":"math.h"}, + {"ident":"sinf", "header":"math.h"}, + {"ident":"sinh", "header":"math.h"}, + {"ident":"sinhf", "header":"math.h"}, + {"ident":"sinhl", "header":"math.h"}, + {"ident":"sinl", "header":"math.h"}, + {"ident":"snprintf", "header":"stdio.h"}, + {"ident":"snprintf_s", "header":"stdio.h"}, + {"ident":"snwprintf_s", "header":"wchar.h"}, + {"ident":"sprintf", "header":"stdio.h"}, + {"ident":"sprintf_s", "header":"stdio.h"}, + {"ident":"sqrt", "header":"math.h"}, + {"ident":"sqrtf", "header":"math.h"}, + {"ident":"sqrtl", "header":"math.h"}, + {"ident":"srand", "header":"stdlib.h"}, + {"ident":"sscanf", "header":"stdio.h"}, + {"ident":"sscanf_s", "header":"stdio.h"}, + {"ident":"strcat", "header":"string.h"}, + {"ident":"strcat_s", "header":"string.h"}, + {"ident":"strchr", "header":"string.h"}, + {"ident":"strcmp", "header":"string.h"}, + {"ident":"strcoll", "header":"string.h"}, + {"ident":"strcpy", "header":"string.h"}, + {"ident":"strcpy_s", "header":"string.h"}, + {"ident":"strcspn", "header":"string.h"}, + {"ident":"strerror", "header":"string.h"}, + {"ident":"strerror_s", "header":"string.h"}, + {"ident":"strerrorlen_s", "header":"string.h"}, + {"ident":"strftime", "header":"time.h"}, + {"ident":"strlen", "header":"string.h"}, + {"ident":"strncat", "header":"string.h"}, + {"ident":"strncat_s", "header":"string.h"}, + {"ident":"strncmp", "header":"string.h"}, + {"ident":"strncpy", "header":"string.h"}, + {"ident":"strncpy_s", "header":"string.h"}, + {"ident":"strnlen_s", "header":"string.h"}, + {"ident":"strpbrk", "header":"string.h"}, + {"ident":"strrchr", "header":"string.h"}, + {"ident":"strspn", "header":"string.h"}, + {"ident":"strstr", "header":"string.h"}, + {"ident":"strtod", "header":"stdlib.h"}, + {"ident":"strtof", "header":"stdlib.h"}, + {"ident":"strtoimax", "header":"inttypes.h"}, + {"ident":"strtok", "header":"string.h"}, + {"ident":"strtok_s", "header":"string.h"}, + {"ident":"strtol", "header":"stdlib.h"}, + {"ident":"strtold", "header":"stdlib.h"}, + {"ident":"strtoll", "header":"stdlib.h"}, + {"ident":"strtoul", "header":"stdlib.h"}, + {"ident":"strtoull", "header":"stdlib.h"}, + {"ident":"strtoumax", "header":"inttypes.h"}, + {"ident":"strxfrm", "header":"string.h"}, + {"ident":"swprintf", "header":"wchar.h"}, + {"ident":"swprintf_s", "header":"wchar.h"}, + {"ident":"swscanf", "header":"wchar.h"}, + {"ident":"swscanf_s", "header":"wchar.h"}, + {"ident":"system", "header":"stdlib.h"}, + {"ident":"tan", "header":"math.h"}, + {"ident":"tanf", "header":"math.h"}, + {"ident":"tanh", "header":"math.h"}, + {"ident":"tanhf", "header":"math.h"}, + {"ident":"tanhl", "header":"math.h"}, + {"ident":"tanl", "header":"math.h"}, + {"ident":"tgamma", "header":"math.h"}, + {"ident":"tgammaf", "header":"math.h"}, + {"ident":"tgammal", "header":"math.h"}, + {"ident":"thrd_create", "header":"threads.h"}, + {"ident":"thrd_current", "header":"threads.h"}, + {"ident":"thrd_detach", "header":"threads.h"}, + {"ident":"thrd_equal", "header":"threads.h"}, + {"ident":"thrd_exit", "header":"threads.h"}, + {"ident":"thrd_join", "header":"threads.h"}, + {"ident":"thrd_sleep", "header":"threads.h"}, + {"ident":"thrd_yield", "header":"threads.h"}, + {"ident":"time", "header":"time.h"}, + {"ident":"timespec_get", "header":"time.h"}, + {"ident":"tmpfile", "header":"stdio.h"}, + {"ident":"tmpfile_s", "header":"stdio.h"}, + {"ident":"tmpnam", "header":"stdio.h"}, + {"ident":"tmpnam_s", "header":"stdio.h"}, + {"ident":"tolower", "header":"ctype.h"}, + {"ident":"toupper", "header":"ctype.h"}, + {"ident":"towctrans", "header":"wctype.h"}, + {"ident":"towlower", "header":"wctype.h"}, + {"ident":"towupper", "header":"wctype.h"}, + {"ident":"trunc", "header":"math.h"}, + {"ident":"truncf", "header":"math.h"}, + {"ident":"truncl", "header":"math.h"}, + {"ident":"tss_create", "header":"threads.h"}, + {"ident":"tss_delete", "header":"threads.h"}, + {"ident":"tss_get", "header":"threads.h"}, + {"ident":"tss_set", "header":"threads.h"}, + {"ident":"ungetc", "header":"stdio.h"}, + {"ident":"ungetwc", "header":"wchar.h"}, + {"ident":"va_arg", "header":"stdarg.h"}, + {"ident":"va_copy", "header":"stdarg.h"}, + {"ident":"va_end", "header":"stdarg.h"}, + {"ident":"va_start", "header":"stdarg.h"}, + {"ident":"vfprintf", "header":"stdio.h"}, + {"ident":"vfprintf_s", "header":"stdio.h"}, + {"ident":"vfscanf", "header":"stdio.h"}, + {"ident":"vfscanf_s", "header":"stdio.h"}, + {"ident":"vfwprintf", "header":"wchar.h"}, + {"ident":"vfwprintf_s", "header":"wchar.h"}, + {"ident":"vfwscanf", "header":"wchar.h"}, + {"ident":"vfwscanf_s", "header":"wchar.h"}, + {"ident":"vprintf", "header":"stdio.h"}, + {"ident":"vprintf_s", "header":"stdio.h"}, + {"ident":"vscanf", "header":"stdio.h"}, + {"ident":"vscanf_s", "header":"stdio.h"}, + {"ident":"vsnprintf", "header":"stdio.h"}, + {"ident":"vsnprintf_s", "header":"stdio.h"}, + {"ident":"vsnwprintf_s", "header":"wchar.h"}, + {"ident":"vsprintf", "header":"stdio.h"}, + {"ident":"vsprintf_s", "header":"stdio.h"}, + {"ident":"vsscanf", "header":"stdio.h"}, + {"ident":"vsscanf_s", "header":"stdio.h"}, + {"ident":"vswprintf", "header":"wchar.h"}, + {"ident":"vswprintf_s", "header":"wchar.h"}, + {"ident":"vswscanf", "header":"wchar.h"}, + {"ident":"vswscanf_s", "header":"wchar.h"}, + {"ident":"vwprintf", "header":"wchar.h"}, + {"ident":"vwprintf_s", "header":"wchar.h"}, + {"ident":"vwscanf", "header":"wchar.h"}, + {"ident":"vwscanf_s", "header":"wchar.h"}, + {"ident":"wcrtomb", "header":"wchar.h"}, + {"ident":"wcrtomb_s", "header":"wchar.h"}, + {"ident":"wcscat", "header":"wchar.h"}, + {"ident":"wcscat_s", "header":"wchar.h"}, + {"ident":"wcschr", "header":"wchar.h"}, + {"ident":"wcscmp", "header":"wchar.h"}, + {"ident":"wcscoll", "header":"wchar.h"}, + {"ident":"wcscpy", "header":"wchar.h"}, + {"ident":"wcscpy_s", "header":"wchar.h"}, + {"ident":"wcscspn", "header":"wchar.h"}, + {"ident":"wcsftime", "header":"wchar.h"}, + {"ident":"wcslen", "header":"wchar.h"}, + {"ident":"wcsncat", "header":"wchar.h"}, + {"ident":"wcsncat_s", "header":"wchar.h"}, + {"ident":"wcsncmp", "header":"wchar.h"}, + {"ident":"wcsncpy", "header":"wchar.h"}, + {"ident":"wcsncpy_s", "header":"wchar.h"}, + {"ident":"wcsnlen_s", "header":"wchar.h"}, + {"ident":"wcspbrk", "header":"wchar.h"}, + {"ident":"wcsrchr", "header":"wchar.h"}, + {"ident":"wcsrtombs", "header":"wchar.h"}, + {"ident":"wcsrtombs_s", "header":"wchar.h"}, + {"ident":"wcsspn", "header":"wchar.h"}, + {"ident":"wcsstr", "header":"wchar.h"}, + {"ident":"wcstod", "header":"wchar.h"}, + {"ident":"wcstof", "header":"wchar.h"}, + {"ident":"wcstoimax", "header":"inttypes.h"}, + {"ident":"wcstok", "header":"wchar.h"}, + {"ident":"wcstok_s", "header":"wchar.h"}, + {"ident":"wcstol", "header":"wchar.h"}, + {"ident":"wcstold", "header":"wchar.h"}, + {"ident":"wcstoll", "header":"wchar.h"}, + {"ident":"wcstombs", "header":"stdlib.h"}, + {"ident":"wcstombs_s", "header":"stdlib.h"}, + {"ident":"wcstoul", "header":"wchar.h"}, + {"ident":"wcstoull", "header":"wchar.h"}, + {"ident":"wcstoumax", "header":"inttypes.h"}, + {"ident":"wcsxfrm", "header":"wchar.h"}, + {"ident":"wctob", "header":"wchar.h"}, + {"ident":"wctomb", "header":"stdlib.h"}, + {"ident":"wctomb_s", "header":"stdlib.h"}, + {"ident":"wctrans", "header":"wctype.h"}, + {"ident":"wctype", "header":"wctype.h"}, + {"ident":"wmemchr", "header":"wchar.h"}, + {"ident":"wmemcmp", "header":"wchar.h"}, + {"ident":"wmemcpy", "header":"wchar.h"}, + {"ident":"wmemcpy_s", "header":"wchar.h"}, + {"ident":"wmemmove", "header":"wchar.h"}, + {"ident":"wmemmove_s", "header":"wchar.h"}, + {"ident":"wmemset", "header":"wchar.h"}, + {"ident":"wprintf", "header":"wchar.h"}, + {"ident":"wprintf_s", "header":"wchar.h"}, + {"ident":"wscanf", "header":"wchar.h"}, + {"ident":"wscanf_s", "header":"wchar.h"} + ] +} diff --git a/share/compliance/glibc_functions.json b/share/compliance/glibc_functions.json new file mode 100644 index 0000000000000000000000000000000000000000..9e21f7e79ea74fe74d18fbaf24cc9977bba09679 --- /dev/null +++ b/share/compliance/glibc_functions.json @@ -0,0 +1,1594 @@ +{ + "description": "Function and macro identifiers defined in the GNU C Library", + "last_update": "2017-11", + "source": "glibc - https://www.gnu.org/software/libc/manual/html_node/Function-Index.html", + "data":[ + {"ident":"__fbufsize"}, + {"ident":"__flbf"}, + {"ident":"__fpending"}, + {"ident":"__fpurge"}, + {"ident":"__freadable"}, + {"ident":"__freading"}, + {"ident":"__fsetlocking"}, + {"ident":"__fwritable"}, + {"ident":"__fwriting"}, + {"ident":"__ppc_get_timebase"}, + {"ident":"__ppc_get_timebase_freq"}, + {"ident":"__ppc_mdoio"}, + {"ident":"__ppc_mdoom"}, + {"ident":"__ppc_set_ppr_low"}, + {"ident":"__ppc_set_ppr_med"}, + {"ident":"__ppc_set_ppr_med_high"}, + {"ident":"__ppc_set_ppr_med_low"}, + {"ident":"__ppc_set_ppr_very_low"}, + {"ident":"__ppc_yield"}, + {"ident":"__va_copy"}, + {"ident":"_exit"}, + {"ident":"_Exit"}, + {"ident":"_flushlbf"}, + {"ident":"_tolower"}, + {"ident":"_toupper"}, + {"ident":"a64l"}, + {"ident":"abort"}, + {"ident":"abs"}, + {"ident":"accept"}, + {"ident":"access"}, + {"ident":"acos"}, + {"ident":"acosf"}, + {"ident":"acosfN"}, + {"ident":"acosfNx"}, + {"ident":"acosh"}, + {"ident":"acoshf"}, + {"ident":"acoshfN"}, + {"ident":"acoshfNx"}, + {"ident":"acoshl"}, + {"ident":"acosl"}, + {"ident":"addmntent"}, + {"ident":"addseverity"}, + {"ident":"adjtime"}, + {"ident":"adjtimex"}, + {"ident":"aio_cancel"}, + {"ident":"aio_cancel64"}, + {"ident":"aio_error"}, + {"ident":"aio_error64"}, + {"ident":"aio_fsync"}, + {"ident":"aio_fsync64"}, + {"ident":"aio_init"}, + {"ident":"aio_read"}, + {"ident":"aio_read64"}, + {"ident":"aio_return"}, + {"ident":"aio_return64"}, + {"ident":"aio_suspend"}, + {"ident":"aio_suspend64"}, + {"ident":"aio_write"}, + {"ident":"aio_write64"}, + {"ident":"alarm"}, + {"ident":"aligned_alloc"}, + {"ident":"alloca"}, + {"ident":"alphasort"}, + {"ident":"alphasort64"}, + {"ident":"argp_error"}, + {"ident":"argp_failure"}, + {"ident":"argp_help"}, + {"ident":"argp_parse"}, + {"ident":"argp_state_help"}, + {"ident":"argp_usage"}, + {"ident":"argz_add"}, + {"ident":"argz_add_sep"}, + {"ident":"argz_append"}, + {"ident":"argz_count"}, + {"ident":"argz_create"}, + {"ident":"argz_create_sep"}, + {"ident":"argz_delete"}, + {"ident":"argz_extract"}, + {"ident":"argz_insert"}, + {"ident":"argz_next"}, + {"ident":"argz_replace"}, + {"ident":"argz_stringify"}, + {"ident":"asctime"}, + {"ident":"asctime_r"}, + {"ident":"asin"}, + {"ident":"asinf"}, + {"ident":"asinfN"}, + {"ident":"asinfNx"}, + {"ident":"asinh"}, + {"ident":"asinhf"}, + {"ident":"asinhfN"}, + {"ident":"asinhfNx"}, + {"ident":"asinhl"}, + {"ident":"asinl"}, + {"ident":"asprintf"}, + {"ident":"assert"}, + {"ident":"assert_perror"}, + {"ident":"atan"}, + {"ident":"atan2"}, + {"ident":"atan2f"}, + {"ident":"atan2fN"}, + {"ident":"atan2fNx"}, + {"ident":"atan2l"}, + {"ident":"atanf"}, + {"ident":"atanfN"}, + {"ident":"atanfNx"}, + {"ident":"atanh"}, + {"ident":"atanhf"}, + {"ident":"atanhfN"}, + {"ident":"atanhfNx"}, + {"ident":"atanhl"}, + {"ident":"atanl"}, + {"ident":"atexit"}, + {"ident":"atof"}, + {"ident":"atoi"}, + {"ident":"atol"}, + {"ident":"atoll"}, + {"ident":"backtrace"}, + {"ident":"backtrace_symbols"}, + {"ident":"backtrace_symbols_fd"}, + {"ident":"basename"}, + {"ident":"basename"}, + {"ident":"bcmp"}, + {"ident":"bcopy"}, + {"ident":"bind"}, + {"ident":"bind_textdomain_codeset"}, + {"ident":"bindtextdomain"}, + {"ident":"brk"}, + {"ident":"bsearch"}, + {"ident":"btowc"}, + {"ident":"bzero"}, + {"ident":"cabs"}, + {"ident":"cabsf"}, + {"ident":"cabsfN"}, + {"ident":"cabsfNx"}, + {"ident":"cabsl"}, + {"ident":"cacos"}, + {"ident":"cacosf"}, + {"ident":"cacosfN"}, + {"ident":"cacosfNx"}, + {"ident":"cacosh"}, + {"ident":"cacoshf"}, + {"ident":"cacoshfN"}, + {"ident":"cacoshfNx"}, + {"ident":"cacoshl"}, + {"ident":"cacosl"}, + {"ident":"calloc"}, + {"ident":"canonicalize"}, + {"ident":"canonicalize_file_name"}, + {"ident":"canonicalizef"}, + {"ident":"canonicalizefN"}, + {"ident":"canonicalizefNx"}, + {"ident":"canonicalizel"}, + {"ident":"carg"}, + {"ident":"cargf"}, + {"ident":"cargfN"}, + {"ident":"cargfNx"}, + {"ident":"cargl"}, + {"ident":"casin"}, + {"ident":"casinf"}, + {"ident":"casinfN"}, + {"ident":"casinfNx"}, + {"ident":"casinh"}, + {"ident":"casinhf"}, + {"ident":"casinhfN"}, + {"ident":"casinhfNx"}, + {"ident":"casinhl"}, + {"ident":"casinl"}, + {"ident":"catan"}, + {"ident":"catanf"}, + {"ident":"catanfN"}, + {"ident":"catanfNx"}, + {"ident":"catanh"}, + {"ident":"catanhf"}, + {"ident":"catanhfN"}, + {"ident":"catanhfNx"}, + {"ident":"catanhl"}, + {"ident":"catanl"}, + {"ident":"catclose"}, + {"ident":"catgets"}, + {"ident":"catopen"}, + {"ident":"cbc_crypt"}, + {"ident":"cbrt"}, + {"ident":"cbrtf"}, + {"ident":"cbrtfN"}, + {"ident":"cbrtfNx"}, + {"ident":"cbrtl"}, + {"ident":"ccos"}, + {"ident":"ccosf"}, + {"ident":"ccosfN"}, + {"ident":"ccosfNx"}, + {"ident":"ccosh"}, + {"ident":"ccoshf"}, + {"ident":"ccoshfN"}, + {"ident":"ccoshfNx"}, + {"ident":"ccoshl"}, + {"ident":"ccosl"}, + {"ident":"ceil"}, + {"ident":"ceilf"}, + {"ident":"ceilfN"}, + {"ident":"ceilfNx"}, + {"ident":"ceill"}, + {"ident":"cexp"}, + {"ident":"cexpf"}, + {"ident":"cexpfN"}, + {"ident":"cexpfNx"}, + {"ident":"cexpl"}, + {"ident":"cfgetispeed"}, + {"ident":"cfgetospeed"}, + {"ident":"cfmakeraw"}, + {"ident":"cfsetispeed"}, + {"ident":"cfsetospeed"}, + {"ident":"cfsetspeed"}, + {"ident":"chdir"}, + {"ident":"chmod"}, + {"ident":"chmod"}, + {"ident":"chown"}, + {"ident":"cimag"}, + {"ident":"cimagf"}, + {"ident":"cimagfN"}, + {"ident":"cimagfNx"}, + {"ident":"cimagl"}, + {"ident":"clearenv"}, + {"ident":"clearerr"}, + {"ident":"clearerr_unlocked"}, + {"ident":"clock"}, + {"ident":"clog"}, + {"ident":"clog10"}, + {"ident":"clog10f"}, + {"ident":"clog10fN"}, + {"ident":"clog10fNx"}, + {"ident":"clog10l"}, + {"ident":"clogf"}, + {"ident":"clogfN"}, + {"ident":"clogfNx"}, + {"ident":"clogl"}, + {"ident":"close"}, + {"ident":"closedir"}, + {"ident":"closelog"}, + {"ident":"confstr"}, + {"ident":"conj"}, + {"ident":"conjf"}, + {"ident":"conjfN"}, + {"ident":"conjfNx"}, + {"ident":"conjl"}, + {"ident":"connect"}, + {"ident":"continue"}, + {"ident":"copysign"}, + {"ident":"copysignf"}, + {"ident":"copysignfN"}, + {"ident":"copysignfNx"}, + {"ident":"copysignl"}, + {"ident":"cos"}, + {"ident":"cosf"}, + {"ident":"cosfN"}, + {"ident":"cosfNx"}, + {"ident":"cosh"}, + {"ident":"coshf"}, + {"ident":"coshfN"}, + {"ident":"coshfNx"}, + {"ident":"coshl"}, + {"ident":"cosl"}, + {"ident":"cpow"}, + {"ident":"cpowf"}, + {"ident":"cpowfN"}, + {"ident":"cpowfNx"}, + {"ident":"cpowl"}, + {"ident":"cproj"}, + {"ident":"cprojf"}, + {"ident":"cprojfN"}, + {"ident":"cprojfNx"}, + {"ident":"cprojl"}, + {"ident":"CPU_CLR"}, + {"ident":"CPU_ISSET"}, + {"ident":"CPU_SET"}, + {"ident":"CPU_ZERO"}, + {"ident":"creal"}, + {"ident":"crealf"}, + {"ident":"crealfN"}, + {"ident":"crealfNx"}, + {"ident":"creall"}, + {"ident":"creat"}, + {"ident":"creat64"}, + {"ident":"crypt"}, + {"ident":"crypt_r"}, + {"ident":"csin"}, + {"ident":"csinf"}, + {"ident":"csinfN"}, + {"ident":"csinfNx"}, + {"ident":"csinh"}, + {"ident":"csinhf"}, + {"ident":"csinhfN"}, + {"ident":"csinhfNx"}, + {"ident":"csinhl"}, + {"ident":"csinl"}, + {"ident":"csqrt"}, + {"ident":"csqrtf"}, + {"ident":"csqrtfN"}, + {"ident":"csqrtfNx"}, + {"ident":"csqrtl"}, + {"ident":"ctan"}, + {"ident":"ctanf"}, + {"ident":"ctanfN"}, + {"ident":"ctanfNx"}, + {"ident":"ctanh"}, + {"ident":"ctanhf"}, + {"ident":"ctanhfN"}, + {"ident":"ctanhfNx"}, + {"ident":"ctanhl"}, + {"ident":"ctanl"}, + {"ident":"ctermid"}, + {"ident":"ctime"}, + {"ident":"ctime_r"}, + {"ident":"cuserid"}, + {"ident":"dcgettext"}, + {"ident":"dcngettext"}, + {"ident":"DES_FAILED"}, + {"ident":"des_setparity"}, + {"ident":"dgettext"}, + {"ident":"difftime"}, + {"ident":"dirfd"}, + {"ident":"dirname"}, + {"ident":"div"}, + {"ident":"dngettext"}, + {"ident":"drand48"}, + {"ident":"drand48_r"}, + {"ident":"drem"}, + {"ident":"dremf"}, + {"ident":"dreml"}, + {"ident":"DTTOIF"}, + {"ident":"dup"}, + {"ident":"dup2"}, + {"ident":"ecb_crypt"}, + {"ident":"ecvt"}, + {"ident":"ecvt_r"}, + {"ident":"encrypt"}, + {"ident":"encrypt_r"}, + {"ident":"endfsent"}, + {"ident":"endgrent"}, + {"ident":"endhostent"}, + {"ident":"endmntent"}, + {"ident":"endnetent"}, + {"ident":"endnetgrent"}, + {"ident":"endprotoent"}, + {"ident":"endpwent"}, + {"ident":"endservent"}, + {"ident":"endutent"}, + {"ident":"endutxent"}, + {"ident":"envz_add"}, + {"ident":"envz_entry"}, + {"ident":"envz_get"}, + {"ident":"envz_merge"}, + {"ident":"envz_remove"}, + {"ident":"envz_strip"}, + {"ident":"erand48"}, + {"ident":"erand48_r"}, + {"ident":"erf"}, + {"ident":"erfc"}, + {"ident":"erfcf"}, + {"ident":"erfcfN"}, + {"ident":"erfcfNx"}, + {"ident":"erfcl"}, + {"ident":"erff"}, + {"ident":"erffN"}, + {"ident":"erffNx"}, + {"ident":"erfl"}, + {"ident":"err"}, + {"ident":"error"}, + {"ident":"error_at_line"}, + {"ident":"errx"}, + {"ident":"execl"}, + {"ident":"execle"}, + {"ident":"execlp"}, + {"ident":"execv"}, + {"ident":"execve"}, + {"ident":"execvp"}, + {"ident":"exit"}, + {"ident":"exp"}, + {"ident":"exp10"}, + {"ident":"exp10f"}, + {"ident":"exp10fN"}, + {"ident":"exp10fNx"}, + {"ident":"exp10l"}, + {"ident":"exp2"}, + {"ident":"exp2f"}, + {"ident":"exp2fN"}, + {"ident":"exp2fNx"}, + {"ident":"exp2l"}, + {"ident":"expf"}, + {"ident":"expfN"}, + {"ident":"expfNx"}, + {"ident":"expl"}, + {"ident":"explicit_bzero"}, + {"ident":"expm1"}, + {"ident":"expm1f"}, + {"ident":"expm1fN"}, + {"ident":"expm1fNx"}, + {"ident":"expm1l"}, + {"ident":"fabs"}, + {"ident":"fabsf"}, + {"ident":"fabsfN"}, + {"ident":"fabsfNx"}, + {"ident":"fabsl"}, + {"ident":"fchdir"}, + {"ident":"fchmod"}, + {"ident":"fchown"}, + {"ident":"fclose"}, + {"ident":"fcloseall"}, + {"ident":"fcntl"}, + {"ident":"fcvt"}, + {"ident":"fcvt_r"}, + {"ident":"FD_CLR"}, + {"ident":"FD_ISSET"}, + {"ident":"FD_SET"}, + {"ident":"FD_ZERO"}, + {"ident":"fdatasync"}, + {"ident":"fdim"}, + {"ident":"fdimf"}, + {"ident":"fdimfN"}, + {"ident":"fdimfNx"}, + {"ident":"fdiml"}, + {"ident":"fdopen"}, + {"ident":"fdopendir"}, + {"ident":"feclearexcept"}, + {"ident":"fedisableexcept"}, + {"ident":"feenableexcept"}, + {"ident":"fegetenv"}, + {"ident":"fegetexcept"}, + {"ident":"fegetexceptflag"}, + {"ident":"fegetmode"}, + {"ident":"fegetround"}, + {"ident":"feholdexcept"}, + {"ident":"feof"}, + {"ident":"feof_unlocked"}, + {"ident":"feraiseexcept"}, + {"ident":"ferror"}, + {"ident":"ferror_unlocked"}, + {"ident":"fesetenv"}, + {"ident":"fesetexcept"}, + {"ident":"fesetexceptflag"}, + {"ident":"fesetmode"}, + {"ident":"fesetround"}, + {"ident":"fetestexcept"}, + {"ident":"fetestexceptflag"}, + {"ident":"feupdateenv"}, + {"ident":"fflush"}, + {"ident":"fflush_unlocked"}, + {"ident":"fgetc"}, + {"ident":"fgetc_unlocked"}, + {"ident":"fgetgrent"}, + {"ident":"fgetgrent_r"}, + {"ident":"fgetpos"}, + {"ident":"fgetpos64"}, + {"ident":"fgetpwent"}, + {"ident":"fgetpwent_r"}, + {"ident":"fgets"}, + {"ident":"fgets_unlocked"}, + {"ident":"fgetwc"}, + {"ident":"fgetwc_unlocked"}, + {"ident":"fgetws"}, + {"ident":"fgetws_unlocked"}, + {"ident":"fileno"}, + {"ident":"fileno_unlocked"}, + {"ident":"finite"}, + {"ident":"finitef"}, + {"ident":"finitel"}, + {"ident":"flockfile"}, + {"ident":"floor"}, + {"ident":"floorf"}, + {"ident":"floorfN"}, + {"ident":"floorfNx"}, + {"ident":"floorl"}, + {"ident":"fma"}, + {"ident":"fmaf"}, + {"ident":"fmafN"}, + {"ident":"fmafNx"}, + {"ident":"fmal"}, + {"ident":"fmax"}, + {"ident":"fmaxf"}, + {"ident":"fmaxfN"}, + {"ident":"fmaxfNx"}, + {"ident":"fmaxl"}, + {"ident":"fmaxmag"}, + {"ident":"fmaxmagf"}, + {"ident":"fmaxmagfN"}, + {"ident":"fmaxmagfNx"}, + {"ident":"fmaxmagl"}, + {"ident":"fmemopen"}, + {"ident":"fmin"}, + {"ident":"fminf"}, + {"ident":"fminfN"}, + {"ident":"fminfNx"}, + {"ident":"fminl"}, + {"ident":"fminmag"}, + {"ident":"fminmagf"}, + {"ident":"fminmagfN"}, + {"ident":"fminmagfNx"}, + {"ident":"fminmagl"}, + {"ident":"fmod"}, + {"ident":"fmodf"}, + {"ident":"fmodfN"}, + {"ident":"fmodfNx"}, + {"ident":"fmodl"}, + {"ident":"fmtmsg"}, + {"ident":"fnmatch"}, + {"ident":"fopen"}, + {"ident":"fopen64"}, + {"ident":"fopencookie"}, + {"ident":"fork"}, + {"ident":"forkpty"}, + {"ident":"fpathconf"}, + {"ident":"fpclassify"}, + {"ident":"fprintf"}, + {"ident":"fputc"}, + {"ident":"fputc_unlocked"}, + {"ident":"fputs"}, + {"ident":"fputs_unlocked"}, + {"ident":"fputwc"}, + {"ident":"fputwc_unlocked"}, + {"ident":"fputws"}, + {"ident":"fputws_unlocked"}, + {"ident":"fread"}, + {"ident":"fread_unlocked"}, + {"ident":"free"}, + {"ident":"freopen"}, + {"ident":"freopen64"}, + {"ident":"frexp"}, + {"ident":"frexpf"}, + {"ident":"frexpfN"}, + {"ident":"frexpfNx"}, + {"ident":"frexpl"}, + {"ident":"fromfp"}, + {"ident":"fromfpf"}, + {"ident":"fromfpfN"}, + {"ident":"fromfpfNx"}, + {"ident":"fromfpl"}, + {"ident":"fromfpx"}, + {"ident":"fromfpxf"}, + {"ident":"fromfpxfN"}, + {"ident":"fromfpxfNx"}, + {"ident":"fromfpxl"}, + {"ident":"fscanf"}, + {"ident":"fseek"}, + {"ident":"fseeko"}, + {"ident":"fseeko64"}, + {"ident":"fsetpos"}, + {"ident":"fsetpos64"}, + {"ident":"fstat"}, + {"ident":"fstat64"}, + {"ident":"fsync"}, + {"ident":"ftell"}, + {"ident":"ftello"}, + {"ident":"ftello64"}, + {"ident":"ftruncate"}, + {"ident":"ftruncate64"}, + {"ident":"ftrylockfile"}, + {"ident":"ftw"}, + {"ident":"ftw64"}, + {"ident":"funlockfile"}, + {"ident":"futimes"}, + {"ident":"fwide"}, + {"ident":"fwprintf"}, + {"ident":"fwrite"}, + {"ident":"fwrite_unlocked"}, + {"ident":"fwscanf"}, + {"ident":"gamma"}, + {"ident":"gammaf"}, + {"ident":"gammal"}, + {"ident":"gcvt"}, + {"ident":"get_avphys_pages"}, + {"ident":"get_current_dir_name"}, + {"ident":"get_nprocs"}, + {"ident":"get_nprocs_conf"}, + {"ident":"get_phys_pages"}, + {"ident":"getauxval"}, + {"ident":"getc"}, + {"ident":"getc_unlocked"}, + {"ident":"getchar"}, + {"ident":"getchar_unlocked"}, + {"ident":"getcontext"}, + {"ident":"getcwd"}, + {"ident":"getdate"}, + {"ident":"getdate_r"}, + {"ident":"getdelim"}, + {"ident":"getdomainnname"}, + {"ident":"getegid"}, + {"ident":"getentropy"}, + {"ident":"getenv"}, + {"ident":"geteuid"}, + {"ident":"getfsent"}, + {"ident":"getfsfile"}, + {"ident":"getfsspec"}, + {"ident":"getgid"}, + {"ident":"getgrent"}, + {"ident":"getgrent_r"}, + {"ident":"getgrgid"}, + {"ident":"getgrgid_r"}, + {"ident":"getgrnam"}, + {"ident":"getgrnam_r"}, + {"ident":"getgrouplist"}, + {"ident":"getgroups"}, + {"ident":"gethostbyaddr"}, + {"ident":"gethostbyaddr_r"}, + {"ident":"gethostbyname"}, + {"ident":"gethostbyname2"}, + {"ident":"gethostbyname2_r"}, + {"ident":"gethostbyname_r"}, + {"ident":"gethostent"}, + {"ident":"gethostid"}, + {"ident":"gethostname"}, + {"ident":"getitimer"}, + {"ident":"getline"}, + {"ident":"getloadavg"}, + {"ident":"getlogin"}, + {"ident":"getmntent"}, + {"ident":"getmntent_r"}, + {"ident":"getnetbyaddr"}, + {"ident":"getnetbyname"}, + {"ident":"getnetent"}, + {"ident":"getnetgrent"}, + {"ident":"getnetgrent_r"}, + {"ident":"getopt"}, + {"ident":"getopt_long"}, + {"ident":"getopt_long_only"}, + {"ident":"getpagesize"}, + {"ident":"getpass"}, + {"ident":"getpayload"}, + {"ident":"getpayloadf"}, + {"ident":"getpayloadfN"}, + {"ident":"getpayloadfNx"}, + {"ident":"getpayloadl"}, + {"ident":"getpeername"}, + {"ident":"getpgid"}, + {"ident":"getpgrp"}, + {"ident":"getpid"}, + {"ident":"getppid"}, + {"ident":"getpriority"}, + {"ident":"getprotobyname"}, + {"ident":"getprotobynumber"}, + {"ident":"getprotoent"}, + {"ident":"getpt"}, + {"ident":"getpwent"}, + {"ident":"getpwent_r"}, + {"ident":"getpwnam"}, + {"ident":"getpwnam_r"}, + {"ident":"getpwuid"}, + {"ident":"getpwuid_r"}, + {"ident":"getrandom"}, + {"ident":"getrlimit"}, + {"ident":"getrlimit64"}, + {"ident":"getrusage"}, + {"ident":"gets"}, + {"ident":"getservbyname"}, + {"ident":"getservbyport"}, + {"ident":"getservent"}, + {"ident":"getsid"}, + {"ident":"getsockname"}, + {"ident":"getsockopt"}, + {"ident":"getsubopt"}, + {"ident":"gettext"}, + {"ident":"gettimeofday"}, + {"ident":"getuid"}, + {"ident":"getumask"}, + {"ident":"getutent"}, + {"ident":"getutent_r"}, + {"ident":"getutid"}, + {"ident":"getutid_r"}, + {"ident":"getutline"}, + {"ident":"getutline_r"}, + {"ident":"getutmp"}, + {"ident":"getutmpx"}, + {"ident":"getutxent"}, + {"ident":"getutxid"}, + {"ident":"getutxline"}, + {"ident":"getw"}, + {"ident":"getwc"}, + {"ident":"getwc_unlocked"}, + {"ident":"getwchar"}, + {"ident":"getwchar_unlocked"}, + {"ident":"getwd"}, + {"ident":"glob"}, + {"ident":"glob64"}, + {"ident":"globfree"}, + {"ident":"globfree64"}, + {"ident":"gmtime"}, + {"ident":"gmtime_r"}, + {"ident":"grantpt"}, + {"ident":"grantpt"}, + {"ident":"gsignal"}, + {"ident":"gtty"}, + {"ident":"hasmntopt"}, + {"ident":"hcreate"}, + {"ident":"hcreate_r"}, + {"ident":"hdestroy"}, + {"ident":"hdestroy_r"}, + {"ident":"hsearch"}, + {"ident":"hsearch_r"}, + {"ident":"htonl"}, + {"ident":"htons"}, + {"ident":"hypot"}, + {"ident":"hypotf"}, + {"ident":"hypotfN"}, + {"ident":"hypotfNx"}, + {"ident":"hypotl"}, + {"ident":"iconv"}, + {"ident":"iconv_close"}, + {"ident":"iconv_open"}, + {"ident":"if_freenameindex"}, + {"ident":"if_indextoname"}, + {"ident":"if_nameindex"}, + {"ident":"if_nametoindex"}, + {"ident":"IFTODT"}, + {"ident":"ilogb"}, + {"ident":"ilogbf"}, + {"ident":"ilogbfN"}, + {"ident":"ilogbfNx"}, + {"ident":"ilogbl"}, + {"ident":"imaxabs"}, + {"ident":"imaxdiv"}, + {"ident":"index"}, + {"ident":"inet_addr"}, + {"ident":"inet_aton"}, + {"ident":"inet_lnaof"}, + {"ident":"inet_makeaddr"}, + {"ident":"inet_netof"}, + {"ident":"inet_network"}, + {"ident":"inet_ntoa"}, + {"ident":"inet_ntop"}, + {"ident":"inet_pton"}, + {"ident":"initgroups"}, + {"ident":"initstate"}, + {"ident":"initstate_r"}, + {"ident":"innetgr"}, + {"ident":"ioctl"}, + {"ident":"isalnum"}, + {"ident":"isalpha"}, + {"ident":"isascii"}, + {"ident":"isatty"}, + {"ident":"isblank"}, + {"ident":"iscanonical"}, + {"ident":"iscntrl"}, + {"ident":"isdigit"}, + {"ident":"iseqsig"}, + {"ident":"isfinite"}, + {"ident":"isgraph"}, + {"ident":"isgreater"}, + {"ident":"isgreaterequal"}, + {"ident":"isinf"}, + {"ident":"isinff"}, + {"ident":"isinfl"}, + {"ident":"isless"}, + {"ident":"islessequal"}, + {"ident":"islessgreater"}, + {"ident":"islower"}, + {"ident":"isnan"}, + {"ident":"isnan"}, + {"ident":"isnanf"}, + {"ident":"isnanl"}, + {"ident":"isnormal"}, + {"ident":"isprint"}, + {"ident":"ispunct"}, + {"ident":"issignaling"}, + {"ident":"isspace"}, + {"ident":"issubnormal"}, + {"ident":"isunordered"}, + {"ident":"isupper"}, + {"ident":"iswalnum"}, + {"ident":"iswalpha"}, + {"ident":"iswblank"}, + {"ident":"iswcntrl"}, + {"ident":"iswctype"}, + {"ident":"iswdigit"}, + {"ident":"iswgraph"}, + {"ident":"iswlower"}, + {"ident":"iswprint"}, + {"ident":"iswpunct"}, + {"ident":"iswspace"}, + {"ident":"iswupper"}, + {"ident":"iswxdigit"}, + {"ident":"isxdigit"}, + {"ident":"iszero"}, + {"ident":"j0"}, + {"ident":"j0f"}, + {"ident":"j0fN"}, + {"ident":"j0fNx"}, + {"ident":"j0l"}, + {"ident":"j1"}, + {"ident":"j1f"}, + {"ident":"j1fN"}, + {"ident":"j1fNx"}, + {"ident":"j1l"}, + {"ident":"jn"}, + {"ident":"jnf"}, + {"ident":"jnfN"}, + {"ident":"jnfNx"}, + {"ident":"jnl"}, + {"ident":"jrand48"}, + {"ident":"jrand48_r"}, + {"ident":"kill"}, + {"ident":"killpg"}, + {"ident":"l64a"}, + {"ident":"labs"}, + {"ident":"lcong48"}, + {"ident":"lcong48_r"}, + {"ident":"ldexp"}, + {"ident":"ldexpf"}, + {"ident":"ldexpfN"}, + {"ident":"ldexpfNx"}, + {"ident":"ldexpl"}, + {"ident":"ldiv"}, + {"ident":"lfind"}, + {"ident":"lgamma"}, + {"ident":"lgamma_r"}, + {"ident":"lgammaf"}, + {"ident":"lgammaf_r"}, + {"ident":"lgammafN"}, + {"ident":"lgammafN_r"}, + {"ident":"lgammafNx"}, + {"ident":"lgammafNx_r"}, + {"ident":"lgammal"}, + {"ident":"lgammal_r"}, + {"ident":"link"}, + {"ident":"lio_listio"}, + {"ident":"lio_listio64"}, + {"ident":"listen"}, + {"ident":"llabs"}, + {"ident":"lldiv"}, + {"ident":"llogb"}, + {"ident":"llogbf"}, + {"ident":"llogbfN"}, + {"ident":"llogbfNx"}, + {"ident":"llogbl"}, + {"ident":"llrint"}, + {"ident":"llrintf"}, + {"ident":"llrintfN"}, + {"ident":"llrintfNx"}, + {"ident":"llrintl"}, + {"ident":"llround"}, + {"ident":"llroundf"}, + {"ident":"llroundfN"}, + {"ident":"llroundfNx"}, + {"ident":"llroundl"}, + {"ident":"localeconv"}, + {"ident":"localtime"}, + {"ident":"localtime_r"}, + {"ident":"log"}, + {"ident":"log10"}, + {"ident":"log10f"}, + {"ident":"log10fN"}, + {"ident":"log10fNx"}, + {"ident":"log10l"}, + {"ident":"log1p"}, + {"ident":"log1pf"}, + {"ident":"log1pfN"}, + {"ident":"log1pfNx"}, + {"ident":"log1pl"}, + {"ident":"log2"}, + {"ident":"log2f"}, + {"ident":"log2fN"}, + {"ident":"log2fNx"}, + {"ident":"log2l"}, + {"ident":"logb"}, + {"ident":"logbf"}, + {"ident":"logbfN"}, + {"ident":"logbfNx"}, + {"ident":"logbl"}, + {"ident":"logf"}, + {"ident":"logfN"}, + {"ident":"logfNx"}, + {"ident":"login"}, + {"ident":"login_tty"}, + {"ident":"logl"}, + {"ident":"logout"}, + {"ident":"logwtmp"}, + {"ident":"longjmp"}, + {"ident":"lrand48"}, + {"ident":"lrand48_r"}, + {"ident":"lrint"}, + {"ident":"lrintf"}, + {"ident":"lrintfN"}, + {"ident":"lrintfNx"}, + {"ident":"lrintl"}, + {"ident":"lround"}, + {"ident":"lroundf"}, + {"ident":"lroundfN"}, + {"ident":"lroundfNx"}, + {"ident":"lroundl"}, + {"ident":"lsearch"}, + {"ident":"lseek"}, + {"ident":"lseek64"}, + {"ident":"lstat"}, + {"ident":"lstat64"}, + {"ident":"lutimes"}, + {"ident":"madvise"}, + {"ident":"main"}, + {"ident":"makecontext"}, + {"ident":"mallinfo"}, + {"ident":"malloc"}, + {"ident":"mallopt"}, + {"ident":"matherr"}, + {"ident":"mblen"}, + {"ident":"mbrlen"}, + {"ident":"mbrtowc"}, + {"ident":"mbsinit"}, + {"ident":"mbsnrtowcs"}, + {"ident":"mbsrtowcs"}, + {"ident":"mbstowcs"}, + {"ident":"mbtowc"}, + {"ident":"mcheck"}, + {"ident":"memalign"}, + {"ident":"memccpy"}, + {"ident":"memchr"}, + {"ident":"memcmp"}, + {"ident":"memcpy"}, + {"ident":"memfrob"}, + {"ident":"memmem"}, + {"ident":"memmove"}, + {"ident":"mempcpy"}, + {"ident":"memrchr"}, + {"ident":"memset"}, + {"ident":"merge"}, + {"ident":"mkdir"}, + {"ident":"mkdtemp"}, + {"ident":"mkfifo"}, + {"ident":"mknod"}, + {"ident":"mkstemp"}, + {"ident":"mktemp"}, + {"ident":"mktime"}, + {"ident":"mlock"}, + {"ident":"mlockall"}, + {"ident":"mmap"}, + {"ident":"mmap64"}, + {"ident":"modf"}, + {"ident":"modff"}, + {"ident":"modffN"}, + {"ident":"modffNx"}, + {"ident":"modfl"}, + {"ident":"mount"}, + {"ident":"mprobe"}, + {"ident":"mrand48"}, + {"ident":"mrand48_r"}, + {"ident":"mremap"}, + {"ident":"msync"}, + {"ident":"mtrace"}, + {"ident":"munlock"}, + {"ident":"munlockall"}, + {"ident":"munmap"}, + {"ident":"muntrace"}, + {"ident":"nan"}, + {"ident":"nanf"}, + {"ident":"nanfN"}, + {"ident":"nanfNx"}, + {"ident":"nanl"}, + {"ident":"nanosleep"}, + {"ident":"nearbyint"}, + {"ident":"nearbyintf"}, + {"ident":"nearbyintfN"}, + {"ident":"nearbyintfNx"}, + {"ident":"nearbyintl"}, + {"ident":"nextafter"}, + {"ident":"nextafterf"}, + {"ident":"nextafterfN"}, + {"ident":"nextafterfNx"}, + {"ident":"nextafterl"}, + {"ident":"nextdown"}, + {"ident":"nextdownf"}, + {"ident":"nextdownfN"}, + {"ident":"nextdownfNx"}, + {"ident":"nextdownl"}, + {"ident":"nexttoward"}, + {"ident":"nexttowardf"}, + {"ident":"nexttowardl"}, + {"ident":"nextup"}, + {"ident":"nextupf"}, + {"ident":"nextupfN"}, + {"ident":"nextupfNx"}, + {"ident":"nextupl"}, + {"ident":"nftw"}, + {"ident":"nftw64"}, + {"ident":"ngettext"}, + {"ident":"nice"}, + {"ident":"nl_langinfo"}, + {"ident":"notfound"}, + {"ident":"nrand48"}, + {"ident":"nrand48_r"}, + {"ident":"ntohl"}, + {"ident":"ntohs"}, + {"ident":"ntp_adjtime"}, + {"ident":"ntp_gettime"}, + {"ident":"obstack_1grow"}, + {"ident":"obstack_1grow_fast"}, + {"ident":"obstack_alignment_mask"}, + {"ident":"obstack_alloc"}, + {"ident":"obstack_base"}, + {"ident":"obstack_blank"}, + {"ident":"obstack_blank_fast"}, + {"ident":"obstack_chunk_alloc"}, + {"ident":"obstack_chunk_free"}, + {"ident":"obstack_chunk_size"}, + {"ident":"obstack_copy"}, + {"ident":"obstack_copy0"}, + {"ident":"obstack_finish"}, + {"ident":"obstack_free"}, + {"ident":"obstack_grow"}, + {"ident":"obstack_grow0"}, + {"ident":"obstack_init"}, + {"ident":"obstack_int_grow"}, + {"ident":"obstack_int_grow_fast"}, + {"ident":"obstack_next_free"}, + {"ident":"obstack_object_size"}, + {"ident":"obstack_object_size"}, + {"ident":"obstack_printf"}, + {"ident":"obstack_ptr_grow"}, + {"ident":"obstack_ptr_grow_fast"}, + {"ident":"obstack_room"}, + {"ident":"obstack_vprintf"}, + {"ident":"offsetof"}, + {"ident":"on_exit"}, + {"ident":"open"}, + {"ident":"open64"}, + {"ident":"open_memstream"}, + {"ident":"opendir"}, + {"ident":"openlog"}, + {"ident":"openpty"}, + {"ident":"parse_printf_format"}, + {"ident":"pathconf"}, + {"ident":"pause"}, + {"ident":"pclose"}, + {"ident":"perror"}, + {"ident":"pipe"}, + {"ident":"popen"}, + {"ident":"posix_fallocate"}, + {"ident":"posix_fallocate64"}, + {"ident":"posix_memalign"}, + {"ident":"pow"}, + {"ident":"pow10"}, + {"ident":"pow10f"}, + {"ident":"pow10l"}, + {"ident":"powf"}, + {"ident":"powfN"}, + {"ident":"powfNx"}, + {"ident":"powl"}, + {"ident":"pread"}, + {"ident":"pread64"}, + {"ident":"preadv"}, + {"ident":"preadv2"}, + {"ident":"preadv64"}, + {"ident":"preadv64v2"}, + {"ident":"printf"}, + {"ident":"printf_size"}, + {"ident":"printf_size_info"}, + {"ident":"psignal"}, + {"ident":"pthread_getattr_default_np"}, + {"ident":"pthread_getspecific"}, + {"ident":"pthread_key_create"}, + {"ident":"pthread_key_delete"}, + {"ident":"pthread_setattr_default_np"}, + {"ident":"pthread_setspecific"}, + {"ident":"ptsname"}, + {"ident":"ptsname_r"}, + {"ident":"putc"}, + {"ident":"putc_unlocked"}, + {"ident":"putchar"}, + {"ident":"putchar_unlocked"}, + {"ident":"putenv"}, + {"ident":"putpwent"}, + {"ident":"puts"}, + {"ident":"pututline"}, + {"ident":"pututxline"}, + {"ident":"putw"}, + {"ident":"putwc"}, + {"ident":"putwc_unlocked"}, + {"ident":"putwchar"}, + {"ident":"putwchar_unlocked"}, + {"ident":"pwrite"}, + {"ident":"pwrite64"}, + {"ident":"pwritev"}, + {"ident":"pwritev2"}, + {"ident":"pwritev64"}, + {"ident":"pwritev64v2"}, + {"ident":"qecvt"}, + {"ident":"qecvt_r"}, + {"ident":"qfcvt"}, + {"ident":"qfcvt_r"}, + {"ident":"qgcvt"}, + {"ident":"qsort"}, + {"ident":"raise"}, + {"ident":"rand"}, + {"ident":"rand_r"}, + {"ident":"random"}, + {"ident":"random_r"}, + {"ident":"rawmemchr"}, + {"ident":"read"}, + {"ident":"readdir"}, + {"ident":"readdir64"}, + {"ident":"readdir64_r"}, + {"ident":"readdir_r"}, + {"ident":"readlink"}, + {"ident":"readv"}, + {"ident":"realloc"}, + {"ident":"reallocarray"}, + {"ident":"realpath"}, + {"ident":"recv"}, + {"ident":"recvfrom"}, + {"ident":"regcomp"}, + {"ident":"regerror"}, + {"ident":"regexec"}, + {"ident":"regfree"}, + {"ident":"register_printf_function"}, + {"ident":"remainder"}, + {"ident":"remainderf"}, + {"ident":"remainderfN"}, + {"ident":"remainderfNx"}, + {"ident":"remainderl"}, + {"ident":"remove"}, + {"ident":"rename"}, + {"ident":"return"}, + {"ident":"rewind"}, + {"ident":"rewinddir"}, + {"ident":"rindex"}, + {"ident":"rint"}, + {"ident":"rintf"}, + {"ident":"rintfN"}, + {"ident":"rintfNx"}, + {"ident":"rintl"}, + {"ident":"rmdir"}, + {"ident":"round"}, + {"ident":"roundeven"}, + {"ident":"roundevenf"}, + {"ident":"roundevenfN"}, + {"ident":"roundevenfNx"}, + {"ident":"roundevenl"}, + {"ident":"roundf"}, + {"ident":"roundfN"}, + {"ident":"roundfNx"}, + {"ident":"roundl"}, + {"ident":"rpmatch"}, + {"ident":"S_ISBLK"}, + {"ident":"S_ISCHR"}, + {"ident":"S_ISDIR"}, + {"ident":"S_ISFIFO"}, + {"ident":"S_ISLNK"}, + {"ident":"S_ISREG"}, + {"ident":"S_ISSOCK"}, + {"ident":"S_TYPEISMQ"}, + {"ident":"S_TYPEISSEM"}, + {"ident":"S_TYPEISSHM"}, + {"ident":"sbrk"}, + {"ident":"scalb"}, + {"ident":"scalbf"}, + {"ident":"scalbl"}, + {"ident":"scalbln"}, + {"ident":"scalblnf"}, + {"ident":"scalblnfN"}, + {"ident":"scalblnfNx"}, + {"ident":"scalblnl"}, + {"ident":"scalbn"}, + {"ident":"scalbnf"}, + {"ident":"scalbnfN"}, + {"ident":"scalbnfNx"}, + {"ident":"scalbnl"}, + {"ident":"scandir"}, + {"ident":"scandir64"}, + {"ident":"scanf"}, + {"ident":"sched_get_priority_max"}, + {"ident":"sched_get_priority_min"}, + {"ident":"sched_getaffinity"}, + {"ident":"sched_getparam"}, + {"ident":"sched_getscheduler"}, + {"ident":"sched_rr_get_interval"}, + {"ident":"sched_setaffinity"}, + {"ident":"sched_setparam"}, + {"ident":"sched_setscheduler"}, + {"ident":"sched_yield"}, + {"ident":"secure_getenv"}, + {"ident":"seed48"}, + {"ident":"seed48_r"}, + {"ident":"seekdir"}, + {"ident":"select"}, + {"ident":"sem_close"}, + {"ident":"sem_destroy"}, + {"ident":"sem_getvalue"}, + {"ident":"sem_init"}, + {"ident":"sem_open"}, + {"ident":"sem_post"}, + {"ident":"sem_timedwait"}, + {"ident":"sem_trywait"}, + {"ident":"sem_unlink"}, + {"ident":"sem_wait"}, + {"ident":"semctl"}, + {"ident":"semget"}, + {"ident":"semop"}, + {"ident":"semtimedop"}, + {"ident":"send"}, + {"ident":"sendto"}, + {"ident":"setbuf"}, + {"ident":"setbuffer"}, + {"ident":"setcontext"}, + {"ident":"setdomainname"}, + {"ident":"setegid"}, + {"ident":"setenv"}, + {"ident":"seteuid"}, + {"ident":"setfsent"}, + {"ident":"setgid"}, + {"ident":"setgrent"}, + {"ident":"setgroups"}, + {"ident":"sethostent"}, + {"ident":"sethostid"}, + {"ident":"sethostname"}, + {"ident":"setitimer"}, + {"ident":"setjmp"}, + {"ident":"setkey"}, + {"ident":"setkey_r"}, + {"ident":"setlinebuf"}, + {"ident":"setlocale"}, + {"ident":"setlogmask"}, + {"ident":"setmntent"}, + {"ident":"setnetent"}, + {"ident":"setnetgrent"}, + {"ident":"setpayload"}, + {"ident":"setpayloadf"}, + {"ident":"setpayloadfN"}, + {"ident":"setpayloadfNx"}, + {"ident":"setpayloadl"}, + {"ident":"setpayloadsig"}, + {"ident":"setpayloadsigf"}, + {"ident":"setpayloadsigfN"}, + {"ident":"setpayloadsigfNx"}, + {"ident":"setpayloadsigl"}, + {"ident":"setpgid"}, + {"ident":"setpgrp"}, + {"ident":"setpriority"}, + {"ident":"setprotoent"}, + {"ident":"setpwent"}, + {"ident":"setregid"}, + {"ident":"setreuid"}, + {"ident":"setrlimit"}, + {"ident":"setrlimit64"}, + {"ident":"setservent"}, + {"ident":"setsid"}, + {"ident":"setsockopt"}, + {"ident":"setstate"}, + {"ident":"setstate_r"}, + {"ident":"settimeofday"}, + {"ident":"setuid"}, + {"ident":"setutent"}, + {"ident":"setutxent"}, + {"ident":"setvbuf"}, + {"ident":"shm_open"}, + {"ident":"shm_unlink"}, + {"ident":"shutdown"}, + {"ident":"sigaction"}, + {"ident":"sigaddset"}, + {"ident":"sigaltstack"}, + {"ident":"sigblock"}, + {"ident":"sigdelset"}, + {"ident":"sigemptyset"}, + {"ident":"sigfillset"}, + {"ident":"siginterrupt"}, + {"ident":"sigismember"}, + {"ident":"siglongjmp"}, + {"ident":"sigmask"}, + {"ident":"signal"}, + {"ident":"signbit"}, + {"ident":"significand"}, + {"ident":"significandf"}, + {"ident":"significandl"}, + {"ident":"sigpause"}, + {"ident":"sigpending"}, + {"ident":"sigprocmask"}, + {"ident":"sigsetjmp"}, + {"ident":"sigsetmask"}, + {"ident":"sigstack"}, + {"ident":"sigsuspend"}, + {"ident":"sin"}, + {"ident":"sincos"}, + {"ident":"sincosf"}, + {"ident":"sincosfN"}, + {"ident":"sincosfNx"}, + {"ident":"sincosl"}, + {"ident":"sinf"}, + {"ident":"sinfN"}, + {"ident":"sinfNx"}, + {"ident":"sinh"}, + {"ident":"sinhf"}, + {"ident":"sinhfN"}, + {"ident":"sinhfNx"}, + {"ident":"sinhl"}, + {"ident":"sinl"}, + {"ident":"sleep"}, + {"ident":"snprintf"}, + {"ident":"socket"}, + {"ident":"socketpair"}, + {"ident":"sprintf"}, + {"ident":"sqrt"}, + {"ident":"sqrtf"}, + {"ident":"sqrtfN"}, + {"ident":"sqrtfNx"}, + {"ident":"sqrtl"}, + {"ident":"srand"}, + {"ident":"srand48"}, + {"ident":"srand48_r"}, + {"ident":"srandom"}, + {"ident":"srandom_r"}, + {"ident":"sscanf"}, + {"ident":"ssignal"}, + {"ident":"stat"}, + {"ident":"stat64"}, + {"ident":"stime"}, + {"ident":"stpcpy"}, + {"ident":"stpncpy"}, + {"ident":"strcasecmp"}, + {"ident":"strcasestr"}, + {"ident":"strcat"}, + {"ident":"strchr"}, + {"ident":"strchrnul"}, + {"ident":"strcmp"}, + {"ident":"strcoll"}, + {"ident":"strcpy"}, + {"ident":"strcspn"}, + {"ident":"strdup"}, + {"ident":"strdupa"}, + {"ident":"strerror"}, + {"ident":"strerror_r"}, + {"ident":"strfmon"}, + {"ident":"strfromd"}, + {"ident":"strfromf"}, + {"ident":"strfromfN"}, + {"ident":"strfromfNx"}, + {"ident":"strfroml"}, + {"ident":"strfry"}, + {"ident":"strftime"}, + {"ident":"strlen"}, + {"ident":"strncasecmp"}, + {"ident":"strncat"}, + {"ident":"strncmp"}, + {"ident":"strncpy"}, + {"ident":"strndup"}, + {"ident":"strndupa"}, + {"ident":"strnlen"}, + {"ident":"strpbrk"}, + {"ident":"strptime"}, + {"ident":"strrchr"}, + {"ident":"strsep"}, + {"ident":"strsignal"}, + {"ident":"strspn"}, + {"ident":"strstr"}, + {"ident":"strtod"}, + {"ident":"strtof"}, + {"ident":"strtofN"}, + {"ident":"strtofNx"}, + {"ident":"strtoimax"}, + {"ident":"strtok"}, + {"ident":"strtok_r"}, + {"ident":"strtol"}, + {"ident":"strtold"}, + {"ident":"strtoll"}, + {"ident":"strtoq"}, + {"ident":"strtoul"}, + {"ident":"strtoull"}, + {"ident":"strtoumax"}, + {"ident":"strtouq"}, + {"ident":"strverscmp"}, + {"ident":"strxfrm"}, + {"ident":"stty"}, + {"ident":"success"}, + {"ident":"SUN_LEN"}, + {"ident":"swapcontext"}, + {"ident":"swprintf"}, + {"ident":"swscanf"}, + {"ident":"symlink"}, + {"ident":"sync"}, + {"ident":"syscall"}, + {"ident":"sysconf"}, + {"ident":"sysctl"}, + {"ident":"syslog"}, + {"ident":"system"}, + {"ident":"sysv_signal"}, + {"ident":"tan"}, + {"ident":"tanf"}, + {"ident":"tanfN"}, + {"ident":"tanfNx"}, + {"ident":"tanh"}, + {"ident":"tanhf"}, + {"ident":"tanhfN"}, + {"ident":"tanhfNx"}, + {"ident":"tanhl"}, + {"ident":"tanl"}, + {"ident":"tcdrain"}, + {"ident":"tcflow"}, + {"ident":"tcflush"}, + {"ident":"tcgetattr"}, + {"ident":"tcgetpgrp"}, + {"ident":"tcgetsid"}, + {"ident":"tcsendbreak"}, + {"ident":"tcsetattr"}, + {"ident":"tcsetpgrp"}, + {"ident":"tdelete"}, + {"ident":"tdestroy"}, + {"ident":"telldir"}, + {"ident":"TEMP_FAILURE_RETRY"}, + {"ident":"tempnam"}, + {"ident":"textdomain"}, + {"ident":"tfind"}, + {"ident":"tgamma"}, + {"ident":"tgammaf"}, + {"ident":"tgammafN"}, + {"ident":"tgammafNx"}, + {"ident":"tgammal"}, + {"ident":"time"}, + {"ident":"timegm"}, + {"ident":"timelocal"}, + {"ident":"times"}, + {"ident":"tmpfile"}, + {"ident":"tmpfile64"}, + {"ident":"tmpnam"}, + {"ident":"tmpnam_r"}, + {"ident":"toascii"}, + {"ident":"tolower"}, + {"ident":"totalorder"}, + {"ident":"totalorderf"}, + {"ident":"totalorderfN"}, + {"ident":"totalorderfNx"}, + {"ident":"totalorderl"}, + {"ident":"totalordermag"}, + {"ident":"totalordermagf"}, + {"ident":"totalordermagfN"}, + {"ident":"totalordermagfNx"}, + {"ident":"totalordermagl"}, + {"ident":"toupper"}, + {"ident":"towctrans"}, + {"ident":"towlower"}, + {"ident":"towupper"}, + {"ident":"trunc"}, + {"ident":"truncate"}, + {"ident":"truncate64"}, + {"ident":"truncf"}, + {"ident":"truncfN"}, + {"ident":"truncfNx"}, + {"ident":"truncl"}, + {"ident":"tryagain"}, + {"ident":"tsearch"}, + {"ident":"ttyname"}, + {"ident":"ttyname_r"}, + {"ident":"twalk"}, + {"ident":"tzset"}, + {"ident":"ufromfp"}, + {"ident":"ufromfpf"}, + {"ident":"ufromfpfN"}, + {"ident":"ufromfpfNx"}, + {"ident":"ufromfpl"}, + {"ident":"ufromfpx"}, + {"ident":"ufromfpxf"}, + {"ident":"ufromfpxfN"}, + {"ident":"ufromfpxfNx"}, + {"ident":"ufromfpxl"}, + {"ident":"ulimit"}, + {"ident":"umask"}, + {"ident":"umount"}, + {"ident":"umount2"}, + {"ident":"uname"}, + {"ident":"unavail"}, + {"ident":"ungetc"}, + {"ident":"ungetwc"}, + {"ident":"unlink"}, + {"ident":"unlockpt"}, + {"ident":"unsetenv"}, + {"ident":"updwtmp"}, + {"ident":"utime"}, + {"ident":"utimes"}, + {"ident":"utmpname"}, + {"ident":"utmpxname"}, + {"ident":"va_arg"}, + {"ident":"va_copy"}, + {"ident":"va_end"}, + {"ident":"va_start"}, + {"ident":"valloc"}, + {"ident":"vasprintf"}, + {"ident":"verr"}, + {"ident":"verrx"}, + {"ident":"versionsort"}, + {"ident":"versionsort64"}, + {"ident":"vfork"}, + {"ident":"vfprintf"}, + {"ident":"vfscanf"}, + {"ident":"vfwprintf"}, + {"ident":"vfwscanf"}, + {"ident":"vlimit"}, + {"ident":"vprintf"}, + {"ident":"vscanf"}, + {"ident":"vsnprintf"}, + {"ident":"vsprintf"}, + {"ident":"vsscanf"}, + {"ident":"vswprintf"}, + {"ident":"vswscanf"}, + {"ident":"vsyslog"}, + {"ident":"vtimes"}, + {"ident":"vwarn"}, + {"ident":"vwarnx"}, + {"ident":"vwprintf"}, + {"ident":"vwscanf"}, + {"ident":"wait"}, + {"ident":"wait3"}, + {"ident":"wait4"}, + {"ident":"waitpid"}, + {"ident":"warn"}, + {"ident":"warnx"}, + {"ident":"WCOREDUMP"}, + {"ident":"wcpcpy"}, + {"ident":"wcpncpy"}, + {"ident":"wcrtomb"}, + {"ident":"wcscasecmp"}, + {"ident":"wcscat"}, + {"ident":"wcschr"}, + {"ident":"wcschrnul"}, + {"ident":"wcscmp"}, + {"ident":"wcscoll"}, + {"ident":"wcscpy"}, + {"ident":"wcscspn"}, + {"ident":"wcsdup"}, + {"ident":"wcsftime"}, + {"ident":"wcslen"}, + {"ident":"wcsncasecmp"}, + {"ident":"wcsncat"}, + {"ident":"wcsncmp"}, + {"ident":"wcsncpy"}, + {"ident":"wcsnlen"}, + {"ident":"wcsnrtombs"}, + {"ident":"wcspbrk"}, + {"ident":"wcsrchr"}, + {"ident":"wcsrtombs"}, + {"ident":"wcsspn"}, + {"ident":"wcsstr"}, + {"ident":"wcstod"}, + {"ident":"wcstof"}, + {"ident":"wcstofN"}, + {"ident":"wcstofNx"}, + {"ident":"wcstoimax"}, + {"ident":"wcstok"}, + {"ident":"wcstol"}, + {"ident":"wcstold"}, + {"ident":"wcstoll"}, + {"ident":"wcstombs"}, + {"ident":"wcstoq"}, + {"ident":"wcstoul"}, + {"ident":"wcstoull"}, + {"ident":"wcstoumax"}, + {"ident":"wcstouq"}, + {"ident":"wcswcs"}, + {"ident":"wcsxfrm"}, + {"ident":"wctob"}, + {"ident":"wctomb"}, + {"ident":"wctrans"}, + {"ident":"wctype"}, + {"ident":"WEXITSTATUS"}, + {"ident":"WIFEXITED"}, + {"ident":"WIFSIGNALED"}, + {"ident":"WIFSTOPPED"}, + {"ident":"wmemchr"}, + {"ident":"wmemcmp"}, + {"ident":"wmemcpy"}, + {"ident":"wmemmove"}, + {"ident":"wmempcpy"}, + {"ident":"wmemset"}, + {"ident":"wordexp"}, + {"ident":"wordfree"}, + {"ident":"wprintf"}, + {"ident":"write"}, + {"ident":"writev"}, + {"ident":"wscanf"}, + {"ident":"WSTOPSIG"}, + {"ident":"WTERMSIG"}, + {"ident":"y0"}, + {"ident":"y0f"}, + {"ident":"y0fN"}, + {"ident":"y0fNx"}, + {"ident":"y0l"}, + {"ident":"y1"}, + {"ident":"y1f"}, + {"ident":"y1fN"}, + {"ident":"y1fNx"}, + {"ident":"y1l"}, + {"ident":"yn"}, + {"ident":"ynf"}, + {"ident":"ynfN"}, + {"ident":"ynfNx"}, + {"ident":"ynl"} + ] +} diff --git a/share/compliance/nonstandard_identifiers.json b/share/compliance/nonstandard_identifiers.json new file mode 100644 index 0000000000000000000000000000000000000000..e25a2fe06e230379f10095260c8b73a26db27fba --- /dev/null +++ b/share/compliance/nonstandard_identifiers.json @@ -0,0 +1,18 @@ +{ + "description": "Non-ISO C, Non-POSIX identifiers known to the Frama-C standard library", + "source":"Manpages, mostly Linux and BSD", + "data":[ + {"ident":"facilitynames", "header":"syslog.h"}, + {"ident":"getresgid", "header":"unistd.h"}, + {"ident":"getresuid", "header":"unistd.h"}, + {"ident":"option", "header":"getopt.h"}, + {"ident":"prioritynames", "header":"syslog.h"}, + {"ident":"setresgid", "header":"unistd.h"}, + {"ident":"setresuid", "header":"unistd.h"}, + {"ident":"strcspn", "header":"string.h"}, + {"ident":"strlcat", "header":"string.h"}, + {"ident":"strlcpy", "header":"string.h"}, + {"ident":"wcslcat", "header":"wchar.h"}, + {"ident":"wcslcpy", "header":"wchar.h"} + ] +} diff --git a/share/compliance/posix_identifiers.json b/share/compliance/posix_identifiers.json new file mode 100644 index 0000000000000000000000000000000000000000..ba548080fdc7f4e9c61adeb9a96e2d31f9e35156 --- /dev/null +++ b/share/compliance/posix_identifiers.json @@ -0,0 +1,2127 @@ +{ + "description": "POSIX.1-2008 reserved function identifiers (plus a few legacy POSIX identifiers)", + "source":"POSIX.1-2008 - Base Specifications, Issue 7 (IEEE Std 1003.1-2008, 2016 Edition)", + "id_types":[ + {"type":"function", "description":"declared as a function; may also be defined as a macro"}, + {"type":"variable", "description":"external variable"}, + {"type":"macroOrIdentifier", "description":"declaration or definition; unspecified whether it is a macro or an identifier declared with external linkage"}, + {"type":"macro", "description":"macro"}, + {"type":"constant", "description":"symbolic constant"}, + {"type":"type", "description":"type or structure"} + ], + "headers":[ + "aio.h", + "arpa/inet.h", + "assert.h", + "complex.h", + "cpio.h", + "ctype.h", + "dirent.h", + "dlfcn.h", + "errno.h", + "fcntl.h", + "fenv.h", + "float.h", + "fmtmsg.h", + "fnmatch.h", + "ftw.h", + "glob.h", + "grp.h", + "iconv.h", + "inttypes.h", + "iso646.h", + "langinfo.h", + "libgen.h", + "limits.h", + "locale.h", + "math.h", + "monetary.h", + "mqueue.h", + "ndbm.h", + "net/if.h", + "netdb.h", + "netinet/in.h", + "netinet/tcp.h", + "nl_types.h", + "poll.h", + "pthread.h", + "pwd.h", + "regex.h", + "sched.h", + "search.h", + "semaphore.h", + "setjmp.h", + "signal.h", + "spawn.h", + "stdarg.h", + "stdbool.h", + "stddef.h", + "stdint.h", + "stdio.h", + "stdlib.h", + "string.h", + "strings.h", + "stropts.h", + "sys/ipc.h", + "sys/mman.h", + "sys/msg.h", + "sys/resource.h", + "sys/select.h", + "sys/sem.h", + "sys/shm.h", + "sys/socket.h", + "sys/stat.h", + "sys/statvfs.h", + "sys/time.h", + "sys/times.h", + "sys/types.h", + "sys/uio.h", + "sys/un.h", + "sys/utsname.h", + "sys/wait.h", + "syslog.h", + "tar.h", + "termios.h", + "tgmath.h", + "time.h", + "trace.h", + "ulimit.h", + "unistd.h", + "utime.h", + "utmpx.h", + "wchar.h", + "wctype.h", + "wordexp.h" + ], + "extension_names":{ + "ADV":"Advisory Information", + "CX":"Extension to the ISO C standard", + "FSC":"File Synchronization", + "IP6":"IPV6", + "MC1":"Non-Robust Mutex Priority Protection or Non-Robust Mutex Priority Inheritance or Robust Mutex Priority Protection or Robust Mutex Priority Inheritance", + "ML":"Process Memory Locking", + "MLR":"Range Memory Locking", + "MON":"Monotonic Clock", + "OB":"Obsolescent", + "PS":"Process Scheduling", + "REM":"Removed from POSIX.1-2008 (but present in a previous version)", + "RPP":"Robust Mutex Priority Protection", + "SHM":"Shared Memory Objects", + "SIO":"Synchronized Input and Output", + "SS":"Process Sporadic Server", + "TCT":"Thread CPU-Time Clocks", + "TEF":"Trace Event Filter", + "TPP":"Non-Robust Mutex Priority Protection", + "TPS":"Thread Execution Scheduling", + "TRC":"Trace", + "TRI":"Trace Inherit", + "TRL":"Trace Log", + "TSA":"Thread Stack Address Attribute", + "TSH":"Thread Process-Shared Synchronization", + "TSP":"Thread Sporadic Server", + "TSS":"Thread Stack Size Attribute", + "TYM":"Typed Memory Objects", + "XSI":"X/Open System Interfaces", + "XSR":"XSI STREAMS" + }, + "data":[ + {"ident":"__bool_true_false_are_defined", "id_type":"macro", "header":"stdbool.h", "extensions":[]}, + {"ident":"_Complex_I", "id_type":"macro", "header":"complex.h", "extensions":[]}, + {"ident":"_CS_PATH", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_ILP32_OFF32_CFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_ILP32_OFF32_LDFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_ILP32_OFF32_LIBS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_ILP32_OFFBIG_LIBS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_LP64_OFF64_CFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_LP64_OFF64_LDFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_LP64_OFF64_LIBS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_LPBIG_OFFBIG_LIBS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_THREADS_CFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_THREADS_LDFLAGS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_CS_V7_ENV", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_Exit", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"_exit", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"_Imaginary_I", "id_type":"macro", "header":"complex.h", "extensions":[]}, + {"ident":"_IOFBF", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"_IOLBF", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"_IONBF", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"_longjmp", "id_type":"function", "header":"setjmp.h", "extensions":["OB","XSI"]}, + {"ident":"_POSIX2_VERSION", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_POSIX_AIO_LISTIO_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_AIO_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_ARG_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_CHILD_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_CLOCKRES_MIN", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_DELAYTIMER_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_HOST_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_LINK_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_LOGIN_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_MAX_CANON", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_MAX_INPUT", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_MQ_OPEN_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_MQ_PRIO_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_NGROUPS_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_OPEN_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_PATH_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_PIPE_BUF", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_RE_DUP_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_RTSIG_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_SEM_NSEMS_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_SEM_VALUE_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_SIGQUEUE_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_SS_REPL_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_SSIZE_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_STREAM_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_SYMLINK_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_SYMLOOP_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_THREAD_DESTRUCTOR_ITERATIONS", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_THREAD_KEYS_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_THREAD_THREADS_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_TIMER_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_TRACE_EVENT_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_TRACE_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_TRACE_SYS_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_TRACE_USER_EVENT_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_TTY_NAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_TZNAME_MAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"_POSIX_VDISABLE", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_POSIX_VERSION", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"_setjmp", "id_type":"function", "header":"setjmp.h", "extensions":["OB","XSI"]}, + {"ident":"_tolower", "id_type":"function", "header":"ctype.h", "extensions":["OB","XSI"]}, + {"ident":"_toupper", "id_type":"function", "header":"ctype.h", "extensions":["OB","XSI"]}, + {"ident":"_XOPEN_VERSION", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"a64l", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"abort", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"abs", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"accept", "id_type":"function", "header":"sys/socket.h", "extensions":["XSI"]}, + {"ident":"access", "id_type":"function", "header":"unistd.h", "extensions":["ADV"]}, + {"ident":"acos", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"acosf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"acosh", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"acoshf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"acoshl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"acosl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"addrinfo", "id_type":"type", "header":"netdb.h", "extensions":[]}, + {"ident":"AF_INET", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"AF_INET6", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"AF_UNIX", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"AF_UNSPEC", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"AI_ADDRCONFIG", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"AI_ALL", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"AI_CANONNAME", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"AI_NUMERICHOST", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"AI_NUMERICSERV", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"AI_PASSIVE", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"AI_V4MAPPED", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"AIO_ALLDONE", "id_type":"constant", "header":"aio.h", "extensions":[]}, + {"ident":"aio_cancel", "id_type":"function", "header":"aio.h", "extensions":[]}, + {"ident":"AIO_CANCELED", "id_type":"constant", "header":"aio.h", "extensions":[]}, + {"ident":"aio_error", "id_type":"function", "header":"aio.h", "extensions":[]}, + {"ident":"aio_fsync", "id_type":"function", "header":"aio.h", "extensions":["FSC","SIO"]}, + {"ident":"AIO_NOTCANCELED", "id_type":"constant", "header":"aio.h", "extensions":[]}, + {"ident":"aio_read", "id_type":"function", "header":"aio.h", "extensions":[]}, + {"ident":"aio_return", "id_type":"function", "header":"aio.h", "extensions":[]}, + {"ident":"aio_suspend", "id_type":"function", "header":"aio.h", "extensions":[]}, + {"ident":"aio_write", "id_type":"function", "header":"aio.h", "extensions":[]}, + {"ident":"aiocb", "id_type":"type", "header":"aio.h", "extensions":["FSC","SIO"]}, + {"ident":"alarm", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"alphasort", "id_type":"function", "header":"dirent.h", "extensions":[]}, + {"ident":"and", "id_type":"macro", "header":"iso646.h", "extensions":["CX"]}, + {"ident":"and_eq", "id_type":"macro", "header":"iso646.h", "extensions":[]}, + {"ident":"asctime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"asctime_r", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"asin", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"asinf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"asinh", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"asinhf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"asinhl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"asinl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"assert", "id_type":"macro", "header":"assert.h", "extensions":[]}, + {"ident":"AT_EACCESS", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"AT_FDCWD", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"AT_REMOVEDIR", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"AT_SYMLINK_FOLLOW", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"AT_SYMLINK_NOFOLLOW", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"atan", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"atan2", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"atan2f", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"atan2l", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"atanf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"atanh", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"atanhf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"atanhl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"atanl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"atexit", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"atof", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"atoi", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"atol", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"atoll", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"B0", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B110", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B1200", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B134", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B150", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B1800", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B19200", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B200", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B2400", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B300", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B38400", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B4800", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B50", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B600", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B75", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"B9600", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"bandinfo", "id_type":"type", "header":"stropts.h", "extensions":[]}, + {"ident":"basename", "id_type":"function", "header":"libgen.h", "extensions":[]}, + {"ident":"bind", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"bitand", "id_type":"macro", "header":"iso646.h", "extensions":[]}, + {"ident":"bitor", "id_type":"macro", "header":"iso646.h", "extensions":[]}, + {"ident":"blkcnt_t", "id_type":"type", "header":"sys/types.h", "extensions":["XSI"]}, + {"ident":"blksize_t", "id_type":"type", "header":"sys/types.h", "extensions":["XSI"]}, + {"ident":"bool", "id_type":"macro", "header":"stdbool.h", "extensions":[]}, + {"ident":"BOOT_TIME", "id_type":"constant", "header":"utmpx.h", "extensions":[]}, + {"ident":"BRKINT", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"BSDLY", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"bsearch", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"btowc", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"BUFSIZ", "id_type":"type", "header":"stdio.h", "extensions":[]}, + {"ident":"cabs", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cabsf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cabsl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cacos", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cacosf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cacosh", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cacoshf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cacoshl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cacosl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"calloc", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"carg", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cargf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cargl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"casin", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"casinf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"casinh", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"casinhf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"casinhl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"casinl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"catan", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"catanf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"catanh", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"catanhf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"catanhl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"catanl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"catclose", "id_type":"function", "header":"nl_types.h", "extensions":[]}, + {"ident":"catgets", "id_type":"function", "header":"nl_types.h", "extensions":[]}, + {"ident":"catopen", "id_type":"function", "header":"nl_types.h", "extensions":[]}, + {"ident":"cbrt", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"cbrtf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"cbrtl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"cc_t", "id_type":"type", "header":"termios.h", "extensions":[]}, + {"ident":"ccos", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ccosf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ccosh", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ccoshf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ccoshl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ccosl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ceil", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"ceilf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"ceill", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"cexp", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cexpf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cexpl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cfgetispeed", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"cfgetospeed", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"cfsetispeed", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"cfsetospeed", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"CHAR_BIT", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"CHAR_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"CHAR_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"chdir", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"chmod", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"chown", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"chroot", "id_type":"function", "header":"unistd.h", "extensions":["OB","REM"]}, + {"ident":"cimag", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cimagf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cimagl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"clearerr", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"CLOCAL", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"clock", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"clock_getcpuclockid", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"clock_getres", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"clock_gettime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"CLOCK_MONOTONIC", "id_type":"macro", "header":"time.h", "extensions":["MON"]}, + {"ident":"clock_nanosleep", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"CLOCK_PROCESS_CPUTIME_ID", "id_type":"macro", "header":"time.h", "extensions":["IP6"]}, + {"ident":"CLOCK_REALTIME", "id_type":"macro", "header":"time.h", "extensions":["IP6"]}, + {"ident":"clock_settime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"clock_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"CLOCK_THREAD_CPUTIME_ID", "id_type":"macro", "header":"time.h", "extensions":["IP6"]}, + {"ident":"clockid_t", "id_type":"type", "header":"sys/types.h", "extensions":["TCT"]}, + {"ident":"CLOCKS_PER_SEC", "id_type":"macro", "header":"time.h", "extensions":["IP6"]}, + {"ident":"clog", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"clogf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"clogl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"close", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"closedir", "id_type":"function", "header":"dirent.h", "extensions":[]}, + {"ident":"closelog", "id_type":"function", "header":"syslog.h", "extensions":[]}, + {"ident":"CMSG_DATA", "id_type":"macro", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"CMSG_FIRSTHDR", "id_type":"macro", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"CMSG_NXTHDR", "id_type":"macro", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"cmsghdr", "id_type":"type", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"compl", "id_type":"macro", "header":"iso646.h", "extensions":[]}, + {"ident":"complex", "id_type":"macro", "header":"complex.h", "extensions":[]}, + {"ident":"confstr", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"conj", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"conjf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"conjl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"connect", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"copysign", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"copysignf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"copysignl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"cos", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"cosf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"cosh", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"coshf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"coshl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"cosl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"cpow", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cpowf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cpowl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cproj", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cprojf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"cprojl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"CRDLY", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"CREAD", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"creal", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"crealf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"creall", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"creat", "id_type":"function", "header":"fcntl.h", "extensions":[]}, + {"ident":"crypt", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"csin", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"csinf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"csinh", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"csinhf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"csinhl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"csinl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"CSIZE", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"csqrt", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"csqrtf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"csqrtl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"CSTOPB", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"ctan", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ctanf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ctanh", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ctanhf", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ctanhl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ctanl", "id_type":"function", "header":"complex.h", "extensions":[]}, + {"ident":"ctermid", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"ctime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"ctime_r", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"datum", "id_type":"type", "header":"ndbm.h", "extensions":[]}, + {"ident":"daylight", "id_type":"variable", "header":"time.h", "extensions":["IP6"]}, + {"ident":"DBM", "id_type":"type", "header":"ndbm.h", "extensions":[]}, + {"ident":"dbm_clearerr", "id_type":"function", "header":"ndbm.h", "extensions":[]}, + {"ident":"dbm_close", "id_type":"function", "header":"ndbm.h", "extensions":[]}, + {"ident":"dbm_delete", "id_type":"function", "header":"ndbm.h", "extensions":[]}, + {"ident":"dbm_error", "id_type":"function", "header":"ndbm.h", "extensions":[]}, + {"ident":"dbm_fetch", "id_type":"function", "header":"ndbm.h", "extensions":[]}, + {"ident":"dbm_firstkey", "id_type":"function", "header":"ndbm.h", "extensions":[]}, + {"ident":"DBM_INSERT", "id_type":"constant", "header":"ndbm.h", "extensions":[]}, + {"ident":"dbm_nextkey", "id_type":"function", "header":"ndbm.h", "extensions":[]}, + {"ident":"dbm_open", "id_type":"function", "header":"ndbm.h", "extensions":[]}, + {"ident":"DBM_REPLACE", "id_type":"constant", "header":"ndbm.h", "extensions":[]}, + {"ident":"dbm_store", "id_type":"function", "header":"ndbm.h", "extensions":[]}, + {"ident":"DEAD_PROCESS", "id_type":"constant", "header":"utmpx.h", "extensions":[]}, + {"ident":"dev_t", "id_type":"type", "header":"sys/types.h", "extensions":["XSI"]}, + {"ident":"difftime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"DIR", "id_type":"type", "header":"dirent.h", "extensions":[]}, + {"ident":"dirent", "id_type":"type", "header":"dirent.h", "extensions":[]}, + {"ident":"dirfd", "id_type":"function", "header":"dirent.h", "extensions":[]}, + {"ident":"dirname", "id_type":"function", "header":"libgen.h", "extensions":[]}, + {"ident":"div", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"div_t", "id_type":"type", "header":"stdlib.h", "extensions":[]}, + {"ident":"dlclose", "id_type":"function", "header":"dlfcn.h", "extensions":[]}, + {"ident":"dlerror", "id_type":"function", "header":"dlfcn.h", "extensions":[]}, + {"ident":"dlopen", "id_type":"function", "header":"dlfcn.h", "extensions":[]}, + {"ident":"dlsym", "id_type":"function", "header":"dlfcn.h", "extensions":[]}, + {"ident":"dprintf", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"drand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"dup", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"dup2", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"duplocale", "id_type":"function", "header":"locale.h", "extensions":["CX"]}, + {"ident":"E2BIG", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EACCES", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EADDRINUSE", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EADDRNOTAVAIL", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EAFNOSUPPORT", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EAGAIN", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EAI_AGAIN", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"EAI_BADFLAGS", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"EAI_FAIL", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"EAI_FAMILY", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"EAI_MEMORY", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"EAI_NONAME", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"EAI_OVERFLOW", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"EAI_SERVICE", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"EAI_SOCKTYPE", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"EAI_SYSTEM", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"EALREADY", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EBADF", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EBADMSG", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EBUSY", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ECANCELED", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ECHILD", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ECHO", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"ECHOE", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"ECHOK", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"ECHONL", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"ECONNABORTED", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ECONNREFUSED", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ECONNRESET", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EDEADLK", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EDESTADDRREQ", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EDOM", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EDQUOT", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EEXIST", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EFAULT", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EFBIG", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EHOSTUNREACH", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EIDRM", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EILSEQ", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EINPROGRESS", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EINTR", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EINVAL", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EIO", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EISCONN", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EISDIR", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ELOOP", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EMFILE", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EMLINK", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EMPTY", "id_type":"constant", "header":"utmpx.h", "extensions":[]}, + {"ident":"EMSGSIZE", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EMULTIHOP", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENAMETOOLONG", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"encrypt", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"endgrent", "id_type":"function", "header":"grp.h", "extensions":["XSI"]}, + {"ident":"endhostent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"endnetent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"endprotoent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"endpwent", "id_type":"function", "header":"pwd.h", "extensions":["XSI"]}, + {"ident":"endservent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"endutxent", "id_type":"function", "header":"utmpx.h", "extensions":[]}, + {"ident":"ENETDOWN", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENETRESET", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENETUNREACH", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENFILE", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOBUFS", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENODATA", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENODEV", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOENT", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOEXEC", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOLCK", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOLINK", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOMEM", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOMSG", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOPROTOOPT", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOSPC", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOSR", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOSTR", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOSYS", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOTCONN", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOTDIR", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOTEMPTY", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOTRECOVERABLE", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOTSOCK", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOTSUP", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENOTTY", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ENTRY", "id_type":"type", "header":"search.h", "extensions":[]}, + {"ident":"entry", "id_type":"type", "header":"search.h", "extensions":[]}, + {"ident":"ENXIO", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EOF", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"EOPNOTSUPP", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EOVERFLOW", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EOWNERDEAD", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EPERM", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EPIPE", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EPROTO", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EPROTONOSUPPORT", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EPROTOTYPE", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"erand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"ERANGE", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"erf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"erfc", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"erfcf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"erfcl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"erff", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"erfl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"EROFS", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"errno", "id_type":"macroOrIdentifier", "header":"errno.h", "extensions":[]}, + {"ident":"ESPIPE", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ESRCH", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ESTALE", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ETIME", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ETIMEDOUT", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"ETXTBSY", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EWOULDBLOCK", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"EXDEV", "id_type":"macro", "header":"errno.h", "extensions":[]}, + {"ident":"execl", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"execle", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"execlp", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"execv", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"execve", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"execvp", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"exit", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"EXIT_FAILURE", "id_type":"macro", "header":"stdlib.h", "extensions":[]}, + {"ident":"EXIT_SUCCESS", "id_type":"macro", "header":"stdlib.h", "extensions":[]}, + {"ident":"exp", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"exp2", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"exp2f", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"exp2l", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"expf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"expl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"expm1", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"expm1f", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"expm1l", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"F_DUPFD", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_DUPFD_CLOEXEC", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_GETFD", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_GETFL", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_GETLK", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_GETOWN", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_LOCK", "id_type":"constant", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"F_OK", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"F_SETFD", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_SETFL", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_SETLK", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_SETLKW", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_SETOWN", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"F_TEST", "id_type":"constant", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"F_TLOCK", "id_type":"constant", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"F_ULOCK", "id_type":"constant", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"fabs", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fabsf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fabsl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"faccessat", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"false", "id_type":"macro", "header":"stdbool.h", "extensions":[]}, + {"ident":"fattach", "id_type":"function", "header":"stropts.h", "extensions":[]}, + {"ident":"fchdir", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"fchmod", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"fchmodat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"fchown", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"fchownat", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"fclose", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fcntl", "id_type":"function", "header":"fcntl.h", "extensions":[]}, + {"ident":"FD_CLOEXEC", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"FD_CLR", "id_type":"function", "header":"sys/select.h", "extensions":[]}, + {"ident":"FD_ISSET", "id_type":"function", "header":"sys/select.h", "extensions":[]}, + {"ident":"FD_SET", "id_type":"function", "header":"sys/select.h", "extensions":[]}, + {"ident":"fd_set", "id_type":"type", "header":"sys/select.h", "extensions":[]}, + {"ident":"FD_SETSIZE", "id_type":"constant", "header":"sys/select.h", "extensions":[]}, + {"ident":"FD_ZERO", "id_type":"function", "header":"sys/select.h", "extensions":[]}, + {"ident":"fdatasync", "id_type":"function", "header":"unistd.h", "extensions":["SIO"]}, + {"ident":"fdetach", "id_type":"function", "header":"stropts.h", "extensions":[]}, + {"ident":"fdim", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fdimf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fdiml", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fdopen", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fdopendir", "id_type":"function", "header":"dirent.h", "extensions":[]}, + {"ident":"feclearexcept", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"fegetenv", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"fegetexceptflag", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"fegetround", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"feholdexcept", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"fenv_t", "id_type":"type", "header":"fenv.h", "extensions":[]}, + {"ident":"feof", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"feraiseexcept", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"ferror", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fesetenv", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"fesetexceptflag", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"fesetround", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"fetestexcept", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"feupdateenv", "id_type":"function", "header":"fenv.h", "extensions":[]}, + {"ident":"fexcept_t", "id_type":"type", "header":"fenv.h", "extensions":[]}, + {"ident":"fexecve", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"FFDLY", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"fflush", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"ffs", "id_type":"function", "header":"strings.h", "extensions":["XSI"]}, + {"ident":"fgetc", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fgetpos", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fgets", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fgetwc", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"fgetws", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"FILE", "id_type":"type", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"FILENAME_MAX", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"fileno", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"flock", "id_type":"type", "header":"fcntl.h", "extensions":[]}, + {"ident":"flockfile", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"floor", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"floorf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"floorl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fma", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fmaf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fmal", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fmax", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fmaxf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fmaxl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fmemopen", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fmin", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fminf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fminl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fmod", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fmodf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fmodl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fmtmsg", "id_type":"function", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"FNM_NOESCAPE", "id_type":"constant", "header":"fnmatch.h", "extensions":[]}, + {"ident":"FNM_NOMATCH", "id_type":"constant", "header":"fnmatch.h", "extensions":[]}, + {"ident":"FNM_PATHNAME", "id_type":"constant", "header":"fnmatch.h", "extensions":[]}, + {"ident":"FNM_PERIOD", "id_type":"constant", "header":"fnmatch.h", "extensions":[]}, + {"ident":"fnmatch", "id_type":"function", "header":"fnmatch.h", "extensions":[]}, + {"ident":"fopen", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"FOPEN_MAX", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"fork", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"fpathconf", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"fpos_t", "id_type":"type", "header":"stdio.h", "extensions":[]}, + {"ident":"fprintf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fputc", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fputs", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fputwc", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"fputws", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"fread", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"free", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"freeaddrinfo", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"freelocale", "id_type":"function", "header":"locale.h", "extensions":["CX"]}, + {"ident":"freopen", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"frexp", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"frexpf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"frexpl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"fsblkcnt_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"fscanf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fseek", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fseeko", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"fsetpos", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fsfilcnt_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"fstat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"fstatat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"fstatvfs", "id_type":"function", "header":"sys/statvfs.h", "extensions":[]}, + {"ident":"fsync", "id_type":"function", "header":"unistd.h", "extensions":["FSC"]}, + {"ident":"ftell", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"ftello", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"ftok", "id_type":"function", "header":"sys/ipc.h", "extensions":[]}, + {"ident":"ftruncate", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"ftrylockfile", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"ftw", "id_type":"function", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW", "id_type":"type", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_CHDIR", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_D", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_DEPTH", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_DNR", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_DP", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_F", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_MOUNT", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_NS", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_PHYS", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_SL", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"FTW_SLN", "id_type":"constant", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"funlockfile", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"futimens", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"fwide", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"fwprintf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"fwrite", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"fwscanf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"gai_strerror", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"getaddrinfo", "id_type":"function", "header":"netdb.h", "extensions":["IP6"]}, + {"ident":"GETALL", "id_type":"constant", "header":"sys/sem.h", "extensions":[]}, + {"ident":"getc", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"getc_unlocked", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"getchar", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"getchar_unlocked", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"getcwd", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getdate", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"getdelim", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"getegid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getenv", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"geteuid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getgid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getgrent", "id_type":"function", "header":"grp.h", "extensions":[]}, + {"ident":"getgrgid", "id_type":"function", "header":"grp.h", "extensions":[]}, + {"ident":"getgrgid_r", "id_type":"function", "header":"grp.h", "extensions":[]}, + {"ident":"getgrnam", "id_type":"function", "header":"grp.h", "extensions":[]}, + {"ident":"getgrnam_r", "id_type":"function", "header":"grp.h", "extensions":[]}, + {"ident":"getgroups", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"gethostbyaddr", "id_type":"function", "header":"netdb.h", "extensions":["OB","REM"]}, + {"ident":"gethostbyname", "id_type":"function", "header":"netdb.h", "extensions":["OB","REM"]}, + {"ident":"gethostent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"gethostid", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"gethostname", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getitimer", "id_type":"function", "header":"sys/time.h", "extensions":["IP6"]}, + {"ident":"getline", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"getlogin", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getlogin_r", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getmsg", "id_type":"function", "header":"stropts.h", "extensions":[]}, + {"ident":"getnameinfo", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"GETNCNT", "id_type":"constant", "header":"sys/sem.h", "extensions":[]}, + {"ident":"getnetbyaddr", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"getnetbyname", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"getnetent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"getopt", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getpeername", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"getpgid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getpgrp", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"GETPID", "id_type":"constant", "header":"sys/sem.h", "extensions":[]}, + {"ident":"getpid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getpmsg", "id_type":"function", "header":"stropts.h", "extensions":[]}, + {"ident":"getppid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getpriority", "id_type":"function", "header":"sys/resource.h", "extensions":[]}, + {"ident":"getprotobyname", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"getprotobynumber", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"getprotoent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"getpwent", "id_type":"function", "header":"pwd.h", "extensions":[]}, + {"ident":"getpwnam", "id_type":"function", "header":"pwd.h", "extensions":[]}, + {"ident":"getpwnam_r", "id_type":"function", "header":"pwd.h", "extensions":[]}, + {"ident":"getpwuid", "id_type":"function", "header":"pwd.h", "extensions":[]}, + {"ident":"getpwuid_r", "id_type":"function", "header":"pwd.h", "extensions":[]}, + {"ident":"getrlimit", "id_type":"function", "header":"sys/resource.h", "extensions":[]}, + {"ident":"getrusage", "id_type":"function", "header":"sys/resource.h", "extensions":[]}, + {"ident":"gets", "id_type":"function", "header":"stdio.h", "extensions":["OB"]}, + {"ident":"getservbyname", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"getservbyport", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"getservent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"getsid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getsockname", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"getsockopt", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"getsubopt", "id_type":"function", "header":"stdlib.h", "extensions":["CX"]}, + {"ident":"gettimeofday", "id_type":"function", "header":"sys/time.h", "extensions":["IP6"]}, + {"ident":"getuid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"getutxent", "id_type":"function", "header":"utmpx.h", "extensions":[]}, + {"ident":"getutxid", "id_type":"function", "header":"utmpx.h", "extensions":[]}, + {"ident":"getutxline", "id_type":"function", "header":"utmpx.h", "extensions":[]}, + {"ident":"GETVAL", "id_type":"constant", "header":"sys/sem.h", "extensions":[]}, + {"ident":"getwc", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"getwchar", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"GETZCNT", "id_type":"constant", "header":"sys/sem.h", "extensions":[]}, + {"ident":"gid_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"glob", "id_type":"function", "header":"glob.h", "extensions":[]}, + {"ident":"GLOB_ABORTED", "id_type":"constant", "header":"glob.h", "extensions":[]}, + {"ident":"GLOB_APPEND", "id_type":"constant", "header":"glob.h", "extensions":[]}, + {"ident":"GLOB_DOOFFS", "id_type":"constant", "header":"glob.h", "extensions":[]}, + {"ident":"GLOB_ERR", "id_type":"constant", "header":"glob.h", "extensions":[]}, + {"ident":"GLOB_MARK", "id_type":"constant", "header":"glob.h", "extensions":[]}, + {"ident":"GLOB_NOCHECK", "id_type":"constant", "header":"glob.h", "extensions":[]}, + {"ident":"GLOB_NOESCAPE", "id_type":"constant", "header":"glob.h", "extensions":[]}, + {"ident":"GLOB_NOMATCH", "id_type":"constant", "header":"glob.h", "extensions":[]}, + {"ident":"GLOB_NOSORT", "id_type":"constant", "header":"glob.h", "extensions":[]}, + {"ident":"GLOB_NOSPACE", "id_type":"constant", "header":"glob.h", "extensions":[]}, + {"ident":"glob_t", "id_type":"type", "header":"glob.h", "extensions":[]}, + {"ident":"globfree", "id_type":"function", "header":"glob.h", "extensions":[]}, + {"ident":"gmtime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"gmtime_r", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"grantpt", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"group", "id_type":"type", "header":"grp.h", "extensions":["XSI"]}, + {"ident":"h_errno", "id_type":"macroOrIdentifier", "header":"netdb.h", "extensions":["OB","REM"]}, + {"ident":"hcreate", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"hdestroy", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"hostent", "id_type":"type", "header":"netdb.h", "extensions":[]}, + {"ident":"hsearch", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"htonl", "id_type":"function", "header":"arpa/inet.h", "extensions":[]}, + {"ident":"htons", "id_type":"function", "header":"arpa/inet.h", "extensions":[]}, + {"ident":"HUGE_VAL", "id_type":"macro", "header":"math.h", "extensions":[]}, + {"ident":"HUGE_VALF", "id_type":"macro", "header":"math.h", "extensions":[]}, + {"ident":"HUGE_VALL", "id_type":"macro", "header":"math.h", "extensions":[]}, + {"ident":"HUPCL", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"hypot", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"hypotf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"hypotl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"I", "id_type":"macro", "header":"complex.h", "extensions":[]}, + {"ident":"ICANON", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"iconv", "id_type":"function", "header":"iconv.h", "extensions":[]}, + {"ident":"iconv_close", "id_type":"function", "header":"iconv.h", "extensions":[]}, + {"ident":"iconv_open", "id_type":"function", "header":"iconv.h", "extensions":[]}, + {"ident":"iconv_t", "id_type":"type", "header":"iconv.h", "extensions":[]}, + {"ident":"ICRNL", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"id_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"IEXTEN", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"if_freenameindex", "id_type":"function", "header":"net/if.h", "extensions":[]}, + {"ident":"if_indextoname", "id_type":"function", "header":"net/if.h", "extensions":[]}, + {"ident":"if_nameindex", "id_type":"function", "header":"net/if.h", "extensions":[]}, + {"ident":"IF_NAMESIZE", "id_type":"constant", "header":"net/if.h", "extensions":[]}, + {"ident":"if_nametoindex", "id_type":"function", "header":"net/if.h", "extensions":[]}, + {"ident":"IGNBRK", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"IGNCR", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"IGNPAR", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"ilogb", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"ilogbf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"ilogbl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"imaginary", "id_type":"macro", "header":"complex.h", "extensions":[]}, + {"ident":"imaxabs", "id_type":"function", "header":"inttypes.h", "extensions":[]}, + {"ident":"imaxdiv", "id_type":"function", "header":"inttypes.h", "extensions":[]}, + {"ident":"in6_addr", "id_type":"type", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_LINKLOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_LOOPBACK", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_MC_GLOBAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_MC_LINKLOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_MC_NODELOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_MC_ORGLOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_MC_SITELOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_MULTICAST", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_SITELOCAL", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_UNSPECIFIED", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_V4COMPAT", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IN6_IS_ADDR_V4MAPPED", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"in6addr_any", "id_type":"variable", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"in6addr_loopback", "id_type":"variable", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"in_addr", "id_type":"type", "header":"netinet/in.h", "extensions":[]}, + {"ident":"in_addr_t", "id_type":"type", "header":"netinet/in.h", "extensions":[]}, + {"ident":"in_port_t", "id_type":"type", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"INADDR_ANY", "id_type":"constant", "header":"netinet/in.h", "extensions":[]}, + {"ident":"INADDR_BROADCAST", "id_type":"constant", "header":"netinet/in.h", "extensions":[]}, + {"ident":"INET6_ADDRSTRLEN", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"inet_addr", "id_type":"function", "header":"arpa/inet.h", "extensions":[]}, + {"ident":"INET_ADDRSTRLEN", "id_type":"constant", "header":"netinet/in.h", "extensions":[]}, + {"ident":"inet_ntoa", "id_type":"function", "header":"arpa/inet.h", "extensions":[]}, + {"ident":"inet_ntop", "id_type":"function", "header":"arpa/inet.h", "extensions":[]}, + {"ident":"inet_pton", "id_type":"function", "header":"arpa/inet.h", "extensions":[]}, + {"ident":"INFINITY", "id_type":"macro", "header":"math.h", "extensions":[]}, + {"ident":"INIT_PROCESS", "id_type":"constant", "header":"utmpx.h", "extensions":[]}, + {"ident":"initstate", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"INLCR", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"ino_t", "id_type":"type", "header":"sys/types.h", "extensions":["XSI"]}, + {"ident":"INPCK", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"insque", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"INT_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"INT_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"ioctl", "id_type":"function", "header":"stropts.h", "extensions":["OB","XSR"]}, + {"ident":"iovec", "id_type":"type", "header":"sys/uio.h", "extensions":["XSI"]}, + {"ident":"IPC_CREAT", "id_type":"constant", "header":"sys/ipc.h", "extensions":[]}, + {"ident":"IPC_EXCL", "id_type":"constant", "header":"sys/ipc.h", "extensions":[]}, + {"ident":"IPC_NOWAIT", "id_type":"constant", "header":"sys/ipc.h", "extensions":[]}, + {"ident":"ipc_perm", "id_type":"type", "header":"sys/ipc.h", "extensions":[]}, + {"ident":"IPPROTO_ICMP", "id_type":"constant", "header":"netinet/in.h", "extensions":[]}, + {"ident":"IPPROTO_IP", "id_type":"constant", "header":"netinet/in.h", "extensions":[]}, + {"ident":"IPPROTO_IPV6", "id_type":"constant", "header":"netinet/in.h", "extensions":[]}, + {"ident":"IPPROTO_RAW", "id_type":"constant", "header":"netinet/in.h", "extensions":[]}, + {"ident":"IPPROTO_TCP", "id_type":"constant", "header":"netinet/in.h", "extensions":[]}, + {"ident":"IPPROTO_UDP", "id_type":"constant", "header":"netinet/in.h", "extensions":[]}, + {"ident":"IPV6_JOIN_GROUP", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IPV6_LEAVE_GROUP", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"ipv6_mreq", "id_type":"type", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IPV6_MULTICAST_HOPS", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IPV6_MULTICAST_IF", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IPV6_MULTICAST_LOOP", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IPV6_UNICAST_HOPS", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"IPV6_V6ONLY", "id_type":"constant", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"isalnum", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"isalnum_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"isalpha", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"isalpha_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"isascii", "id_type":"function", "header":"ctype.h", "extensions":["OB","XSI"]}, + {"ident":"isastream", "id_type":"function", "header":"stropts.h", "extensions":[]}, + {"ident":"isatty", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"isblank", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"isblank_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"iscntrl", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"iscntrl_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"isdigit", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"isdigit_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"isgraph", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"isgraph_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"ISIG", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"islower", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"islower_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"isprint", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"isprint_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"ispunct", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"ispunct_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"isspace", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"isspace_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"ISTRIP", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"isupper", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"isupper_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"iswalnum", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswalnum_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswalpha", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswalpha_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswblank", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswblank_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswcntrl", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswcntrl_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswctype", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswctype_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswdigit", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswdigit_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswgraph", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswgraph_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswlower", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswlower_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswprint", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswprint_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswpunct", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswpunct_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswspace", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswspace_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswupper", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswupper_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswxdigit", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"iswxdigit_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"isxdigit", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"isxdigit_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"ITIMER_PROF", "id_type":"constant", "header":"sys/time.h", "extensions":["IP6"]}, + {"ident":"ITIMER_REAL", "id_type":"constant", "header":"sys/time.h", "extensions":["IP6"]}, + {"ident":"ITIMER_VIRTUAL", "id_type":"constant", "header":"sys/time.h", "extensions":["IP6"]}, + {"ident":"itimerspec", "id_type":"type", "header":"time.h", "extensions":["IP6"]}, + {"ident":"itimerval", "id_type":"type", "header":"sys/time.h", "extensions":["IP6"]}, + {"ident":"IXANY", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"IXOFF", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"IXON", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"j0", "id_type":"function", "header":"math.h", "extensions":["XSI"]}, + {"ident":"j1", "id_type":"function", "header":"math.h", "extensions":["XSI"]}, + {"ident":"jn", "id_type":"function", "header":"math.h", "extensions":["XSI"]}, + {"ident":"jrand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"key_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"kill", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"killpg", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"l64a", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"L_ctermid", "id_type":"type", "header":"stdio.h", "extensions":[]}, + {"ident":"L_tmpnam", "id_type":"type", "header":"stdio.h", "extensions":[]}, + {"ident":"labs", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"lchown", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"lcong48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"lconv", "id_type":"type", "header":"locale.h", "extensions":[]}, + {"ident":"ldexp", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"ldexpf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"ldexpl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"ldiv", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"ldiv_t", "id_type":"type", "header":"stdlib.h", "extensions":[]}, + {"ident":"lfind", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"lgamma", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"lgammaf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"lgammal", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"linger", "id_type":"type", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"link", "id_type":"function", "header":"unistd.h", "extensions":["IP6"]}, + {"ident":"linkat", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"lio_listio", "id_type":"function", "header":"aio.h", "extensions":[]}, + {"ident":"LIO_NOP", "id_type":"constant", "header":"aio.h", "extensions":[]}, + {"ident":"LIO_NOWAIT", "id_type":"constant", "header":"aio.h", "extensions":[]}, + {"ident":"LIO_READ", "id_type":"constant", "header":"aio.h", "extensions":[]}, + {"ident":"LIO_WAIT", "id_type":"constant", "header":"aio.h", "extensions":[]}, + {"ident":"LIO_WRITE", "id_type":"constant", "header":"aio.h", "extensions":[]}, + {"ident":"listen", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"llabs", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"lldiv", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"lldiv_t", "id_type":"type", "header":"stdlib.h", "extensions":[]}, + {"ident":"LLONG_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"LLONG_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"llrint", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"llrintf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"llrintl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"llround", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"llroundf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"llroundl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"locale_t", "id_type":"type", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"localeconv", "id_type":"function", "header":"locale.h", "extensions":[]}, + {"ident":"localtime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"localtime_r", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"lockf", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"log", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"log10", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"log10f", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"log10l", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"log1p", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"log1pf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"log1pl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"log2", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"log2f", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"log2l", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"LOG_ALERT", "id_type":"macro", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_AUTH", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_CONS", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_CRIT", "id_type":"macro", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_CRON", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_DAEMON", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_DEBUG", "id_type":"macro", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_EMERG", "id_type":"macro", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_ERR", "id_type":"macro", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_INFO", "id_type":"macro", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_KERN", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_LOCAL0", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_LOCAL1", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_LOCAL2", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_LOCAL3", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_LOCAL4", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_LOCAL5", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_LOCAL6", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_LOCAL7", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_LPR", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_MAIL", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_MASK", "id_type":"macro", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_NDELAY", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_NEWS", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_NOTICE", "id_type":"macro", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_NOWAIT", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_ODELAY", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_PID", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_USER", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_UUCP", "id_type":"constant", "header":"syslog.h", "extensions":[]}, + {"ident":"LOG_WARNING", "id_type":"macro", "header":"syslog.h", "extensions":[]}, + {"ident":"logb", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"logbf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"logbl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"logf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"LOGIN_PROCESS", "id_type":"constant", "header":"utmpx.h", "extensions":[]}, + {"ident":"logl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"LONG_BIT", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"LONG_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"LONG_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"longjmp", "id_type":"function", "header":"setjmp.h", "extensions":[]}, + {"ident":"lrand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"lrint", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"lrintf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"lrintl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"lround", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"lroundf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"lroundl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"lsearch", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"lseek", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"lstat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"M_1_PI", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_2_PI", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_2_SQRTPI", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_E", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_LN10", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_LN2", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_LOG10E", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_LOG2E", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_PI", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_PI_2", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_PI_4", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_SQRT1_2", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"M_SQRT2", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"malloc", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"MAP_FAILED", "id_type":"constant", "header":"sys/mman.h", "extensions":[]}, + {"ident":"MAP_FIXED", "id_type":"constant", "header":"sys/mman.h", "extensions":[]}, + {"ident":"MAP_PRIVATE", "id_type":"constant", "header":"sys/mman.h", "extensions":[]}, + {"ident":"MAP_SHARED", "id_type":"constant", "header":"sys/mman.h", "extensions":[]}, + {"ident":"MAXFLOAT", "id_type":"constant", "header":"math.h", "extensions":[]}, + {"ident":"MB_CUR_MAX", "id_type":"macro", "header":"stdlib.h", "extensions":[]}, + {"ident":"MB_LEN_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"mblen", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"mbrlen", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"mbrtowc", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"mbsinit", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"mbsnrtowcs", "id_type":"function", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"mbsrtowcs", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"mbstate_t", "id_type":"type", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"mbstowcs", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"mbtowc", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"MCL_CURRENT", "id_type":"constant", "header":"sys/mman.h", "extensions":["ML"]}, + {"ident":"MCL_FUTURE", "id_type":"constant", "header":"sys/mman.h", "extensions":["ML"]}, + {"ident":"memccpy", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"memchr", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"memcmp", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"memcpy", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"memmove", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"memset", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"MINSIGSTKSZ", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"mkdir", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"mkdirat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"mkdtemp", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"mkfifo", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"mkfifoat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"mknod", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"mknodat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"mkstemp", "id_type":"function", "header":"stdlib.h", "extensions":["CX"]}, + {"ident":"mktime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"mlock", "id_type":"function", "header":"sys/mman.h", "extensions":["MLR"]}, + {"ident":"mlockall", "id_type":"function", "header":"sys/mman.h", "extensions":["ML"]}, + {"ident":"MM_APPL", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_CONSOLE", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_ERROR", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_FIRM", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_HALT", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_HARD", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_INFO", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_NOSEV", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_NRECOV", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_OPSYS", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_PRINT", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_RECOVER", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_SOFT", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_UTIL", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"MM_WARNING", "id_type":"constant", "header":"fmtmsg.h", "extensions":[]}, + {"ident":"mmap", "id_type":"function", "header":"sys/mman.h", "extensions":["TYM"]}, + {"ident":"mode_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"modf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"modff", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"modfl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"MORECTL", "id_type":"constant", "header":"stropts.h", "extensions":[]}, + {"ident":"MOREDATA", "id_type":"constant", "header":"stropts.h", "extensions":[]}, + {"ident":"mprotect", "id_type":"function", "header":"sys/mman.h", "extensions":[]}, + {"ident":"mq_attr", "id_type":"type", "header":"mqueue.h", "extensions":[]}, + {"ident":"mq_close", "id_type":"function", "header":"mqueue.h", "extensions":[]}, + {"ident":"mq_getattr", "id_type":"function", "header":"mqueue.h", "extensions":[]}, + {"ident":"mq_notify", "id_type":"function", "header":"mqueue.h", "extensions":[]}, + {"ident":"mq_open", "id_type":"function", "header":"mqueue.h", "extensions":[]}, + {"ident":"mq_receive", "id_type":"function", "header":"mqueue.h", "extensions":[]}, + {"ident":"mq_send", "id_type":"function", "header":"mqueue.h", "extensions":[]}, + {"ident":"mq_setattr", "id_type":"function", "header":"mqueue.h", "extensions":[]}, + {"ident":"mq_timedreceive", "id_type":"function", "header":"mqueue.h", "extensions":[]}, + {"ident":"mq_timedsend", "id_type":"function", "header":"mqueue.h", "extensions":[]}, + {"ident":"mq_unlink", "id_type":"function", "header":"mqueue.h", "extensions":[]}, + {"ident":"mrand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"MS_ASYNC", "id_type":"constant", "header":"sys/mman.h", "extensions":["XSI","SIO"]}, + {"ident":"MS_INVALIDATE", "id_type":"constant", "header":"sys/mman.h", "extensions":["XSI","SIO"]}, + {"ident":"MS_SYNC", "id_type":"constant", "header":"sys/mman.h", "extensions":["XSI","SIO"]}, + {"ident":"MSG_ANY", "id_type":"constant", "header":"stropts.h", "extensions":[]}, + {"ident":"MSG_BAND", "id_type":"constant", "header":"stropts.h", "extensions":[]}, + {"ident":"MSG_CTRUNC", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"MSG_DONTROUTE", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"MSG_EOR", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"MSG_HIPRI", "id_type":"constant", "header":"stropts.h", "extensions":[]}, + {"ident":"MSG_NOERROR", "id_type":"constant", "header":"sys/msg.h", "extensions":[]}, + {"ident":"MSG_NOSIGNAL", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"MSG_OOB", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"MSG_PEEK", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"MSG_TRUNC", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"MSG_WAITALL", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"msgctl", "id_type":"function", "header":"sys/msg.h", "extensions":[]}, + {"ident":"msgget", "id_type":"function", "header":"sys/msg.h", "extensions":[]}, + {"ident":"msghdr", "id_type":"type", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"msglen_t", "id_type":"type", "header":"sys/msg.h", "extensions":[]}, + {"ident":"msgqnum_t", "id_type":"type", "header":"sys/msg.h", "extensions":[]}, + {"ident":"msgrcv", "id_type":"function", "header":"sys/msg.h", "extensions":[]}, + {"ident":"msgsnd", "id_type":"function", "header":"sys/msg.h", "extensions":[]}, + {"ident":"msqid_ds", "id_type":"type", "header":"sys/msg.h", "extensions":[]}, + {"ident":"msync", "id_type":"function", "header":"sys/mman.h", "extensions":["XSI","SIO"]}, + {"ident":"munlock", "id_type":"function", "header":"sys/mman.h", "extensions":["MLR"]}, + {"ident":"munlockall", "id_type":"function", "header":"sys/mman.h", "extensions":["ML"]}, + {"ident":"munmap", "id_type":"function", "header":"sys/mman.h", "extensions":[]}, + {"ident":"nan", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"NAN", "id_type":"macro", "header":"math.h", "extensions":[]}, + {"ident":"nanf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"nanl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"nanosleep", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"NCCS", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"nearbyint", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"nearbyintf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"nearbyintl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"netent", "id_type":"type", "header":"netdb.h", "extensions":[]}, + {"ident":"NEW_TIME", "id_type":"constant", "header":"utmpx.h", "extensions":[]}, + {"ident":"newlocale", "id_type":"function", "header":"locale.h", "extensions":["CX"]}, + {"ident":"nextafter", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"nextafterf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"nextafterl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"nexttoward", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"nexttowardf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"nexttowardl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"nfds_t", "id_type":"type", "header":"poll.h", "extensions":[]}, + {"ident":"nftw", "id_type":"function", "header":"ftw.h", "extensions":["OB"]}, + {"ident":"NI_DGRAM", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"NI_NAMEREQD", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"NI_NOFQDN", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"NI_NUMERICHOST", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"NI_NUMERICSCOPE", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"NI_NUMERICSERV", "id_type":"constant", "header":"netdb.h", "extensions":[]}, + {"ident":"nice", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"NL_ARGMAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"nl_langinfo", "id_type":"function", "header":"langinfo.h", "extensions":[]}, + {"ident":"nl_langinfo_l", "id_type":"function", "header":"langinfo.h", "extensions":[]}, + {"ident":"NL_LANGMAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"NL_MSGMAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"NL_SETMAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"NL_TEXTMAX", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"NLDLY", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"nlink_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"NOFLSH", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"not", "id_type":"macro", "header":"iso646.h", "extensions":["ADV"]}, + {"ident":"not_eq", "id_type":"macro", "header":"iso646.h", "extensions":[]}, + {"ident":"nrand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"ntohl", "id_type":"function", "header":"arpa/inet.h", "extensions":[]}, + {"ident":"ntohs", "id_type":"function", "header":"arpa/inet.h", "extensions":[]}, + {"ident":"NULL", "id_type":"macro", "header":"stddef.h", "extensions":[]}, + {"ident":"NZERO", "id_type":"constant", "header":"limits.h", "extensions":[]}, + {"ident":"O_ACCMODE", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_APPEND", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_CLOEXEC", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_CREAT", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_DIRECTORY", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_DSYNC", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_EXCL", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_EXEC", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_NOCTTY", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_NOFOLLOW", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_NONBLOCK", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_RDONLY", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_RDWR", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_RSYNC", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_SEARCH", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_SYNC", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_TRUNC", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_TTY_INIT", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"O_WRONLY", "id_type":"constant", "header":"fcntl.h", "extensions":[]}, + {"ident":"OCRNL", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"OFDEL", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"off_t", "id_type":"type", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"offsetof", "id_type":"macro", "header":"stddef.h", "extensions":[]}, + {"ident":"OFILL", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"OLD_TIME", "id_type":"constant", "header":"utmpx.h", "extensions":[]}, + {"ident":"ONLCR", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"ONLRET", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"ONOCR", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"open", "id_type":"function", "header":"fcntl.h", "extensions":["ADV"]}, + {"ident":"open_memstream", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"open_wmemstream", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"openat", "id_type":"function", "header":"fcntl.h", "extensions":[]}, + {"ident":"opendir", "id_type":"function", "header":"dirent.h", "extensions":[]}, + {"ident":"openlog", "id_type":"function", "header":"syslog.h", "extensions":[]}, + {"ident":"OPOST", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"optarg", "id_type":"variable", "header":"unistd.h", "extensions":[]}, + {"ident":"opterr", "id_type":"variable", "header":"unistd.h", "extensions":[]}, + {"ident":"optind", "id_type":"variable", "header":"unistd.h", "extensions":[]}, + {"ident":"optopt", "id_type":"variable", "header":"unistd.h", "extensions":[]}, + {"ident":"or", "id_type":"macro", "header":"iso646.h", "extensions":["XSI"]}, + {"ident":"or_eq", "id_type":"macro", "header":"iso646.h", "extensions":[]}, + {"ident":"P_tmpdir", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"PARENB", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"PARMRK", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"PARODD", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"passwd", "id_type":"type", "header":"pwd.h", "extensions":["XSI"]}, + {"ident":"pathconf", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"pause", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"pclose", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"perror", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"pid_t", "id_type":"type", "header":"signal.h", "extensions":["PS"]}, + {"ident":"pipe", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"poll", "id_type":"function", "header":"poll.h", "extensions":[]}, + {"ident":"POLLERR", "id_type":"constant", "header":"poll.h", "extensions":[]}, + {"ident":"pollfd", "id_type":"type", "header":"poll.h", "extensions":[]}, + {"ident":"POLLHUP", "id_type":"constant", "header":"poll.h", "extensions":[]}, + {"ident":"POLLIN", "id_type":"constant", "header":"poll.h", "extensions":[]}, + {"ident":"POLLNVAL", "id_type":"constant", "header":"poll.h", "extensions":[]}, + {"ident":"POLLOUT", "id_type":"constant", "header":"poll.h", "extensions":[]}, + {"ident":"POLLPRI", "id_type":"constant", "header":"poll.h", "extensions":[]}, + {"ident":"POLLRDBAND", "id_type":"constant", "header":"poll.h", "extensions":[]}, + {"ident":"POLLRDNORM", "id_type":"constant", "header":"poll.h", "extensions":[]}, + {"ident":"POLLWRBAND", "id_type":"constant", "header":"poll.h", "extensions":[]}, + {"ident":"POLLWRNORM", "id_type":"constant", "header":"poll.h", "extensions":[]}, + {"ident":"popen", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"POSIX_FADV_DONTNEED", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]}, + {"ident":"POSIX_FADV_NOREUSE", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]}, + {"ident":"POSIX_FADV_NORMAL", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]}, + {"ident":"POSIX_FADV_RANDOM", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]}, + {"ident":"POSIX_FADV_SEQUENTIAL", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]}, + {"ident":"POSIX_FADV_WILLNEED", "id_type":"constant", "header":"fcntl.h", "extensions":["ADV"]}, + {"ident":"posix_fadvise", "id_type":"function", "header":"fcntl.h", "extensions":["ADV"]}, + {"ident":"posix_fallocate", "id_type":"function", "header":"fcntl.h", "extensions":["ADV"]}, + {"ident":"posix_madvise", "id_type":"function", "header":"sys/mman.h", "extensions":["ADV"]}, + {"ident":"posix_mem_offset", "id_type":"function", "header":"sys/mman.h", "extensions":["TYM"]}, + {"ident":"posix_memalign", "id_type":"function", "header":"stdlib.h", "extensions":["ADV"]}, + {"ident":"posix_openpt", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"posix_spawn", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawn_file_actions_addclose", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawn_file_actions_adddup2", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawn_file_actions_addopen", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawn_file_actions_destroy", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawn_file_actions_init", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnattr_destroy", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnattr_getflags", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnattr_getpgroup", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnattr_getschedparam", "id_type":"function", "header":"spawn.h", "extensions":["PS"]}, + {"ident":"posix_spawnattr_getschedpolicy", "id_type":"function", "header":"spawn.h", "extensions":["PS"]}, + {"ident":"posix_spawnattr_getsigdefault", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnattr_getsigmask", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnattr_init", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnattr_setflags", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnattr_setpgroup", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnattr_setschedparam", "id_type":"function", "header":"spawn.h", "extensions":["PS"]}, + {"ident":"posix_spawnattr_setschedpolicy", "id_type":"function", "header":"spawn.h", "extensions":["PS"]}, + {"ident":"posix_spawnattr_setsigdefault", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnattr_setsigmask", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_spawnp", "id_type":"function", "header":"spawn.h", "extensions":[]}, + {"ident":"posix_trace_attr_destroy", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_getclockres", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_getcreatetime", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_getgenversion", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_getinherited", "id_type":"function", "header":"trace.h", "extensions":["TRI"]}, + {"ident":"posix_trace_attr_getlogfullpolicy", "id_type":"function", "header":"trace.h", "extensions":["TRL"]}, + {"ident":"posix_trace_attr_getlogsize", "id_type":"function", "header":"trace.h", "extensions":["TRL"]}, + {"ident":"posix_trace_attr_getmaxdatasize", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_getmaxsystemeventsize", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_getmaxusereventsize", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_getname", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_getstreamfullpolicy", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_getstreamsize", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_init", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_setinherited", "id_type":"function", "header":"trace.h", "extensions":["TRI"]}, + {"ident":"posix_trace_attr_setlogfullpolicy", "id_type":"function", "header":"trace.h", "extensions":["TRL"]}, + {"ident":"posix_trace_attr_setlogsize", "id_type":"function", "header":"trace.h", "extensions":["TRL"]}, + {"ident":"posix_trace_attr_setmaxdatasize", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_setname", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_setstreamfullpolicy", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_attr_setstreamsize", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_clear", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_close", "id_type":"function", "header":"trace.h", "extensions":["TRL"]}, + {"ident":"posix_trace_create", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_create_withlog", "id_type":"function", "header":"trace.h", "extensions":["TRL"]}, + {"ident":"posix_trace_event", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_event_info", "id_type":"type", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_eventid_equal", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_eventid_get_name", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_eventid_open", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_eventset_add", "id_type":"function", "header":"trace.h", "extensions":["TEF"]}, + {"ident":"posix_trace_eventset_del", "id_type":"function", "header":"trace.h", "extensions":["TEF"]}, + {"ident":"posix_trace_eventset_empty", "id_type":"function", "header":"trace.h", "extensions":["TEF"]}, + {"ident":"posix_trace_eventset_fill", "id_type":"function", "header":"trace.h", "extensions":["TEF"]}, + {"ident":"posix_trace_eventset_ismember", "id_type":"function", "header":"trace.h", "extensions":["TEF"]}, + {"ident":"posix_trace_eventtypelist_getnext_id", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_eventtypelist_rewind", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_flush", "id_type":"function", "header":"trace.h", "extensions":["TRL"]}, + {"ident":"posix_trace_get_attr", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_get_filter", "id_type":"function", "header":"trace.h", "extensions":["TEF"]}, + {"ident":"posix_trace_get_status", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_getnext_event", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_open", "id_type":"function", "header":"trace.h", "extensions":["TRL"]}, + {"ident":"posix_trace_rewind", "id_type":"function", "header":"trace.h", "extensions":["TRL"]}, + {"ident":"posix_trace_set_filter", "id_type":"function", "header":"trace.h", "extensions":["TEF"]}, + {"ident":"posix_trace_shutdown", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_start", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_status_info", "id_type":"type", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_stop", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_timedgetnext_event", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"posix_trace_trid_eventid_open", "id_type":"function", "header":"trace.h", "extensions":["TEF"]}, + {"ident":"posix_trace_trygetnext_event", "id_type":"function", "header":"trace.h", "extensions":[]}, + {"ident":"POSIX_TYPED_MEM_ALLOCATE", "id_type":"constant", "header":"sys/mman.h", "extensions":["TYM"]}, + {"ident":"POSIX_TYPED_MEM_ALLOCATE_CONTIG", "id_type":"constant", "header":"sys/mman.h", "extensions":["TYM"]}, + {"ident":"posix_typed_mem_get_info", "id_type":"function", "header":"sys/mman.h", "extensions":["TYM"]}, + {"ident":"posix_typed_mem_info", "id_type":"type", "header":"sys/mman.h", "extensions":["TYM"]}, + {"ident":"POSIX_TYPED_MEM_MAP_ALLOCATABLE", "id_type":"constant", "header":"sys/mman.h", "extensions":["TYM"]}, + {"ident":"posix_typed_mem_open", "id_type":"function", "header":"sys/mman.h", "extensions":["TYM"]}, + {"ident":"pow", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"powf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"powl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"pread", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"printf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"PRIO_PGRP", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"PRIO_PROCESS", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"PRIO_USER", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"PROT_EXEC", "id_type":"constant", "header":"sys/mman.h", "extensions":[]}, + {"ident":"PROT_NONE", "id_type":"constant", "header":"sys/mman.h", "extensions":[]}, + {"ident":"PROT_READ", "id_type":"constant", "header":"sys/mman.h", "extensions":[]}, + {"ident":"PROT_WRITE", "id_type":"constant", "header":"sys/mman.h", "extensions":[]}, + {"ident":"protoent", "id_type":"type", "header":"netdb.h", "extensions":[]}, + {"ident":"pselect", "id_type":"function", "header":"sys/select.h", "extensions":[]}, + {"ident":"psiginfo", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"psignal", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"pthread_atfork", "id_type":"function", "header":"pthread.h", "extensions":["OB"]}, + {"ident":"pthread_attr_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_attr_getdetachstate", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_attr_getguardsize", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_attr_getinheritsched", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]}, + {"ident":"pthread_attr_getschedparam", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_attr_getschedpolicy", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]}, + {"ident":"pthread_attr_getscope", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]}, + {"ident":"pthread_attr_getstack", "id_type":"function", "header":"pthread.h", "extensions":["TSA","TSS"]}, + {"ident":"pthread_attr_getstacksize", "id_type":"function", "header":"pthread.h", "extensions":["TSS"]}, + {"ident":"pthread_attr_init", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_attr_setdetachstate", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_attr_setguardsize", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_attr_setinheritsched", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]}, + {"ident":"pthread_attr_setschedparam", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_attr_setschedpolicy", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]}, + {"ident":"pthread_attr_setscope", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]}, + {"ident":"pthread_attr_setstack", "id_type":"function", "header":"pthread.h", "extensions":["TSA","TSS"]}, + {"ident":"pthread_attr_setstacksize", "id_type":"function", "header":"pthread.h", "extensions":["TSS"]}, + {"ident":"pthread_attr_t", "id_type":"type", "header":"sys/types.h", "extensions":["TPS"]}, + {"ident":"pthread_barrier_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_barrier_init", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_barrier_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"pthread_barrier_wait", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_barrierattr_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_barrierattr_getpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]}, + {"ident":"pthread_barrierattr_init", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_barrierattr_setpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]}, + {"ident":"pthread_barrierattr_t", "id_type":"type", "header":"sys/types.h", "extensions":["TSH"]}, + {"ident":"pthread_cancel", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_cleanup_pop", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_cleanup_push", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_cond_broadcast", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_cond_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_cond_init", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_cond_signal", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_cond_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"pthread_cond_timedwait", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_cond_wait", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_condattr_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_condattr_getclock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_condattr_getpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]}, + {"ident":"pthread_condattr_init", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_condattr_setclock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_condattr_setpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]}, + {"ident":"pthread_condattr_t", "id_type":"type", "header":"sys/types.h", "extensions":["TSH"]}, + {"ident":"pthread_create", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_detach", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_equal", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_exit", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_getconcurrency", "id_type":"function", "header":"pthread.h", "extensions":["OB","XSI"]}, + {"ident":"pthread_getcpuclockid", "id_type":"function", "header":"pthread.h", "extensions":["TCT"]}, + {"ident":"pthread_getschedparam", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]}, + {"ident":"pthread_getspecific", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_join", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_key_create", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_key_delete", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_key_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"pthread_kill", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"pthread_mutex_consistent", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutex_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutex_getprioceiling", "id_type":"function", "header":"pthread.h", "extensions":["RPP","TPP"]}, + {"ident":"pthread_mutex_init", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutex_lock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutex_setprioceiling", "id_type":"function", "header":"pthread.h", "extensions":["RPP","TPP"]}, + {"ident":"pthread_mutex_t", "id_type":"type", "header":"sys/types.h", "extensions":["RPP","TPP"]}, + {"ident":"pthread_mutex_timedlock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutex_trylock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutex_unlock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutexattr_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutexattr_getprioceiling", "id_type":"function", "header":"pthread.h", "extensions":["RPP","TPP"]}, + {"ident":"pthread_mutexattr_getprotocol", "id_type":"function", "header":"pthread.h", "extensions":["MC1"]}, + {"ident":"pthread_mutexattr_getpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]}, + {"ident":"pthread_mutexattr_getrobust", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutexattr_gettype", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutexattr_init", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutexattr_setprioceiling", "id_type":"function", "header":"pthread.h", "extensions":["RPP","TPP"]}, + {"ident":"pthread_mutexattr_setprotocol", "id_type":"function", "header":"pthread.h", "extensions":["MC1"]}, + {"ident":"pthread_mutexattr_setpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]}, + {"ident":"pthread_mutexattr_setrobust", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutexattr_settype", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_mutexattr_t", "id_type":"type", "header":"sys/types.h", "extensions":["RPP","TPP"]}, + {"ident":"pthread_once", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_once_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"pthread_rwlock_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlock_init", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlock_rdlock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlock_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"pthread_rwlock_timedrdlock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlock_timedwrlock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlock_tryrdlock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlock_trywrlock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlock_unlock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlock_wrlock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlockattr_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlockattr_getpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]}, + {"ident":"pthread_rwlockattr_init", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_rwlockattr_setpshared", "id_type":"function", "header":"pthread.h", "extensions":["TSH"]}, + {"ident":"pthread_rwlockattr_t", "id_type":"type", "header":"sys/types.h", "extensions":["TSH"]}, + {"ident":"pthread_self", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_setcancelstate", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_setcanceltype", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_setconcurrency", "id_type":"function", "header":"pthread.h", "extensions":["OB","XSI"]}, + {"ident":"pthread_setschedparam", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]}, + {"ident":"pthread_setschedprio", "id_type":"function", "header":"pthread.h", "extensions":["TPS"]}, + {"ident":"pthread_setspecific", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_sigmask", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"pthread_spin_destroy", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_spin_init", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_spin_lock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_spin_trylock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_spin_unlock", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"pthread_spinlock_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"pthread_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"pthread_testcancel", "id_type":"function", "header":"pthread.h", "extensions":[]}, + {"ident":"ptrdiff_t", "id_type":"macro", "header":"stddef.h", "extensions":[]}, + {"ident":"ptsname", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"putc", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"putc_unlocked", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"putchar", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"putchar_unlocked", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"putenv", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"putmsg", "id_type":"function", "header":"stropts.h", "extensions":[]}, + {"ident":"putpmsg", "id_type":"function", "header":"stropts.h", "extensions":[]}, + {"ident":"puts", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"pututxline", "id_type":"function", "header":"utmpx.h", "extensions":[]}, + {"ident":"putwc", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"putwchar", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"pwrite", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"qsort", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"R_OK", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"raise", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"rand", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"RAND_MAX", "id_type":"macro", "header":"stdlib.h", "extensions":[]}, + {"ident":"rand_r", "id_type":"function", "header":"stdlib.h", "extensions":["OB","CX"]}, + {"ident":"random", "id_type":"function", "header":"stdlib.h", "extensions":["ADV"]}, + {"ident":"read", "id_type":"function", "header":"unistd.h", "extensions":["OB","XSR"]}, + {"ident":"readdir", "id_type":"function", "header":"dirent.h", "extensions":[]}, + {"ident":"readdir_r", "id_type":"function", "header":"dirent.h", "extensions":[]}, + {"ident":"readlink", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"readlinkat", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"readv", "id_type":"function", "header":"sys/uio.h", "extensions":["XSI"]}, + {"ident":"realloc", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"realpath", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"recv", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"recvfrom", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"recvmsg", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"REG_BADBR", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_BADPAT", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_BADRPT", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_EBRACE", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_EBRACK", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_ECOLLATE", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_ECTYPE", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_EESCAPE", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_EPAREN", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_ERANGE", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_ESPACE", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_ESUBREG", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_EXTENDED", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_ICASE", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_NEWLINE", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_NOMATCH", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_NOSUB", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_NOTBOL", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"REG_NOTEOL", "id_type":"constant", "header":"regex.h", "extensions":[]}, + {"ident":"regcomp", "id_type":"function", "header":"regex.h", "extensions":[]}, + {"ident":"regerror", "id_type":"function", "header":"regex.h", "extensions":[]}, + {"ident":"regex_t", "id_type":"type", "header":"regex.h", "extensions":[]}, + {"ident":"regexec", "id_type":"function", "header":"regex.h", "extensions":[]}, + {"ident":"regfree", "id_type":"function", "header":"regex.h", "extensions":[]}, + {"ident":"regmatch_t", "id_type":"type", "header":"regex.h", "extensions":[]}, + {"ident":"regoff_t", "id_type":"type", "header":"regex.h", "extensions":[]}, + {"ident":"remainder", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"remainderf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"remainderl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"remove", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"remque", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"remquo", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"remquof", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"remquol", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"rename", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"renameat", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"rewind", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"rewinddir", "id_type":"function", "header":"dirent.h", "extensions":[]}, + {"ident":"rint", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"rintf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"rintl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"RLIM_INFINITY", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RLIM_SAVED_CUR", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RLIM_SAVED_MAX", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"rlim_t", "id_type":"type", "header":"sys/resource.h", "extensions":[]}, + {"ident":"rlimit", "id_type":"type", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RLIMIT_AS", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RLIMIT_CORE", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RLIMIT_CPU", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RLIMIT_DATA", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RLIMIT_FSIZE", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RLIMIT_NOFILE", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RLIMIT_STACK", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"rmdir", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"round", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"roundf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"roundl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"rusage", "id_type":"type", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RUSAGE_CHILDREN", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"RUSAGE_SELF", "id_type":"constant", "header":"sys/resource.h", "extensions":[]}, + {"ident":"S_IFMT", "id_type":"constant", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"SA_NOCLDSTOP", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SA_NOCLDWAIT", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SA_NODEFER", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SA_ONSTACK", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SA_RESETHAND", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SA_RESTART", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SA_SIGINFO", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"scalbln", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"scalblnf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"scalblnl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"scalbn", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"scalbnf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"scalbnl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"scandir", "id_type":"function", "header":"dirent.h", "extensions":[]}, + {"ident":"scanf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"SCHAR_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"SCHAR_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"sched_get_priority_max", "id_type":"function", "header":"sched.h", "extensions":["PS","TPS"]}, + {"ident":"sched_get_priority_min", "id_type":"function", "header":"sched.h", "extensions":["PS","TPS"]}, + {"ident":"sched_getparam", "id_type":"function", "header":"sched.h", "extensions":["PS"]}, + {"ident":"sched_getscheduler", "id_type":"function", "header":"sched.h", "extensions":["PS"]}, + {"ident":"sched_param", "id_type":"type", "header":"sched.h", "extensions":["TPS"]}, + {"ident":"sched_rr_get_interval", "id_type":"function", "header":"sched.h", "extensions":["PS","TPS"]}, + {"ident":"sched_setparam", "id_type":"function", "header":"sched.h", "extensions":["PS"]}, + {"ident":"sched_setscheduler", "id_type":"function", "header":"sched.h", "extensions":["PS"]}, + {"ident":"sched_yield", "id_type":"function", "header":"sched.h", "extensions":[]}, + {"ident":"SCM_RIGHTS", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"seed48", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"SEEK_CUR", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"SEEK_END", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"SEEK_SET", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"seekdir", "id_type":"function", "header":"dirent.h", "extensions":["XSI"]}, + {"ident":"select", "id_type":"function", "header":"sys/select.h", "extensions":[]}, + {"ident":"sem_close", "id_type":"function", "header":"semaphore.h", "extensions":[]}, + {"ident":"sem_destroy", "id_type":"function", "header":"semaphore.h", "extensions":[]}, + {"ident":"sem_getvalue", "id_type":"function", "header":"semaphore.h", "extensions":[]}, + {"ident":"sem_init", "id_type":"function", "header":"semaphore.h", "extensions":[]}, + {"ident":"sem_open", "id_type":"function", "header":"semaphore.h", "extensions":[]}, + {"ident":"sem_post", "id_type":"function", "header":"semaphore.h", "extensions":[]}, + {"ident":"sem_timedwait", "id_type":"function", "header":"semaphore.h", "extensions":[]}, + {"ident":"sem_trywait", "id_type":"function", "header":"semaphore.h", "extensions":[]}, + {"ident":"SEM_UNDO", "id_type":"constant", "header":"sys/sem.h", "extensions":[]}, + {"ident":"sem_unlink", "id_type":"function", "header":"semaphore.h", "extensions":[]}, + {"ident":"sem_wait", "id_type":"function", "header":"semaphore.h", "extensions":[]}, + {"ident":"sembuf", "id_type":"type", "header":"sys/sem.h", "extensions":[]}, + {"ident":"semctl", "id_type":"function", "header":"sys/sem.h", "extensions":[]}, + {"ident":"semget", "id_type":"function", "header":"sys/sem.h", "extensions":[]}, + {"ident":"semid_ds", "id_type":"type", "header":"sys/sem.h", "extensions":[]}, + {"ident":"semop", "id_type":"function", "header":"sys/sem.h", "extensions":[]}, + {"ident":"send", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"sendmsg", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"sendto", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"servent", "id_type":"type", "header":"netdb.h", "extensions":[]}, + {"ident":"SETALL", "id_type":"constant", "header":"sys/sem.h", "extensions":[]}, + {"ident":"setbuf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"setegid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"setenv", "id_type":"function", "header":"stdlib.h", "extensions":["CX"]}, + {"ident":"seteuid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"setgid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"setgrent", "id_type":"function", "header":"grp.h", "extensions":["XSI"]}, + {"ident":"sethostent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"setitimer", "id_type":"function", "header":"sys/time.h", "extensions":["IP6"]}, + {"ident":"setjmp", "id_type":"function", "header":"setjmp.h", "extensions":[]}, + {"ident":"setkey", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"setlocale", "id_type":"function", "header":"locale.h", "extensions":[]}, + {"ident":"setlogmask", "id_type":"function", "header":"syslog.h", "extensions":[]}, + {"ident":"setnetent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"setpgid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"setpgrp", "id_type":"function", "header":"unistd.h", "extensions":["OB","XSI"]}, + {"ident":"setpriority", "id_type":"function", "header":"sys/resource.h", "extensions":[]}, + {"ident":"setprotoent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"setpwent", "id_type":"function", "header":"pwd.h", "extensions":["XSI"]}, + {"ident":"setregid", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"setreuid", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"setrlimit", "id_type":"function", "header":"sys/resource.h", "extensions":[]}, + {"ident":"setservent", "id_type":"function", "header":"netdb.h", "extensions":[]}, + {"ident":"setsid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"setsockopt", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"setstate", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"setuid", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"setutxent", "id_type":"function", "header":"utmpx.h", "extensions":[]}, + {"ident":"SETVAL", "id_type":"constant", "header":"sys/sem.h", "extensions":[]}, + {"ident":"setvbuf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"shm_open", "id_type":"function", "header":"sys/mman.h", "extensions":["SHM"]}, + {"ident":"SHM_RDONLY", "id_type":"constant", "header":"sys/shm.h", "extensions":[]}, + {"ident":"SHM_RND", "id_type":"constant", "header":"sys/shm.h", "extensions":[]}, + {"ident":"shm_unlink", "id_type":"function", "header":"sys/mman.h", "extensions":["SHM"]}, + {"ident":"shmat", "id_type":"function", "header":"sys/shm.h", "extensions":[]}, + {"ident":"shmatt_t", "id_type":"type", "header":"sys/shm.h", "extensions":[]}, + {"ident":"shmctl", "id_type":"function", "header":"sys/shm.h", "extensions":[]}, + {"ident":"shmdt", "id_type":"function", "header":"sys/shm.h", "extensions":[]}, + {"ident":"shmget", "id_type":"function", "header":"sys/shm.h", "extensions":[]}, + {"ident":"shmid_ds", "id_type":"type", "header":"sys/shm.h", "extensions":[]}, + {"ident":"SHMLBA", "id_type":"constant", "header":"sys/shm.h", "extensions":[]}, + {"ident":"SHRT_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"SHRT_MIN", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"SHUT_RD", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SHUT_RDWR", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SHUT_WR", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"shutdown", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"sig_atomic_t", "id_type":"type", "header":"signal.h", "extensions":[]}, + {"ident":"SIG_BLOCK", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SIG_DFL", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SIG_ERR", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SIG_HOLD", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SIG_IGN", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SIG_SETMASK", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SIG_UNBLOCK", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"sigaction", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigaction", "id_type":"type", "header":"signal.h", "extensions":[]}, + {"ident":"sigaddset", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigaltstack", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigdelset", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigemptyset", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"SIGEV_NONE", "id_type":"constant", "header":"signal.h", "extensions":[]}, + {"ident":"SIGEV_SIGNAL", "id_type":"constant", "header":"signal.h", "extensions":[]}, + {"ident":"SIGEV_THREAD", "id_type":"constant", "header":"signal.h", "extensions":[]}, + {"ident":"sigevent", "id_type":"type", "header":"signal.h", "extensions":["CX"]}, + {"ident":"sigfillset", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sighold", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigignore", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"siginfo_t", "id_type":"type", "header":"signal.h", "extensions":[]}, + {"ident":"siginterrupt", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigismember", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"siglongjmp", "id_type":"function", "header":"setjmp.h", "extensions":["CX"]}, + {"ident":"signal", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"signgam", "id_type":"variable", "header":"math.h", "extensions":[]}, + {"ident":"sigpause", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigpending", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigprocmask", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigqueue", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigrelse", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigset", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigset_t", "id_type":"type", "header":"signal.h", "extensions":[]}, + {"ident":"sigsetjmp", "id_type":"function", "header":"setjmp.h", "extensions":["CX"]}, + {"ident":"SIGSTKSZ", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"sigsuspend", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigtimedwait", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigval", "id_type":"type", "header":"signal.h", "extensions":[]}, + {"ident":"sigwait", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sigwaitinfo", "id_type":"function", "header":"signal.h", "extensions":[]}, + {"ident":"sin", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"sinf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"sinh", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"sinhf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"sinhl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"sinl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"size_t", "id_type":"macro", "header":"stddef.h", "extensions":["TSA","TSS"]}, + {"ident":"sleep", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"snprintf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"SO_ACCEPTCONN", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_BROADCAST", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_DEBUG", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_DONTROUTE", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_ERROR", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_KEEPALIVE", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_LINGER", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_OOBINLINE", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_RCVBUF", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_RCVLOWAT", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_RCVTIMEO", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_REUSEADDR", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_SNDBUF", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_SNDLOWAT", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_SNDTIMEO", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SO_TYPE", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SOCK_DGRAM", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SOCK_RAW", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SOCK_SEQPACKET", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SOCK_STREAM", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"sockaddr", "id_type":"type", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"sockaddr_in", "id_type":"type", "header":"netinet/in.h", "extensions":[]}, + {"ident":"sockaddr_in6", "id_type":"type", "header":"netinet/in.h", "extensions":["IP6"]}, + {"ident":"sockaddr_un", "id_type":"type", "header":"sys/un.h", "extensions":[]}, + {"ident":"sockatmark", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"socket", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"socketpair", "id_type":"function", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SOL_SOCKET", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"SOMAXCONN", "id_type":"constant", "header":"sys/socket.h", "extensions":["IP6"]}, + {"ident":"speed_t", "id_type":"type", "header":"termios.h", "extensions":[]}, + {"ident":"sprintf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"sqrt", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"sqrtf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"sqrtl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"srand", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"srand48", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"srandom", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"SS_DISABLE", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"SS_ONSTACK", "id_type":"macro", "header":"signal.h", "extensions":[]}, + {"ident":"sscanf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"SSIZE_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"ssize_t", "id_type":"type", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"ST_NOSUID", "id_type":"constant", "header":"sys/statvfs.h", "extensions":[]}, + {"ident":"ST_RDONLY", "id_type":"constant", "header":"sys/statvfs.h", "extensions":[]}, + {"ident":"stack_t", "id_type":"type", "header":"signal.h", "extensions":[]}, + {"ident":"stat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"stat", "id_type":"type", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"static_assert", "id_type":"macro", "header":"assert.h", "extensions":[]}, + {"ident":"statvfs", "id_type":"function", "header":"sys/statvfs.h", "extensions":[]}, + {"ident":"statvfs", "id_type":"type", "header":"sys/statvfs.h", "extensions":[]}, + {"ident":"stderr", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"STDERR_FILENO", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"stdin", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"STDIN_FILENO", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"stdout", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"STDOUT_FILENO", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"stpcpy", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"stpncpy", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"str_list", "id_type":"type", "header":"stropts.h", "extensions":[]}, + {"ident":"str_mlist", "id_type":"type", "header":"stropts.h", "extensions":[]}, + {"ident":"strbuf", "id_type":"type", "header":"stropts.h", "extensions":[]}, + {"ident":"strcasecmp", "id_type":"function", "header":"strings.h", "extensions":[]}, + {"ident":"strcasecmp_l", "id_type":"function", "header":"strings.h", "extensions":[]}, + {"ident":"strcat", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strchr", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strcmp", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strcoll", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strcoll_l", "id_type":"function", "header":"string.h", "extensions":["CX"]}, + {"ident":"strcpy", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strcspn", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strdup", "id_type":"function", "header":"string.h", "extensions":["XSI"]}, + {"ident":"strerror", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strerror_l", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strerror_r", "id_type":"function", "header":"string.h", "extensions":["CX"]}, + {"ident":"strfdinsert", "id_type":"type", "header":"stropts.h", "extensions":[]}, + {"ident":"strfmon", "id_type":"function", "header":"monetary.h", "extensions":[]}, + {"ident":"strfmon_l", "id_type":"function", "header":"monetary.h", "extensions":[]}, + {"ident":"strftime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"strftime_l", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"strioctl", "id_type":"type", "header":"stropts.h", "extensions":[]}, + {"ident":"strlen", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strncasecmp", "id_type":"function", "header":"strings.h", "extensions":[]}, + {"ident":"strncasecmp_l", "id_type":"function", "header":"strings.h", "extensions":[]}, + {"ident":"strncat", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strncmp", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strncpy", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strndup", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strnlen", "id_type":"function", "header":"string.h", "extensions":["CX"]}, + {"ident":"strpbrk", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strpeek", "id_type":"type", "header":"stropts.h", "extensions":[]}, + {"ident":"strptime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"strrchr", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strrecvfd", "id_type":"type", "header":"stropts.h", "extensions":[]}, + {"ident":"strsignal", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strspn", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strstr", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strtod", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"strtof", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"strtoimax", "id_type":"function", "header":"inttypes.h", "extensions":[]}, + {"ident":"strtok", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strtok_r", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strtol", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"strtold", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"strtoll", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"strtoul", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"strtoull", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"strtoumax", "id_type":"function", "header":"inttypes.h", "extensions":[]}, + {"ident":"strxfrm", "id_type":"function", "header":"string.h", "extensions":[]}, + {"ident":"strxfrm_l", "id_type":"function", "header":"string.h", "extensions":["CX"]}, + {"ident":"suseconds_t", "id_type":"type", "header":"sys/types.h", "extensions":["XSI"]}, + {"ident":"swab", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"swprintf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"swscanf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"symlink", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"symlinkat", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"sync", "id_type":"function", "header":"unistd.h", "extensions":["XSI"]}, + {"ident":"sysconf", "id_type":"function", "header":"unistd.h", "extensions":["ADV"]}, + {"ident":"syslog", "id_type":"function", "header":"syslog.h", "extensions":[]}, + {"ident":"system", "id_type":"function", "header":"stdlib.h", "extensions":["IP6"]}, + {"ident":"t_scalar_t", "id_type":"type", "header":"stropts.h", "extensions":[]}, + {"ident":"t_uscalar_t", "id_type":"type", "header":"stropts.h", "extensions":[]}, + {"ident":"TABDLY", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"tan", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"tanf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"tanh", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"tanhf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"tanhl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"tanl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"tcdrain", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"tcflag_t", "id_type":"type", "header":"termios.h", "extensions":[]}, + {"ident":"tcflow", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"tcflush", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"tcgetattr", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"tcgetpgrp", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"tcgetsid", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"TCIFLUSH", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"TCIOFF", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"TCIOFLUSH", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"TCION", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"TCOFLUSH", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"TCOOFF", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"TCOON", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"TCP_NODELAY", "id_type":"constant", "header":"netinet/tcp.h", "extensions":[]}, + {"ident":"TCSADRAIN", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"TCSAFLUSH", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"TCSANOW", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"tcsendbreak", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"tcsetattr", "id_type":"function", "header":"termios.h", "extensions":[]}, + {"ident":"tcsetpgrp", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"tdelete", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"telldir", "id_type":"function", "header":"dirent.h", "extensions":["XSI"]}, + {"ident":"tempnam", "id_type":"function", "header":"stdio.h", "extensions":["OB","XSI"]}, + {"ident":"termios", "id_type":"type", "header":"termios.h", "extensions":[]}, + {"ident":"tfind", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"tgamma", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"tgammaf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"tgammal", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"time", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"time_t", "id_type":"type", "header":"sys/types.h", "extensions":["SS","TSP"]}, + {"ident":"TIMER_ABSTIME", "id_type":"constant", "header":"time.h", "extensions":["IP6"]}, + {"ident":"timer_create", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"timer_delete", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"timer_getoverrun", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"timer_gettime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"timer_settime", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"timer_t", "id_type":"type", "header":"sys/types.h", "extensions":["CX"]}, + {"ident":"times", "id_type":"function", "header":"sys/times.h", "extensions":["OB"]}, + {"ident":"timespec", "id_type":"type", "header":"time.h", "extensions":["IP6"]}, + {"ident":"timeval", "id_type":"type", "header":"sys/time.h", "extensions":["IP6"]}, + {"ident":"timezone", "id_type":"variable", "header":"time.h", "extensions":["IP6"]}, + {"ident":"tm", "id_type":"type", "header":"time.h", "extensions":["IP6"]}, + {"ident":"TMP_MAX", "id_type":"macro", "header":"stdio.h", "extensions":[]}, + {"ident":"tmpfile", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"tmpnam", "id_type":"function", "header":"stdio.h", "extensions":["OB"]}, + {"ident":"tms", "id_type":"type", "header":"sys/times.h", "extensions":["OB"]}, + {"ident":"toascii", "id_type":"function", "header":"ctype.h", "extensions":["OB","XSI"]}, + {"ident":"tolower", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"tolower_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"TOSTOP", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"toupper", "id_type":"function", "header":"ctype.h", "extensions":[]}, + {"ident":"toupper_l", "id_type":"function", "header":"ctype.h", "extensions":["CX"]}, + {"ident":"towctrans", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"towctrans_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"towlower", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"towlower_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"towupper", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"towupper_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"trace_attr_t", "id_type":"type", "header":"sys/types.h", "extensions":["OB","TRC"]}, + {"ident":"trace_event_id_t", "id_type":"type", "header":"sys/types.h", "extensions":["OB","TRC"]}, + {"ident":"trace_event_set_t", "id_type":"type", "header":"sys/types.h", "extensions":["OB","TEF"]}, + {"ident":"trace_id_t", "id_type":"type", "header":"sys/types.h", "extensions":["OB","TRC"]}, + {"ident":"true", "id_type":"macro", "header":"stdbool.h", "extensions":[]}, + {"ident":"trunc", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"truncate", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"truncf", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"truncl", "id_type":"function", "header":"math.h", "extensions":[]}, + {"ident":"tsearch", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"ttyname", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"ttyname_r", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"twalk", "id_type":"function", "header":"search.h", "extensions":[]}, + {"ident":"tzname", "id_type":"variable", "header":"time.h", "extensions":["IP6"]}, + {"ident":"tzset", "id_type":"function", "header":"time.h", "extensions":["IP6"]}, + {"ident":"UCHAR_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"ucontext_t", "id_type":"type", "header":"signal.h", "extensions":[]}, + {"ident":"uid_t", "id_type":"type", "header":"sys/types.h", "extensions":[]}, + {"ident":"UINT_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"ulimit", "id_type":"function", "header":"ulimit.h", "extensions":[]}, + {"ident":"ULLONG_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"ULONG_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"umask", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"uname", "id_type":"function", "header":"sys/utsname.h", "extensions":[]}, + {"ident":"ungetc", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"ungetwc", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"unlink", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"unlinkat", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"unlockpt", "id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, + {"ident":"unsetenv", "id_type":"function", "header":"stdlib.h", "extensions":["CX"]}, + {"ident":"USER_PROCESS", "id_type":"constant", "header":"utmpx.h", "extensions":[]}, + {"ident":"USHRT_MAX", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"usleep", "id_type":"function", "header":"unistd.h", "extensions":["OB","REM"]}, + {"ident":"utimbuf", "id_type":"type", "header":"utime.h", "extensions":[]}, + {"ident":"utime", "id_type":"function", "header":"utime.h", "extensions":[]}, + {"ident":"utimensat", "id_type":"function", "header":"sys/stat.h", "extensions":["OB"]}, + {"ident":"utimes", "id_type":"function", "header":"sys/time.h", "extensions":["IP6"]}, + {"ident":"utmpx", "id_type":"type", "header":"utmpx.h", "extensions":[]}, + {"ident":"utsname", "id_type":"type", "header":"sys/utsname.h", "extensions":[]}, + {"ident":"va_arg", "id_type":"type", "header":"stdarg.h", "extensions":[]}, + {"ident":"va_copy", "id_type":"macro", "header":"stdarg.h", "extensions":[]}, + {"ident":"va_end", "id_type":"macro", "header":"stdarg.h", "extensions":[]}, + {"ident":"va_list", "id_type":"type", "header":"stdarg.h", "extensions":[]}, + {"ident":"va_start", "id_type":"macro", "header":"stdarg.h", "extensions":[]}, + {"ident":"vdprintf", "id_type":"function", "header":"stdio.h", "extensions":["CX"]}, + {"ident":"vfprintf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"vfscanf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"vfwprintf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"vfwscanf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"vprintf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"vscanf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"vsnprintf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"vsprintf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"vsscanf", "id_type":"function", "header":"stdio.h", "extensions":[]}, + {"ident":"vswprintf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"vswscanf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"VTDLY", "id_type":"constant", "header":"termios.h", "extensions":[]}, + {"ident":"vwprintf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"vwscanf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"W_OK", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"wait", "id_type":"function", "header":"sys/wait.h", "extensions":[]}, + {"ident":"waitid", "id_type":"function", "header":"sys/wait.h", "extensions":[]}, + {"ident":"waitpid", "id_type":"function", "header":"sys/wait.h", "extensions":[]}, + {"ident":"WCHAR_MAX", "id_type":"macro", "header":"wchar.h", "extensions":[]}, + {"ident":"WCHAR_MIN", "id_type":"macro", "header":"wchar.h", "extensions":[]}, + {"ident":"wchar_t", "id_type":"macro", "header":"stddef.h", "extensions":["CX"]}, + {"ident":"WCONTINUED", "id_type":"constant", "header":"sys/wait.h", "extensions":["XSI"]}, + {"ident":"wcpcpy", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcpncpy", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcrtomb", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcscasecmp", "id_type":"function", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"wcscasecmp_l", "id_type":"function", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"wcscat", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcschr", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcscmp", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcscoll", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcscoll_l", "id_type":"function", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"wcscpy", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcscspn", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsdup", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsftime", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcslen", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsncasecmp", "id_type":"function", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"wcsncasecmp_l", "id_type":"function", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"wcsncat", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsncmp", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsncpy", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsnlen", "id_type":"function", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"wcsnrtombs", "id_type":"function", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"wcspbrk", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsrchr", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsrtombs", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsspn", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsstr", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcstod", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcstof", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcstoimax", "id_type":"function", "header":"inttypes.h", "extensions":[]}, + {"ident":"wcstok", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcstol", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcstold", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcstoll", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcstombs", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"wcstoul", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcstoull", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcstoumax", "id_type":"function", "header":"inttypes.h", "extensions":[]}, + {"ident":"wcswidth", "id_type":"function", "header":"wchar.h", "extensions":["XSI"]}, + {"ident":"wcsxfrm", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wcsxfrm_l", "id_type":"function", "header":"wchar.h", "extensions":["CX"]}, + {"ident":"wctob", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wctomb", "id_type":"function", "header":"stdlib.h", "extensions":[]}, + {"ident":"wctrans", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"wctrans_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"wctrans_t", "id_type":"type", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"wctype", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"wctype_l", "id_type":"function", "header":"wctype.h", "extensions":["OB","XSI"]}, + {"ident":"wctype_t", "id_type":"type", "header":"wchar.h", "extensions":["OB","XSI"]}, + {"ident":"wcwidth", "id_type":"function", "header":"wchar.h", "extensions":["XSI"]}, + {"ident":"WEOF", "id_type":"macro", "header":"wchar.h", "extensions":[]}, + {"ident":"WEXITED", "id_type":"constant", "header":"sys/wait.h", "extensions":[]}, + {"ident":"WEXITSTATUS", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]}, + {"ident":"WIFCONTINUED", "id_type":"constant", "header":"sys/wait.h", "extensions":[]}, + {"ident":"WIFEXITED", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]}, + {"ident":"WIFSIGNALED", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]}, + {"ident":"WIFSTOPPED", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]}, + {"ident":"wint_t", "id_type":"type", "header":"wchar.h", "extensions":["OB","XSI"]}, + {"ident":"wmemchr", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wmemcmp", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wmemcpy", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wmemmove", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"wmemset", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"WNOHANG", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]}, + {"ident":"WNOWAIT", "id_type":"constant", "header":"sys/wait.h", "extensions":[]}, + {"ident":"WORD_BIT", "id_type":"macro", "header":"limits.h", "extensions":[]}, + {"ident":"wordexp", "id_type":"function", "header":"wordexp.h", "extensions":[]}, + {"ident":"wordexp_t", "id_type":"type", "header":"wordexp.h", "extensions":[]}, + {"ident":"wordfree", "id_type":"function", "header":"wordexp.h", "extensions":[]}, + {"ident":"wprintf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"WRDE_APPEND", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"WRDE_BADCHAR", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"WRDE_BADVAL", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"WRDE_CMDSUB", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"WRDE_DOOFFS", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"WRDE_NOCMD", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"WRDE_NOSPACE", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"WRDE_REUSE", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"WRDE_SHOWERR", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"WRDE_SYNTAX", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"WRDE_UNDEF", "id_type":"constant", "header":"wordexp.h", "extensions":[]}, + {"ident":"write", "id_type":"function", "header":"unistd.h", "extensions":[]}, + {"ident":"writev", "id_type":"function", "header":"sys/uio.h", "extensions":["XSI"]}, + {"ident":"wscanf", "id_type":"function", "header":"wchar.h", "extensions":[]}, + {"ident":"WSTOPPED", "id_type":"constant", "header":"sys/wait.h", "extensions":[]}, + {"ident":"WSTOPSIG", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]}, + {"ident":"WTERMSIG", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]}, + {"ident":"WUNTRACED", "id_type":"constant", "header":"sys/wait.h", "extensions":["CX"]}, + {"ident":"X_OK", "id_type":"constant", "header":"unistd.h", "extensions":[]}, + {"ident":"xor", "id_type":"macro", "header":"iso646.h", "extensions":[]}, + {"ident":"xor_eq", "id_type":"macro", "header":"iso646.h", "extensions":[]}, + {"ident":"y0", "id_type":"function", "header":"math.h", "extensions":["XSI"]}, + {"ident":"y1", "id_type":"function", "header":"math.h", "extensions":["XSI"]}, + {"ident":"yn", "id_type":"function", "header":"math.h", "extensions":["XSI"]} + ] +} diff --git a/share/libc/__fc_integer.h b/share/libc/__fc_integer.h new file mode 100644 index 0000000000000000000000000000000000000000..1dc5b29c85ecb486d3c65e5cd18f8ea208f50978 --- /dev/null +++ b/share/libc/__fc_integer.h @@ -0,0 +1,36 @@ +/**************************************************************************/ +/* */ +/* This file is part of Frama-C. */ +/* */ +/* Copyright (C) 2007-2019 */ +/* CEA (Commissariat à l'énergie atomique et aux énergies */ +/* 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). */ +/* */ +/**************************************************************************/ + + +#ifndef Frama_C_INTEGER +#define Frama_C_INTEGER +#include "features.h" +__PUSH_FC_STDLIB + +/*@ + + logic boolean bit_test(integer x, integer pos) = (boolean)(x & (1<<pos)); + + */ + +__POP_FC_STDLIB +#endif diff --git a/share/libc/arpa/inet.h b/share/libc/arpa/inet.h index 8e9cf21bdc537ec1fb4e4f53f1f946fd149858e8..773e7d87a2e5f1132865407f3879b5a3fc392785 100644 --- a/share/libc/arpa/inet.h +++ b/share/libc/arpa/inet.h @@ -23,4 +23,10 @@ // According to POSIX, definitions from both arpa/inet.h and netinet/in.h // may be exported by one another, so everything is defined in a common file. +#ifndef __FC_ARPA_INET +#define __FC_ARPA_INET +#include "features.h" +__PUSH_FC_STDLIB #include "../__fc_inet.h" +__POP_FC_STDLIB +#endif diff --git a/share/libc/byteswap.h b/share/libc/byteswap.h index f3ca11ff17c469366fa7ef95ee99d9c21d921efd..37cea739c8b27a5fa4a2b79f0f501ca46b00e7cd 100644 --- a/share/libc/byteswap.h +++ b/share/libc/byteswap.h @@ -80,7 +80,7 @@ # define __bswap_64(x) \ (__extension__ \ - ({ union { __extension__ unsigned long long int __ll; \ + ({ union __fc_bswap { __extension__ unsigned long long int __ll; \ unsigned int __l[2]; } __w, __r; \ if (__builtin_constant_p (x)) \ __r.__ll = __bswap_constant_64 (x); \ diff --git a/share/libc/dirent.h b/share/libc/dirent.h index 6d75102f9e1bb1e51ca609e8d532fdfdda787cd0..df5d82212c54b97b81a82f61086b8e3cbf6a867c 100644 --- a/share/libc/dirent.h +++ b/share/libc/dirent.h @@ -99,7 +99,7 @@ extern long telldir(DIR *); /* File types for `d_type'. */ -enum +enum __fc_readdir_dtype { DT_UNKNOWN = 0, # define DT_UNKNOWN DT_UNKNOWN diff --git a/share/libc/getopt.h b/share/libc/getopt.h index 6788b728779835daa8f5d3e12b7e9d08a85d47d0..b7f2116363d0e4cbf4068287e0f98a9f9e7756cf 100644 --- a/share/libc/getopt.h +++ b/share/libc/getopt.h @@ -27,14 +27,7 @@ __PUSH_FC_STDLIB __BEGIN_DECLS -extern char *optarg; -extern int optind, opterr, optopt; - -/*@ - assigns \result, *optarg, optind, opterr, optopt - \from argc, argv[0..argc-1], optstring[0..]; - */ -extern int getopt(int argc, char * const argv[], const char *optstring); +#include "unistd.h" /* GNU specific */ struct option diff --git a/share/libc/ifaddrs.h b/share/libc/ifaddrs.h index 9c1cadd191bf1f357ca9e077694639d9cdd03ef7..b66ab2e939e82808d228461181d0c6fbca933d80 100644 --- a/share/libc/ifaddrs.h +++ b/share/libc/ifaddrs.h @@ -37,7 +37,7 @@ struct ifaddrs { struct sockaddr *ifa_addr; struct sockaddr *ifa_netmask; struct sockaddr *ifa_dstaddr; - union { + union __fc_ifaddrs_ifa_ifu { struct sockaddr *ifu_broadaddr; struct sockaddr *ifu_dstaddr; } ifa_ifu; diff --git a/share/libc/locale.h b/share/libc/locale.h index 11f0244bcb3cf4b8f4df547113ba2de04669bf37..6cc0e08923d1ce49e3075c5195407f7d4ff324c2 100644 --- a/share/libc/locale.h +++ b/share/libc/locale.h @@ -131,20 +131,20 @@ struct lconv | LC_IDENTIFICATION_MASK \ ) -extern struct lconv* __frama_c_locale; -extern char*__frama_c_locale_names[512]; +extern struct lconv* __fc_locale; +extern char*__fc_locale_names[512]; /*@ requires locale_null_or_valid_string: locale == \null || valid_read_string(locale); - assigns __frama_c_locale \from category, locale[..]; - assigns \result \from __frama_c_locale,category, locale[..]; + assigns __fc_locale \from category, locale[..]; + assigns \result \from __fc_locale,category, locale[..]; ensures result_null_or_locale_name: \result==\null || (\valid(\result) - && \exists ℤ i ; \result == __frama_c_locale_names[i]) ; + && \exists ℤ i ; \result == __fc_locale_names[i]) ; */ extern char *setlocale(int category, const char *locale); /*@ assigns \nothing; - ensures result_current_locale: \result == __frama_c_locale; + ensures result_current_locale: \result == __fc_locale; */ extern struct lconv *localeconv(void); diff --git a/share/libc/net/if.h b/share/libc/net/if.h index 0b92ebd79829f463d0370a2b5ef0056eeb660e0b..5fac010b5d8af754758405404ed876b4dfff14bd 100644 --- a/share/libc/net/if.h +++ b/share/libc/net/if.h @@ -71,7 +71,7 @@ extern void if_freenameindex(struct if_nameindex *ni); struct ifaddr { struct sockaddr ifa_addr; /* Address of interface. */ - union + union __fc_ifa_ifu { struct sockaddr ifu_broadaddr; struct sockaddr ifu_dstaddr; @@ -111,11 +111,11 @@ struct ifmap { struct ifreq { # define IFHWADDRLEN 6 # define IFNAMSIZ IF_NAMESIZE - union { + union __fc_ifr_ifrn { char ifrn_name[IFNAMSIZ]; /* Interface name, e.g. "en0". */ } ifr_ifrn; - union { + union __fc_ifr_ifru { struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; @@ -154,7 +154,7 @@ struct ifreq { struct ifconf { int ifc_len; /* Size of buffer. */ - union + union __fc_ifc_ifcu { char *ifcu_buf; struct ifreq *ifcu_req; diff --git a/share/libc/netinet/in.h b/share/libc/netinet/in.h index 8e9cf21bdc537ec1fb4e4f53f1f946fd149858e8..e582651699c7282ef7ec944c133d44e3d351f50a 100644 --- a/share/libc/netinet/in.h +++ b/share/libc/netinet/in.h @@ -23,4 +23,10 @@ // According to POSIX, definitions from both arpa/inet.h and netinet/in.h // may be exported by one another, so everything is defined in a common file. +#ifndef __FC_NETINET_IN +#define __FC_NETINET_IN +#include "features.h" +__PUSH_FC_STDLIB #include "../__fc_inet.h" +__POP_FC_STDLIB +#endif diff --git a/share/libc/netinet/tcp.h b/share/libc/netinet/tcp.h index fb7abe05a65782a53e85991a95ebfab6b4c479ee..a1abf7157f3e83f9c3e1610981bbb2ddbb169f19 100644 --- a/share/libc/netinet/tcp.h +++ b/share/libc/netinet/tcp.h @@ -115,9 +115,9 @@ typedef u_int32_t tcp_seq; */ struct tcphdr { - __extension__ union + __extension__ union __fc_tcphdr { - struct + struct __fc_tcp_header_1 { u_int16_t th_sport; /* source port */ u_int16_t th_dport; /* destination port */ @@ -142,7 +142,7 @@ struct tcphdr u_int16_t th_sum; /* checksum */ u_int16_t th_urp; /* urgent pointer */ }; - struct + struct __fc_tcp_header_2 { u_int16_t source; u_int16_t dest; @@ -178,7 +178,7 @@ struct tcphdr }; }; -enum +enum __fc_tcp_state { TCP_ESTABLISHED = 1, TCP_SYN_SENT, @@ -305,7 +305,7 @@ struct tcp_repair_opt }; /* Queue to repair, for TCP_REPAIR_QUEUE. */ -enum +enum __fc_tcp_queue { TCP_NO_QUEUE, TCP_RECV_QUEUE, diff --git a/share/libc/pthread.h b/share/libc/pthread.h index ac9f78bc234e099c4e77ec0690697b2173030e18..eb5a186e082560b4a3564580ae3469cbe7f3d9ae 100644 --- a/share/libc/pthread.h +++ b/share/libc/pthread.h @@ -31,25 +31,25 @@ __PUSH_FC_STDLIB // The values for the constants below are based on an x86 Linux, // declared in the order given by POSIX.1-2008. -enum +enum __fc_pthread_cancelstate { PTHREAD_CANCEL_ENABLE, PTHREAD_CANCEL_DISABLE }; -enum +enum __fc_pthread_canceltype { PTHREAD_CANCEL_DEFERRED, PTHREAD_CANCEL_ASYNCHRONOUS }; -enum +enum __fc_pthread_detachstate { PTHREAD_CREATE_JOINABLE, PTHREAD_CREATE_DETACHED }; -enum +enum __fc_pthread_inheritsched { PTHREAD_INHERIT_SCHED, PTHREAD_EXPLICIT_SCHED @@ -57,13 +57,13 @@ enum /* Scope handling. */ -enum +enum __fc_pthread_scope { PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS }; -enum +enum __fc_pthread_mutex_type { PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_RECURSIVE, @@ -71,20 +71,20 @@ enum PTHREAD_MUTEX_DEFAULT }; -enum +enum __fc_pthread_mutex_robust { PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST }; -enum +enum __fc_pthread_mutex_protocol { PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT }; -enum +enum __fc_pthread_mutex_pshared { PTHREAD_PROCESS_PRIVATE, PTHREAD_PROCESS_SHARED diff --git a/share/libc/semaphore.h b/share/libc/semaphore.h index 765cd52cb54e180d73188d19c4973ee4b3eb615d..dc25bc5309169e5e3a7a4b3e5ea48ff4ef76cb27 100644 --- a/share/libc/semaphore.h +++ b/share/libc/semaphore.h @@ -30,7 +30,7 @@ __PUSH_FC_STDLIB __BEGIN_DECLS -typedef union { +typedef union __fc_sem_t { char __size[16]; } sem_t; diff --git a/share/libc/sys/select.h b/share/libc/sys/select.h index 8e1608d267e3da518ee4f933fc4e891b2e3a3a30..dc854567f329a5d5114a336774aa5d0b1bbe6688 100644 --- a/share/libc/sys/select.h +++ b/share/libc/sys/select.h @@ -26,7 +26,7 @@ __PUSH_FC_STDLIB __BEGIN_DECLS -#include "__fc_select.h" +#include "../__fc_select.h" __END_DECLS __POP_FC_STDLIB diff --git a/share/libc/sys/socket.h b/share/libc/sys/socket.h index 20b339c5ed8e978866fbbcb07cd91fdd55b3c0b0..eb57e0efbaa5ee79c9810fe091b10d253e9c868d 100644 --- a/share/libc/sys/socket.h +++ b/share/libc/sys/socket.h @@ -46,7 +46,7 @@ struct sockaddr_storage { sa_family_t ss_family; }; -#include "../__fc_define_iovec.h" +#include "sys/uio.h" struct cmsghdr { socklen_t cmsg_len; @@ -269,7 +269,7 @@ extern unsigned char *CMSG_DATA(struct cmsghdr *cmsg); #define SOMAXCONN 128 -enum { +enum __fc_shutdown { SHUT_RD, SHUT_WR, SHUT_RDWR diff --git a/share/libc/sys/time.h b/share/libc/sys/time.h index b860763f4d3909a5c198a66af5701417801f78c9..426f637688704543ab931b8ea5d48424d621bdaf 100644 --- a/share/libc/sys/time.h +++ b/share/libc/sys/time.h @@ -205,6 +205,11 @@ extern int timerisset(struct timeval *tvp); #define timercmp(a, b, _CMP) _timercmp(a, b) extern int _timercmp(struct timeval *a, struct timeval *b); +// From POSIX, and for better compatibility with existing code bases: +// "Inclusion of the <sys/time.h> header may make visible all symbols +// from the <sys/select.h> header." +#include "select.h" + __END_DECLS __POP_FC_STDLIB #endif diff --git a/share/libc/syslog.h b/share/libc/syslog.h index 937e3fcfbe3a1a9e781946dcc26615d65afade6c..107ccb5fd3471df1cefa5512a76f14f495180b19 100644 --- a/share/libc/syslog.h +++ b/share/libc/syslog.h @@ -29,7 +29,7 @@ __PUSH_FC_STDLIB __BEGIN_DECLS -typedef struct _code { +typedef struct __fc_code { const char *c_name; int c_val; } CODE; diff --git a/share/libc/unistd.h b/share/libc/unistd.h index 9ee67070df73b4a30d6884ac5c8f021896bac633..4a8a0455ceb36a581255d0a30a29e4f94a198aba 100644 --- a/share/libc/unistd.h +++ b/share/libc/unistd.h @@ -34,7 +34,7 @@ __PUSH_FC_STDLIB #include "__fc_define_pid_t.h" #include "__fc_define_useconds_t.h" #include "__fc_define_intptr_t.h" -#include "__fc_select.h" + #include "limits.h" @@ -68,7 +68,7 @@ extern volatile int Frama_C_entropy_source; __BEGIN_DECLS /* Values for the NAME argument to `pathconf' and `fpathconf'. */ -enum +enum __fc_pathconf_name { _PC_LINK_MAX, #define _PC_LINK_MAX _PC_LINK_MAX @@ -115,7 +115,7 @@ enum }; /* Values for the argument to `sysconf'. */ -enum +enum __fc_sysconf_name { _SC_ARG_MAX, #define _SC_ARG_MAX _SC_ARG_MAX @@ -577,7 +577,7 @@ enum }; /* Values for the NAME argument to `confstr'. */ -enum +enum __fc_confstr_name { _CS_PATH, /* The default search path. */ #define _CS_PATH _CS_PATH @@ -1096,7 +1096,7 @@ extern int tcsetpgrp(int, pid_t); extern int truncate(const char *, off_t); extern volatile char __fc_ttyname[TTY_NAME_MAX]; -extern char *__fc_p_ttyname = __fc_ttyname; +volatile char *__fc_p_ttyname = __fc_ttyname; /*@ // missing: may assign to errno: EBADF, ENOTTY @@ -1188,6 +1188,15 @@ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); */ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); +extern char *optarg; +extern int optind, opterr, optopt; + +/*@ + assigns \result, *optarg, optind, opterr, optopt + \from argc, argv[0..argc-1], optstring[0..]; + */ +extern int getopt(int argc, char * const argv[], const char *optstring); + __END_DECLS diff --git a/src/kernel_internals/typing/allocates.mli b/src/kernel_internals/typing/allocates.mli index 8e03dec87599f7dd73882a6a401822fbfc28fd29..db5e15c991b84372b92ac48aafae25ab6d493b2e 100644 --- a/src/kernel_internals/typing/allocates.mli +++ b/src/kernel_internals/typing/allocates.mli @@ -20,7 +20,12 @@ (* *) (**************************************************************************) -(** Generation of default [allocates \nothing] clauses. *) +(** Generation of default [allocates \nothing] clauses. + + Automatic generation of [allocates \nothing] and [loop allocates \nothing] + clauses has been removed until a plugin supports them. + To force generation, the following functions can be used. +*) val add_allocates_nothing_funspec: Cil_types.kernel_function -> unit (** Adds [allocates \nothing] to the default behavior of the function diff --git a/src/kernel_internals/typing/asm_contracts.ml b/src/kernel_internals/typing/asm_contracts.ml index 74ea3ab799eddce2ab73093eea341864183ba3c1..b7b7c48bf13716b8882c66befcfb348e5724efe0 100644 --- a/src/kernel_internals/typing/asm_contracts.ml +++ b/src/kernel_internals/typing/asm_contracts.ml @@ -79,6 +79,12 @@ let access_ptr_elts ~loc tlv = let range = Logic_const.trange ~loc (None, None) in let basetype = Cil.typeOfTermLval tlv in let base = Logic_const.term ~loc (TLval tlv) basetype in + let base, basetype = + if Logic_utils.isLogicVoidPointerType basetype then begin + let typ = Ctype Cil.charPtrType in + Logic_const.term ~loc (TCastE(Cil.charPtrType,base)) typ, typ + end else base, basetype + in let offset = Logic_const.term ~loc (TBinOp (PlusPI, base, range)) basetype in TMem offset, TNoOffset diff --git a/src/kernel_internals/typing/cabs2cil.ml b/src/kernel_internals/typing/cabs2cil.ml index a8012c9c465ba4586ebad9e4b558678c24d625ee..b6660cac117df911653abe7845e0ba8ae15a8897 100644 --- a/src/kernel_internals/typing/cabs2cil.ml +++ b/src/kernel_internals/typing/cabs2cil.ml @@ -613,7 +613,15 @@ let process_pragmas_pack_align_field_attributes fi fattrs cattr = Drop existing "aligned" attributes, if there are invalid ones. *) if Cil.hasAttribute "packed" cattr then (dropAttribute "aligned" fattrs) else begin - let align = Integer.(min n (of_int (Cil.bytesSizeOf fi.ftype))) in + let sizeof_type = + match Cil.unrollType fi.ftype with + | TArray (_, None, _, _) -> + (* flexible array member: use size of pointer *) + Cil.bitsSizeOf theMachine.upointType + | _ -> + Cil.bytesSizeOf fi.ftype + in + let align = Integer.(min n (of_int sizeof_type)) in Kernel.feedback ~dkey:Kernel.dkey_typing_pragma ~current:true "adding aligned(%a) attribute to field '%s.%s' due to packing pragma" (Integer.pretty ~hexa:false) align fi.fcomp.cname fi.fname; diff --git a/src/kernel_services/abstract_interp/bottom.ml b/src/kernel_services/abstract_interp/bottom.ml index c6ae61d80ae4388dd589aefb37f602232ed75845..12c57bbe21327b1c4f0965c4d8ff69136d088e88 100644 --- a/src/kernel_services/abstract_interp/bottom.ml +++ b/src/kernel_services/abstract_interp/bottom.ml @@ -52,6 +52,12 @@ let equal equal x y = match x, y with | `Value vx, `Value vy -> equal vx vy | _ -> false +let compare compare a b = match a, b with + | `Bottom, `Bottom -> 0 + | `Bottom, _ -> -1 + | _, `Bottom -> 1 + | `Value v, `Value w -> compare v w + let is_included is_included x y = match x, y with | `Bottom, _ -> true | _, `Bottom -> false @@ -75,6 +81,10 @@ let pretty pretty fmt = function | `Bottom -> Format.fprintf fmt "Bottom" | `Value v -> pretty fmt v +let iter f = function + | `Bottom -> () + | `Value v -> f v + let counter = ref 0 diff --git a/src/kernel_services/abstract_interp/bottom.mli b/src/kernel_services/abstract_interp/bottom.mli index 7fca1504bf344fe2b83b1036d3026be61a54a1ec..051fed464a90759ea1f9c67b09a2d786e25f1407 100644 --- a/src/kernel_services/abstract_interp/bottom.mli +++ b/src/kernel_services/abstract_interp/bottom.mli @@ -41,6 +41,7 @@ val is_bottom: 'a or_bottom -> bool val non_bottom: 'a or_bottom -> 'a val equal: ('a -> 'a -> bool) -> 'a or_bottom -> 'a or_bottom -> bool +val compare: ('a -> 'a -> int) -> 'a or_bottom -> 'a or_bottom -> int val is_included: ('a -> 'a -> bool) -> 'a or_bottom -> 'a or_bottom -> bool val join: ('a -> 'a -> 'a) -> 'a or_bottom -> 'a or_bottom -> 'a or_bottom val join_list: ('a -> 'a -> 'a) -> 'a or_bottom list -> 'a or_bottom @@ -50,6 +51,7 @@ val pretty : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a or_bottom -> unit +val iter: ('a -> unit) -> 'a or_bottom -> unit (** Datatype constructor. *) module Make_Datatype diff --git a/src/kernel_services/ast_queries/cil.ml b/src/kernel_services/ast_queries/cil.ml index 6b8f9d91e8e15bd13ef38dd1457acf7619bc17eb..ef22afcb87bfa37c7133f9e6fdfc8bc8e5ccc7bf 100644 --- a/src/kernel_services/ast_queries/cil.ml +++ b/src/kernel_services/ast_queries/cil.ml @@ -3244,7 +3244,7 @@ let mkLoop ?(sattr = [Attr("while", [])]) ~(guard:exp) ~(body: stmt list) : stmt (mkStmt ~valid_sid:true (If(guard, mkBlock [], - mkBlock [ mkStmt (Break guard.eloc)], guard.eloc)) :: + mkBlock [ mkStmt ~valid_sid:true (Break guard.eloc)], guard.eloc)) :: body), guard.eloc, None, None)) ] let mkFor ~(start: stmt list) ~(guard: exp) ~(next: stmt list) diff --git a/src/kernel_services/ast_queries/file.ml b/src/kernel_services/ast_queries/file.ml index eacf1fbb240e999cc00e420f86d124949860c1f8..14db347afbc46b11af0042036227eb41fbd7fa6b 100644 --- a/src/kernel_services/ast_queries/file.ml +++ b/src/kernel_services/ast_queries/file.ml @@ -1162,6 +1162,7 @@ let init_project_from_cil_file prj file = Project.copy ~selection prj; Project.on prj (fun file -> fill_built_ins (); prepare_cil_file file) file +let files_pre_register_state = Files.pre_register_state module Global_annotation_graph = struct module Base = diff --git a/src/kernel_services/ast_queries/file.mli b/src/kernel_services/ast_queries/file.mli index d529d99e0f47a07a1dec138c7d4dd2197b6f48af..c4fcb4458d133d0356457ae0d5201a82edf873a7 100644 --- a/src/kernel_services/ast_queries/file.mli +++ b/src/kernel_services/ast_queries/file.mli @@ -219,6 +219,9 @@ val create_rebuilt_project_from_visitor: @modify Fluorine-20130401 added reorder optional argument *) +val prepare_cil_file: Cil_types.file -> unit +val files_pre_register_state: State.t + val init_from_cmdline: unit -> unit (** Initialize the cil file representation with the file given on the command line. diff --git a/src/kernel_services/plugin_entry_points/db.ml b/src/kernel_services/plugin_entry_points/db.ml index baad021381a46b3905e7a24582131c9f33fa833c..e88014be4f9ba107cf6e08cecf77bbd531802be6 100644 --- a/src/kernel_services/plugin_entry_points/db.ml +++ b/src/kernel_services/plugin_entry_points/db.ml @@ -316,6 +316,13 @@ module Value = struct let size = size let dependencies = [ Table_By_Callstack.self ] end) + module AfterTable = + Cil_state_builder.Stmt_hashtbl(Cvalue.Model) + (struct + let name = "Db.Value.AfterTable" + let size = size + let dependencies = [ AfterTable_By_Callstack.self ] + end) let self = Table_By_Callstack.self @@ -519,13 +526,18 @@ module Value = struct let add_formals_to_state = mk_fun "add_formals_to_state" - let noassert_get_stmt_state s = + let noassert_get_stmt_state ~after s = if !no_results (Kernel_function.(get_definition (find_englobing_kf s))) then Cvalue.Model.top else - try Table.find s + let (find, add), find_by_callstack = + if after + then AfterTable.(find, add), AfterTable_By_Callstack.find + else Table.(find, add), Table_By_Callstack.find + in + try find s with Not_found -> - let ho = try Some (Table_By_Callstack.find s) with Not_found -> None in + let ho = try Some (find_by_callstack s) with Not_found -> None in let state = match ho with | None -> Cvalue.Model.bottom @@ -534,21 +546,22 @@ module Value = struct Cvalue.Model.join acc state ) h Cvalue.Model.bottom in - Table.add s state; + add s state; state - let noassert_get_state k = + let noassert_get_state ?(after=false) k = match k with | Kglobal -> globals_state () - | Kstmt s -> noassert_get_stmt_state s + | Kstmt s -> + noassert_get_stmt_state ~after s - let get_stmt_state s = + let get_stmt_state ?(after=false) s = assert (is_computed ()); (* this assertion fails during value analysis *) - noassert_get_stmt_state s + noassert_get_stmt_state ~after s - let get_state k = + let get_state ?(after=false) k = assert (is_computed ()); (* this assertion fails during value analysis *) - noassert_get_state k + noassert_get_state ~after k let get_stmt_state_callstack ~after stmt = assert (is_computed ()); (* this assertion fails during value analysis *) diff --git a/src/kernel_services/plugin_entry_points/db.mli b/src/kernel_services/plugin_entry_points/db.mli index cd627fbe6855a4390136b3cd1228a135511f32a5..fe390a2c327da09e22208efe9dafb753b104b519 100644 --- a/src/kernel_services/plugin_entry_points/db.mli +++ b/src/kernel_services/plugin_entry_points/db.mli @@ -265,14 +265,15 @@ module Value : sig val get_initial_state : kernel_function -> state val get_initial_state_callstack : kernel_function -> state Value_types.Callstack.Hashtbl.t option - val get_state : kinstr -> state - + val get_state : ?after:bool -> kinstr -> state + (** [after] is false by default. *) val get_stmt_state_callstack: after:bool -> stmt -> state Value_types.Callstack.Hashtbl.t option - val get_stmt_state : stmt -> state - (** @plugin development guide *) + val get_stmt_state : ?after:bool -> stmt -> state + (** [after] is false by default. + @plugin development guide *) val fold_stmt_state_callstack : (state -> 'a -> 'a) -> 'a -> after:bool -> stmt -> 'a @@ -519,9 +520,9 @@ module Value : sig (**/**) (** {3 Internal use only} *) - val noassert_get_state : kinstr -> state + val noassert_get_state : ?after:bool -> kinstr -> state (** To be used during the value analysis itself (instead of - {!get_state}). *) + {!get_state}). [after] is false by default. *) val recursive_call_occurred: kernel_function -> unit diff --git a/src/libraries/datatype/unmarshal.ml b/src/libraries/datatype/unmarshal.ml index 888573ad32561e550d7ee883224466c68a787de1..314dadf1be0bc74b5a431dddd1ef5192f0376eb6 100644 --- a/src/libraries/datatype/unmarshal.ml +++ b/src/libraries/datatype/unmarshal.ml @@ -472,13 +472,25 @@ let input_val ch t = let clos = intern_rec [] t in return stk (Obj.add_offset (Obj.repr clos) ofs) - | 0x12 (* CODE_CUSTOM *) -> + | 0x12 | 0x19 (* CODE_CUSTOM (deprecated) or CODE_CUSTOM_FIXED *) -> let id = read_customident ch in let v = read_custom ch id in let dest = !ctr in ctr := dest + 1; return_block stk t v dest + | 0x18 (* CODE_CUSTOM_LEN *) -> + let id = read_customident ch in + (* Note: CODE_CUSTOM_FIXED and CODE_CUSTOM_LEN has the length of the + payload statically computable, but contrary to the C code, + we don't check that the size matches. *) + let _sz_32 = read32u ch in + let _sz_64 = read64u ch in + let v = read_custom ch id in + let dest = !ctr in + ctr := dest + 1; + return_block stk t v dest + | _ when code >= 0x80 (* PREFIX_SMALL_BLOCK *) -> let tag = code land 0xF in let size = (code lsr 4) land 0x7 in @@ -491,7 +503,7 @@ let input_val ch t = read_string stk t len | _ -> - ill_formed (Printf.sprintf "code %x" code) + ill_formed (Printf.sprintf "code 0x%x" code) in match t with | Dynamic f -> diff --git a/src/libraries/project/state_builder.mli b/src/libraries/project/state_builder.mli index 4dcb71335ce31c28052a37469838d9c0aa0a593c..7cc91b8fa94d8f79541610e5982b7e188de1a36a 100644 --- a/src/libraries/project/state_builder.mli +++ b/src/libraries/project/state_builder.mli @@ -458,7 +458,7 @@ end @since Carbon-20101201 *) module SharedCounter(Info : sig val name : string end) : Counter -(** Creates a projectified counter. +(** Creates a projectified counter. That starts at 0 @since Nitrogen-20111001 *) module Counter(Info : sig val name : string end) : Counter diff --git a/src/libraries/stdlib/extlib.ml b/src/libraries/stdlib/extlib.ml index e14bbd2582c262fe2697232b580f53b8b0bb0465..d2ce5179115b877f64e6f91650b6ebddd03a4893 100644 --- a/src/libraries/stdlib/extlib.ml +++ b/src/libraries/stdlib/extlib.ml @@ -108,6 +108,28 @@ let filter_map' f filter l= | [] -> [] | x::tl -> let x' = f x in if filter x' then x' :: aux tl else aux tl in aux l +let rec filter_map_opt f = function + | [] -> [] + | x::tl -> + match f x with + | None -> filter_map_opt f tl + | Some x' -> x' :: filter_map_opt f tl + +let rec fold_map f acc = function + | [] -> acc, [] + | x::tl -> + let (acc,x) = f acc x in + let (acc,tl) = fold_map f acc tl in + (acc,x::tl) + +let rec fold_map_opt f acc = function + | [] -> acc, [] + | x::tl -> + match f acc x with + | acc, None -> fold_map_opt f acc tl + | acc, Some x -> + let (acc,tl) = fold_map_opt f acc tl in + (acc,x::tl) let product_fold f acc e1 e2 = List.fold_left diff --git a/src/libraries/stdlib/extlib.mli b/src/libraries/stdlib/extlib.mli index a6ea92ff928e51c4dcec2525b7cba942173fd5bb..a51e4fe778189f3d4b072f4c92cf0bfe740c5ec0 100644 --- a/src/libraries/stdlib/extlib.mli +++ b/src/libraries/stdlib/extlib.mli @@ -102,8 +102,14 @@ val replace: ('a -> 'a -> bool) -> 'a -> 'a list -> 'a list val filter_map: ('a -> bool) -> ('a -> 'b) -> 'a list -> 'b list val filter_map': ('a -> 'b) -> ('b -> bool) -> 'a list -> 'b list +val filter_map_opt: ('a -> 'b option) -> 'a list -> 'b list (** Combines [filter] and [map]. *) +val fold_map: ('a -> 'b -> 'a * 'c) -> 'a -> 'b list -> 'a * 'c list +(** Combines [fold_left] and [map] *) +val fold_map_opt: ('a -> 'b -> 'a * 'c option) -> 'a -> 'b list -> 'a * 'c list +(** Combines [filter] [fold_left] and [map] *) + val product_fold: ('a -> 'b -> 'c -> 'a) -> 'a -> 'b list -> 'c list -> 'a (** [product f acc l1 l2] is similar to [fold_left f acc l12] with l12 the list of all pairs of an elt of [l1] and an elt of [l2] diff --git a/src/libraries/utils/hptmap.ml b/src/libraries/utils/hptmap.ml index 543f80ddafc0e32a295088a7fb0bfbb68821c80f..d7725d945383f676f453e37184198766270b7d05 100644 --- a/src/libraries/utils/hptmap.ml +++ b/src/libraries/utils/hptmap.ml @@ -38,6 +38,23 @@ module Big_Endian = struct let shorter (m:int) (n:int) = m > n + (* Returns a mask for the highest bit differing between [p0] and [p1]. *) + let branching_bit p0 p1 = + (* We want to compute the leftmost bit set in [v]; let's call it [i]. *) + let v = p0 lxor p1 in + (* Set all bits to the right of [i] in [v]; note that [i] is already set. *) + let v = v lor (v lsr 1) in + (* Now the 2 bits starting from [i] are set: [v] is 0-011?-?. *) + let v = v lor (v lsr 2) in + (* Now the 4 bits starting from [i] are set: [v] is 0-01111?-?. Etc. *) + let v = v lor (v lsr 4) in + let v = v lor (v lsr 8) in + let v = v lor (v lsr 16) in + let v = if Sys.int_size > 32 then v lor (v lsr 32) else v in + (* All bits at the right of [i] are set: [v] is 0-011-1. + Gets the highest bit set in [v]. *) + (succ v) lsr 1 + end (*i ------------------------------------------------------------------------ i*) @@ -96,6 +113,60 @@ end module Shape(Key: Id_Datatype) = struct type 'b t = (Key.t, 'b) tree + + let compare_v cmp t1 t2 = + match t1, t2 with + | Empty, Empty -> 0 + | Empty, _ -> -1 + | _, Empty -> 1 + | Leaf (k1,x1,_), Leaf (k2,x2,_) -> + let c = Key.compare k1 k2 in + if c <> 0 then c else cmp x1 x2 + | Leaf _, Branch _ -> -1 + | Branch _, Leaf _ -> 1 + | Branch (_p1,_m1,_l1,_r1,t1), Branch (_p2,_m2,_l2,_r2,t2) -> + let t1 = Tag_comp.get_tag t1 in + let t2 = Tag_comp.get_tag t2 in + Datatype.Int.compare t1 t2 + (* Taken and adapted from JCF code for the implementation + without tag *) + (*let c = Datatype.Int.compare p1 p2 in + if c <> 0 then c else + let c = Big_endian.compare m1 m2 in + if c <> 0 then c else + let c = compare l1 l2 in + if c <> 0 then c else + compare r1 r2 + *) + + let compare = + if Key.compare == Datatype.undefined + then begin + Cmdline.Kernel_log.debug + "%s shape, missing comparison function" (Type.name Key.ty); + Datatype.undefined + end + else compare_v + + let rec iter f htr = + match htr with + | Empty -> () + | Leaf (key, data, _) -> + f key data + | Branch (_, _, tree0, tree1, _tl) -> + iter f tree0; + iter f tree1 + + let pretty pretty_value fmt tree = + Pretty_utils.pp_iter2 + ~pre:"@[<v 3>{[ " ~suf:" ]}@]" ~sep:"@ " ~between:" -> " + iter Key.pretty (fun fmt v -> Format.fprintf fmt "@[%a@]" pretty_value v) + fmt tree + + let hash = hash_generic + + let equal = ( == ) + end module Make @@ -113,7 +184,8 @@ struct type key = Key.t type v = V.t - type 'a shape = 'a Shape(Key).t + module Shape = Shape(Key) + type 'a shape = 'a Shape.t type prefix = int * int (* A tree is either empty, or a leaf node, containing both @@ -142,42 +214,14 @@ struct prefix mask pretty_debug t1 pretty_debug t2 let compare = - if Key.compare == Datatype.undefined || - V.compare == Datatype.undefined - then ( + if V.compare == Datatype.undefined + then begin Cmdline.Kernel_log.debug - "(%s, %s) ptmap, missing comparison function: %b %b" - (Type.name Key.ty) (Type.name V.ty) - (Key.compare == Datatype.undefined) - (V.compare == Datatype.undefined); - Datatype.undefined - ) - else - let compare t1 t2 = - match t1, t2 with - | Empty, Empty -> 0 - | Empty, _ -> -1 - | _, Empty -> 1 - | Leaf (k1,x1,_), Leaf (k2,x2,_) -> - let c = Key.compare k1 k2 in - if c <> 0 then c else V.compare x1 x2 - | Leaf _, Branch _ -> -1 - | Branch _, Leaf _ -> 1 - | Branch (_p1,_m1,_l1,_r1,t1), Branch (_p2,_m2,_l2,_r2,t2) -> - let t1 = Tag_comp.get_tag t1 in - let t2 = Tag_comp.get_tag t2 in - Datatype.Int.compare t1 t2 - (* Taken and adapted from JCF code for the implementation - without tag *) - (*let c = Datatype.Int.compare p1 p2 in - if c <> 0 then c else - let c = Big_endian.compare m1 m2 in - if c <> 0 then c else - let c = compare l1 l2 in - if c <> 0 then c else - compare r1 r2 - *) - in compare + "(%s, %s) ptmap, missing comparison function" + (Type.name Key.ty) (Type.name V.ty); + Datatype.undefined + end + else Shape.compare V.compare let compositional_bool t = match t with @@ -197,20 +241,9 @@ struct | Branch (_,_,_,right,_) -> max_binding right | Leaf (key, data, _) -> key, data - let rec iter f htr = - match htr with - | Empty -> () - | Leaf (key, data, _) -> - f key data - | Branch (_, _, tree0, tree1, _tl) -> - iter f tree0; - iter f tree1 + let iter = Shape.iter - let pretty fmt tree = - Pretty_utils.pp_iter2 - ~pre:"@[<v 3>{[ " ~suf:" ]}@]" ~sep:"@ " ~between:" -> " - iter Key.pretty (fun fmt v -> Format.fprintf fmt "@[%a@]" V.pretty v) - fmt tree + let pretty = Shape.pretty V.pretty let empty = Empty @@ -441,26 +474,8 @@ struct matter how large $t_0$ and $t_1$ are, we can merge them simply by creating a new [Branch] node that has $t_0$ and $t_1$ as children! *) let join p0 t0 p1 t1 = - let m = (* Big_Endian.branching_bit p0 p1 in (inlined) *) - let v = p0 lxor p1 in - (* compute highest bit. - First, set all bits with weight less than - the highest set bit *) - let v1 = v lsr 1 in - let v2 = v lsr 2 in - let v = v lor v1 in - let v = v lor v2 in - let v1 = v lsr 3 in - let v2 = v lsr 6 in - let v = v lor v1 in - let v = v lor v2 in - let v1 = v lsr 9 in - let v2 = v lsr 18 in - let v = v lor v1 in - let v = v lor v2 in - (* then get highest bit *) - (succ v) lsr 1 - in + (* Computes a mask for the highest bit differing between [p0] and [p1]. *) + let m = Big_Endian.branching_bit p0 p1 in let p = Big_Endian.mask p0 (* for instance *) m in if (p0 land m) = 0 then wrap_Branch p m t0 t1 @@ -806,11 +821,9 @@ struct else if tree1' == Empty then tree0' else wrap_Branch p m tree0' tree1' - (* The comment below is outdated: [map] and [endo_map] do not have the - same signature for [f] *) (** [endo_map] is similar to [map], but attempts to physically share its - result with its input. This saves memory when [f] is the identity - function. *) + result with its input. This saves memory when [f] is the identity + function. *) let rec endo_map f tree = match tree with | Empty -> @@ -835,6 +848,16 @@ struct | Branch (p, m, t1, t2, _) -> wrap_Branch p m (from_shape f t1) (from_shape f t2) + let rec from_shape_id = function + | Empty -> Empty + | Leaf (key, value, _) -> wrap_Leaf key value + | Branch (p, m, t1, t2, _) as t -> + let t1' = from_shape_id t1 in + let t2' = from_shape_id t2 in + if (t1' == t1) && (t2' == t2) + then t + else wrap_Branch p m t1' t2' + module Cacheable = struct type t = hptmap diff --git a/src/libraries/utils/hptmap.mli b/src/libraries/utils/hptmap.mli index 34b2a3e36e1950895f86b7e44b84d1eb48fa9490..c6b2cd2d39512ff501b825f7df053195ce710b2c 100644 --- a/src/libraries/utils/hptmap.mli +++ b/src/libraries/utils/hptmap.mli @@ -49,6 +49,11 @@ end new maps whose shape are already known. *) module Shape (Key : Id_Datatype): sig type 'value t + val compare: ('value -> 'value -> int) -> 'value t -> 'value t -> int + val equal : 'value t -> 'value t -> bool + val pretty: 'value Pretty_utils.formatter -> 'value t Pretty_utils.formatter + val hash: 'value t -> int + val iter: (Key.t -> 'value -> unit) -> 'value t -> unit end module Make diff --git a/src/libraries/utils/hptmap_sig.mli b/src/libraries/utils/hptmap_sig.mli index c6ae85bcf1e0b6a3e06ae3d826dc33d54c843244..a22d6fa4b3f341420ec27abcda56d9ade100a36c 100644 --- a/src/libraries/utils/hptmap_sig.mli +++ b/src/libraries/utils/hptmap_sig.mli @@ -317,6 +317,9 @@ module type S = sig More efficient than just performing successive {!add} the elements of the other map *) + val from_shape_id: v shape -> t + (** Same as [from_shape (fun _ v -> v)]. *) + val shape: t -> v shape (** Export the map as a value suitable for functions {!inter_with_shape} and {!from_shape} *) diff --git a/src/libraries/utils/markdown.ml b/src/libraries/utils/markdown.ml new file mode 100644 index 0000000000000000000000000000000000000000..0295d8007b6588eac586be4811bc619ef65947d2 --- /dev/null +++ b/src/libraries/utils/markdown.ml @@ -0,0 +1,333 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(* --- Markdown Documentation Generation Utility --- *) +(* -------------------------------------------------------------------------- *) + +type md = Format.formatter -> unit +type text = md +type block = md +type section = md + +let pretty fmt w = w fmt +let pp_text = pretty +let pp_block = pretty +let pp_section = pretty + +(* -------------------------------------------------------------------------- *) +(* --- Context --- *) +(* -------------------------------------------------------------------------- *) + +type toc = level:int -> name:string -> title:string -> unit + +type context = { + page: string ; + path: string list ; + names: bool ; + level: int ; + toc: toc option ; +} + +let context = ref { + page = "" ; + path = [] ; + names = false ; + level = 0 ; + toc = None ; + } + +let local ctxt job data = + let current = !context in + try context := ctxt ; job data ; context := current + with err -> context := current ; raise err + +(* -------------------------------------------------------------------------- *) +(* --- Combinators --- *) +(* -------------------------------------------------------------------------- *) + +let nil _fmt = () +let empty= nil +let space fmt = Format.pp_print_space fmt () +let newline fmt = Format.pp_print_newline fmt () + +let merge sep ds fmt = + match List.filter (fun d -> d != nil) ds with + | [] -> () + | d::ds -> d fmt ; List.iter (fun d -> sep fmt ; d fmt) ds + +let glue ?sep ds fmt = + match sep with + | None -> List.iter (fun d -> d fmt) ds + | Some s -> merge s ds fmt + +let (<@>) a b = + if a == empty then b else + if b == empty then a else + fun fmt -> a fmt ; b fmt + +let (<+>) a b = + if a == empty then b else + if b == empty then a else + fun fmt -> a fmt ; space fmt ; b fmt + +let (</>) a b = + if a == empty then b else + if b == empty then a else + fun fmt -> a fmt ; newline fmt ; b fmt + +let fmt_text k fmt = Format.fprintf fmt "@[<h 0>%t@]" k +let fmt_block k fmt = Format.fprintf fmt "@[<v 0>%t@]@\n" k + +(* -------------------------------------------------------------------------- *) +(* --- Elementary Text --- *) +(* -------------------------------------------------------------------------- *) + +let raw s fmt = Format.pp_print_string fmt s +let rm s fmt = Format.pp_print_string fmt s +let it s fmt = Format.fprintf fmt "_%s_" s +let bf s fmt = Format.fprintf fmt "**%s**" s +let tt s fmt = Format.fprintf fmt "`%s`" s +let text = merge space +let praw s = fmt_block (raw s) + +(* -------------------------------------------------------------------------- *) +(* --- Links --- *) +(* -------------------------------------------------------------------------- *) + +type href = [ + | `URL of string + | `Page of string + | `Name of string + | `Section of string * string +] + +let filepath m = String.split_on_char '/' m + +let rec relative source target = + match source , target with + | p::ps , q::qs when p = q -> relative ps qs + | [] , _ -> target + | _::d , _ -> List.map (fun _ -> "..") d @ target + +let lnk target = + String.concat "/" (relative !context.path (filepath target)) + +let id m = + let buffer = Buffer.create (String.length m) in + let lowercase = Char.lowercase_ascii in + let dash = ref false in + let emit c = + if !dash then (Buffer.add_char buffer '-' ; dash := false) ; + Buffer.add_char buffer c in + String.iter + (function + | '0'..'9' as c -> emit c + | 'a'..'z' as c -> emit c + | 'A'..'Z' as c -> emit (lowercase c) + | '.' | '_' as c -> emit c + | ' ' | '\t' | '\n' | '-' -> dash := (Buffer.length buffer > 0) + | _ -> ()) m ; + Buffer.contents buffer + +let href ?title (h : href) fmt = + match title , h with + | None , `URL url -> Format.fprintf fmt "%s" url + | Some w , `URL url -> Format.fprintf fmt "[%s](%s)" w url + | None , `Page p -> Format.fprintf fmt "[%s](%s)" p (lnk p) + | Some w , `Page p -> Format.fprintf fmt "[%s](%s)" w (lnk p) + | None , `Section(p,s) -> Format.fprintf fmt "[%s](%s#%s)" s (lnk p) (id s) + | Some w , `Section(p,s) -> Format.fprintf fmt "[%s](%s#%s)" w (lnk p) (id s) + | None , `Name a -> Format.fprintf fmt "[%s](#%s)" a (id a) + | Some w , `Name a -> Format.fprintf fmt "[%s](#%s)" w (id a) + +(* -------------------------------------------------------------------------- *) +(* --- Blocks --- *) +(* -------------------------------------------------------------------------- *) + +let aname anchor fmt = + Format.fprintf fmt "<a name=\"%s\"></a>@\n" (id anchor) + +let title h ?name title fmt = + begin + let { level ; names ; toc } = !context in + let level = max 0 (min 5 (level + h - 1)) in + Format.fprintf fmt "%s %s" (String.make level '#') title ; + if names || name <> None || toc <> None then + begin + let anchor = match name with None -> title | Some a -> a in + Format.fprintf fmt " {#%s}" (id anchor) ; + (match toc with + | None -> () + | Some callback -> + callback ~level ~name:anchor ~title) ; + end ; + Format.pp_print_newline fmt () ; + end + +let h1 = title 1 +let h2 = title 2 +let h3 = title 3 +let h4 = title 4 + +let indent h w fmt = local { !context with level = !context.level + h } w fmt + +let in_h1 = indent 1 +let in_h2 = indent 2 +let in_h3 = indent 3 +let in_h4 = indent 4 + +let hrule fmt = Format.pp_print_string fmt "-------------------------@." + +let par w fmt = Format.fprintf fmt "@[<hov 0>%t@]@." w + +let list ws fmt = + List.iter + (fun w -> Format.fprintf fmt "@[<hov 2>- %t@]@." w) ws + +let enum ws fmt = + let k = ref 0 in + List.iter + (fun w -> incr k ; Format.fprintf fmt "@[<hov 3>%d. %t@]@." !k w) ws + +let description items fmt = + List.iter + (fun (a,w) -> Format.fprintf fmt "@[<hov 2>- **%s** %t@]@." a w) items + +let code ?(lang="") pp fmt = + begin + Format.fprintf fmt "@[<v 0>```%s" lang ; + let buffer = Buffer.create 80 in + let bfmt = Format.formatter_of_buffer buffer in + pp bfmt ; Format.pp_print_flush bfmt () ; + let content = Buffer.contents buffer in + let lines = String.split_on_char '\n' content in + let rec clean = function [] -> [] | ""::w -> clean w | w -> w in + List.iter + (fun l -> Format.fprintf fmt "@\n%s" l) + (List.rev (clean (List.rev (clean lines)))) ; + Format.fprintf fmt "@\n```@]@." + end + +type column = [ + | `Left of string + | `Right of string + | `Center of string +] + +let table columns rows fmt = + begin + Format.fprintf fmt "@[<v 0>" ; + List.iter + (function `Left h | `Right h | `Center h -> Format.fprintf fmt "| %s " h) + columns ; + Format.fprintf fmt "|@\n" ; + List.iter (fun column -> + let dash h k = String.make (max 3 (String.length h + k)) '-' in + match column with + | `Left h -> Format.fprintf fmt "|:%s" (dash h 1) + | `Right h -> Format.fprintf fmt "|%s:" (dash h 1) + | `Center h -> Format.fprintf fmt "|:%s:" (dash h 0) + ) columns ; + Format.fprintf fmt "|@\n" ; + List.iter (fun row -> + List.iter (fun col -> Format.fprintf fmt "| @[<h 0>%t@] " col) row ; + Format.fprintf fmt "|@\n" ; + ) rows ; + Format.fprintf fmt "@]@." ; + end + +let concat ps = merge newline (List.filter (fun p -> p != empty) ps) + +(* -------------------------------------------------------------------------- *) +(* --- Refs --- *) +(* -------------------------------------------------------------------------- *) + +let mk f fmt = (f ()) fmt +let mk_text = mk +let mk_block = mk + +(* -------------------------------------------------------------------------- *) +(* --- Sections --- *) +(* -------------------------------------------------------------------------- *) + +let document s = s + +let subsections section subsections = section </> in_h1 (merge newline subsections) + +let section ?name ~title content subsections = + h1 ?name title </> content </> in_h1 (merge newline subsections) + +(* -------------------------------------------------------------------------- *) +(* --- Include File --- *) +(* -------------------------------------------------------------------------- *) + +let from_file path fmt = + let inc = open_in path in + try + while true do + let line = input_line inc in + Format.pp_print_string fmt line ; + Format.pp_print_newline fmt () ; + done + with + | End_of_file -> close_in inc + | exn -> close_in inc ; raise exn + +let read_block = from_file +let read_section = from_file +let read_text path fmt = Format.fprintf fmt "@[<h 0>%t@]" (from_file path) + +(* -------------------------------------------------------------------------- *) +(* --- Dump to File --- *) +(* -------------------------------------------------------------------------- *) + +let rec mkdir root page = + let dir = Filename.dirname page in + if dir <> "." && dir <> ".." then + let path = Printf.sprintf "%s/%s" root dir in + if not (Sys.file_exists path) then + begin + mkdir root dir ; + try Unix.mkdir path 0o755 + with Unix.Unix_error _ -> + failwith (Printf.sprintf "Can not create direcoty '%s'" dir) + end + +let dump ~root ~page ?(names=false) ?toc doc = + local + { page ; path = filepath page ; level = 1 ; toc ; names = names } + begin fun () -> + mkdir root page ; + let out = open_out (Printf.sprintf "%s/%s" root page) in + let fmt = Format.formatter_of_out_channel out in + try + doc fmt ; + Format.pp_print_newline fmt () ; + close_out out ; + with err -> + Format.pp_print_newline fmt () ; + close_out out ; + raise err + end () + +(* -------------------------------------------------------------------------- *) diff --git a/src/libraries/utils/markdown.mli b/src/libraries/utils/markdown.mli new file mode 100644 index 0000000000000000000000000000000000000000..34b955919fcc8696722172e66ad43680b689335c --- /dev/null +++ b/src/libraries/utils/markdown.mli @@ -0,0 +1,183 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(* --- Markdown Documentation Generation Utility --- *) +(* -------------------------------------------------------------------------- *) + +(** {2 Markdown} + + A lightweight helper for generating Markdown documentation. + Two levels of formatters are defined to help managing indentation and + spaces: [text] for inline markdown, and [block] for markdown paragraphs. + +*) + +type text +type block +type section + +val (<@>) : text -> text -> text (** Infix operator for [glue] *) +val (<+>) : text -> text -> text (** Infix operator for [text] *) +val (</>) : block -> block -> block (** Infix operator for [concat] *) + +(** {2 Text Constructors} *) + +val nil : text (** Empty *) +val raw : string -> text (** inlined markdown format *) +val rm : string -> text (** roman (normal) style *) +val it : string -> text (** italic style *) +val bf : string -> text (** bold style *) +val tt : string -> text (** typewriter style *) + +val glue : ?sep:text -> text list -> text (** Glue text fragments *) +val text : text list -> text (** Glue text fragments with spaces *) + +(** {2 Block Constructors} *) + +val empty : block (** Empty *) +val hrule : block (** Horizontal rule *) + +val h1 : ?name:string -> string -> block (** Title level 1 *) +val h2 : ?name:string -> string -> block (** Title level 2 *) +val h3 : ?name:string -> string -> block (** Title level 3 *) +val h4 : ?name:string -> string -> block (** Title level 4 *) + +val in_h1 : block -> block (** Increment title levels by 1 *) +val in_h2 : block -> block (** Increment title levels by 2 *) +val in_h3 : block -> block (** Increment title levels by 3 *) +val in_h4 : block -> block (** Increment title levels by 4 *) + +val par : text -> block (** Simple text paragraph *) +val praw : string -> block (** Simple raw paragraph *) +val list : text list -> block (** Itemized list *) +val enum : text list -> block (** Enumerated list *) +val description : (string * text) list -> block (** Description list *) + +(** Formatted code. + + The code content is pretty-printed in a vertical [<v0>] box + with default [Format] formatter. + Leading and trailing empty lines are removed and indentation is + preserved. *) +val code : ?lang:string -> (Format.formatter -> unit) -> block + +val concat : block list -> block (** Glue paragraphs with empty lines *) + +(** {2 Hyperlinks} + + [`Page], [`Name] and [`Section] links refers to the current document, + see [dump] function below. + + In [`Section(p,t)], [p] is the page path relative to the + document {i root}, and [t] is the section title {i or} name. + + For [`Name a], the links refers to name or title [a] + in the {i current} page. + + Hence, everywhere throughout a self-content document directory [~root], + local page [~page] inside [~root] can be referenced + by [`Page page], and its sections can by [`Section(page,title)] + or [`Section(page,name)]. + +*) + +type href = [ + | `URL of string + | `Page of string + | `Name of string + | `Section of string * string +] + +(** Default [~title] is taken from [href]. When printed, + actual link will be relativized with respect to current page. *) +val href : ?title:string -> href -> text + +(** Define a local anchor *) +val aname : string -> block + +(** {2 Tables} *) + +type column = [ + | `Left of string + | `Right of string + | `Center of string +] + +val table : column list -> text list list -> block + +(** {2 Markdown Generator} + Generating function are called each time the markdown + fragment is printed. *) + +val mk_text : (unit -> text) -> text +val mk_block : (unit -> block) -> block + +(** {2 Sections} + + Sections are an alternative to [h1-h4] constructors to build + properly nested sub-sections. Deep sections at depth 5 and more are + flattened. +*) + +val section : ?name:string -> title:string -> block -> section list -> section +val subsections : section -> section list -> section +val document : section -> block + +(** {2 Dump to file} + + Generate the markdown [~page] in directory [~root] with the given content. + The [~root] directory shall be absolute or relative to the current working + directory. The [~page] file-path shall be relative to the [~root] directory + and will be used to relocate hyperlinks to other [`Page] and [`Section] + properly. + + Hence, everywhere throughout the document, [dump ~root ~page doc] + is referenced by [`Page page], and its sections are referenced by + [`Section(page,title)]. + +*) + +(** Callback to listen for actual sections when printing a page. *) +type toc = level:int -> name:string -> title:string -> unit + +(** Create a markdown page. + - [~root] document directory (relocatable) + - [~page] relative file-path of the page in [~root] (non relocatable) + - [~names] generate explicit [<a name=...>] tags for all titles + - [~toc] optional callback to register table of contents +*) +val dump : root:string -> page:string -> ?names:bool -> ?toc:toc -> block -> unit + +(** {2 Miscellaneous} *) + +val read_text : string -> text +val read_block : string -> block +val read_section : string -> section + +val fmt_text : (Format.formatter -> unit) -> text +val fmt_block : (Format.formatter -> unit) -> block +val pp_text : Format.formatter -> text -> unit +val pp_block : Format.formatter -> block -> unit +val pp_section : Format.formatter -> section -> unit + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/from/functionwise.ml b/src/plugins/from/functionwise.ml index 66d83674fe4205892624c5fdf2c01c365a269c53..3233b733bfc3f559d3062b8e4af0aa3769affb49 100644 --- a/src/plugins/from/functionwise.ml +++ b/src/plugins/from/functionwise.ml @@ -37,7 +37,7 @@ let () = From_parameters.ForceDeps.set_output_dependencies [Tbl.self] let force_compute = ref (fun _ -> assert false) module To_Use = struct - let get_value_state = Db.Value.get_stmt_state + let get_value_state s = Db.Value.get_stmt_state s let memo kf = Tbl.memo diff --git a/src/plugins/inout/operational_inputs.ml b/src/plugins/inout/operational_inputs.ml index 1c070d2ddf96a72f356d251e2394de36da5f4ced..3df4c0086321b7029848e3f25d6b536634a12e38 100644 --- a/src/plugins/inout/operational_inputs.ml +++ b/src/plugins/inout/operational_inputs.ml @@ -699,7 +699,7 @@ module FunctionWise = struct let module Computer = Computer(Fenv)(struct let _version = "functionwise" let _kf = kf - let stmt_state = Db.Value.get_stmt_state + let stmt_state s = Db.Value.get_stmt_state s let at_call stmt kf = get_external_aux ~stmt kf end) in Stack.iter diff --git a/src/plugins/qed/term.ml b/src/plugins/qed/term.ml index b9ab110d15a54cb535338cedda0091c4983e2df1..7a2a8774a2879c799d600886d122348bdcbe1fcd 100644 --- a/src/plugins/qed/term.ml +++ b/src/plugins/qed/term.ml @@ -722,7 +722,6 @@ struct mutable kid : int ; weak : W.t ; cache : term C.cache ; - mutable checks : STset.t STmap.t ; mutable builtins_fun : (term list -> tau option -> term) BUILTIN.t ; mutable builtins_get : (term list -> tau option -> term -> term) BUILTIN.t ; mutable builtins_eq : (term -> term -> term) BUILTIN.t ; @@ -733,7 +732,6 @@ struct kid = 0 ; weak = W.create 32993 ; (* 3-th Leyland Prime number *) cache = C.create ~size:0x1000 ; (* 4096 entries *) - checks = STmap.empty ; builtins_fun = BUILTIN.empty ; builtins_get = BUILTIN.empty ; builtins_eq = BUILTIN.empty ; @@ -743,9 +741,7 @@ struct let state = ref (empty ()) let get_state () = !state let set_state st = state := st - let release () = - C.clear !state.cache ; - !state.checks <- STmap.empty + let release () = C.clear !state.cache let in_state st f x = let old = !state in @@ -769,7 +765,6 @@ struct st.kid <- 0 ; W.clear st.weak; C.clear st.cache; - st.checks <- STmap.empty; st.builtins_fun <- BUILTIN.empty ; st.builtins_get <- BUILTIN.empty ; st.builtins_eq <- BUILTIN.empty ; @@ -812,30 +807,6 @@ struct } in W.add !state.weak e ; e - (* -------------------------------------------------------------------------- *) - (* --- Checker --- *) - (* -------------------------------------------------------------------------- *) - - let check r x = - let y = insert r in - if x != y then - begin - let s = - try STmap.find x !state.checks - with Not_found -> STset.empty in - !state.checks <- STmap.add x (STset.add y s) !state.checks - end ; - x - - let check_unit ~qed ~raw = - let p = insert (Eq(qed,raw)) in p - (* TODO:VAR: Vars.fold (fun x p -> insert (Bind(Forall,x,p))) p.vars p *) - - let iter_checks f = - STmap.iter - (fun qed s -> STset.iter (fun raw -> f ~qed ~raw) s) - !state.checks - (* -------------------------------------------------------------------------- *) (* --- Constructors for normalized terms --- *) (* -------------------------------------------------------------------------- *) diff --git a/src/plugins/qed/term.mli b/src/plugins/qed/term.mli index 3e58145442528148aaabbda5fe7d427b7e429da8..f12cd51b4c3b35337a98cac79716f63c5bb8f2dd 100644 --- a/src/plugins/qed/term.mli +++ b/src/plugins/qed/term.mli @@ -56,12 +56,6 @@ module Make (** Register a constant in the global state. *) val constant : term -> term - (** {2 Registered Checks} *) - - val check : repr -> term -> term - val check_unit : qed:term -> raw:term -> term - val iter_checks : (qed:term -> raw:term -> unit) -> unit - (** {2 Context Release} *) val release : unit -> unit diff --git a/src/plugins/server/.gitignore b/src/plugins/server/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..f1d2f8cc5ec41ae8f688b80afeb51e4084f3c60f --- /dev/null +++ b/src/plugins/server/.gitignore @@ -0,0 +1,4 @@ +/Makefile +/Server.mli +/tests/ptests_config +/tests/report/result diff --git a/src/plugins/server/Makefile.in b/src/plugins/server/Makefile.in new file mode 100644 index 0000000000000000000000000000000000000000..4035bc252a9bffce81e5de5b686fba20e51908cb --- /dev/null +++ b/src/plugins/server/Makefile.in @@ -0,0 +1,115 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2019 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# 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). # +# # +########################################################################## + +# Do not use ?= to initialize both below variables +# (fixed efficiency issue, see GNU Make manual, Section 8.11) +ifndef FRAMAC_SHARE +FRAMAC_SHARE :=$(shell frama-c-config -print-share-path) +endif +ifndef FRAMAC_LIBDIR +FRAMAC_LIBDIR :=$(shell frama-c-config -print-libpath) +endif + +################### +# Plug-in Setting # +################### + +PLUGIN_DIR ?=. +PLUGIN_ENABLE:=@ENABLE_SERVER@ +PLUGIN_NAME:=Server +PLUGIN_CMO:= \ + server_parameters \ + jbuffer \ + doc syntax data main request \ + server_batch \ + kernel_main \ + kernel_project \ + kernel_ast +PLUGIN_DISTRIBUTED:=$(PLUGIN_ENABLE) +PLUGIN_DISTRIB_EXTERNAL:= Makefile.in configure.ac configure +PLUGIN_TESTS_DIRS := batch + +PLUGIN_REQUIRES:= yojson + +PLUGIN_UNDOC:= server_batch.ml server_zmq.ml + +PLUGIN_GENERATED:= $(PLUGIN_DIR)/Server.mli + +################## +# ZeroMQ Support # +################## + +ifeq (@SERVER_ZMQ@,yes) +PLUGIN_REQUIRES+= zmq +PLUGIN_CMO+= server_zmq +endif + +################ +# Generic part # +################ + +include $(FRAMAC_SHARE)/Makefile.dynamic + +############## +# Server API # +############## + +SERVER_API= \ + doc.mli syntax.mli data.mli request.mli + +define Capitalize +$(shell printf "%s%s" \ + $$($(ECHO) $(1) | cut -c 1 | tr '[:lower:]' '[:upper:]') + $$($(ECHO) $(1) | cut -c 2-)) +endef + +define ExportModule +$(ECHO) "module $(call Capitalize, $(basename $(notdir $(1)))) : sig" >> $(2); +$(ECHO) '# 1 "$(1)"' >> $(2); +$(CAT) $(1) >> $(2); +$(ECHO) "end" >> $(2); +endef + +SERVER_MLI=$(addprefix $(Server_DIR)/, $(SERVER_API)) + +$(Server_DIR)/Server.mli: $(Server_DIR)/Makefile $(SERVER_MLI) + $(PRINT_MAKING) $@ "from" $(SERVER_MLI) + $(RM) $@ $@.tmp + $(ECHO) "(* This file is generated. Do not edit. *)" >> $@.tmp + $(ECHO) "(** {b Server Public API} *)" >> $@.tmp + $(foreach file,$(SERVER_MLI),$(call ExportModule,$(file),$@.tmp)) + $(CHMOD_RO) $@.tmp + $(MV) $@.tmp $@ + +##################################### +# Regenerating the Makefile on need # +##################################### + +ifeq ("$(FRAMAC_INTERNAL)","yes") +CONFIG_STATUS_DIR=$(FRAMAC_SRC) +else +CONFIG_STATUS_DIR=. +endif + +$(Server_DIR)/Makefile: $(Server_DIR)/Makefile.in \ + $(CONFIG_STATUS_DIR)/config.status + cd $(CONFIG_STATUS_DIR) && ./config.status --file $@ diff --git a/src/plugins/server/configure.ac b/src/plugins/server/configure.ac new file mode 100644 index 0000000000000000000000000000000000000000..4ab9e3f73f11ed3c98fdf85d9531e12b51368e10 --- /dev/null +++ b/src/plugins/server/configure.ac @@ -0,0 +1,84 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2019 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# 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). # +# # +########################################################################## + +######################################## +# Server as a standard Frama-C plug-in # +######################################## + +m4_define([plugin_file],Makefile.in) + +m4_define([FRAMAC_SHARE_ENV], + [m4_normalize(m4_esyscmd([echo $FRAMAC_SHARE]))]) + +m4_define([FRAMAC_SHARE], + [m4_ifval(FRAMAC_SHARE_ENV,[FRAMAC_SHARE_ENV], + [m4_esyscmd(frama-c -print-path)])]) + +m4_ifndef([FRAMAC_M4_MACROS], [m4_include(FRAMAC_SHARE/configure.ac)]) + +check_plugin(server,PLUGIN_RELATIVE_PATH(plugin_file),[Server plug-in],yes) + +######################################## +# Server Main Configuration # +######################################## + +AC_MSG_CHECKING(for Yojson) +SERVER_LIB_YOJSON=$($OCAMLFIND query yojson -format %v) +if test -z "$SERVER_LIB_YOJSON" +then + AC_MSG_RESULT(Server disabled (use 'opam install yojson')) + plugin_disable(server) +else + AC_MSG_RESULT(yes) +fi + +######################################## +# Server ZMQ Configuration # +######################################## + +AC_ARG_ENABLE( + server-zmq, + [ --enable-server-zmq Server ZeroMQ support (default: yes)], + SERVER_ZMQ=$enableval, + SERVER_ZMQ=yes +) + +if test "$SERVER_ZMQ" = "yes" ; +then + AC_MSG_CHECKING(for ZeroMQ) + SERVER_LIB_ZMQ=$($OCAMLFIND query zmq -format %v) + if test -z "$SERVER_LIB_ZMQ" + then + AC_MSG_RESULT(Server support for ZeroMQ disabled (use 'opam install zmq').) + SERVER_ZMQ=no + else + AC_MSG_RESULT(yes); + fi +fi + +AC_SUBST(SERVER_ZMQ) + +####################### +# Generating Makefile # +####################### + +write_plugin_config(Makefile) diff --git a/src/plugins/server/data.ml b/src/plugins/server/data.ml new file mode 100644 index 0000000000000000000000000000000000000000..796f4c54dce76dfcd7a8422f0e45706c55c44694 --- /dev/null +++ b/src/plugins/server/data.ml @@ -0,0 +1,546 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(* --- Data Encoding --- *) +(* -------------------------------------------------------------------------- *) + +module Js = Yojson.Basic +module Ju = Yojson.Basic.Util + +type json = Js.t +let pretty = Js.pretty_print ~std:false + +module type S = +sig + type t + val syntax : Syntax.t + val of_json : json -> t + val to_json : t -> json +end + +module type Info = +sig + val page : Doc.page + val name : string + val descr : Markdown.text +end + +type 'a data = (module S with type t = 'a) + +exception InputError of string + +let failure ?json msg = + let add_json msg = + let msg = match json with + | None -> msg + | Some json -> + Format.asprintf "@[%s:@ %s@]" msg (Js.pretty_to_string json) + in + raise(InputError(msg)) + in + Pretty_utils.ksfprintf add_json msg + +let failure_from_type_error msg json = + failure ~json "%s" msg + +(* -------------------------------------------------------------------------- *) +(* --- Option --- *) +(* -------------------------------------------------------------------------- *) + +module Joption(A : S) : S with type t = A.t option = +struct + type t = A.t option + + let nullable = try ignore (A.of_json `Null) ; true with _ -> false + let syntax = + Syntax.option (if nullable then A.syntax else Syntax.tuple [A.syntax]) + + let to_json = function + | None -> `Null + | Some v -> if nullable then `List [A.to_json v] else A.to_json v + + let of_json = function + | `Null -> None + | `List [js] when nullable -> Some (A.of_json js) + | js -> Some (A.of_json js) + +end + +(* -------------------------------------------------------------------------- *) +(* --- Tuples --- *) +(* -------------------------------------------------------------------------- *) + +module Jpair(A : S)(B : S) : S with type t = A.t * B.t = +struct + type t = A.t * B.t + let syntax = Syntax.tuple [A.syntax;B.syntax] + let to_json (x,y) = `List [ A.to_json x ; B.to_json y ] + let of_json = function + | `List [ ja ; jb ] -> A.of_json ja , B.of_json jb + | js -> failure ~json:js "Expected list with 2 elements" +end + +module Jtriple(A : S)(B : S)(C : S) : S with type t = A.t * B.t * C.t = +struct + type t = A.t * B.t * C.t + let syntax = Syntax.tuple [A.syntax;B.syntax;C.syntax] + let to_json (x,y,z) = `List [ A.to_json x ; B.to_json y ; C.to_json z ] + let of_json = function + | `List [ ja ; jb ; jc ] -> A.of_json ja , B.of_json jb , C.of_json jc + | js -> failure ~json:js "Expected list with 3 elements" +end + +(* -------------------------------------------------------------------------- *) +(* --- Lists --- *) +(* -------------------------------------------------------------------------- *) + +module Jlist(A : S) : S with type t = A.t list = +struct + type t = A.t list + let syntax = Syntax.array A.syntax + let to_json xs = `List (List.map A.to_json xs) + let of_json js = List.map A.of_json (Ju.to_list js) +end + +(* -------------------------------------------------------------------------- *) +(* --- Arrays --- *) +(* -------------------------------------------------------------------------- *) + +module Jarray(A : S) : S with type t = A.t array = +struct + type t = A.t array + let syntax = Syntax.array A.syntax + let to_json xs = `List (List.map A.to_json (Array.to_list xs)) + let of_json js = Array.of_list @@ List.map A.of_json (Ju.to_list js) +end + +(* -------------------------------------------------------------------------- *) +(* --- Collections --- *) +(* -------------------------------------------------------------------------- *) + +module type S_collection = +sig + include S + module Joption : S with type t = t option + module Jlist : S with type t = t list + module Jarray : S with type t = t array +end + +module Collection(A : S) : S_collection with type t = A.t = +struct + include A + module Joption = Joption(A) + module Jlist = Jlist(A) + module Jarray = Jarray(A) +end + +(* -------------------------------------------------------------------------- *) +(* --- Atomic Types --- *) +(* -------------------------------------------------------------------------- *) + +module Junit : S with type t = unit = +struct + type t = unit + let syntax = Syntax.unit + let of_json _js = () + let to_json () = `Null +end + +module Jany : S with type t = json = +struct + type t = json + let syntax = Syntax.any + let of_json js = js + let to_json js = js +end + +module Jbool : S_collection with type t = bool = + Collection + (struct + type t = bool + let syntax = Syntax.boolean + let of_json = Ju.to_bool + let to_json b = `Bool b + end) + +module Jint : S_collection with type t = int = + Collection + (struct + type t = int + let syntax = Syntax.int + let of_json = Ju.to_int + let to_json n = `Int n + end) + +module Jfloat : S_collection with type t = float = + Collection + (struct + type t = float + let syntax = Syntax.number + let of_json = Ju.to_number + let to_json v = `Float v + end) + +module Jstring : S_collection with type t = string = + Collection + (struct + type t = string + let syntax = Syntax.string + let of_json = Ju.to_string + let to_json s = `String s + end) + +module Jident : S_collection with type t = string = + Collection + (struct + type t = string + let syntax = Syntax.ident + let of_json = Ju.to_string + let to_json s = `String s + end) + +let text_page = Doc.page `Kernel ~title:"Rich Text Format" ~filename:"text.md" + +module Jtext = +struct + include Jany + let syntax = Syntax.publish ~page:text_page ~name:"text" + ~synopsis:Syntax.any ~descr:(Markdown.rm "Formatted text.") () +end + +(* -------------------------------------------------------------------------- *) +(* --- Records --- *) +(* -------------------------------------------------------------------------- *) + +module Fmap = Map.Make(String) + +module Record( R : Info ) = +struct + + type t = json Fmap.t + + type 'a field = { + member : t -> bool ; + getter : t -> 'a ; + setter : t -> 'a -> t ; + } + + (* Declared Fields in this Record *) + let fdocs = ref [] + let defaults = ref Fmap.empty + + let default () = !defaults + let has fd r = fd.member r + let get fd r = fd.getter r + let set fd v r = fd.setter r v + + let field (type a) name ~descr ?default (d : a data) : a field = + let module D = (val d) in + begin match default with + | None -> () + | Some v -> defaults := Fmap.add name (D.to_json v) !defaults + end ; + fdocs := Syntax.{ name ; syntax = D.syntax ; descr } :: !fdocs ; + let member r = Fmap.mem name r in + let getter r = D.of_json (Fmap.find name r) in + let setter r v = Fmap.add name (D.to_json v) r in + { member ; getter ; setter } + + let option (type a) name ~descr (d : a data) : a option field = + let module D = (val d) in + fdocs := Syntax.{ name ; syntax = option D.syntax ; descr } :: !fdocs ; + let member r = Fmap.mem name r in + let getter r = + try Some (D.of_json (Fmap.find name r)) with Not_found -> None in + let setter r = function + | None -> Fmap.remove name r + | Some v -> Fmap.add name (D.to_json v) r in + { member ; getter ; setter } + + let fields () = Syntax.fields ~title:"Field" !fdocs + + let syntax = + Syntax.publish ~page:R.page ~name:R.name + ~descr:R.descr + ~synopsis:(Syntax.record []) + ~details:(Markdown.mk_block fields) () + + let of_json js = + List.fold_left + (fun r (fd,js) -> Fmap.add fd js r) + (default ()) (Ju.to_assoc js) + + let to_json r : json = + `Assoc (Fmap.fold (fun fd js fds -> (fd,js) :: fds) r []) + +end + +(* -------------------------------------------------------------------------- *) +(* --- Index --- *) +(* -------------------------------------------------------------------------- *) + +(** Simplified [Map.S] *) +module type Map = +sig + type 'a t + type key + val empty : 'a t + val add : key -> 'a -> 'a t -> 'a t + val find : key -> 'a t -> 'a +end + +module type Index = +sig + include S_collection + val get : t -> int + val find : int -> t + val clear : unit -> unit +end + +let publish_id (module A : Info) = + Syntax.publish + ~page:A.page ~name:A.name ~synopsis:Syntax.int ~descr:A.descr () + +module INDEXER(M : Map)(I : Info) : +sig + type index + val create : unit -> index + val clear : index -> unit + val get : index -> M.key -> int + val find : index -> int -> M.key + val to_json : index -> M.key -> json + val of_json : index -> json -> M.key +end = +struct + + type index = { + mutable kid : int ; + mutable index : int M.t ; + lookup : (int,M.key) Hashtbl.t ; + } + + let create () = { + kid = 0 ; + index = M.empty ; + lookup = Hashtbl.create 0 ; + } + + let clear m = + begin + m.kid <- 0 ; + m.index <- M.empty ; + Hashtbl.clear m.lookup ; + end + + let get m a = + try M.find a m.index + with Not_found -> + let id = m.kid in + m.kid <- succ id ; + m.index <- M.add a id m.index ; + Hashtbl.add m.lookup id a ; id + + let find m id = Hashtbl.find m.lookup id + + let to_json m a = `Int (get m a) + let of_json m js = + let id = Ju.to_int js in + try find m id + with Not_found -> + failure "[%s] No registered id #%d" I.name id + +end + +module Static(M : Map)(I : Info) : Index with type t = M.key = +struct + module INDEX = INDEXER(M)(I) + let index = INDEX.create () + let clear () = INDEX.clear index + let get = INDEX.get index + let find = INDEX.find index + include Collection + (struct + type t = M.key + let syntax = publish_id (module I) + let of_json = INDEX.of_json index + let to_json = INDEX.to_json index + end) +end + +module Index(M : Map)(I : Info) : Index with type t = M.key = +struct + + module INDEX = INDEXER(M)(I) + module TYPE : Datatype.S with type t = INDEX.index = + Datatype.Make + (struct + type t = INDEX.index + include Datatype.Undefined + let reprs = [INDEX.create()] + let name = "Server.Data.Index.Type." ^ I.name + let mem_project = Datatype.never_any_project + end) + module STATE = State_builder.Ref(TYPE) + (struct + let name = "Server.Data.Index.State." ^ I.name + let dependencies = [] + let default = INDEX.create + end) + + let index () = STATE.get () + let clear () = INDEX.clear (index()) + + let get a = INDEX.get (index()) a + let find id = INDEX.find (index()) id + + include Collection + (struct + type t = M.key + let syntax = publish_id (module I) + let of_json js = INDEX.of_json (index()) js + let to_json v = INDEX.to_json (index()) v + end) + +end + +module type IdentifiedType = +sig + type t + val id : t -> int + include Info +end + +module Identified(A : IdentifiedType) : Index with type t = A.t = +struct + + type index = (int,A.t) Hashtbl.t + + module TYPE : Datatype.S with type t = index = + Datatype.Make + (struct + type t = index + include Datatype.Undefined + let reprs = [Hashtbl.create 0] + let name = "Server.Data.Identified.Type." ^ A.name + let mem_project = Datatype.never_any_project + end) + + module STATE = State_builder.Ref(TYPE) + (struct + let name = "Server.Data.Identified.State." ^ A.name + let dependencies = [] + let default () = Hashtbl.create 0 + end) + + let lookup () = STATE.get () + let clear () = Hashtbl.clear (lookup()) + + let get = A.id + let find id = Hashtbl.find (lookup()) id + + include Collection + (struct + type t = A.t + let syntax = publish_id (module A) + let to_json a = `Int (get a) + let of_json js = + let k = Ju.to_int js in + try find k + with Not_found -> failure "[%s] No registered id #%d" A.name k + end) + +end + +(* -------------------------------------------------------------------------- *) +(* --- Dictionnary --- *) +(* -------------------------------------------------------------------------- *) + +module type Enum = +sig + type t + val values : (t * string * Markdown.text) list + include Info +end + +module Dictionary(E : Enum) = +struct + + let registered = ref false + let index = Hashtbl.create 0 + let lookup = Hashtbl.create 0 + + let register () = + if not !registered then + begin + registered := true ; + let invalid msg tag = + let msg = Printf.sprintf "Server.Data.Enum.%s: duplicate %s (%S)" + E.name msg tag in + raise (Invalid_argument msg) + in + List.iter + (fun (value,tag,_) -> + if Hashtbl.mem index value then invalid "value" tag ; + Hashtbl.add index value tag ; + if Hashtbl.mem lookup tag then invalid "tag" tag ; + Hashtbl.add lookup tag value ; + ) E.values + end + + let values () = + Markdown.table + [ `Left E.name ; `Left "Description" ] + (List.map + (fun (_,tag,descr) -> + [ Markdown.tt (Printf.sprintf "%S" tag) ; descr ] + ) E.values) + + include Collection + (struct + type t = E.t + + let syntax = Syntax.publish + ~page:E.page ~name:E.name + ~synopsis:Syntax.ident + ~descr:E.descr ~details:(Markdown.mk_block values) () + + let to_json value = + register () ; + try `String (Hashtbl.find index value) + with Not_found -> + raise (Invalid_argument + (Printf.sprintf "[%s] Unregistered value" E.name)) + + let of_json js = + register () ; + let tag = Ju.to_string js in + try Hashtbl.find lookup tag + with Not_found -> + let msg = Printf.sprintf "[%s] Unregistered tag %S" E.name tag in + raise (Ju.Type_error(msg,js)) + + end) + +end + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/data.mli b/src/plugins/server/data.mli new file mode 100644 index 0000000000000000000000000000000000000000..8c12a9465e4098629c4a1afd215439e31a481ef8 --- /dev/null +++ b/src/plugins/server/data.mli @@ -0,0 +1,196 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(** Data Encoding *) +(* -------------------------------------------------------------------------- *) + +type json = Json.t + +val pretty : Format.formatter -> json -> unit + +module type S = +sig + type t + val syntax : Syntax.t + val of_json : json -> t + val to_json : t -> json +end + + +(** Datatype registration. + + Name and page must be consistent with each other: + - The name must be lowercase, dash-separated list of identifiers + - Protocol data must start with ["<server>-*"] + - Plugin data must start with ["<plugin>-*"] +*) +module type Info = +sig + val page : Doc.page + val name : string + val descr : Markdown.text +end + +type 'a data = (module S with type t = 'a) + +(* -------------------------------------------------------------------------- *) +(** {2 Collections} *) +(* -------------------------------------------------------------------------- *) + +module type S_collection = +sig + include S + module Joption : S with type t = t option + module Jlist : S with type t = t list + module Jarray : S with type t = t array +end + +module Collection(A : S) : S_collection with type t = A.t + +(* -------------------------------------------------------------------------- *) +(** {2 Constructors} *) +(* -------------------------------------------------------------------------- *) + +module Joption(A : S) : S with type t = A.t option +module Jpair(A : S)(B : S) : S with type t = A.t * B.t +module Jtriple(A : S)(B : S)(C : S) : S with type t = A.t * B.t * C.t +module Jlist(A : S) : S with type t = A.t list +module Jarray(A : S) : S with type t = A.t array + +(* -------------------------------------------------------------------------- *) +(** {2 Atomic Data} *) +(* -------------------------------------------------------------------------- *) + +module Junit : S with type t = unit +module Jany : S with type t = json +module Jbool : S_collection with type t = bool +module Jint : S_collection with type t = int +module Jfloat : S_collection with type t = float +module Jstring : S_collection with type t = string +module Jident : S_collection with type t = string (** Syntax is {i ident}. *) +module Jtext : S with type t = json (** Rich text encoding, see [Jbuffer] *) + +(* -------------------------------------------------------------------------- *) +(** {2 Records} *) +(* -------------------------------------------------------------------------- *) + +module Record(R : Info) : +sig + (** A new type [t] is created for each application of the functor. *) + include S + + (** Parametric field. Can only be used with type [t]. *) + type 'a field + + (** Field constructor *) + val field : string -> descr:Markdown.text -> ?default:'a -> 'a data -> 'a field + + (** Optional field constructor *) + val option : string -> descr:Markdown.text -> 'a data -> 'a option field + + (** Field presence. If the field has a default value, it will be always + present. *) + val has : 'a field -> t -> bool + + (** Field accessor. + @raise Not_found if the field is optional and not present *) + val get : 'a field -> t -> 'a + + (** Field updator. *) + val set : 'a field -> 'a -> t -> t + + (** Contains only the default values. *) + val default : unit -> t + +end + +(* -------------------------------------------------------------------------- *) +(** {2 Indexed Values} *) +(* -------------------------------------------------------------------------- *) + +(** Simplified [Map.S] *) +module type Map = +sig + type 'a t + type key + val empty : 'a t + val add : key -> 'a -> 'a t -> 'a t + val find : key -> 'a t -> 'a +end + +module type Index = +sig + include S_collection + val get : t -> int + val find : int -> t (** @raise Not_found if not registered *) + val clear : unit -> unit + (** Clear index tables. Use with extreme care. *) +end + +(** Builds an indexer that {i does not} depend on current project. *) +module Static(M : Map)(I : Info) : Index with type t = M.key + +(** Builds a {i projectified} index. *) +module Index(M : Map)(I : Info) : Index with type t = M.key + +(* -------------------------------------------------------------------------- *) +(** {2 Identified Types} *) +(* -------------------------------------------------------------------------- *) + +module type IdentifiedType = +sig + type t + val id : t -> int + include Info +end + +(** Builds a {i projectified} index on types with {i unique} identifiers *) +module Identified(A : IdentifiedType) : Index with type t = A.t + +(* -------------------------------------------------------------------------- *) +(** {2 Dictionary} *) +(* -------------------------------------------------------------------------- *) + +module type Enum = +sig + type t + val values : (t * string * Markdown.text) list + include Info +end + +module Dictionary(E : Enum) : S_collection with type t = E.t + +(* -------------------------------------------------------------------------- *) +(** {2 Error handling} *) +(* -------------------------------------------------------------------------- *) + +(** Exception thrown during the decoding of a request's inputs *) +exception InputError of string + +val failure : ?json:json -> ('a, Format.formatter, unit, 'b) format4 -> 'a +(** @raise InputError with provided message *) + +val failure_from_type_error : string -> json -> 'a +(** @raise InputError from Yojson.Basic.Util.Type_error arguments *) + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/doc.ml b/src/plugins/server/doc.ml new file mode 100644 index 0000000000000000000000000000000000000000..0d141b3f018ecdd7b1946c5fa5f0db5a76bfd16f --- /dev/null +++ b/src/plugins/server/doc.ml @@ -0,0 +1,204 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(* --- Server Documentation --- *) +(* -------------------------------------------------------------------------- *) + +type json = Yojson.Basic.t +module Senv = Server_parameters +module Pages = Map.Make(String) + +type chapter = [ `Protocol | `Kernel | `Plugin of string ] + +type page = { + path : string ; + rootdir : string ; (* path to document root *) + chapter : chapter ; + title : string ; + order : int ; + intro : Markdown.section ; + mutable sections : Markdown.section list ; +} + +let order = ref 0 +let pages : page Pages.t ref = ref Pages.empty +let plugins : string list ref = ref [] +let entries : (string * Markdown.href) list ref = ref [] +let path page = page.path +let href page name : Markdown.href = `Section( page.path , name ) + +(* -------------------------------------------------------------------------- *) +(* --- Page Collection --- *) +(* -------------------------------------------------------------------------- *) + +let chapter pg = pg.chapter + +let page chapter ~title ~filename = + let rootdir,path = match chapter with + | `Protocol -> "." , filename + | `Kernel -> ".." , Printf.sprintf "kernel/%s" filename + | `Plugin name -> "../.." , Printf.sprintf "plugins/%s/%s" name filename + in + try + let other = Pages.find path !pages in + Senv.failure "Duplicate page '%s' path@." path ; other + with Not_found -> + let intro = match chapter with + | `Protocol -> + Printf.sprintf "%s/server/protocol/%s" Config.datadir filename + | `Kernel -> + Printf.sprintf "%s/server/kernel/%s" Config.datadir filename + | `Plugin name -> + if not (List.mem name !plugins) then plugins := name :: !plugins ; + Printf.sprintf "%s/%s/server/%s" Config.datadir name filename in + let intro = + if Sys.file_exists intro + then Markdown.read_section intro + else Markdown.(section ~title empty []) in + let order = incr order ; !order in + let page = { order ; rootdir ; path ; + chapter ; title ; intro ; + sections=[] } in + pages := Pages.add path page !pages ; page + +let publish ~page ?name ?(index=[]) ~title content sections = + let id = match name with Some id -> id | None -> title in + let href = `Section( page.path , id ) in + let section = Markdown.section ?name ~title content sections in + List.iter (fun entry -> entries := (entry , href) :: !entries) index ; + page.sections <- section :: page.sections ; href + +let _ = page `Protocol ~title:"Architecture" ~filename:"server.md" + +(* -------------------------------------------------------------------------- *) +(* --- Tables of Content --- *) +(* -------------------------------------------------------------------------- *) + +let title_of_chapter = function + | `Protocol -> "Server Protocols" + | `Kernel -> "Kernel Services" + | `Plugin name -> "Plugin " ^ String.capitalize_ascii name + +let pages_of_chapter c = + let w = ref [] in + Pages.iter + (fun _ p -> if p.chapter = c then w := p :: !w) !pages ; + List.sort (fun p q -> p.order - q.order) !w + +let table_of_chapter c fmt = + begin + Format.fprintf fmt "## %s@\n@." (title_of_chapter c) ; + List.iter + (fun p -> Format.fprintf fmt " - [%s](%s)@." p.title p.path) + (pages_of_chapter c) ; + Format.pp_print_newline fmt () ; + end + +let table_of_contents fmt = + begin + table_of_chapter `Protocol fmt ; + table_of_chapter `Kernel fmt ; + List.iter + (fun p -> table_of_chapter (`Plugin p) fmt) + (List.sort String.compare !plugins) + end + +let index () = + List.map + (fun (title,entry) -> Markdown.href ~title entry) + (List.sort (fun (a,_) (b,_) -> String.compare a b) !entries) + +let link ~toc ~title ~href : json = + let link = [ "title" , `String title ; "href" , `String href ] in + `Assoc (if not toc then link else ( "toc" , `Bool true ) :: link) + +let link_page page : json list = + List.fold_right + (fun p links -> + if p.chapter = page.chapter then + let toc = (p.path = page.path) in + let href = Filename.basename p.path in + link ~toc ~title:p.title ~href :: links + else links + ) (pages_of_chapter page.chapter) [] + +let maindata : json = + `Assoc [ + "document", `String "Frama-C Server" ; + "title",`String "Documentation" ; + "root", `String "." ; + ] + +let metadata page : json = + `Assoc [ + "document", `String "Frama-C Server" ; + "chapter", `String (title_of_chapter page.chapter) ; + "title", `String page.title ; + "root", `String page.rootdir ; + "link",`List (link_page page) ; + ] + +(* -------------------------------------------------------------------------- *) +(* --- Dump Documentation --- *) +(* -------------------------------------------------------------------------- *) + +let dump ~root ?(meta=true) () = + begin + Pages.iter + (fun path page -> + Senv.feedback "[doc] Page: '%s'" path ; + let body = Markdown.subsections page.intro (List.rev page.sections) in + Markdown.dump ~root ~page:path (Markdown.document body) ; + if meta then + let path = Printf.sprintf "%s/%s.json" root path in + Yojson.Basic.to_file path (metadata page) ; + ) !pages ; + Senv.feedback "[doc] Page: 'readme.md'" ; + if meta then + let path = Printf.sprintf "%s/readme.md.json" root in + Yojson.Basic.to_file path maindata ; + Markdown.(dump ~root ~page:"readme.md" + begin + h1 "Documentation" </> + par (bf "Version" <+> rm Config.version) </> + fmt_block table_of_contents </> + h2 "Index" </> + list (index ()) + end) ; + end + +let () = + Db.Main.extend begin + fun () -> + let root = Senv.Doc.get () in + if root <> "" then + if Sys.file_exists root && Sys.is_directory root then + begin + Senv.feedback "[doc] Root: '%s'" root ; + dump ~root () ; + end + else + Senv.error "[doc] File '%s' is not a directory" root + end + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/doc.mli b/src/plugins/server/doc.mli new file mode 100644 index 0000000000000000000000000000000000000000..e204916f44b8eec01dcc173221c77821bc990e9b --- /dev/null +++ b/src/plugins/server/doc.mli @@ -0,0 +1,68 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(** Server Documentation *) +(* -------------------------------------------------------------------------- *) + +open Markdown + +(** The main chapters of the documentation. *) +type chapter = [ `Protocol | `Kernel | `Plugin of string ] + +(** A page of the server documentation. *) +type page + +val path : page -> string +val href : page -> string -> href +val chapter : page -> chapter + +(** Obtain the given page in the server documentation. + + The page initially contains an introductory section + read from the share directory: + - [frama-c/share/protocol/<filename>] for protocol pages, + - [frama-c/share/server/kernel/<filename>] for kernel pages, + - [frama-c/share/<plugin>/server/<filename>] for plugin's pages. +*) +val page : chapter -> title:string -> filename:string -> page + +(** Adds a section in the corresponding page. + Returns an href to the published section. + If index items are provided, they are added + to the server documentation index. +*) +val publish : + page:page -> + ?name:string -> + ?index:string list -> + title:string -> + Markdown.block -> + Markdown.section list -> + href + +(** Dumps all published pages of documentations. Unless [~meta:false], + also generates METADATA for each page in + [<filename>.json] for each page. *) +val dump : root:string -> ?meta:bool -> unit -> unit + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/jbuffer.ml b/src/plugins/server/jbuffer.ml new file mode 100644 index 0000000000000000000000000000000000000000..70e5d66af55ac68ad3b4d464a644f168d18f6073 --- /dev/null +++ b/src/plugins/server/jbuffer.ml @@ -0,0 +1,137 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +type json = Yojson.Basic.t + +type buffer = { + text : FCBuffer.t ; + mutable rjson : json list ; (* Current op-codes in reverse order *) + mutable stack : ( string * json list ) list ; + mutable fmt : Format.formatter ; +} + +let append buffer s k n = + FCBuffer.add_substring buffer.text s k n + +let flush buffer () = + let t = buffer.text in + let n = FCBuffer.length t in + if n > 0 then + let js = `String (FCBuffer.contents t) in + buffer.rjson <- js :: buffer.rjson ; + FCBuffer.clear t + +let push_tag buffer tag = + flush buffer () ; + buffer.stack <- ( tag , buffer.rjson ) :: buffer.stack ; + buffer.rjson <- [] + +let pop_tag buffer _tag = + match buffer.stack with + | [] -> () + | (tag,rjson)::stack -> + flush buffer () ; + buffer.stack <- stack ; + let content = List.rev buffer.rjson in + buffer.rjson <- + if content = [] then rjson + else + let block = `List ( `String tag :: content ) in + block :: rjson + +let no_mark _tag = () +let mark_open_tag buffer tg = push_tag buffer tg ; "" +let mark_close_tag buffer tg = pop_tag buffer tg ; "" + +let create ?indent ?margin () = + let buffer = { + fmt = Format.err_formatter ; + text = FCBuffer.create 80 ; rjson = [] ; stack = [] + } in + let fmt = Format.make_formatter (append buffer) (flush buffer) in + buffer.fmt <- fmt ; + begin match indent , margin with + | None , None -> () + | Some k , None -> + let m = Format.pp_get_margin fmt () in + Format.pp_set_max_indent fmt (max 0 (min k m)) + | None , Some m -> + Format.pp_set_margin fmt (max 0 m) ; + let k = Format.pp_get_max_indent fmt () in + if k < m-10 then Format.pp_set_max_indent fmt (max 0 (m-10)) + | Some k , Some m -> + Format.pp_set_margin fmt (max 0 m) ; + Format.pp_set_max_indent fmt (max 0 (min k (m-10))) + end ; + begin + let open Format in + pp_set_formatter_tag_functions fmt { + print_open_tag = no_mark ; + print_close_tag = no_mark ; + mark_open_tag = mark_open_tag buffer ; + mark_close_tag = mark_close_tag buffer ; + } ; + pp_set_print_tags fmt false ; + pp_set_mark_tags fmt true ; + end ; + buffer + +let bprintf buffer msg = Format.fprintf buffer.fmt msg +let formatter buffer = buffer.fmt + +let contents buffer : json = + flush buffer () ; + while buffer.stack <> [] do + pop_tag buffer "" + done ; + match List.rev buffer.rjson with + | [] -> `Null + | [`String _ as text] -> text + | content -> `List ( `String "" :: content ) + +let format ?indent ?margin msg = + let buffer = create ?indent ?margin () in + Format.kfprintf + (fun fmt -> Format.pp_print_flush fmt () ; contents buffer) + buffer.fmt msg + +let to_json ?indent ?margin pp a = + let buffer = create ?indent ?margin () in + pp buffer.fmt a ; + Format.pp_print_flush buffer.fmt () ; + contents buffer + +let rec fprintf fmt = function + | `Null -> () + | `String text -> Format.pp_print_string fmt text + | `List ( `String tag :: content ) -> + if tag <> "" then + begin + Format.fprintf fmt "@{<%s>" tag ; + List.iter (fprintf fmt) content ; + Format.fprintf fmt "@}" ; + end + else + List.iter (fprintf fmt) content + | js -> raise (Yojson.Basic.Util.Type_error("Invalid rich-text format",js)) + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/jbuffer.mli b/src/plugins/server/jbuffer.mli new file mode 100644 index 0000000000000000000000000000000000000000..3e1e02a1beae8615cf925e52b980b093749766c1 --- /dev/null +++ b/src/plugins/server/jbuffer.mli @@ -0,0 +1,60 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +type json = Json.t + +(** All-in-one formatter. Return the JSON encoding of formatted text. *) +val format : ?indent:int -> ?margin:int -> + ('a,Format.formatter,unit,json) format4 -> 'a + +(** All-in-one formatter. Return the JSON encoding of formatted text. *) +val to_json : ?indent:int -> ?margin:int -> + (Format.formatter -> 'a -> unit) -> 'a -> json + +(** Buffer for encoding formatted text. *) +type buffer + +(** Create a formatter with [~indent] maximum indentation and + [~margin] right-margin. Defaults are those of [Format.make_formatter], + which are [~indent:68] and [~margin:78] with OCaml 4.05. *) +val create : ?indent:int -> ?margin:int -> unit -> buffer + +(** The underlying formatter of a buffer. *) +val formatter : buffer -> Format.formatter + +(** Prints into the buffer's formatter. *) +val bprintf : buffer -> ('a,Format.formatter,unit) format -> 'a + +val append : buffer -> string -> int -> int -> unit +val flush : buffer -> unit -> unit +val push_tag : buffer -> Format.tag -> unit +val pop_tag : buffer -> Format.tag -> unit + +(** Flushes the buffer and returns its JSON enoding. This pops all pending + tags. *) +val contents : buffer -> json + +(** Prints back a JSON encoding onto the provided formatter. + @raise Yojson.Basic.Util.Type_error in case of ill formatted buffer. *) +val fprintf : Format.formatter -> json -> unit + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/kernel_ast.ml b/src/plugins/server/kernel_ast.ml new file mode 100644 index 0000000000000000000000000000000000000000..77605bf53f37fa4b3c2518de252644bcaa148c17 --- /dev/null +++ b/src/plugins/server/kernel_ast.ml @@ -0,0 +1,166 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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 Data +module Sy = Syntax +module Md = Markdown +module Js = Yojson.Basic.Util +open Cil_types + +let page = Doc.page `Kernel ~title:"Ast Services" ~filename:"ast.md" + +(* -------------------------------------------------------------------------- *) +(* --- Compute Ast --- *) +(* -------------------------------------------------------------------------- *) + +let () = Request.register ~page + ~kind:`EXEC ~name:"kernel.ast.compute" + ~descr:(Md.rm "Ensures that AST is computed") + ~input:(module Junit) ~output:(module Junit) Ast.compute + +(* -------------------------------------------------------------------------- *) +(* --- Printers --- *) +(* -------------------------------------------------------------------------- *) + +module Tag = +struct + + open Printer_tag + + type index = (string,localizable) Hashtbl.t + + let kid = ref 0 + + let index () = Hashtbl.create 0 + + module TYPE : Datatype.S with type t = index = + Datatype.Make + (struct + type t = index + include Datatype.Undefined + let reprs = [index()] + let name = "Server.Jprinter.Index" + let mem_project = Datatype.never_any_project + end) + + module STATE = State_builder.Ref(TYPE) + (struct + let name = "Server.Jprinter.State" + let dependencies = [] + let default = index + end) + + let of_stmt s = Printf.sprintf "#s%d" s.sid + let of_start s = Printf.sprintf "#k%d" s.sid + let of_varinfo v = Printf.sprintf "#v%d" v.vid + + let create_tag = function + | PStmt(_,st) -> of_stmt st + | PStmtStart(_,st) -> of_start st + | PVDecl(_,_,vi) -> of_varinfo vi + | PLval _ -> Printf.sprintf "#l%d" (incr kid ; !kid) + | PExp _ -> Printf.sprintf "#e%d" (incr kid ; !kid) + | PTermLval _ -> Printf.sprintf "#t%d" (incr kid ; !kid) + | PGlobal _ -> Printf.sprintf "#g%d" (incr kid ; !kid) + | PIP _ -> Printf.sprintf "#p%d" (incr kid ; !kid) + + let create item = + let tag = create_tag item in + let index = STATE.get () in + Hashtbl.add index tag item ; tag + + let lookup = Hashtbl.find (STATE.get()) + +end + +module PP = Printer_tag.Make(Tag) + +(* -------------------------------------------------------------------------- *) +(* --- Ast Data --- *) +(* -------------------------------------------------------------------------- *) + +module Stmt = Data.Collection + (struct + type t = stmt + let syntax = Sy.publish ~page ~name:"stmt" + ~synopsis:Sy.ident + ~descr:(Md.rm "Code statement identifier") () + let to_json st = `String (Tag.of_stmt st) + let of_json js = + let id = Js.to_string js in + try + let open Printer_tag in + match Tag.lookup id with + | PStmt(_,st) -> st + | _ -> raise Not_found + with Not_found -> + Data.failure "Unknown stmt id: '%s'" id + end) + +module Ki = Data.Collection + (struct + type t = kinstr + let syntax = Sy.union [ Sy.tag "global" ; Stmt.syntax ] + let to_json = function + | Kglobal -> `String "global" + | Kstmt st -> `String (Tag.of_stmt st) + let of_json = function + | `String "global" -> Kglobal + | js -> Kstmt (Stmt.of_json js) + end) + +module Kf = Data.Collection + (struct + type t = kernel_function + let syntax = Sy.publish ~page ~name:"fct-id" + ~synopsis:Sy.ident + ~descr:(Md.rm "Function identified by its global name.") () + let to_json kf = + `String (Kernel_function.get_name kf) + let of_json js = + let key = Js.to_string js in + try Globals.Functions.find_by_name key + with Not_found -> Data.failure "Undefined function '%s'" key + end) + +(* -------------------------------------------------------------------------- *) +(* --- Functions --- *) +(* -------------------------------------------------------------------------- *) + +let () = Request.register ~page + ~kind:`GET ~name:"kernel.ast.getFunctions" + ~descr:(Md.rm "Collect all functions in the AST") + ~input:(module Junit) ~output:(module Kf.Jlist) + begin fun () -> + let pool = ref [] in + Globals.Functions.iter (fun kf -> pool := kf :: !pool) ; + List.rev !pool + end + +let () = Request.register ~page + ~kind:`GET ~name:"kernel.ast.printFunction" + ~descr:(Md.rm "Print the AST of a function") + ~input:(module Kf) ~output:(module Jtext) + (fun kf -> Jbuffer.to_json PP.pp_global (Kernel_function.get_global kf)) + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/value/domains/numerors/numerors_domain.ko.ml b/src/plugins/server/kernel_ast.mli similarity index 76% rename from src/plugins/value/domains/numerors/numerors_domain.ko.ml rename to src/plugins/server/kernel_ast.mli index eb6bc8b9a4fd68b544826004a66bc62dc4b3f43d..0b448e0e0bb89b4bd6ff46c94080022a91893f94 100644 --- a/src/plugins/value/domains/numerors/numerors_domain.ko.ml +++ b/src/plugins/server/kernel_ast.mli @@ -20,20 +20,15 @@ (* *) (**************************************************************************) -#24 "src/plugins/value/domains/numerors/numerors_domain.ko.ml" +open Cil_types -type value -type location = Precise_locs.precise_location -let value_key = Structure.Key_Value.create_key "dummy_numerors_values" +(* -------------------------------------------------------------------------- *) +(** Ast Data *) +(* -------------------------------------------------------------------------- *) -let ok = false +module PP : Printer_tag.S_pp +module Kf : Data.S_collection with type t = kernel_function +module Ki : Data.S_collection with type t = kinstr +module Stmt : Data.S_collection with type t = stmt -let abort () = - Value_parameters.abort - "The numerors domain has been requested but is not available, as Frama-C \ - did not found the MPFR library. The analysis is aborted." - -let add_numerors_value _ = abort () -let numerors_domain = abort - -let reduce_error _ = fun v -> v +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/kernel_main.ml b/src/plugins/server/kernel_main.ml new file mode 100644 index 0000000000000000000000000000000000000000..7448c53e42df57194b8c9855689822507fb1e25a --- /dev/null +++ b/src/plugins/server/kernel_main.ml @@ -0,0 +1,215 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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 Data +module Sy = Syntax +module Md = Markdown +module Senv = Server_parameters + +(* -------------------------------------------------------------------------- *) +(* --- Frama-C Kernel Services --- *) +(* -------------------------------------------------------------------------- *) + +let page = Doc.page `Kernel ~title:"Kernel Services" ~filename:"kernel.md" + +(* -------------------------------------------------------------------------- *) +(* --- Config --- *) +(* -------------------------------------------------------------------------- *) + +let () = + let get_config = Request.signature + ~page ~kind:`GET ~name:"kernel.getConfig" + ~descr:(Md.rm "Frama-C Kernel configuration") + ~input:(module Junit) () in + let result name descr = + Request.result get_config ~name ~descr:(Md.rm descr) (module Jstring) in + let set_version = result "version" "Frama-C version" in + let set_datadir = result "datadir" "Shared directory (FRAMAC_SHARE)" in + let set_libdir = result "libdir" "Lib directory (FRAMAC_LIB)" in + let set_pluginpath = Request.result get_config + ~name:"pluginpath" ~descr:(Md.rm "Plugin directories (FRAMAC_PLUGIN)") + (module Jstring.Jlist) in + Request.register_sig get_config + begin fun rq () -> + set_version rq Config.version ; + set_datadir rq Config.datadir ; + set_libdir rq Config.libdir ; + set_pluginpath rq Config.plugin_dir ; + end + +(* -------------------------------------------------------------------------- *) +(* --- File Positions --- *) +(* -------------------------------------------------------------------------- *) + +module RawSource = +struct + type t = Filepath.position + let syntax = Sy.publish ~page ~name:"source" + ~synopsis:(Sy.record [ "file" , Sy.string ; "line" , Sy.int ]) + ~descr:(Md.rm "Source file positions.") + ~details:(Md.praw "The file path is normalized, \ + and the line number starts at one.") () + + let to_json p = `Assoc [ + "file" , `String (p.Filepath.pos_path :> string) ; + "line" , `Int p.Filepath.pos_lnum ; + ] + + let of_json = function + | `Assoc [ "file" , `String path ; "line" , `Int line ] + | `Assoc [ "line" , `Int line ; "file" , `String path ] + -> Log.source ~file:(Filepath.Normalized.of_string path) ~line + | js -> failure_from_type_error "Invalid source format" js + +end + +module LogSource = Collection(RawSource) + +(* -------------------------------------------------------------------------- *) +(* --- Log Lind --- *) +(* -------------------------------------------------------------------------- *) + +module RawKind = +struct + type t = Log.kind + let page = page + let name = "kind" + let descr = Md.rm "Frama-C message category." + let values = [ + Log.Error, "ERROR", Md.rm "User Error" ; + Log.Warning, "WARNING", Md.rm "User Warning" ; + Log.Feedback, "FEEDBACK", Md.rm "Analyzer Feedback" ; + Log.Result, "RESULT", Md.rm "Analyzer Result" ; + Log.Failure, "FAILURE", Md.rm "Analyzer Failure" ; + Log.Debug, "DEBUG", Md.rm "Analyser Debug" ; + ] +end + +module LogKind = Dictionary(RawKind) + +(* -------------------------------------------------------------------------- *) +(* --- Log Events --- *) +(* -------------------------------------------------------------------------- *) + +module RawEvent = +struct + + module R = Record + (struct + let page = page + let name = "log" + let descr = Md.rm "Message event record." + end) + + let syntax = R.syntax + + let descr = Md.rm + let kind = R.field "kind" ~descr:(descr "Message kind") (module LogKind) + let plugin = R.field "plugin" ~descr:(descr "Emitter plugin") (module Jstring) + let message = R.field "message" ~descr:(descr "Message text") (module Jstring) + + let category = R.option "category" + ~descr:(descr "Message category (DEBUG or WARNING)") + (module Jstring) + + let source = R.option "source" ~descr:(descr "Source file position") + (module LogSource) + + type t = Log.event + + let to_json evt = + R.default () |> + R.set plugin evt.Log.evt_plugin |> + R.set kind evt.Log.evt_kind |> + R.set category evt.Log.evt_category |> + R.set source evt.Log.evt_source |> + R.set message evt.Log.evt_message |> + R.to_json + + let of_json js = + let r = R.of_json js in + { + Log.evt_plugin = R.get plugin r ; + Log.evt_kind = R.get kind r ; + Log.evt_category = R.get category r ; + Log.evt_source = R.get source r ; + Log.evt_message = R.get message r ; + } + +end + +module LogEvent = Collection(RawEvent) + +(* -------------------------------------------------------------------------- *) +(* --- Log Monitoring --- *) +(* -------------------------------------------------------------------------- *) + +let monitoring = ref false +let monitored = ref false +let events : Log.event Queue.t = Queue.create () + +let monitor flag = + if flag != !monitoring then + ( if flag then + Senv.feedback "Start logs monitoring." + else + Senv.feedback "Stop logs monitoring." ) ; + monitoring := flag ; + if !monitoring && not !monitored then + begin + monitored := true ; + Log.add_listener (fun evt -> if !monitoring then Queue.add evt events) + end + +let monitor_logs () = monitor (Senv.Log.get ()) + +let monitor_server activity = + if activity then monitor true else monitor_logs () + +let () = + Main.on monitor_server ; + Cmdline.run_after_configuring_stage monitor_logs + +(* -------------------------------------------------------------------------- *) +(* --- Log Requests --- *) +(* -------------------------------------------------------------------------- *) + +let () = Request.register + ~page ~kind:`SET ~name:"kernel.setLogs" + ~descr:(Md.rm "Turn logs monitoring on/off") + ~input:(module Jbool) ~output:(module Junit) monitor + +let () = Request.register + ~page ~kind:`GET ~name:"kernel.getLogs" + ~descr:(Md.rm "Flush the last emitted logs since last call (max 100)") + ~input:(module Junit) ~output:(module LogEvent.Jlist) + begin fun () -> + let pool = ref [] in + let count = ref 100 in + while not (Queue.is_empty events) && !count > 0 do + decr count ; + pool := Queue.pop events :: !pool + done ; + List.rev !pool + end + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/wp/share/why3/ExpLog.v b/src/plugins/server/kernel_main.mli similarity index 73% rename from src/plugins/wp/share/why3/ExpLog.v rename to src/plugins/server/kernel_main.mli index e7d71a0cc1a2573cd578615a2f318899335e550a..726d654e626ac7c69a35f08b97cc75ca6f60a33c 100644 --- a/src/plugins/wp/share/why3/ExpLog.v +++ b/src/plugins/server/kernel_main.mli @@ -1,9 +1,9 @@ (**************************************************************************) (* *) -(* This file is part of WP plug-in of Frama-C. *) +(* This file is part of Frama-C. *) (* *) (* Copyright (C) 2007-2019 *) -(* CEA (Commissariat a l'energie atomique et aux energies *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) (* alternatives) *) (* *) (* you can redistribute it and/or modify it under the terms of the GNU *) @@ -20,17 +20,11 @@ (* *) (**************************************************************************) -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require Reals.Rtrigo_def. -Require Reals.Rpower. -Require BuiltIn. -Require real.Real. -Require real.RealInfix. -Require real.ExpLog. +(* -------------------------------------------------------------------------- *) +(** Kernel Services *) +(* -------------------------------------------------------------------------- *) -(* Why3 goal *) -Lemma exp_pos : forall (x:R), (0%R < (Reals.Rtrigo_def.exp x))%R. -Admitted. +module LogSource : Data.S_collection with type t = Filepath.position +module LogEvent : Data.S_collection with type t = Log.event +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/kernel_project.ml b/src/plugins/server/kernel_project.ml new file mode 100644 index 0000000000000000000000000000000000000000..883cea34f37b7ec3b8725d2c62282b14c07d22d9 --- /dev/null +++ b/src/plugins/server/kernel_project.ml @@ -0,0 +1,123 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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 Data +module Sy = Syntax +module Md = Markdown +module Js = Yojson.Basic.Util + +let page = Doc.page `Kernel ~title:"Project Management" ~filename:"project.md" + +(* -------------------------------------------------------------------------- *) +(* --- Project Info --- *) +(* -------------------------------------------------------------------------- *) + +module ProjectInfo = + Collection + (struct + type t = Project.t + + let syntax = Sy.publish ~page ~name:"project-info" + ~descr:(Md.rm "Project informations") + ~synopsis:Sy.(record[ "id",ident; "name",string; "current",boolean ]) + () + + let of_json js = + Js.member "id" js |> Js.to_string |> Project.from_unique_name + + let to_json p = + `Assoc [ + "id", `String (Project.get_unique_name p) ; + "name", `String (Project.get_name p) ; + "current", `Bool (Project.is_current p) ; + ] + end) + +(* -------------------------------------------------------------------------- *) +(* --- Project Requests --- *) +(* -------------------------------------------------------------------------- *) + +module ProjectRequest = +struct + + type t = Project.t * string * json + + let syntax = Sy.publish ~page ~name:"project-request" + ~synopsis:(Sy.(record[ "project",ident; "request",string; "data",any; ])) + ~descr:(Md.rm "Request to be executed on the specified project.") () + + let of_json js = + begin + Project.from_unique_name Js.(member "project" js |> to_string) , + Js.(member "request" js |> to_string) , + Js.(member "data" js) + end + + let process kind (project,request,data) = + match Main.find request with + | Some(kd,handler) when kd = kind -> Project.on project handler data + | Some _ -> failwith (Printf.sprintf "Incompatible kind for '%s'" request) + | None -> failwith (Printf.sprintf "Request '%s' undefined" request) + +end + +(* -------------------------------------------------------------------------- *) +(* --- Project Requests --- *) +(* -------------------------------------------------------------------------- *) + +let () = Request.register ~page + ~kind:`GET ~name:"kernel.project.getCurrent" + ~descr:(Md.rm "Returns the current project") + ~input:(module Junit) ~output:(module ProjectInfo) + Project.current + +let () = Request.register ~page + ~kind:`SET ~name:"kernel.project.setCurrent" + ~descr:(Md.rm "Switches the current project") + ~input:(module Jident) ~output:(module Junit) + (fun pid -> Project.(set_current (from_unique_name pid))) + +let () = Request.register ~page + ~kind:`GET ~name:"kernel.project.getList" + ~descr:(Md.rm "Returns the list of all projects") + ~input:(module Junit) ~output:(module ProjectInfo.Jlist) + (fun () -> Project.fold_on_projects (fun ids p -> p :: ids) []) + +let () = Request.register ~page + ~kind:`GET ~name:"kernel.project.getOn" + ~descr:(Md.rm "Execute a GET request within the given project") + ~input:(module ProjectRequest) ~output:(module Jany) + (ProjectRequest.process `GET) + +let () = Request.register ~page + ~kind:`SET ~name:"kernel.project.setOn" + ~descr:(Md.rm "Execute a SET request within the given project") + ~input:(module ProjectRequest) ~output:(module Jany) + (ProjectRequest.process `SET) + +let () = Request.register ~page + ~kind:`EXEC ~name:"kernel.project.execOn" + ~descr:(Md.rm "Execute an EXEC request within the given project") + ~input:(module ProjectRequest) ~output:(module Jany) + (ProjectRequest.process `EXEC) + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/wp/ProverWhy3ide.mli b/src/plugins/server/kernel_project.mli similarity index 72% rename from src/plugins/wp/ProverWhy3ide.mli rename to src/plugins/server/kernel_project.mli index 04144226000fe0c14c17942edd512adb605b08b7..975e1e094f80f095534935294154b22ef3d95979 100644 --- a/src/plugins/wp/ProverWhy3ide.mli +++ b/src/plugins/server/kernel_project.mli @@ -1,9 +1,9 @@ (**************************************************************************) (* *) -(* This file is part of WP plug-in of Frama-C. *) +(* This file is part of Frama-C. *) (* *) (* Copyright (C) 2007-2019 *) -(* CEA (Commissariat a l'energie atomique et aux energies *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) (* alternatives) *) (* *) (* you can redistribute it and/or modify it under the terms of the GNU *) @@ -20,13 +20,13 @@ (* *) (**************************************************************************) -val run : - includes:string list -> - files:string list -> - session:string -> - bool Task.task +open Data -val prove : - ?callback:(Wpo.t -> VCS.prover -> VCS.result -> unit) -> - iter:((Wpo.t -> unit) -> unit) -> - unit Task.task +(* -------------------------------------------------------------------------- *) +(** Project Services *) +(* -------------------------------------------------------------------------- *) + +module ProjectInfo : Data.S with type t = Project.t +module ProjectRequest : Request.Input with type t = Project.t * string * json + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/main.ml b/src/plugins/server/main.ml new file mode 100644 index 0000000000000000000000000000000000000000..c00a228cf41eeb502c18f4eb23bf1695d5deb581 --- /dev/null +++ b/src/plugins/server/main.ml @@ -0,0 +1,310 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(* --- Server Main Process --- *) +(* -------------------------------------------------------------------------- *) + +module Senv = Server_parameters + +let option f = function None -> () | Some x -> f x + +(* -------------------------------------------------------------------------- *) +(* --- Registry --- *) +(* -------------------------------------------------------------------------- *) + +type kind = [ `GET | `SET | `EXEC ] +let string_of_kind = function `GET -> "GET" | `SET -> "SET" | `EXEC -> "EXEC" +let pp_kind fmt kd = Format.pp_print_string fmt (string_of_kind kd) + +let registry = Hashtbl.create 32 + +let register (kind : kind) request handler = + if Hashtbl.mem registry request then + Server_parameters.failure "Request '%s' already registered" request + else + Hashtbl.add registry request (kind,handler) + +let find request = + try Some (Hashtbl.find registry request) + with Not_found -> None + +let exec request data = (snd (Hashtbl.find registry request)) data + +(* -------------------------------------------------------------------------- *) +(* --- Public API --- *) +(* -------------------------------------------------------------------------- *) + +type json = Json.t + +type 'a request = [ + | `Poll + | `Request of 'a * string * json + | `Kill of 'a + | `Shutdown +] + +type 'a response = [ + | `Data of 'a * json + | `Error of 'a * string + | `Killed of 'a + | `Rejected of 'a +] + +type 'a message = { + requests : 'a request list ; + callback : 'a response list -> unit ; +} + +(* Private API: *) + +type 'a exec = { + id : 'a ; + request : string ; + data : json ; + handler : json -> json ; + yield : bool ; + mutable killed : bool ; +} + +type 'a server = { + rate : int ; + pretty : Format.formatter -> 'a -> unit ; + equal : 'a -> 'a -> bool ; + fetch : unit -> 'a message option ; + q_in : 'a exec Queue.t ; + q_out : 'a response Stack.t ; + mutable shutdown : bool ; + mutable coins : int ; + mutable running : 'a exec option ; +} + +exception Killed + +(* -------------------------------------------------------------------------- *) +(* --- Debug --- *) +(* -------------------------------------------------------------------------- *) + +let pp_request pp fmt (r : _ request) = + match r with + | `Poll -> Format.fprintf fmt "Poll" + | `Shutdown -> Format.fprintf fmt "Shutdown" + | `Kill id -> Format.fprintf fmt "Kill %a" pp id + | `Request(id,request,data) -> + if Senv.debug_atleast 2 then + Format.fprintf fmt "@[<hov 2>Request %s:%a@ %a@]" + request pp id Data.pretty data + else + Format.fprintf fmt "Request %s:%a" request pp id + +let pp_response pp fmt (r : _ response) = + match r with + | `Error(id,err) -> Format.fprintf fmt "Error %a: %s" pp id err + | `Rejected id -> Format.fprintf fmt "Rejected %a" pp id + | `Killed id -> Format.fprintf fmt "Killed %a" pp id + | `Data(id,data) -> + if Senv.debug_atleast 2 then + Format.fprintf fmt "@[<hov 2>Response %a@ %a@]" + pp id Data.pretty data + else + Format.fprintf fmt "Response %a" pp id + +(* -------------------------------------------------------------------------- *) +(* --- Request Handling --- *) +(* -------------------------------------------------------------------------- *) + +let no_yield () = () + +let execute exec : _ response = + try + let data = exec.handler exec.data in + `Data(exec.id,data) + with + | Killed -> `Killed exec.id + | Data.InputError msg -> `Error(exec.id,msg) + | Sys.Break as exn -> raise exn (* Silently pass the exception *) + | exn when Cmdline.catch_at_toplevel exn -> + Senv.warning "[%s] Uncaught exception:@\n%s" + exec.request (Cmdline.protect exn) ; + `Error(exec.id,Printexc.to_string exn) + +let execute_with_yield yield exec = + let db = !Db.progress in + Db.progress := if exec.yield then yield else no_yield ; + Extlib.try_finally ~finally:(fun () -> Db.progress := db) execute exec + +let execute_debug pp yield exec = + if Senv.debug_atleast 1 then + Senv.debug "Trigger %s:%a" exec.request pp exec.id ; + execute_with_yield yield exec + +let reply_debug server resp = + if Senv.debug_atleast 1 then + Senv.debug "%a" (pp_response server.pretty) resp ; + Stack.push resp server.q_out + +(* -------------------------------------------------------------------------- *) +(* --- Processing Requests --- *) +(* -------------------------------------------------------------------------- *) + +let raise_if_killed = function { killed } -> if killed then raise Killed +let kill_exec e = e.killed <- true +let kill_request eq id e = if eq id e.id then e.killed <- true + +let process_request (server : 'a server) (request : 'a request) : unit = + if Senv.debug_atleast 1 then + Senv.debug "%a" (pp_request server.pretty) request ; + match request with + | `Poll -> () + | `Shutdown -> + begin + option kill_exec server.running ; + Queue.clear server.q_in ; + Stack.clear server.q_out ; + server.shutdown <- true ; + end + | `Kill id -> + begin + let kill = kill_request server.equal id in + Queue.iter kill server.q_in ; + option kill server.running ; + end + | `Request(id,request,data) -> + begin + match find request with + | None -> reply_debug server (`Rejected id) + | Some( `GET , handler ) -> + let exec = { id ; request ; handler ; data ; + yield = false ; killed = false } in + reply_debug server (execute exec) + | Some( `SET , handler ) -> + let exec = { id ; request ; handler ; data ; + yield = false ; killed = false } in + Queue.push exec server.q_in + | Some( `EXEC , handler ) -> + let exec = { id ; request ; handler ; data ; + yield = true ; killed = false } in + Queue.push exec server.q_in + end + +(* -------------------------------------------------------------------------- *) +(* --- Fetching a Bunck of Messages --- *) +(* -------------------------------------------------------------------------- *) + +let communicate server = + match server.fetch () with + | None -> false + | Some message -> + let error = + try List.iter (process_request server) message.requests ; None + with exn -> Some exn in (* re-raised after message reply *) + let pool = ref [] in + Stack.iter (fun r -> pool := r :: !pool) server.q_out ; + Stack.clear server.q_out ; + message.callback !pool ; + option raise error ; true + +(* -------------------------------------------------------------------------- *) +(* --- Yielding --- *) +(* -------------------------------------------------------------------------- *) + +let do_yield server () = + begin + option raise_if_killed server.running ; + let n = server.coins in + if n < server.rate then + server.coins <- succ n + else + ( server.coins <- 0 ; ignore ( communicate server ) ) ; + end + +(* -------------------------------------------------------------------------- *) +(* --- One Step Process --- *) +(* -------------------------------------------------------------------------- *) + +let rec fetch_exec q = + if Queue.is_empty q then None + else + let e = Queue.pop q in + if e.killed then fetch_exec q else Some e + +let process server = + match fetch_exec server.q_in with + | None -> communicate server + | Some exec -> + server.running <- Some exec ; + try + reply_debug server (execute_debug server.pretty (do_yield server) exec) ; + server.running <- None ; + true + with exn -> + server.running <- None ; + raise exn + +(* -------------------------------------------------------------------------- *) +(* --- Server Main Loop --- *) +(* -------------------------------------------------------------------------- *) + +let in_range ~min:a ~max:b v = min (max a v) b + +let kill () = raise Killed +let yield () = !Db.progress () + +let demons = ref [] +let on callback = demons := !demons @ [ callback ] +let signal activity = + List.iter (fun f -> try f activity with _ -> ()) !demons + +let run ~pretty ?(equal=(=)) ~fetch () = + begin + let rate = in_range ~min:1 ~max:200 (Senv.Rate.get ()) in + let idle_ms = in_range ~min:1 ~max:2000 (Senv.Idle.get ()) in + let idle_s = float_of_int idle_ms /. 1000.0 in + let server = { + fetch ; coins = 0 ; rate ; equal ; pretty ; + q_in = Queue.create () ; + q_out = Stack.create () ; + running = None ; + shutdown = false ; + } in + try + (* TODO: remove the following line once the Why3 signal handler is not + used anymore. *) + Sys.catch_break true; + signal true ; + Senv.feedback "Server running." ; + begin try + while not server.shutdown do + let activity = process server in + if not activity then Unix.sleepf idle_s ; + done ; + with Sys.Break -> () (* Ctr+C, just leave the loop normally *) + end; + Senv.feedback "Server shutdown." ; + signal false ; + with exn -> + Senv.feedback "Server interruped (fatal error)." ; + signal false ; + raise exn + end + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/main.mli b/src/plugins/server/main.mli new file mode 100644 index 0000000000000000000000000000000000000000..721291d96e9b93c4d65676fb83b216fafba39bd7 --- /dev/null +++ b/src/plugins/server/main.mli @@ -0,0 +1,96 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(** Server Main Process *) +(* -------------------------------------------------------------------------- *) + +type json = Json.t +type kind = [ `GET | `SET | `EXEC ] +val string_of_kind : kind -> string +val pp_kind : Format.formatter -> kind -> unit + +(* -------------------------------------------------------------------------- *) +(** {2 Request Registry} *) +(* -------------------------------------------------------------------------- *) + +val register : kind -> string -> (json -> json) -> unit +val find : string -> (kind * (json -> json)) option +val exec : string -> json -> json (** @raises Not_found if not registered *) + +(* -------------------------------------------------------------------------- *) +(** {2 Server Main Process} *) +(* -------------------------------------------------------------------------- *) + +(** Type of request messages. + Parametrized by the type of request identifiers. *) +type 'a request = [ + | `Poll + | `Request of 'a * string * json + | `Kill of 'a + | `Shutdown +] + +(** Type of response messages. + Parametrized by the type of request identifiers. *) +type 'a response = [ + | `Data of 'a * json + | `Error of 'a * string + | `Killed of 'a + | `Rejected of 'a +] + +(** A paired request-response message. + The callback will be called exactly once for each received message. *) +type 'a message = { + requests : 'a request list ; + callback : 'a response list -> unit ; +} + +(** + Run a server with the provided low-level network primitives to + actually exchange data. + + The function does not return until the server is explicitely + Shutdown. Logs are monitored unless [~logs:false] is specified. + + Default equality is the standard `(=)` one. +*) +val run : + pretty:(Format.formatter -> 'a -> unit) -> + ?equal:('a -> 'a -> bool) -> + fetch:(unit -> 'a message option) -> + unit -> unit + +(** Yield the server during the currently running request. + Actually, calls [!Db.progress()]. *) +val yield : unit -> unit + +(** Kills the currently running request. Actually raises an exception. *) +val kill : unit -> 'a + +(** Register a callback to listen for server activity. + All callbacks would be executed in their order of registration. + They shall {i never} raise any exception. *) +val on : (bool -> unit) -> unit + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/request.ml b/src/plugins/server/request.ml new file mode 100644 index 0000000000000000000000000000000000000000..039ee9f3c3c161cc5fb5d7f9fa688b1f50b625ec --- /dev/null +++ b/src/plugins/server/request.ml @@ -0,0 +1,338 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +module Senv = Server_parameters +module Jutil = Yojson.Basic.Util + +(* -------------------------------------------------------------------------- *) +(* --- Request Registry --- *) +(* -------------------------------------------------------------------------- *) + +type json = Data.json +type kind = [ `GET | `SET | `EXEC ] + +module type Input = +sig + type t + val syntax : Syntax.t + val of_json : json -> t +end + +module type Output = +sig + type t + val syntax : Syntax.t + val to_json : t -> json +end + +type 'a input = (module Input with type t = 'a) +type 'a output = (module Output with type t = 'a) + +(* -------------------------------------------------------------------------- *) +(* --- Sanity Checks --- *) +(* -------------------------------------------------------------------------- *) + +let re_set = Str.regexp_string_case_fold "SET" +let re_get = Str.regexp_case_fold "\\(GET\\|PRINT\\)" +let re_exec = Str.regexp_case_fold "\\(EXEC\\|COMPUTE\\)" +let re_name = Str.regexp_case_fold "[a-zA-Z0-9.]+$" + +let wpage = Senv.register_warn_category "inconsistent-page" +let wkind = Senv.register_warn_category "inconsistent-kind" + +let check_name name = + if not (Str.string_match re_name name 0) then + Senv.warning ~wkey:Senv.wname + "Request %S is not a dot-separated list of (camlCased) identifiers" name + +let check_plugin plugin name = + let p = String.lowercase_ascii plugin in + let n = String.lowercase_ascii name in + let k = String.length plugin in + if not (String.length name > k && + String.sub n 0 k = p && + String.get n k = '.') + then + Senv.warning ~wkey:wpage + "Request '%s' shall be named « %s.* »" + name (String.capitalize_ascii plugin) + +let check_page page name = + match Doc.chapter page with + | `Kernel -> check_plugin "kernel" name + | `Plugin plugin -> check_plugin plugin name + | `Protocol -> + Senv.warning ~wkey:wkind + "Request '%s' shall not be published in protocol pages" name + +let check_kind kind name = + let re,key = match kind with + | `GET -> re_get , "get|print" + | `SET -> re_set , "set" + | `EXEC -> re_exec , "exec|compute" + in try ignore (Str.search_forward re name 0) with Not_found -> + Senv.warning "Request '%s' shall be named with « %s »" + name key + +(* -------------------------------------------------------------------------- *) +(* --- Multiple Fields Requests --- *) +(* -------------------------------------------------------------------------- *) + +module Fmap = Map.Make(String) + +type rq = { + mutable param : json Fmap.t ; + mutable result : json Fmap.t ; +} + +let fmap_of_json r js = + List.fold_left + (fun r (fd,js) -> Fmap.add fd js r) + r (Jutil.to_assoc js) + +let fmap_to_json r = + `Assoc (Fmap.fold (fun fd js r -> (fd,js)::r) r []) + +type 'a param = rq -> 'a +type 'a result = rq -> 'a -> unit + +(* -------------------------------------------------------------------------- *) +(* --- Input/Output Request Processing --- *) +(* -------------------------------------------------------------------------- *) + +type _ rq_input = + | Pnone + | Pdata : 'a input -> 'a rq_input + | Pfields : Syntax.field list -> unit rq_input + +type _ rq_output = + | Rnone + | Rdata : 'a output -> 'a rq_output + | Rfields : Syntax.field list -> unit rq_output + +(* json input syntax *) +let sy_input (type a) (input : a rq_input) : Syntax.t = + match input with + | Pnone -> assert false + | Pdata d -> let module D = (val d) in D.syntax + | Pfields _ -> Syntax.record [] + +(* json output syntax *) +let sy_output (type b) (output : b rq_output) : Syntax.t = + match output with + | Rnone -> assert false + | Rdata d -> let module D = (val d) in D.syntax + | Rfields _ -> Syntax.record [] + +(* json input documentation *) +let doc_input (type a) (input : a rq_input) : Markdown.block = + match input with + | Pnone -> assert false + | Pdata _ -> Markdown.empty + | Pfields fs -> Syntax.fields ~title:"Input" (List.rev fs) + +(* json output syntax *) +let doc_output (type b) (output : b rq_output) : Markdown.block = + match output with + | Rnone -> assert false + | Rdata _ -> Markdown.empty + | Rfields fs -> Syntax.fields ~title:"Output" (List.rev fs) + +(* -------------------------------------------------------------------------- *) +(* --- Multi-Parameters Requests --- *) +(* -------------------------------------------------------------------------- *) + +type ('a,'b) signature = { + page : Doc.page ; + kind : kind ; + name : string ; + descr : Markdown.text ; + details : Markdown.block ; + mutable defined : bool ; + mutable defaults : json Fmap.t ; + mutable required : string list ; + mutable input : 'a rq_input ; + mutable output : 'b rq_output ; +} + +let failure_missing fmap name = + Data.failure ~json:(fmap_to_json fmap) "Missing parameter '%s'" name + +let check_required fmap fd = + if not (Fmap.mem fd fmap) then failure_missing fmap fd + +(* -------------------------------------------------------------------------- *) +(* --- Named Input Parameters Definitions --- *) +(* -------------------------------------------------------------------------- *) + +(* current input fields *) +let fds_input s : Syntax.field list = + if s.defined then Senv.failure "Request '%s' has been finalized." s.name ; + match s.input with + | Pdata _ -> + Senv.fatal "Can not define named parameters for request '%s'" s.name + | Pnone -> [] + | Pfields fds -> fds + +let param (type a b) (s : (unit,b) signature) ~name ~descr + ?default (input : a input) : a param = + let module D = (val input) in + let syntax = if default = None then D.syntax else Syntax.option D.syntax in + let fd = Syntax.{ name ; syntax ; descr } in + s.input <- Pfields (fd :: fds_input s) ; + fun rq -> + try D.of_json (Fmap.find name rq.param) + with Not_found -> + match default with + | None -> failure_missing rq.param name + | Some v -> v + +let param_opt (type a b) (s : (unit,b) signature) ~name ~descr + (input : a input) : a option param = + let module D = (val input) in + let fd = Syntax.{ name ; syntax = Syntax.option D.syntax ; descr } in + s.input <- Pfields (fd :: fds_input s) ; + fun rq -> + try Some(D.of_json (Fmap.find name rq.param)) + with Not_found -> None + +(* -------------------------------------------------------------------------- *) +(* --- Named Output Parameters Definitions --- *) +(* -------------------------------------------------------------------------- *) + +(* current output fields *) +let fds_output s : Syntax.field list = + if s.defined then Senv.failure "Request '%s' has been finalized." s.name ; + match s.output with + | Rdata _ -> Senv.fatal "Can not define named results request '%s'" s.name + | Rnone -> [] + | Rfields fds -> fds + +let result (type a b) (s : (a,unit) signature) ~name ~descr + ?default (output : b output) : b result = + let module D = (val output) in + let fd = Syntax.{ name ; syntax = D.syntax ; descr } in + s.output <- Rfields (fd :: fds_output s) ; + begin + match default with + | None -> s.required <- name :: s.required + | Some v -> s.defaults <- Fmap.add name (D.to_json v) s.defaults + end ; + fun rq v -> rq.result <- Fmap.add name (D.to_json v) rq.result + +let result_opt (type a b) (s : (a,unit) signature) ~name ~descr + (output : b output) : b option result = + let module D = (val output) in + let fd = Syntax.{ name ; syntax = option D.syntax ; descr } in + s.output <- Rfields (fd :: fds_output s) ; + fun rq opt -> + match opt with None -> () | Some v -> + rq.result <- Fmap.add name (D.to_json v) rq.result + +(* -------------------------------------------------------------------------- *) +(* --- Opened Signature Definition --- *) +(* -------------------------------------------------------------------------- *) + +let signature + ~page ~kind ~name ~descr ?(details=Markdown.empty) + ?input ?output () = + check_name name ; + check_page page name ; + check_kind kind name ; + let input = match input with None -> Pnone | Some d -> Pdata d in + let output = match output with None -> Rnone | Some d -> Rdata d in + { + page ; kind ; name ; descr ; details ; + defaults = Fmap.empty ; required = [] ; + input ; output ; defined = false ; + } + +(* -------------------------------------------------------------------------- *) +(* --- Opened Signature Process --- *) +(* -------------------------------------------------------------------------- *) + +(* json input processing *) +let mk_input (type a) name defaults (input : a rq_input) : (rq -> json -> a) = + match input with + | Pnone -> Senv.fatal "No input defined for request '%s'" name + | Pdata d -> + let module D = (val d) in + begin fun rq js -> + rq.result <- defaults ; + try D.of_json js + with Jutil.Type_error (msg, js) -> Data.failure_from_type_error msg js + end + | Pfields _ -> + begin fun rq js -> + try rq.param <- fmap_of_json rq.param js + with Jutil.Type_error (msg, js) -> Data.failure_from_type_error msg js + end + +(* json output processing *) +let mk_output (type b) name required (output : b rq_output) : (rq -> b -> json) = + match output with + | Rnone -> Senv.fatal "No output defined for request '%s'" name + | Rdata d -> + let module D = (val d) in (fun _rq v -> D.to_json v) + | Rfields _ -> + (fun rq () -> + List.iter (check_required rq.result) required ; + fmap_to_json rq.result) + +let register_sig (type a b) (s : (a,b) signature) (process : rq -> a -> b) = + if s.defined then + Senv.fatal "Request '%s' is defined twice" s.name ; + let input = mk_input s.name s.defaults s.input in + let output = mk_output s.name s.required s.output in + let processor js = + let rq = { param = Fmap.empty ; result = Fmap.empty } in + js |> input rq |> process rq |> output rq + in + let skind = Main.string_of_kind s.kind in + let title = Printf.sprintf "`%s` %s" skind s.name in + let synopsis = + Markdown.table + [`Center "Input" ; `Center "Output" ] + [[ Syntax.format @@ sy_input s.input ; + Syntax.format @@ sy_output s.output ]] in + let content = + Markdown.concat [ + Markdown.par s.descr ; + synopsis ; + s.details ; + doc_input s.input ; + doc_output s.output ; + ] in + let _ = Doc.publish ~page:s.page ~name:s.name ~title content [] in + Main.register s.kind s.name processor ; + s.defined <- true + +(* -------------------------------------------------------------------------- *) +(* --- Request Registration --- *) +(* -------------------------------------------------------------------------- *) + +let register ~page ~kind ~name ~descr ?details ~input ~output process = + register_sig + (signature ~page ~kind ~name ~descr ?details ~input ~output ()) + (fun _rq v -> process v) + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/request.mli b/src/plugins/server/request.mli new file mode 100644 index 0000000000000000000000000000000000000000..c855405cb85088b1d88e60660a5a6e86e268493e --- /dev/null +++ b/src/plugins/server/request.mli @@ -0,0 +1,195 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(** Request Registry *) +(* -------------------------------------------------------------------------- *) + +type json = Data.json +type kind = [ `GET | `SET | `EXEC ] + +module type Input = +sig + type t + val syntax : Syntax.t + val of_json : json -> t +end + +module type Output = +sig + type t + val syntax : Syntax.t + val to_json : t -> json +end + +type 'a input = (module Input with type t = 'a) +type 'b output = (module Output with type t = 'b) + +(** {2 Simple Requests Registration} *) + +(** Register a simple request of type [(a -> b)]. + + Name, page and kind must be consistent with each others: + - No publication on [`Protocol] pages + - Kernel requests shall starts with ["Kernel.*"] + - Plugin requests shall starts with ["<Plugin>.*"] + - SET requests must contain ["set"] (case insensitive) + - GET requests must contain ["get"] or ["print"] (case insensitive) + - EXEC requests must contain ["exec"] or ["compute"] (case insensitive) + +*) +val register : + page:Doc.page -> + kind:kind -> + name:string -> + descr:Markdown.text -> + ?details:Markdown.block -> + input:'a input -> + output:'b output -> + ('a -> 'b) -> unit + +(** {2 Requests with Named Parameters} + + The API below allows for creating requests with + named and optional parameters. Although such requests + could be defined with simple registration and {i record} datatypes, + the helpers below allow more flexibility and a better correspondance + between optional parameters and OCaml option types. + + To register a request with named parameters and/or named results, + you first create a {i signature}. Then you define named + parameters and results, and finally you {i register} the processing + function: + + {[ + (* ---- Exemple of Request Registration --- *) + let () = + let s = Request.signature ~page ~kind ~name ~descr () in + let get_a = Request.param s ~name:"a" ~descr:"..." (module A) in + let get_b = Request.param s ~name:"b" ~descr:"..." (module B) in + let set_c = Request.result s ~name:"c" ~descr:"..." (module C) in + let set_d = Request.result s ~name:"d" ~descr:"..." (module D) in + Request.register_sig s + (fun rq () -> + let (c,d) = some_job (get_a rq) (get_b rq) in + set_c rq c ; set_d rq d) + ]} + +*) + +(** Under definition request signature. *) +type ('a,'b) signature + +(** Create an opened request signature. + Depending on whether [~input] and [~output] datatype are provided, + you shall define named parameters and results before registering the + request processing function. *) +val signature : + page:Doc.page -> + kind:kind -> + name:string -> + descr:Markdown.text -> + ?details:Markdown.block -> + ?input:'a input -> + ?output:'b output -> + unit -> ('a,'b) signature + +(** Request JSON parameters. *) +type rq + +(** Named input parameter. *) +type 'a param = rq -> 'a + +(** Named output parameter. *) +type 'b result = rq -> 'b -> unit + +(** Register the request JSON processing function. + This call finalize the signature definition and shall be called + once on the signature. *) +val register_sig : ('a,'b) signature -> (rq -> 'a -> 'b) -> unit + +(** {2 Named Parameters and Results} + + The functions bellow must be called on a freshly created signature + {i before} its final registration. The obtained getters and setters + shall be only used within the registered process. + + The correspondance between input/output JSON syntax and OCaml values + is summarized in the tables below.Abstract_domain + + For named input parameters: + [ + + API: Input JSON OCaml Getter + ----------------------------------------------------------------------- + Request.param { f: a } 'a (* might raise an exception *) + Request.param ~default { f: a? } 'a (* defined by default *) + Request.param_opt { f: a? } 'a option + + ] + + + For named output parameters: + [ + + API: Input JSON OCaml Setter + ---------------------------------------------------------------------- + Request.result { f: a } 'a (* shall be set by process *) + Request.result ~default { f: a } 'a (* defined by default *) + Request.result_opt { f: a? } 'a option + + ] + +*) + + +(** Named input parameter. If a default value is provided, + the JSON input field becomes optional. Otherwized, it is required. *) +val param : (unit,'b) signature -> + name:string -> + descr:Markdown.text -> + ?default:'a -> + 'a input -> 'a param + +(** Named optional input parameter. *) +val param_opt : (unit,'b) signature -> + name:string -> + descr:Markdown.text -> + 'a input -> 'a option param + +(** Named output parameter. If a default value is provided, + the JSON output field is initialized with it. + Otherwized, it shall be set at each invocation of the request processing + funciton. *) +val result : ('a,unit) signature -> + name:string -> + descr:Markdown.text -> + ?default:'b -> + 'b output -> 'b result + +(** Named optional output parameter. The initial value is set to [None]. *) +val result_opt : ('a,unit) signature -> + name:string -> + descr:Markdown.text -> + 'b output -> 'b option result + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/server_batch.ml b/src/plugins/server/server_batch.ml new file mode 100644 index 0000000000000000000000000000000000000000..87a3fd9c4907562237c4d23e495f91397a59df10 --- /dev/null +++ b/src/plugins/server/server_batch.ml @@ -0,0 +1,122 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* Only Compiled when package Zmq is installed *) +(* No interface, registered via side-effects *) + +(* -------------------------------------------------------------------------- *) +(* --- ZeroMQ Server Options --- *) +(* -------------------------------------------------------------------------- *) + +module Senv = Server_parameters + +let batch_group = Senv.add_group "Protocol BATCH" + +let () = Parameter_customize.set_group batch_group +module Batch = Senv.String_list + (struct + let option_name = "-server-batch" + let arg_name = "file.json,..." + let help = + "Executes all requests in each <file.json>, and save the \ + associated results in <file.out.json>." + end) + +let () = Parameter_customize.set_group batch_group +module BatchOutputDir = Senv.Empty_string + (struct + let option_name = "-server-batch-output-dir" + let arg_name = "path" + let help = + "Outputs the results of -server-batch in <path> instead of the input \ + directory." + end) + +let _ = Doc.page `Protocol ~title:"Batch Protocol" ~filename:"server_batch.md" + + +(* -------------------------------------------------------------------------- *) +(* --- Execute JSON --- *) +(* -------------------------------------------------------------------------- *) + +module Js = Yojson.Basic +module Ju = Yojson.Basic.Util + +let pretty = Js.pretty_print ~std:false + +let execute_command js = + let request = Ju.member "request" js |> Ju.to_string in + let id = Ju.member "id" js in + let data = Ju.member "data" js in + match Main.find request with + | None -> + Senv.error "[batch] %a: request %S not found" pretty id request ; + `Assoc [ "id" , id ; "error" , `String "request not found" ] + | Some (kind,handler) -> + try + Senv.feedback "[%a] %s" Main.pp_kind kind request ; + `Assoc [ "id" , id ; "data" , handler data ] + with Data.InputError(msg) -> + Senv.error "[%s] %s@." request msg ; + `Assoc [ "id" , id ; "error" , `String msg ; "at" , js ] + +let rec execute_batch js = + match js with + | `Null -> `Null + | `List js -> `List (List.map execute_batch js) + | js -> + try execute_command js + with Ju.Type_error(msg,js) -> + Senv.error "[batch] incorrect encoding:@\n%s@\n@[<hov 2>At: %a@]@." + msg pretty js ; + `Null + +(* -------------------------------------------------------------------------- *) +(* --- Execute the Scripts --- *) +(* -------------------------------------------------------------------------- *) + +let execute () = + begin + List.iter + begin fun file -> + Senv.feedback "Script %S" file ; + let response = execute_batch (Js.from_file file) in + let output = Filename.remove_extension file ^ ".out.json" in + let output = match BatchOutputDir.get () with + | "" -> output + | dir -> Filename.(dir ^ dir_sep ^ basename output) + in + Senv.feedback "Output %S" output ; + let out = open_out output in + Js.pretty_to_channel out response ; + close_out out + end + (Batch.get()) ; + end + +(* -------------------------------------------------------------------------- *) +(* --- Run the Server from the Command line --- *) +(* -------------------------------------------------------------------------- *) + +let () = Db.Main.extend execute + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/server_parameters.ml b/src/plugins/server/server_parameters.ml new file mode 100644 index 0000000000000000000000000000000000000000..76a572cdf0cbd164afcf0c948b5fec0f9f40e9a6 --- /dev/null +++ b/src/plugins/server/server_parameters.ml @@ -0,0 +1,70 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(* --- Server Plugin & Options --- *) +(* -------------------------------------------------------------------------- *) + +module P = Plugin.Register + (struct + let name = "Server" + let shortname = "server" + let help = "Frama-C Request Server" + end) + +include P + +module Idle = P.Int + (struct + let option_name = "-server-idle" + let arg_name = "ms" + let default = 10 + let help = "Waiting time (in milliseconds) when idle" + end) + +module Rate = P.Int + (struct + let option_name = "-server-rate" + let arg_name = "n" + let default = 100 + let help = "Number of analysis steps between server communications" + end) + +module Doc = P.String + (struct + let option_name = "-server-doc" + let arg_name = "dir" + let default = "" + let help = "Output a markdown documentation of the server in <dir>" + end) + +module Log = P.False + (struct + let option_name = "-server-logs" + let help = "Start (or stop) monitoring logs" + end) + +let wpage = register_warn_category "inconsistent-page" +let wkind = register_warn_category "inconsistent-kind" +let wname = register_warn_category "invalid-name" + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/value/domains/apron/apron_domain.ko.ml b/src/plugins/server/server_parameters.mli similarity index 72% rename from src/plugins/value/domains/apron/apron_domain.ko.ml rename to src/plugins/server/server_parameters.mli index 9ccb3680e2919874b7ad15a85c8b3c597e39083d..5dc5ad153438ddc07353cb1b93cc59f22d4e91de 100644 --- a/src/plugins/value/domains/apron/apron_domain.ko.ml +++ b/src/plugins/server/server_parameters.mli @@ -20,30 +20,17 @@ (* *) (**************************************************************************) -let ok = false +(** Server Plugin & Options *) -module type S = Abstract_domain.Internal - with type value = Main_values.Interval.t - and type location = Precise_locs.precise_location +include Plugin.General_services -module U = Unit_domain.Make (Main_values.Interval) (Main_locations.PLoc) +module Idle : Parameter_sig.Int (** Idle waiting time (in ms) *) +module Rate : Parameter_sig.Int (** Number of fetch per yield *) +module Doc : Parameter_sig.String (** Generate documentation *) +module Log : Parameter_sig.Bool (** Monitor logs *) -module Octagon = U -module Box = U -module Polka_Loose = U -module Polka_Strict = U -module Polka_Equalities = U +val wpage : warn_category (** Inconsistent page warning *) +val wkind : warn_category (** Inconsistent category warning *) +val wname : warn_category (** Invalid name warning *) -let dummy_key = Structure.Key_Domain.create_key "dummy_apron" -let octagon_key = dummy_key -let box_key = dummy_key -let polka_loose_key = dummy_key -let polka_strict_key = dummy_key -let polka_equalities_key = dummy_key - - -(* -Local Variables: -compile-command: "make -C ../../../.." -End: -*) +(**************************************************************************) diff --git a/src/plugins/server/server_zmq.ml b/src/plugins/server/server_zmq.ml new file mode 100644 index 0000000000000000000000000000000000000000..82d2ce4316762eb1f638f499c928eb15000d2442 --- /dev/null +++ b/src/plugins/server/server_zmq.ml @@ -0,0 +1,141 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* Only Compiled when package Zmq is installed *) +(* No interface, registered via side-effects *) + +(* -------------------------------------------------------------------------- *) +(* --- ZeroMQ Server Options --- *) +(* -------------------------------------------------------------------------- *) + +module Senv = Server_parameters + +let zmq_group = Senv.add_group "Protocol ZeroMQ" + +let () = Parameter_customize.set_group zmq_group +module Enabled = Senv.String + (struct + let option_name = "-server-zmq" + let arg_name = "url" + let default = "" + let help = "Establish a ZeroMQ server and listen for connections" + end) + +let _ = Doc.page `Protocol ~title:"ZeroMQ Protocol" ~filename:"server_zmq.md" + +(* -------------------------------------------------------------------------- *) +(* --- ZMQ Context --- *) +(* -------------------------------------------------------------------------- *) + +let context = + let zmq = ref None in + fun () -> + match !zmq with + | Some ctxt -> ctxt + | None -> + let major,minor,patch = Zmq.version () in + Senv.feedback "ZeroMQ %d.%d.%d" major minor patch ; + let ctxt = Zmq.Context.create () in + at_exit (fun () -> Zmq.Context.terminate ctxt) ; + zmq := Some ctxt ; ctxt + +(* -------------------------------------------------------------------------- *) +(* --- Decoding Requests --- *) +(* -------------------------------------------------------------------------- *) + +exception WrongEncoding of string + +let jdecode txt = + try Yojson.Basic.from_string txt + with exn -> + (* Exception if purely local from Yojson *) + raise (WrongEncoding (Printexc.to_string exn)) + +let jencode js = + try Yojson.Basic.to_string ~std:false js + with exn -> + (* Exception if purely local from Yojson *) + raise (WrongEncoding (Printexc.to_string exn)) + +let rec decode = function + | ("GET"|"SET"|"EXEC")::id::request::data :: w -> + `Request(id,request,jdecode data) :: decode w + | "KILL"::id:: w -> `Kill id :: decode w + | "POLL" :: w -> `Poll :: decode w + | "SHUTDOWN" :: _ -> [`Shutdown] + | cmd::_ -> raise (WrongEncoding cmd) + | [] -> [] + +let rec encode = function + | `Data(id,data) :: w -> "DATA" :: id :: jencode data :: encode w + | `Error(id,msg) :: w -> "ERROR" :: id :: msg :: encode w + | `Killed id :: w -> "KILLED" :: id :: encode w + | `Rejected id :: w -> "REJECTED" :: id :: encode w + | [] -> [] + +(* -------------------------------------------------------------------------- *) +(* --- ZMQ Messages --- *) +(* -------------------------------------------------------------------------- *) + +let callback socket responses = + try + let msg = encode responses in + Zmq.Socket.send_all socket (if msg = [] then ["NONE"] else msg) + with WrongEncoding msg -> + Zmq.Socket.send_all socket [ "WRONG" ; msg ] + +let fetch socket () = + try + let msg = Zmq.Socket.recv_all ~block:false socket in + try Some Main.{ requests = decode msg ; callback = callback socket } + with WrongEncoding msg -> + Zmq.Socket.send_all socket [ "WRONG" ; msg ] ; None + with + | Unix.Unix_error( Unix.EAGAIN , _ , _ ) -> None + | Zmq.ZMQ_exception(_,msg) -> Senv.fatal "ZeroMQ error: %s" msg + +(* -------------------------------------------------------------------------- *) +(* --- Establish the Server --- *) +(* -------------------------------------------------------------------------- *) + +let establish url = + if url <> "" then + begin + let context = context () in + let socket = Zmq.Socket.(create context rep) in + try + Zmq.Socket.bind socket url ; + Senv.feedback "ZeroMQ [%s]" url ; + Main.run ~pretty:Format.pp_print_string ~fetch:(fetch socket) () ; + Zmq.Socket.close socket ; + with exn -> + Zmq.Socket.close socket ; + raise exn + end + +(* -------------------------------------------------------------------------- *) +(* --- Establish the Server from Command line --- *) +(* -------------------------------------------------------------------------- *) + +let () = Db.Main.extend (fun () -> establish (Enabled.get ())) + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/share/kernel/ast.md b/src/plugins/server/share/kernel/ast.md new file mode 100644 index 0000000000000000000000000000000000000000..b5aaa2d57d7967f620d4cd9cc363691d9df7ddef --- /dev/null +++ b/src/plugins/server/share/kernel/ast.md @@ -0,0 +1,15 @@ +# Ast Services + +The Frama-C internal representation of source files need to be computed before +being accessed. This generally involves preprocessing of sources and finally +parsing, typechecking and normalization. + +Although this step is generally performed silently on-demand inside Frama-C, +from the Server point of view, this is a non-trivial procedure that should _not_ be +triggered outside an `EXEC` request. + +Hence, most AST services might fail or return empty data if the AST has not been +actually computed before. However, in typical usage of Frama-C from the +command-line, the AST would have been computed just before any other plug-in, +including the Server. + diff --git a/src/plugins/server/share/kernel/kernel.md b/src/plugins/server/share/kernel/kernel.md new file mode 100644 index 0000000000000000000000000000000000000000..394e2a7b0e2a5aded0eae70c8f361c78afdf5401 --- /dev/null +++ b/src/plugins/server/share/kernel/kernel.md @@ -0,0 +1,21 @@ +# Kernel Services + +This section deals with requests related to the management +of the Frama-C platform and services offered by the kernel. +This covers several topics: configuration, logs. + +Configuration deals with versioning and resource directories. +Project services allow to work with several Frama-C projects. + +Logs are automatically tracked by the server plug-in and queued. +This monitoring can be controlled by `Kernel.SetLogs` command, but by +default, monitoring is turned on as soon as some server is started +(except for the batch server). The `Kernel.GetLogs` allow to flush this queue, +with a maximum number of messages. Non-flushed messages +can be recovered by subsequent calls, until the requests replies with an empty +message set. + +However, logs emitted prior to the execution of a server, or after its shutdown, +are _not_ collected by default. To enable this monitoring, for instance to collect +messages before the server is started, you shall set the `-server-logs` option, which +takes effect at configuration time (you can also use `... -then -server-logs ...`). diff --git a/src/plugins/server/share/kernel/project.md b/src/plugins/server/share/kernel/project.md new file mode 100644 index 0000000000000000000000000000000000000000..79715b8efc3e93df73d1943768f9394ddbc27f3c --- /dev/null +++ b/src/plugins/server/share/kernel/project.md @@ -0,0 +1,17 @@ +# Project Management + +The Frama-C current project can be managed with the server requests provided below. + +## Current Project + +Initially, the current project is the one selected when the server starts. +Hence, from the Frama-C command line, `-then-on <P> -server-xxx` +would start the server with current project `<P>`. + +When modifying the current project through request `Kernel.Project.SetCurrent`, +client shall wait for an acknowledgement before sending further `GET` requests. +Otherwise, the `GET` might be executed on a different project, due to the +asynchronous behavior of the server. + +However, it is still possible to execute a request on a specific project with +`Kernel.Project.{Get|Set|Exec}On` requests. diff --git a/src/plugins/server/share/kernel/text.md b/src/plugins/server/share/kernel/text.md new file mode 100644 index 0000000000000000000000000000000000000000..b73c79016e9a72b0ed8c3873527b030b23f22161 --- /dev/null +++ b/src/plugins/server/share/kernel/text.md @@ -0,0 +1,47 @@ +# Rich Text Format + +In various place of the server, the Frama-C requests might return +rich-text format, which is text annotated with special tags, +for tagging or styling purpose. + +The JSON encoding of rich-text is defined by the _text_ type, which takes one +of the following possible formats: + +| Format | Description | +|:------:|:------------| +| `"null"` | Empty text | +| _string_ | Standard UTF-8 text | +| `[` (_tag_`,`)? _text_`,`…`,` _text_ `]` | Sequence of text with an optional tag | + +Tags are simple strings, not to be printed, that encode the style or tag to +apply on the sequence. Tags starting with a sharp (`"#…"`) must be understood as +semantic tags, with a meaning depending on the context. Tags starting with +a dot (`".…"`) shall be understood as style names. Other values must be understand +as regular text. + +The empty tag (`""`) shall be ignored, but can used to group sequence of text +together. Concatenation of sequence of text must be performed without any +spacing or cut in the between. + +Text blocks can be nested. For instance, considerer the following JSON +encoding: + +<pre> +[ + "This ", + [ + "#frama-c-server-doc", + "Frama", [ ".tt", "-C" ], " server" + ], + " is ", [ ".it", "awesome" ], " isn't it?" +] +</pre> + +Provided the `#frama-c-server-doc` semantic is understood as a link to the +main page of the Frama-C server documentation, the designated rich-text +shall be printed as: + +> This [Frama-`C` server](../readme.md) is _awesome_ isn't it? + +The precise meaning of styles and semantic tags might depends on the context, +and is detailed in each occurence of _text_ format. diff --git a/src/plugins/server/share/protocol/server.md b/src/plugins/server/share/protocol/server.md new file mode 100644 index 0000000000000000000000000000000000000000..1e479798cef4eba9c42ebf5412a5886e77e6feae --- /dev/null +++ b/src/plugins/server/share/protocol/server.md @@ -0,0 +1,131 @@ +# Architecture + +The Server plug-in provides a _remote procedure call_ (RPC) interface to foreign +applications. The protocol is organized in three logic layers, organized as +follows: + +1. Many external entry points, based on various networking and system facilities +2. A generic logic run-time responsible for scheduling the requests coming from + the various entry points +3. The Frama-C implementation of requests handler, at the kernel or plug-in + level + +The intermediate, logic layer, is responsible for adding a small bit of +parallelism upon the intrinsically synchronous behavior of Frama-C. This makes +Frama-C resembling an asynchronous RPC server. + +The externally visible layer is only focused on transporting external requests +to the logic layer, and transporting back the results to the caller. The only +requirement for an entry point is to be able to transport a sequence of 1-input +message for 1-output message over time. + +The concrete layer is implemented by the Frama-C kernel and its plug-ins. All +requests must be registered _via_ the Frama-C Server OCaml API in order to be +accessible from the entry-points. Some parts of this documentation are +automatically generated from the registered requests. + +## Logical Requests + +From a functional point of view, requests are remote procedures with input +data that reply with output data. Each request is identified by a unique name. +Input and output parameters are encoded into JSON values. + +To adapt the internal synchronous Frama-C implementation with the external +asynchronous entry points, requests are classified into three kinds: + +- `GET` to instantaneously return data from the internal state of Frama-C +- `SET` to instantaneously modifies the state or configure Frama-C plug-ins +- `EXEC` to starts a resource intensive analysis in Frama-C + +During an `EXEC` requests, the implementation of the all resource demanding +computations shall repeatedly call the yielding routine `!Db.progress()` of the +Frama-C kernel to ensures a smooth asynchronous behavior of the Server. During a +_yield_ call, the Server would be allowed to handle few `GET` pending requests, +since they shall be fast without any modification. When the server is idled, any +kind of requests can be started. + +To summarize: + +| Request | During Yields | Allowed to Yield | Computation | +|:--------|:-------------:|:----------------:|:------------:| +| `GET` | ✓ | - | fast, pure | +| `SET` | - | - | fast, side-effects | +| `EXEC` | - | ✓ | resource demanding | + +## Transport Messages + +From the entry points layer, the asynchronous behavior of the Server makes +output data and input data to be dispatched into different messages. However, +from the Client side, we still want to have _one_ response message for each +incoming message. However, answer messages might contains output data from +potentially _any_ previously received requests. + +When the client has no more requests to send, but is simply waiting for pending +requests responses, it must periodically send _polling_ requests to simply get +back the expected responses. + +To implement those features, the Client-Server protocol consists of a sequence of +paired _intput messages_ and _output messages_. Each single input message consists of +a list of _commands_: + +| Commands | Parameters | Description | +|:--------:|:----------:|:------------| +| `POLL` | - | Ask for pending responses, if any | +| `GET` | `id,request,data` | En-queue the given GET request | +| `SET` | `id,request,data` | En-queue the given SET request | +| `EXEC` | `id,request,data` | En-queue the given EXEC request | +| `KILL` | `id` | Cancel the given request or interrupt its execution | +| `SHUTDOWN` | - | Makes the server to stop running | + +Similarly, a single output message consists of a list +of _replies_, listed in table below: + +| Replies | Parameters | Description | +|:--------:|:----------:|:------------| +| `DATA` | `id,data` | Response data from the identified request | +| `ERROR` | `id,message` | Error message from the identified request | +| `KILLED` | `id` | The identified request has been killed or interrupted | +| `REJECTED` | `id` | The identified request was not registered on the Server | + +The logic layer makes no usage of _identifiers_ and simply pass them unchanged into +output messages in response to received requests. + +At the transport message layer, input and output data are made of a +single `JSON` encoded value. Requests are identified by string, and +request identifiers can be of any type from the entry-points. + +**Remark** the `GET`, `SET` or `EXEC` behavior of a request is actually defined +by the request implementation, from the Frama-C internal side. The Server will +silently ignore the request kind from the incoming messages and use the actual +internal one instead. The distinction still appears in the transport protocol +only for a purpose of information, as clients shall know what they are asking +for. + +## Entry Points + +Implementations of entry points layers shall provide a non-blocking `fetch` +function that possibly returns a list of commands, associated with a +callback for emitting the paired list of replies. The Server main +loop is guaranteed to invoke the callback exactly once. + +The Server plug-in implements two entry-points, however, other Frama-C plugins might +implement their own entry-points and call the `Server.Main.run ~fetch ()` function +to make the server starting and exchanging messages with the external world. + +## Request Implementations + +It is the responsibility of Frama-C plug-ins to implement and register requests +into the Server to make them accessible _via_ any entry point. Whereas data is +encoded into JSON structures at the transport layer, requests are processes with +well typed OCaml types from the internal side. + +Hence, the requests implementations also requires data encoder and decoders to +be defined. Some predefined data types are provided by the Server plug-in, but +more complex types can be defined and shared among plug-ins _via_ the +`Server.Data` module factory. + +Registration of requests, data encoder and decoders always comes with their +markdown documentation thanks to the `Markdown` library provided by the Frama-C +kernel. Hence, a full documentation of all implemented requests with their data +formats can be generated consistently at any time. See option `-server-doc` of the +Server plug-in for more details. diff --git a/src/plugins/server/share/protocol/server_batch.md b/src/plugins/server/share/protocol/server_batch.md new file mode 100644 index 0000000000000000000000000000000000000000..1092cc6c5b2a28c8822db87182d5dde7c307ff18 --- /dev/null +++ b/src/plugins/server/share/protocol/server_batch.md @@ -0,0 +1,31 @@ +# Batch Protocol + +This section presents a Frama-C command-line entry point to Server requests. +Although it is not full-featured server entry point, it allows for executing +requests from the command line or JSON scripts. + +The `-server-script` option of the Frama-C/Server plug-in takes a (list of) +script file `<file.json>`, parse it and execute its commands, and output the +reponses in file `<file.out.json>`. + +## Input Script Format + +A JSON script is either a single JSON command or an array of JSON commands, or `null`. +Each command is a record with the following fields: + +| Input Field | Format | Description | +|:------|:-------|:-----------:| +| `id` | _any_ ? | The command identifier (optional) | +| `request` | _string_ | The request name | +| `data` | _any_ | The request input parameters | + +## Output Script Format + +Each command leads to an assiated JSON record, with the following fields: + +| Output Field | Format | Description | +|:------|:-------|:-----------:| +| `id` | _any_ ? | The command identifier (as provided in input) | +| `data` | _any_ ? | The request output parameters (if successfull) | +| `error` | _string_ ? | The request error message (in case of occurence) | +| `at` | _any_ ? | Wrongly encoded part of the request (when appropriate) | diff --git a/src/plugins/server/share/protocol/server_zmq.md b/src/plugins/server/share/protocol/server_zmq.md new file mode 100644 index 0000000000000000000000000000000000000000..f510a31888e81e509a0635425bf6a9ef3cbf75e2 --- /dev/null +++ b/src/plugins/server/share/protocol/server_zmq.md @@ -0,0 +1,62 @@ +# ZeroMQ Protocol + +This section presents a [ZeroMQ](http://zeromq.org) based entry point for Frama-C Server. +It is activated by option `-server-zmq <URL>` option of the Server plug-in, which is compiled +when the OCaml package `zmq` is detected at Frama-C configure time. + +The protocol builds a ZeroMQ socket of type `REP` which is the standard for a request server. +It is meant for accepting connection from a ZeroMQ socket of type `REQ` on the same `URL`. +The paired `REP`-`REQ` sockets use +[ZeroMQ multi-part messages](http://zguide.zeromq.org/page:all#Multipart-Messages) to transfer data. + +A typical example to start a Frama-C server for inter-process communication is: + +```shell +$ frama-c [options...] -then -server-zmq ipc:///tmp/my-server.io +``` + +## Input Message Format + +Each input message consists of a list of commands. Each command takes +a fixed number of parts from the incomming ZeroMQ message. The first part +of each command is a single string identifying the command: + +| Commands | Parts | Part 1 | Part 2 | Part 3 | Part 4 | +|:--------|:-----:|:-------|:-------|:-------|:-------| +| `POLL()` | 1 | `"POLL"` | | | | +| `GET(id,request,data)` | 4 | `"GET"` | id | request | data | +| `SET(id,request,data)` | 4 | `"SET"` | id | request | data | +| `EXEC(id,request,data)` | 4 | `"EXEC"` | id | request | data | +| `KILL(id)` | 2 | `"KILL"` | id | | | +| `SHUTDOWN` | 1 | `"SHUTDOWN"` | | | | + +## Output Message Format + +Each output message consists of a list of replies. Each reply takes +a fixed number of parts from the incomming ZeroMQ message. The first part +of each reply is a finel string identifying the reply: + +| Replies | Parts | Part 1 | Part 2 | Part 3 | +|:--------|:-----:|:-------|:-------|:-------| +| `DATA(id,data)` | 3 | `"DATA"` | id | data | +| `ERROR(id,message)` | 4 | `"ERROR"` | id | message | +| `KILLED(id)` | 2 | `"KILLED"` | id | | +| `REJECTED(id)` | 2 | `"REJECTED"` | id | | +| (special) | 2 | `"WRONG"` | message | | +| (special) | 1 | `"NONE"` | | | + +The two special responses `"WRONG"` and `"NONE"` are used to handle special issues +with the ZeroMQ layer protocol: `WRONG(message)` signals an error in the message formats; +`NONE` is used in the special case where the reply message from the server is completely +empty. This generaly means that the server is busy or idled. + +## Data Format + +Request identifiers can be any string, encoded into a single part of a ZeroMQ message. + +Data are stringified JSON data structures. Each command or reply data shall be packed +into a single JSON data, which leads to a single part of the associated ZeroMQ message. + +Since ZeroMQ prococol accepts any kind of strings as a single +message part, the stringified JSON data might contains spaces, newlines and any +other spacing characters. diff --git a/src/plugins/server/syntax.ml b/src/plugins/server/syntax.ml new file mode 100644 index 0000000000000000000000000000000000000000..565a227cde54a50190a518e5d45f036b9b44d913 --- /dev/null +++ b/src/plugins/server/syntax.ml @@ -0,0 +1,129 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) + +module Senv = Server_parameters + +let check_plugin plugin name = + let p = String.lowercase_ascii plugin in + let n = String.lowercase_ascii name in + let k = String.length plugin in + if not (String.length name > k && + String.sub n 0 k = p && + String.get n k = '.') + then + Senv.warning ~wkey:Senv.wpage + "Data %S shall be named « %s-* »" + name plugin + +let check_page page name = + match Doc.chapter page with + | `Kernel -> () + | `Plugin plugin -> check_plugin plugin name + | `Protocol -> check_plugin "server" name + +let re_name = Str.regexp "[a-z0-9-]+$" + +let check_name name = + if not (Str.string_match re_name name 0) then + Senv.warning ~wkey:Senv.wname + "Data name %S is not a dash-separated list of lowercase identifiers" name + +(* -------------------------------------------------------------------------- *) + +type t = { atomic:bool ; text:Markdown.text } + +let atom md = { atomic=true ; text=md } +let flow md = { atomic=false ; text=md } + +let format { text } = text +let protect a = + if a.atomic then a.text else Markdown.(rm "(" <+> a.text <+> rm ")") + +let publish ~page ~name ~descr ~synopsis ?(details = Markdown.empty) () = + check_name name ; + check_page page name ; + let id = Printf.sprintf "data-%s" name in + let title = Printf.sprintf "`DATA` %s" name in + let format = ref Markdown.nil in + let syntax = Markdown.fmt_block (fun fmt -> + Format.fprintf fmt "> %a ::= %a" + Markdown.pp_text !format + Markdown.pp_text synopsis.text + ) in + let content = Markdown.( par descr </> syntax </> details ) in + let href = Doc.publish ~page ~name:id ~title ~index:[name] content [] in + let link_title = Printf.sprintf "_%s_" name in + let link = Markdown.href ~title:link_title href in + format := link ; atom @@ link + +let unit = atom @@ Markdown.rm "-" +let any = atom @@ Markdown.it "any" +let int = atom @@ Markdown.it "int" +let ident = atom @@ Markdown.it "ident" +let string = atom @@ Markdown.it "string" +let number = atom @@ Markdown.it "number" +let boolean = atom @@ Markdown.it "boolean" + +let escaped name = Markdown.tt @@ Printf.sprintf "'%s'" @@ String.escaped name + +let tag name = atom @@ escaped name + +let array a = atom @@ Markdown.(tt "[" <+> protect a <+> tt ", … ]") + +let tuple ts = + atom @@ Markdown.(tt "[" + <+> glue ~sep:(raw " `,` ") (List.map protect ts) <+> + tt "]") + +let union ts = flow @@ Markdown.(glue ~sep:(raw " | ") (List.map protect ts)) + +let option t = atom @@ Markdown.(protect t <@> tt "?") + +let field (a,t) = Markdown.( escaped a <+> tt ":" <+> t.text ) + +let record fds = + let fields = + if fds = [] then Markdown.rm "…" else + Markdown.(glue ~sep:(raw " `;` ") (List.map field fds)) + in atom @@ Markdown.(tt "{" <+> fields <+> tt "}") + +type field = { + name : string ; + syntax : t ; + descr : Markdown.text ; +} + +let fields ~title (fds : field list) = + let c_field = `Left title in + let c_format = `Center "Format" in + let c_descr = `Left "Description" in + Markdown.table [ c_field ; c_format ; c_descr ] + begin + List.map + (fun f -> + [ Markdown.tt f.name ; format f.syntax ; f.descr ]) + fds + end + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/wp/share/src/cmath.mlw b/src/plugins/server/syntax.mli similarity index 59% rename from src/plugins/wp/share/src/cmath.mlw rename to src/plugins/server/syntax.mli index d24568326413157ce18827d6bf55f973a86f2daa..ff4c575e6c3ed0e65a38b66f593272850942ddaf 100644 --- a/src/plugins/wp/share/src/cmath.mlw +++ b/src/plugins/server/syntax.mli @@ -1,9 +1,9 @@ (**************************************************************************) (* *) -(* This file is part of WP plug-in of Frama-C. *) +(* This file is part of Frama-C. *) (* *) (* Copyright (C) 2007-2019 *) -(* CEA (Commissariat a l'energie atomique et aux energies *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) (* alternatives) *) (* *) (* you can redistribute it and/or modify it under the terms of the GNU *) @@ -21,52 +21,39 @@ (**************************************************************************) (* -------------------------------------------------------------------------- *) -(* --- Mathematics for Why-3 --- *) +(** JSON Encoding Documentation *) (* -------------------------------------------------------------------------- *) -theory Cmath - use int.Int - use int.Abs - use real.RealInfix +type t - lemma abs_def : - forall x:int [abs(x)]. - if x >= 0 then abs(x)=x else abs(x)=(-x) +val format : t -> Markdown.text -end +(** The provided synopsis must be very short, to fit in one line. + Extended definition, like record fields and such, must be detailed in + the description block. *) +val publish : + page:Doc.page -> name:string -> descr:Markdown.text -> + synopsis:t -> ?details:Markdown.block -> unit -> t -theory Square +val unit : t +val any : t +val int : t (* small, non-decimal, number *) +val ident : t (* integer of string *) +val string : t +val number : t +val boolean : t - use real.RealInfix - use real.Square +val tag : string -> t +val array : t -> t +val tuple : t list -> t +val union : t list -> t +val option : t -> t +val record : (string * t) list -> t - lemma sqrt_lin1 : forall x:real [sqrt(x)]. 1. <. x -> sqrt(x) <. x - lemma sqrt_lin0 : forall x:real [sqrt(x)]. 0. <. x <. 1. -> x <. sqrt(x) - lemma sqrt_0 : sqrt(0.) = 0. - lemma sqrt_1 : sqrt(1.) = 1. +type field = { name : string ; syntax : t ; descr : Markdown.text } -end +(** Builds a table with fields column named with [~title] + (shall be capitalized) *) +val fields : title:string -> field list -> Markdown.block -theory ExpLog - - use real.RealInfix - use real.ExpLog - - lemma exp_pos : forall x:real. exp x >. 0. - -end - - -theory ArcTrigo - - use real.RealInfix - use real.Trigonometry as Trigo - - function atan (x : real) : real = Trigo.atan x - function asin real : real - function acos real : real - - lemma Sin_asin: forall x:real. -. 1.0 <=. x <=. 1.0 -> Trigo.sin (asin x) = x - lemma Cos_acos: forall x:real. -. 1.0 <=. x <=. 1.0 -> Trigo.cos (acos x) = x - -end +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/tests/.gitignore b/src/plugins/server/tests/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e2f5dd2eb20cb10838ae60e263317b57fdec63e7 --- /dev/null +++ b/src/plugins/server/tests/.gitignore @@ -0,0 +1 @@ +result \ No newline at end of file diff --git a/src/plugins/server/tests/batch/ast_services.i b/src/plugins/server/tests/batch/ast_services.i new file mode 100644 index 0000000000000000000000000000000000000000..b875167edd1a3b6d5904bb4db378c8be91b18310 --- /dev/null +++ b/src/plugins/server/tests/batch/ast_services.i @@ -0,0 +1,2 @@ +void main() {} +void f() {} \ No newline at end of file diff --git a/src/plugins/server/tests/batch/ast_services.json b/src/plugins/server/tests/batch/ast_services.json new file mode 100644 index 0000000000000000000000000000000000000000..45254f96445b99992be0bc44a46207c195e72b54 --- /dev/null +++ b/src/plugins/server/tests/batch/ast_services.json @@ -0,0 +1,4 @@ +[ + { id:"getFunctions", request:"kernel.ast.getFunctions", data:null }, + { id:"printFunction", request:"kernel.ast.printFunction", data:"f" } +] \ No newline at end of file diff --git a/src/plugins/wp/share/src/logs/Cmath.why3.check.err b/src/plugins/server/tests/batch/kernel_services.i similarity index 100% rename from src/plugins/wp/share/src/logs/Cmath.why3.check.err rename to src/plugins/server/tests/batch/kernel_services.i diff --git a/src/plugins/server/tests/batch/kernel_services.json b/src/plugins/server/tests/batch/kernel_services.json new file mode 100644 index 0000000000000000000000000000000000000000..5b58c627bfe01240de30931928d88a35352fbc83 --- /dev/null +++ b/src/plugins/server/tests/batch/kernel_services.json @@ -0,0 +1,4 @@ +[ + { id:"getLogs", request:"kernel.getLogs", data:null }, + { id:"setLogs", request:"kernel.setLogs", data:false } +] \ No newline at end of file diff --git a/src/plugins/server/tests/batch/oracle/ast_services.out.json b/src/plugins/server/tests/batch/oracle/ast_services.out.json new file mode 100644 index 0000000000000000000000000000000000000000..40a40546e0dd93809a46d584a1df5efa783faf27 --- /dev/null +++ b/src/plugins/server/tests/batch/oracle/ast_services.out.json @@ -0,0 +1,14 @@ +[ + { "id": "getFunctions", "data": [ "f", "main" ] }, + { + "id": "printFunction", + "data": [ + "", + [ "#v19", "void f(void)" ], + "\n{\n ", + [ "#s7", [ "#k7", "return;" ] ], + "\n}\n", + "\n" + ] + } +] \ No newline at end of file diff --git a/src/plugins/server/tests/batch/oracle/ast_services.res.oracle b/src/plugins/server/tests/batch/oracle/ast_services.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f91a4f9d11d9733287e6673255e3dc07ccf12def --- /dev/null +++ b/src/plugins/server/tests/batch/oracle/ast_services.res.oracle @@ -0,0 +1,5 @@ +[kernel] Parsing tests/batch/ast_services.i (no preprocessing) +[server] Script "tests/batch/ast_services.json" +[server] [GET] kernel.ast.getFunctions +[server] [GET] kernel.ast.printFunction +[server] Output "tests/batch/result/ast_services.out.json" diff --git a/src/plugins/server/tests/batch/oracle/kernel_services.out.json b/src/plugins/server/tests/batch/oracle/kernel_services.out.json new file mode 100644 index 0000000000000000000000000000000000000000..80065331f0735613e4a74e0a75df36f60d10ac4f --- /dev/null +++ b/src/plugins/server/tests/batch/oracle/kernel_services.out.json @@ -0,0 +1 @@ +[ { "id": "getLogs", "data": [] }, { "id": "setLogs", "data": null } ] \ No newline at end of file diff --git a/src/plugins/server/tests/batch/oracle/kernel_services.res.oracle b/src/plugins/server/tests/batch/oracle/kernel_services.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..7e1c091eeec6f5d3fdd51a5d05c677f0e1fee812 --- /dev/null +++ b/src/plugins/server/tests/batch/oracle/kernel_services.res.oracle @@ -0,0 +1,5 @@ +[kernel] Parsing tests/batch/kernel_services.i (no preprocessing) +[server] Script "tests/batch/kernel_services.json" +[server] [GET] kernel.getLogs +[server] [SET] kernel.setLogs +[server] Output "tests/batch/result/kernel_services.out.json" diff --git a/src/plugins/server/tests/batch/oracle/wrong.out.json b/src/plugins/server/tests/batch/oracle/wrong.out.json new file mode 100644 index 0000000000000000000000000000000000000000..4bf1761a32d70d5658b681897a5b5278f43511f8 --- /dev/null +++ b/src/plugins/server/tests/batch/oracle/wrong.out.json @@ -0,0 +1,14 @@ +[ + { "id": "unknown request", "error": "request not found" }, + { + "id": "wrong data", + "error": + "Expected string, got object:\n{ \"f1\": 1, \"f2\": { \"x\": 1, \"y\": 2 }, \"f3\": null }", + "at": { + "id": "wrong data", + "request": "kernel.ast.printFunction", + "data": { "f1": 1, "f2": { "x": 1, "y": 2 }, "f3": null }, + "comment": "ident is expected, object is given" + } + } +] \ No newline at end of file diff --git a/src/plugins/server/tests/batch/oracle/wrong.res.oracle b/src/plugins/server/tests/batch/oracle/wrong.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..76ac96361f0316a6703142ce491f2500e89790ee --- /dev/null +++ b/src/plugins/server/tests/batch/oracle/wrong.res.oracle @@ -0,0 +1,9 @@ +[kernel] Parsing tests/batch/wrong.i (no preprocessing) +[server] Script "tests/batch/wrong.json" +[server] User Error: [batch] "unknown request": request "kernel.unknown" not found +[server] [GET] kernel.ast.printFunction +[server] User Error: [kernel.ast.printFunction] Expected string, got object: + { "f1": 1, "f2": { "x": 1, "y": 2 }, "f3": null } +[server] Output "tests/batch/result/wrong.out.json" +[server] User Error: Deferred error message was emitted during execution. See above messages for more information. +[kernel] Plug-in server aborted: invalid user input. diff --git a/src/plugins/server/tests/batch/test_config b/src/plugins/server/tests/batch/test_config new file mode 100644 index 0000000000000000000000000000000000000000..15a16cd4f95d4ced405bb04b6a13382efcd47e7f --- /dev/null +++ b/src/plugins/server/tests/batch/test_config @@ -0,0 +1,2 @@ +LOG: @PTEST_NAME@.out.json +OPT: -no-autoload-plugins -load-module server -check -server-batch @PTEST_DIR@/@PTEST_NAME@.json -server-batch-output-dir @PTEST_RESULT@ diff --git a/src/plugins/wp/share/src/logs/ExpLog.why3.check.err b/src/plugins/server/tests/batch/wrong.i similarity index 100% rename from src/plugins/wp/share/src/logs/ExpLog.why3.check.err rename to src/plugins/server/tests/batch/wrong.i diff --git a/src/plugins/server/tests/batch/wrong.json b/src/plugins/server/tests/batch/wrong.json new file mode 100644 index 0000000000000000000000000000000000000000..0178e8af2950cbc6b6a49d98367265e2bf993989 --- /dev/null +++ b/src/plugins/server/tests/batch/wrong.json @@ -0,0 +1,4 @@ +[ + { id:"unknown request", request:"kernel.unknown", data:null, comment:"the request doesn't exist" }, + { id:"wrong data", request:"kernel.ast.printFunction", data:{f1:1, f2:{x:1, y:2}, f3:null}, comment:"ident is expected, object is given" } +] \ No newline at end of file diff --git a/src/plugins/value/domains/abstract_domain.mli b/src/plugins/value/domains/abstract_domain.mli index b512325ade4b44e3cc3eecf4700c20f1de57a9e3..4c77a1475887504958c8884cd540d0bdf5697822 100644 --- a/src/plugins/value/domains/abstract_domain.mli +++ b/src/plugins/value/domains/abstract_domain.mli @@ -193,6 +193,8 @@ module type Transfer = sig assignment has been performed. - [kinstr] is the statement of the assignment, or Kglobal for the initialization of a global variable. + - when the kinstr is a function call, [expr] is the special variable in + [!Eval.call.return]. - [v] carries the value being assigned to [lv], i.e. the value of the expression [expr]. [v] also denotes the kind of assignment: Assign for the default assignment of the value, or Copy for the exact copy of a @@ -394,73 +396,12 @@ module type S = sig val initialize_variable_using_type: init_kind -> varinfo -> t -> t include Recycle with type t := t -end - - -(** Keys identify abstract domains through the type of their abstract values. *) -type 'a key = 'a Structure.Key_Domain.k - -(** Describes the internal structure of a domain. - Used internally to automatically generate efficient accessors from a - generic abstract domain, which may be a combination of several domains, - to a specific one. *) -type 'a structure = 'a Structure.Key_Domain.structure = - | Void : 'a structure - | Leaf : 'a key -> 'a structure - | Node : 'a structure * 'b structure -> ('a * 'b) structure - -(** - For a simple 'leaf' domain, the structure should be: - [let key = Structure.Key_Domain.create_key "name_of_the_domain";; - let structure = Leaf key;;] - - Then, the key should be exported by the domain, to allow the use of the - functions defined in the {!Interface} interface below. - - A compound domain may use the {!Node} constructor to provide a separate - access to each of its parts. - - A domain can also use the {!Void} constructor to prevent access to itself. -*) - -(** Structure of a domain. *) -module type S_with_Structure = sig - include S - - (** A structure matching the type of the domain. *) - val structure : t structure (** Category for the messages about the domain. Must be created through {!Value_parameters.register_category}. *) val log_category : Value_parameters.category end -(** External interface of a domain, with accessors. - Automatically built by the functor {!Structure.Open}. - When a generic domain is a combination of several domains, these functions - allow interacting with its subparts. Note that their behavior is undefined - if the overall domain contains several times the same domain. *) -module type Interface = sig - type t - - (** Tests whether a key belongs to the domain. *) - val mem : 'a key -> bool - - (** For a key of type [k key]: - - if the states of this domain (of type [t]) contain a part (of type [k]) - from the domain identified by the key, - then [get key] returns an accessor for this part of a state. - - otherwise, [get key] returns None. *) - val get : 'a key -> (t -> 'a) option - - (** For a key of type [k key]: - - if the states of this domain (of type [t]) contain a part (of type [k]) - from the domain identified by the key, - then [set key d state] returns the state [state] in which this part - has been replaced by [d]. - - otherwise, [set key _] is the identity function. *) - val set : 'a key -> 'a -> t -> t -end (** Automatic storage of the states computed during the analysis. *) module type Store = sig @@ -470,12 +411,14 @@ module type Store = sig val register_state_before_stmt: Value_types.callstack -> stmt -> state -> unit val register_state_after_stmt: Value_types.callstack -> stmt -> state -> unit + (** Allows accessing the states inferred by an Eva analysis after it has + been computed with the domain enabled. *) val get_global_state: unit -> state or_bottom val get_initial_state: kernel_function -> state or_bottom val get_initial_state_by_callstack: kernel_function -> state Value_types.Callstack.Hashtbl.t or_top_or_bottom - val get_stmt_state: stmt -> state or_bottom + val get_stmt_state: after:bool -> stmt -> state or_bottom val get_stmt_state_by_callstack: after:bool -> stmt -> state Value_types.Callstack.Hashtbl.t or_top_or_bottom end @@ -483,7 +426,7 @@ end (** Full implementation of domains. Automatically built by {!Domain_builder.Complete} from an {!S_with_Structure} domain. *) module type Internal = sig - include S_with_Structure + include S module Store: Store with type state := state (** This function is called after the analysis. The argument is the state @@ -493,11 +436,14 @@ module type Internal = sig val post_analysis: t or_bottom -> unit end -(** Final interface of domains, as generated and used by Eva, with generic - accessors for domains. *) -module type External = sig +type 't key = 't Structure.Key_Domain.key + +(** Signature for a leaf module of a domain. *) +module type Leaf = sig include Internal - include Interface with type t := state + + (** The key identifies the domain and the type [t] of its states. *) + val key: t key end diff --git a/src/plugins/value/domains/apron/apron_domain.ok.ml b/src/plugins/value/domains/apron/apron_domain.ml similarity index 95% rename from src/plugins/value/domains/apron/apron_domain.ok.ml rename to src/plugins/value/domains/apron/apron_domain.ml index e69f47ab8625886339479d8da73957603665d6aa..15035124c408a28ef47136b8b728305bdab97c97 100644 --- a/src/plugins/value/domains/apron/apron_domain.ok.ml +++ b/src/plugins/value/domains/apron/apron_domain.ml @@ -20,22 +20,14 @@ (* *) (**************************************************************************) -#24 "src/plugins/value/domains/apron/apron_domain.ok.ml" - open Cil_types open Eval open Apron let dkey = Value_parameters.register_category "d-apron" -let ok = true - let debug = false -module type S = Abstract_domain.Internal - with type value = Main_values.Interval.t - and type location = Precise_locs.precise_location - let abort exclog = let open Manager in Value_parameters.fatal @@ -357,22 +349,19 @@ let ival_to_interval = function (* Abstract Domain Functor *) (* -------------------------------------------------------------------------- *) -module Make - (Man: sig - type t - val manager: t Manager.t - val name: string - val key: t Abstract1.t Abstract_domain.key - end) -= struct +module type Input = sig + type t + val manager: t Manager.t + val name: string +end + +module Make (Man : Input) = struct type state = Man.t Abstract1.t type value = Main_values.Interval.t type location = Precise_locs.precise_location let man = Man.manager - - let structure = Abstract_domain.Leaf Man.key let log_category = dkey let empty_env = Environment.make [||] [||] @@ -725,54 +714,52 @@ module Make end -let octagon_key = Structure.Key_Domain.create_key "apron-octagon" -let box_key = Structure.Key_Domain.create_key "apron-box" -let polka_loose_key = Structure.Key_Domain.create_key "polka-loose" -let polka_strict_key = Structure.Key_Domain.create_key "polka-strict" -let polka_equalities_key = Structure.Key_Domain.create_key "polka-equalities" - - module Apron_Octagon = struct type t = Oct.t let manager = Oct.manager_alloc () let name = "Apron octagon domain" - let key = octagon_key end module Apron_Box = struct type t = Box.t let manager = Box.manager_alloc () let name = "Apron box domain" - let key = box_key end module Apron_Polka_Loose = struct type t = Polka.loose Polka.t let manager = Polka.manager_alloc_loose () let name = "Polka loose polyhedra domain" - let key = polka_loose_key end module Apron_Polka_Strict = struct type t = Polka.strict Polka.t let manager = Polka.manager_alloc_strict () let name = "Polka strict polyhedra domain" - let key = polka_strict_key end module Apron_Polka_Equalities = struct type t = Polka.equalities Polka.t let manager = Polka.manager_alloc_equalities () let name = "Polka linear equalities domain" - let key = polka_equalities_key end (** Apron manager allocation changes the rounding mode. *) let () = Floating_point.set_round_nearest_even () -module Octagon = Domain_builder.Complete (Make (Apron_Octagon)) -module Box = Domain_builder.Complete (Make (Apron_Box)) -module Polka_Loose = Domain_builder.Complete (Make (Apron_Polka_Loose)) -module Polka_Strict = Domain_builder.Complete (Make (Apron_Polka_Strict)) -module Polka_Equalities = Domain_builder.Complete (Make (Apron_Polka_Equalities)) +let make name enable (module Man: Input) = + let module Domain = Domain_builder.Complete (Make (Man)) in + let open Abstractions in + register ~enable { name; priority = 1; + values = Single (module Main_values.Interval); + domain = Domain (module Domain); } + +let () = + let open Value_parameters in + make "apron octagons" ApronOctagon.get (module Apron_Octagon); + make "apron box" ApronBox.get (module Apron_Box); + make "polka loose" PolkaLoose.get (module Apron_Polka_Loose); + make "polka strict" PolkaStrict.get (module Apron_Polka_Strict); + make "polka equalities" PolkaEqualities.get (module Apron_Polka_Equalities); + register_apron () (* diff --git a/src/plugins/value/domains/apron/apron_domain.mli b/src/plugins/value/domains/apron/apron_domain.mli index 19c6611afb1159e90e569e04971eec187da1bbab..5d86a35d509779c5d55ddf1de342b5f592f297fa 100644 --- a/src/plugins/value/domains/apron/apron_domain.mli +++ b/src/plugins/value/domains/apron/apron_domain.mli @@ -24,43 +24,6 @@ the APRON library: http://apron.cri.ensmp.fr/library For now, this binding only processes scalar integer variables. *) -(** Are apron domains available? *) -val ok : bool - -(** Signature of an Apron domain in Eva. *) -module type S = Abstract_domain.Internal - with type value = Main_values.Interval.t - and type location = Precise_locs.precise_location - - -(** Apron domains available for Eva. *) - -(** Octagons abstract domain. *) -module Octagon : S - -(** Intervals abstract domain. *) -module Box : S - -(** Loose polyhedra of the NewPolka library. - Cannot have strict inequality constraints. Algorithmically more efficient. *) -module Polka_Loose : S - -(** Strict polyhedra of the NewPolka library. *) -module Polka_Strict : S - -(** Linear equalities. *) -module Polka_Equalities : S - - -(** Domain keys for the Apron domains in Eva. *) - -val octagon_key : Octagon.t Abstract_domain.key -val box_key : Box.t Abstract_domain.key -val polka_loose_key : Polka_Loose.t Abstract_domain.key -val polka_strict_key : Polka_Strict.t Abstract_domain.key -val polka_equalities_key : Polka_Equalities.t Abstract_domain.key - - (* Local Variables: compile-command: "make -C ../../../.." diff --git a/src/plugins/value/domains/cvalue/cvalue_domain.ml b/src/plugins/value/domains/cvalue/cvalue_domain.ml index 995298130d6c76007449e4477f00dbb2b82b3439..019f87cc0ee61fa5f2fb0ab04a5b43ce16e56256 100644 --- a/src/plugins/value/domains/cvalue/cvalue_domain.ml +++ b/src/plugins/value/domains/cvalue/cvalue_domain.ml @@ -22,15 +22,8 @@ open Eval -let key = Structure.Key_Domain.create_key "cvalue_domain" let dkey_card = Value_parameters.register_category "cardinal" -let extract get = match get key with - | None -> fun _ -> Cvalue.Model.top - | Some get -> function - | `Bottom -> Cvalue.Model.bottom - | `Value state -> get state - module Model = struct include Cvalue.Model @@ -168,10 +161,6 @@ module State = struct type state = Model.t * Locals_scoping.clobbered_set - let structure = - Abstract_domain.Node (Abstract_domain.Leaf key, - Abstract_domain.Leaf Locals_scoping.key) - let log_category = Value_parameters.dkey_cvalue_domain include Datatype.Make_with_collections ( @@ -193,6 +182,7 @@ module State = struct end ) let name = "Cvalue domain" + let key = Structure.Key_Domain.create_key "cvalue_domain" type value = Model.value type location = Model.location @@ -473,7 +463,9 @@ module State = struct | None -> `Bottom else `Top - let get_stmt_state stmt = return (Db.Value.get_stmt_state stmt) + let get_stmt_state ~after stmt = + return (Db.Value.get_stmt_state ~after stmt) + let get_stmt_state_by_callstack ~after stmt = if Storage.get () then @@ -550,9 +542,6 @@ end let () = Db.Value.display := (fun fmt kf -> State.display ~fmt kf) -let inject cvalue_model = cvalue_model, Locals_scoping.bottom () -let project (state, _) = state - type prefix = Hptmap.prefix module Subpart = struct @@ -560,12 +549,12 @@ module Subpart = struct let hash = Model.hash_subtree let equal = Model.equal_subtree end -let distinct_subpart a b = +let distinct_subpart (a, _) (b, _) = if Model.equal a b then None else try Model.comp_prefixes a b; None with Model.Found_prefix (p, s1, s2) -> Some (p, s1, s2) -let find_subpart s prefix = Model.find_prefix s prefix +let find_subpart (s, _) prefix = Model.find_prefix s prefix (* Local Variables: diff --git a/src/plugins/value/domains/cvalue/cvalue_domain.mli b/src/plugins/value/domains/cvalue/cvalue_domain.mli index 34436ded0ad5db8a2d0b97d157f0d802891256a4..cf750b4e60f4caad41803517a7d468d98c6b948b 100644 --- a/src/plugins/value/domains/cvalue/cvalue_domain.mli +++ b/src/plugins/value/domains/cvalue/cvalue_domain.mli @@ -22,28 +22,18 @@ (** Main domain of the Value Analysis. *) -module State : Abstract_domain.Internal +module State : Abstract_domain.Leaf with type value = Main_values.CVal.t and type location = Main_locations.PLoc.location - - -val key : Cvalue.Model.t Abstract_domain.key - -val extract : - (Cvalue.Model.t Abstract_domain.key -> ('state -> Cvalue.Model.t) option) -> - 'state Eval.or_bottom -> Cvalue.Model.t - -val inject : Cvalue.Model.t -> State.t -val project : State.t -> Cvalue.Model.t - + and type state = Cvalue.Model.t * Locals_scoping.clobbered_set (** Specific functions for partitioning optimizations. *) type prefix module Subpart : Hashtbl.HashedType val distinct_subpart : - Cvalue.Model.t -> Cvalue.Model.t -> (prefix * Subpart.t * Subpart.t) option -val find_subpart : Cvalue.Model.t -> prefix -> Subpart.t option + State.t -> State.t -> (prefix * Subpart.t * Subpart.t) option +val find_subpart : State.t -> prefix -> Subpart.t option diff --git a/src/plugins/value/domains/cvalue/locals_scoping.ml b/src/plugins/value/domains/cvalue/locals_scoping.ml index 2059c345c71b2421ed931990f7471fccdfa83ad5..0399ececdacea419c547292619239e0b51aceea7 100644 --- a/src/plugins/value/domains/cvalue/locals_scoping.ml +++ b/src/plugins/value/domains/cvalue/locals_scoping.ml @@ -27,8 +27,6 @@ type clobbered_set = { mutable clob: Base.SetLattice.t } -let key = Structure.Key_Domain.create_key "clobbered_set" - let structural_descr = let open Structural_descr in t_record [| Base.SetLattice.packed_descr |] diff --git a/src/plugins/value/domains/cvalue/locals_scoping.mli b/src/plugins/value/domains/cvalue/locals_scoping.mli index e0b8c5d181d57181580186b48c8a832594d15550..8f0835453855fa211165d61038556ce98f03a81d 100644 --- a/src/plugins/value/domains/cvalue/locals_scoping.mli +++ b/src/plugins/value/domains/cvalue/locals_scoping.mli @@ -30,8 +30,6 @@ type clobbered_set = { mutable clob: Base.SetLattice.t } -val key: clobbered_set Abstract_domain.key - val structural_descr: Structural_descr.t val bottom: unit -> clobbered_set diff --git a/src/plugins/value/domains/domain_builder.ml b/src/plugins/value/domains/domain_builder.ml index b27b01329e10386ad60dee893ca52c897b1d10a5..7406f3753ddcdd15481c6defa1d9e2a36c403c12 100644 --- a/src/plugins/value/domains/domain_builder.ml +++ b/src/plugins/value/domains/domain_builder.ml @@ -22,7 +22,7 @@ module type InputDomain = sig - include Abstract_domain.S_with_Structure + include Abstract_domain.S val storage: unit -> bool end @@ -33,6 +33,9 @@ module Complete include Domain module Store = Domain_store.Make (Domain) + let key: Domain.t Structure.Key_Domain.key = + Structure.Key_Domain.create_key Domain.name + let post_analysis _state = () end @@ -57,7 +60,6 @@ module Make_Minimal include Domain - let structure = Abstract_domain.Void let log_category = Value_parameters.register_category ("d-" ^ name) type value = Value.t @@ -185,7 +187,6 @@ module Complete_Simple_Cvalue (Domain: Simpler_domains.Simple_Cvalue) (Domain) (struct let module_name = Domain.name end) : Datatype.S_with_collections with type t := t) - let structure = Abstract_domain.Void let log_category = Value_parameters.register_category ("d-" ^ name) type value = Cvalue.V.t diff --git a/src/plugins/value/domains/domain_builder.mli b/src/plugins/value/domains/domain_builder.mli index 7d3b426a606878abe05699292d827739fcec4948..1eddbb4b8b52625248ac77e374a6af904047cdf5 100644 --- a/src/plugins/value/domains/domain_builder.mli +++ b/src/plugins/value/domains/domain_builder.mli @@ -24,34 +24,34 @@ simplified interfaces. *) module type InputDomain = sig - include Abstract_domain.S_with_Structure + include Abstract_domain.S val storage: unit -> bool end module Complete (Domain: InputDomain) - : Abstract_domain.Internal with type state = Domain.state - and type value = Domain.value - and type location = Domain.location + : Abstract_domain.Leaf with type state = Domain.state + and type value = Domain.value + and type location = Domain.location module Complete_Minimal (Value: Abstract_value.S) (Location: Abstract_location.S) (Domain: Simpler_domains.Minimal) - : Abstract_domain.Internal with type value = Value.t - and type location = Location.location - and type state = Domain.t + : Abstract_domain.Leaf with type value = Value.t + and type location = Location.location + and type state = Domain.t module Complete_Minimal_with_datatype (Value: Abstract_value.S) (Location: Abstract_location.S) (Domain: Simpler_domains.Minimal_with_datatype) - : Abstract_domain.Internal with type value = Value.t - and type location = Location.location - and type state = Domain.t + : Abstract_domain.Leaf with type value = Value.t + and type location = Location.location + and type state = Domain.t module Complete_Simple_Cvalue (Domain: Simpler_domains.Simple_Cvalue) - : Abstract_domain.Internal with type value = Cvalue.V.t - and type location = Precise_locs.precise_location - and type state = Domain.t + : Abstract_domain.Leaf with type value = Cvalue.V.t + and type location = Precise_locs.precise_location + and type state = Domain.t diff --git a/src/plugins/value/domains/domain_lift.ml b/src/plugins/value/domains/domain_lift.ml index 02eaa96e98d63b5f8cccfe3bfa8463d6565ef361..0256e97c80d334675f3171ec8e0e2dfb1eb4ae86 100644 --- a/src/plugins/value/domains/domain_lift.ml +++ b/src/plugins/value/domains/domain_lift.ml @@ -37,7 +37,7 @@ end module Make - (Domain: Abstract_domain.Internal) + (Domain: Abstract_domain.Leaf) (Convert : Conversion with type internal_value := Domain.value and type internal_location := Domain.location) = struct @@ -45,7 +45,8 @@ module Make include (Domain : Datatype.S_with_collections with type t = Domain.t) include (Domain : Abstract_domain.Lattice with type state = Domain.state) - let structure = Domain.structure + let structure = Abstract.Domain.Leaf (Domain.key, (module Domain)) + let log_category = Domain.log_category type value = Convert.extended_value diff --git a/src/plugins/value/domains/domain_lift.mli b/src/plugins/value/domains/domain_lift.mli index 9e16a8a292ee65d5fd7ff670ac2e9228b9180ba1..9ed356565906f71c2c7aace94cb44fc0e9f5ad9b 100644 --- a/src/plugins/value/domains/domain_lift.mli +++ b/src/plugins/value/domains/domain_lift.mli @@ -36,10 +36,10 @@ end module Make - (Domain: Abstract_domain.Internal) + (Domain: Abstract_domain.Leaf) (Convert : Conversion with type internal_value := Domain.value and type internal_location := Domain.location) - : Abstract_domain.Internal with type state = Domain.state + : Abstract.Domain.Internal with type state = Domain.state and type value = Convert.extended_value and type location = Convert.extended_location and type origin = Domain.origin diff --git a/src/plugins/value/domains/domain_product.ml b/src/plugins/value/domains/domain_product.ml index fffc784d6c8ec628b931a200e587caf909a8c86c..1985b6c173ad631b55d0401c0bf67494861cf831 100644 --- a/src/plugins/value/domains/domain_product.ml +++ b/src/plugins/value/domains/domain_product.ml @@ -28,8 +28,8 @@ let product_category = Value_parameters.register_category "domain_product" module Make (Value: Abstract_value.S) - (Left: Abstract_domain.Internal with type value = Value.t) - (Right: Abstract_domain.Internal with type value = Left.value + (Left: Abstract.Domain.Internal with type value = Value.t) + (Right: Abstract.Domain.Internal with type value = Left.value and type location = Left.location) = struct @@ -51,7 +51,7 @@ module Make (struct let module_name = name end) type state = t - let structure = Abstract_domain.Node (Left.structure, Right.structure) + let structure = Abstract.Domain.Node (Left.structure, Right.structure) let log_category = product_category @@ -366,9 +366,9 @@ module Make and right_tbl = Right.Store.get_initial_state_by_callstack kf in merge_callstack_tbl left_tbl right_tbl - let get_stmt_state stmt = - Left.Store.get_stmt_state stmt >>- fun left -> - Right.Store.get_stmt_state stmt >>-: fun right -> + let get_stmt_state ~after stmt = + Left.Store.get_stmt_state ~after stmt >>- fun left -> + Right.Store.get_stmt_state ~after stmt >>-: fun right -> left, right let get_stmt_state_by_callstack ~after stmt = let left_tbl = Left.Store.get_stmt_state_by_callstack ~after stmt diff --git a/src/plugins/value/domains/domain_product.mli b/src/plugins/value/domains/domain_product.mli index c883a94ba8d1cb26816c742f8c8bf9a5bbe8532c..859988e255221878be47fd1ef9fc7836ca81e6a6 100644 --- a/src/plugins/value/domains/domain_product.mli +++ b/src/plugins/value/domains/domain_product.mli @@ -24,10 +24,10 @@ val product_category: Value_parameters.category module Make (Value: Abstract_value.S) - (Left: Abstract_domain.Internal with type value = Value.t) - (Right: Abstract_domain.Internal with type value = Left.value + (Left: Abstract.Domain.Internal with type value = Value.t) + (Right: Abstract.Domain.Internal with type value = Left.value and type location = Left.location) - : Abstract_domain.Internal with type value = Value.t + : Abstract.Domain.Internal with type value = Value.t and type location = Left.location and type state = Left.state * Right.state diff --git a/src/plugins/value/domains/domain_store.ml b/src/plugins/value/domains/domain_store.ml index 6bcf2d60866172e9f4e3e0889fa671f5c0d0dec4..592b14ca41dcd5dab4a337323e090a112c851dd9 100644 --- a/src/plugins/value/domains/domain_store.ml +++ b/src/plugins/value/domains/domain_store.ml @@ -104,6 +104,13 @@ module Make (Domain: InputDomain) = struct let size = size let dependencies = dependencies end) + module AfterTable = + Cil_state_builder.Stmt_hashtbl (Domain) + (struct + let name = name ^ ".AfterTable" + let size = size + let dependencies = [ AfterTable_By_Callstack.self ] + end) module Called_Functions_By_Callstack = State_builder.Hashtbl @@ -201,13 +208,18 @@ module Make (Domain: InputDomain) = struct try `Value (Called_Functions_By_Callstack.find kf) with Not_found -> `Bottom - let get_stmt_state s = + let get_stmt_state ~after s = if not (Storage.get ()) then `Value Domain.top else - try `Value (Table.find s) + let (find, add), find_by_callstack = + if after + then AfterTable.(find, add), AfterTable_By_Callstack.find + else Table.(find, add), Table_By_Callstack.find + in + try `Value (find s) with Not_found -> - let ho = try Some (Table_By_Callstack.find s) with Not_found -> None in + let ho = try Some (find_by_callstack s) with Not_found -> None in let state = match ho with | None -> `Bottom @@ -216,7 +228,7 @@ module Make (Domain: InputDomain) = struct (fun _cs state acc -> Bottom.join Domain.join acc (`Value state)) h `Bottom in - ignore (state >>-: Table.add s); + ignore (state >>-: add s); state let get_stmt_state_by_callstack ~after stmt = diff --git a/src/plugins/value/domains/equality/equality_domain.ml b/src/plugins/value/domains/equality/equality_domain.ml index 7ccb02c97211ab9dfbf100b5cf16abd9c45358d0..7186aaebe57942d239821101d28e1f9770848930 100644 --- a/src/plugins/value/domains/equality/equality_domain.ml +++ b/src/plugins/value/domains/equality/equality_domain.ml @@ -122,9 +122,8 @@ module Internal = struct type state = t let name = "Equality domain" - let key = Structure.Key_Domain.create_key "equality_domain" - let structure : t Abstract_domain.structure = Abstract_domain.Leaf key let log_category = dkey + let key = Structure.Key_Domain.create_key "equality_domain" type equalities = Equality.Set.t let project (t, _, _) = t @@ -180,13 +179,13 @@ module Store = Domain_store.Make (Internal) (* ------------------------- Abstract Domain -------------------------------- *) module Make - (Value : Abstract_value.External) + (Value : Abstract.Value.External) = struct include Internal module Store = Store - let get_cvalue = Value.get Main_values.cvalue_key + let get_cvalue = Value.get Main_values.CVal.key type value = Value.t type location = Precise_locs.precise_location @@ -218,7 +217,7 @@ module Make let c = get v in if Cvalue.V.is_imprecise c then let c' = Cvalue.V.topify_with_origin Origin.top c in - Value.set Main_values.cvalue_key c' v + Value.set Main_values.CVal.key c' v else v let coop_eval oracle equalities atom_src = diff --git a/src/plugins/value/domains/equality/equality_domain.mli b/src/plugins/value/domains/equality/equality_domain.mli index 6f6d041654125ff27303bcd95cd853297b8ba836..1242e9d2e9cc9af841e56d5ffcad96c5c0595747 100644 --- a/src/plugins/value/domains/equality/equality_domain.mli +++ b/src/plugins/value/domains/equality/equality_domain.mli @@ -31,10 +31,9 @@ type call_init_state = | ISEmpty (** completely empty state, without impact on Memexec. *) -module Make (Value : Abstract_value.External) : sig - include Abstract_domain.Internal with type value = Value.t - and type location = Precise_locs.precise_location - val key : t Abstract_domain.key +module Make (Value : Abstract.Value.External) : sig + include Abstract_domain.Leaf with type value = Value.t + and type location = Precise_locs.precise_location val pretty_debug : Format.formatter -> t -> unit diff --git a/src/plugins/value/domains/gauges/gauges_domain.ml b/src/plugins/value/domains/gauges/gauges_domain.ml index 1af3127519259cc44ffd7db880c28f39dc8983da..e45fc726212b250492260e4c551bc5c1bed3dea4 100644 --- a/src/plugins/value/domains/gauges/gauges_domain.ml +++ b/src/plugins/value/domains/gauges/gauges_domain.ml @@ -1120,7 +1120,7 @@ end let dkey = Value_parameters.register_category "d-gauges" -module D_Impl : Abstract_domain.S_with_Structure +module D_Impl : Abstract_domain.S with type state = G.t and type value = Cvalue.V.t and type location = Precise_locs.precise_location @@ -1132,8 +1132,6 @@ module D_Impl : Abstract_domain.S_with_Structure include G let name = "Gauges domain" - - let structure = Abstract_domain.Void let log_category = dkey let empty _ = G.empty diff --git a/src/plugins/value/domains/gauges/gauges_domain.mli b/src/plugins/value/domains/gauges/gauges_domain.mli index a1609d838a046745346cd36f02e063314057b88a..f51fdfbc660171bd5485c37869384790319e43e1 100644 --- a/src/plugins/value/domains/gauges/gauges_domain.mli +++ b/src/plugins/value/domains/gauges/gauges_domain.mli @@ -23,6 +23,6 @@ (** Gauges domain ("Arnaud Venet: The Gauge Domain: Scalable Analysis of Linear Inequality Invariants. CAV 2012") *) -module D: Abstract_domain.Internal +module D: Abstract_domain.Leaf with type value = Cvalue.V.t and type location = Precise_locs.precise_location diff --git a/src/plugins/value/domains/inout_domain.ml b/src/plugins/value/domains/inout_domain.ml index 12ba3cd152852bbd7ea98e40b0921ae2110bc5a6..1a5a4888c93f0f23d46045a7048f47755e2075b2 100644 --- a/src/plugins/value/domains/inout_domain.ml +++ b/src/plugins/value/domains/inout_domain.ml @@ -204,8 +204,6 @@ module Transfer = struct end -let key = Structure.Key_Domain.create_key "inout domain" - module Internal (*: Domain_builder.InputDomain with type state = inout @@ -221,7 +219,7 @@ module Internal include Abstract_domain.Lattice with type state := state end) - let structure : t Abstract_domain.structure = Abstract_domain.Leaf key + let name = "inout" let log_category = Value_parameters.register_category "d-inout" let enter_scope _kf _vars state = state diff --git a/src/plugins/value/domains/inout_domain.mli b/src/plugins/value/domains/inout_domain.mli index 0304f94f6900c3178afd03ca5c1d3534896a70a6..f759f59bfe6bff258657a4623bfdec01048222e4 100644 --- a/src/plugins/value/domains/inout_domain.mli +++ b/src/plugins/value/domains/inout_domain.mli @@ -22,8 +22,6 @@ (** Computation of inputs of outputs. *) -module D: Abstract_domain.Internal +module D: Abstract_domain.Leaf with type value = Cvalue.V.t and type location = Precise_locs.precise_location - -val key: D.t Abstract_domain.key diff --git a/src/plugins/value/domains/numerors/numerors_domain.ok.ml b/src/plugins/value/domains/numerors/numerors_domain.ml similarity index 57% rename from src/plugins/value/domains/numerors/numerors_domain.ok.ml rename to src/plugins/value/domains/numerors/numerors_domain.ml index cf8e73a78c435b8f993f61ab80c07057b10d60d4..6295adc0eed64e7d4495b8c1dc62ed8aba6ec0cf 100644 --- a/src/plugins/value/domains/numerors/numerors_domain.ok.ml +++ b/src/plugins/value/domains/numerors/numerors_domain.ml @@ -20,17 +20,10 @@ (* *) (**************************************************************************) -#24 "src/plugins/value/domains/numerors/numerors_domain.ok.ml" - open Eval open Cil_types -type value = Numerors_value.t -type location = Precise_locs.precise_location -let value_key = Numerors_value.error_key - -let ok = true - +(* The numerors values, plus some builtin functions. *) module Numerors_Value = struct include Numerors_value @@ -87,61 +80,7 @@ module Numerors_Value = struct ] end -let add_numerors_value (module Value: Abstract_value.Internal) = - let module External_Value = Structure.Open (Structure.Key_Value) (Value) in - let module V = struct - include Value_product.Make (Value) (Numerors_value) - - let forward_cast = match External_Value.get Main_values.cvalue_key with - | None -> forward_cast - | Some get_cvalue -> - fun ~src_type ~dst_type (value, num) -> - forward_cast ~src_type ~dst_type (value, num) >>-: fun (value', num) -> - let num = match src_type, dst_type with - | Eval_typ.TSInt _, Eval_typ.TSFloat fkind -> - begin - try - let cvalue = get_cvalue value in - let ival = Cvalue.V.project_ival cvalue in - match Ival.min_and_max ival with - | Some min, Some max -> - let min, max = Integer.to_int min, Integer.to_int max in - let prec = Numerors_utils.Precisions.of_fkind fkind in - Numerors_value.of_ints ~prec min max - | _, _ -> num - (* Integer.to_int may fail for too big integers. *) - with Cvalue.V.Not_based_on_null | Z.Overflow -> num - end - | _, _ -> num - in - value', num - end in - (module V: Abstract_value.Internal) - -let reduce_error (type v) (module V: Abstract_value.External with type t = v) = - match V.get Numerors_value.error_key, V.get Main_values.cvalue_key with - | Some get_error, Some get_cvalue -> - begin - let set_error = V.set Numerors_value.error_key in - fun t -> - let cvalue = get_cvalue t in - try - let ival = Cvalue.V.project_ival cvalue in - match ival with - | Ival.Float fval -> - begin - let error = get_error t in - let error = Numerors_value.reduce fval error in - match error with - | `Value error -> set_error error t - | `Bottom -> t (* TODO: we should be able to reduce to bottom. *) - end - | _ -> t - with Cvalue.V.Not_based_on_null -> t - end - | _, _ -> fun x -> x - - +(* The numerors domain: a simple memory over the numerors value. *) module Domain = struct module Name = struct let name = "numerors" end include Simple_memory.Make_Domain (Name) (Numerors_Value) @@ -157,7 +96,72 @@ module Domain = struct | _, _ -> () end -let numerors_domain () = - Value_parameters.warning "The numerors domain is experimental."; - (module Domain: Abstract_domain.Internal with type value = value - and type location = location) +(* Reduced product between the cvalue values and the numerors values. *) +let reduce_error cvalue error = + try + let ival = Cvalue.V.project_ival cvalue in + match ival with + | Ival.Float fval -> + begin + match Numerors_value.reduce fval error with + | `Value error -> cvalue, error + | `Bottom -> cvalue, error (* TODO: we should be able to reduce to bottom. *) + end + | _ -> cvalue, error + with Cvalue.V.Not_based_on_null -> cvalue, error + +(* Reduction of the numerors value resulting from a cast from int to float type, + using the cvalue component of value abstractions. *) +let reduce_cast (module Abstract: Abstractions.S) = + let module Val = struct + include Abstract.Val + + (* Redefines the [forward_cast] function of the value component. *) + let forward_cast = + (* If cvalue or numerors do not belong to the abstraction, no reduction: + the [forward_cast] function is unchanged. *) + match get Main_values.CVal.key, mem Numerors_value.key with + | None, _ | _, false -> forward_cast + | Some get_cvalue, true -> + (* Otherwise, applies the [forward_cast] function, but updates the + numerors component of the result. *) + fun ~src_type ~dst_type value -> + forward_cast ~src_type ~dst_type value >>-: fun result -> + match src_type, dst_type with + | Eval_typ.TSInt _, Eval_typ.TSFloat fkind -> + begin + try + let cvalue = get_cvalue value in + let ival = Cvalue.V.project_ival cvalue in + match Ival.min_and_max ival with + | Some min, Some max -> + let min, max = Integer.to_int min, Integer.to_int max in + let prec = Numerors_utils.Precisions.of_fkind fkind in + let num = Numerors_value.of_ints ~prec min max in + set Numerors_value.key num result + | _, _ -> result + (* Integer.to_int may fail for too big integers. *) + with Cvalue.V.Not_based_on_null | Z.Overflow -> result + end + | _, _ -> result + end in + (module struct + module Val = Val + module Loc = Abstract.Loc + module Dom = Abstract.Dom + end: Abstractions.S) + +(* Register the domain as an Eva abstractions. *) +let () = + let open Abstractions in + let domain = + { name = "numerors"; + priority = 0; + values = Single (module Numerors_value); + domain = Domain (module Domain); } + in + let reduced_product = Main_values.CVal.key, Numerors_value.key, reduce_error in + register ~enable:Value_parameters.NumerorsDomain.get domain; + register_value_reduction reduced_product; + register_hook reduce_cast; + Value_parameters.register_numerors () diff --git a/src/plugins/value/domains/numerors/numerors_domain.mli b/src/plugins/value/domains/numerors/numerors_domain.mli index d08ef39909623588ccb4c7582daf7c7a05bdce2a..6fcd35b31eed7cff62e5bdbbda30383c54f47cfc 100644 --- a/src/plugins/value/domains/numerors/numerors_domain.mli +++ b/src/plugins/value/domains/numerors/numerors_domain.mli @@ -20,30 +20,7 @@ (* *) (**************************************************************************) -type value -type location = Precise_locs.precise_location -val value_key : value Structure.Key_Value.k - -(** True if the numerors domain is available; - False if the MPFR library has not been found. *) -val ok: bool - -(** Functions used by the engine to build numerors abstractions. *) - -(** Builds the product between a given value module and the numerors value - module. If the given value module contains Cvalue, uses cvalues to reduce - numerors values on casts from integer to floating-point values. - Fails if numerors domain is not available. *) -val add_numerors_value: - (module Abstract_value.Internal) -> (module Abstract_value.Internal) - -(* From a given abstract value product, creates the reduction function that - reduces numerors values by using cvalues. Returns the identity if the given - value product does not contain numerors and cvalue componants. *) -val reduce_error: - (module Abstract_value.External with type t = 'v) -> ('v -> 'v) - -(** Returns the numerors domain module, if available. Fails otherwise. *) -val numerors_domain: - unit -> (module Abstract_domain.Internal with type value = value - and type location = location) +(** Numerors domain: computes over-approximations of the rounding errors bounds + of floating-point computations. + Nothing is exported: the domain is registered as an analysis abstraction + in the Eva engine, enabled by the -eva-numerors-domain option. *) diff --git a/src/plugins/value/domains/offsm_domain.ml b/src/plugins/value/domains/offsm_domain.ml index 8ab4ee60ca741522d565be563559c1224d23022d..f491384582b905f2aba39ffa65dc80f073344669 100644 --- a/src/plugins/value/domains/offsm_domain.ml +++ b/src/plugins/value/domains/offsm_domain.ml @@ -103,7 +103,6 @@ module Internal : Domain_builder.InputDomain end) let name = "Bitwise domain" - let structure = Abstract_domain.Void let log_category = dkey let empty _ = Memory.empty_map diff --git a/src/plugins/value/domains/offsm_domain.mli b/src/plugins/value/domains/offsm_domain.mli index 4567fc14d3f21c1ad2db640e9264fe6ec387e4cb..8833d4b88cb93b0134e3239aa139a3c6a34585a5 100644 --- a/src/plugins/value/domains/offsm_domain.mli +++ b/src/plugins/value/domains/offsm_domain.mli @@ -20,6 +20,6 @@ (* *) (**************************************************************************) -module D : Abstract_domain.Internal +module D : Abstract_domain.Leaf with type value = Offsm_value.offsm_or_top and type location = Precise_locs.precise_location diff --git a/src/plugins/value/domains/printer_domain.mli b/src/plugins/value/domains/printer_domain.mli index 5355cebbd9cbf82b76690098e670e0af76855c9c..febfc6902d6a8cdf0d0bee4a199bbdadd5cc094d 100644 --- a/src/plugins/value/domains/printer_domain.mli +++ b/src/plugins/value/domains/printer_domain.mli @@ -23,5 +23,5 @@ (** An abstract domain built on top of the Simpler_domains.Simple_Cvalue interface that just prints the transfer functions called by the engine during an analysis. *) -include Abstract_domain.Internal with type value = Cvalue.V.t - and type location = Precise_locs.precise_location +include Abstract_domain.Leaf with type value = Cvalue.V.t + and type location = Precise_locs.precise_location diff --git a/src/plugins/value/domains/sign_domain.mli b/src/plugins/value/domains/sign_domain.mli index fafc9f18c67cf1cd72ee5d88375dfce1631f8fe6..b32803feb652aad71ea799b02aff6a7c733f6b40 100644 --- a/src/plugins/value/domains/sign_domain.mli +++ b/src/plugins/value/domains/sign_domain.mli @@ -22,5 +22,5 @@ (** Abstraction of the sign of integer variables. *) -include Abstract_domain.Internal with type value = Sign_value.t - and type location = Precise_locs.precise_location +include Abstract_domain.Leaf with type value = Sign_value.t + and type location = Precise_locs.precise_location diff --git a/src/plugins/value/domains/simple_memory.ml b/src/plugins/value/domains/simple_memory.ml index f312b589f11a835903ac4080566ce7f14b81df3a..ea1757685829577ec77aa94c1c1de8ff79dc8ce2 100644 --- a/src/plugins/value/domains/simple_memory.ml +++ b/src/plugins/value/domains/simple_memory.ml @@ -188,9 +188,6 @@ module Make_Internal (Info: sig val name: string end) (Value: Value) = struct type value = Value.t type location = Precise_locs.precise_location - let key = Structure.Key_Domain.create_key (Info.name ^ " domain") - let structure : t Abstract_domain.structure = Abstract_domain.Leaf key - let log_category = Value_parameters.register_category ("d-" ^ Info.name) let widen _kf _stmt = widen diff --git a/src/plugins/value/domains/simple_memory.mli b/src/plugins/value/domains/simple_memory.mli index e45eef5cb3a61dcb648a8934330ceabd2d36552f..0ea8a003a607d3271ff50d8c4909948c933b520b 100644 --- a/src/plugins/value/domains/simple_memory.mli +++ b/src/plugins/value/domains/simple_memory.mli @@ -106,8 +106,8 @@ module Make_Domain (Value: Value) : sig - include Abstract_domain.Internal with type value = Value.t - and type location = Precise_locs.precise_location + include Abstract_domain.Leaf with type value = Value.t + and type location = Precise_locs.precise_location include S with type t := t and type value := Value.t diff --git a/src/plugins/value/domains/symbolic_locs.ml b/src/plugins/value/domains/symbolic_locs.ml index 42db4cd7cb58a9c6b6cd3cd75b24f28ab2bd0149..00220370476099169b87412b86f2b397e6574c2f 100644 --- a/src/plugins/value/domains/symbolic_locs.ml +++ b/src/plugins/value/domains/symbolic_locs.ml @@ -472,7 +472,6 @@ module Internal : Domain_builder.InputDomain end) let name = "Symbolic locations domain" - let structure = Abstract_domain.Void let log_category = dkey let empty _ = Memory.empty_map diff --git a/src/plugins/value/domains/symbolic_locs.mli b/src/plugins/value/domains/symbolic_locs.mli index 06cda3ce5eb47f2d1ac33fdfe85205c3dbb1afbb..7cebf7b9f4cb6083bf3625b520be6bf5c1e30ae1 100644 --- a/src/plugins/value/domains/symbolic_locs.mli +++ b/src/plugins/value/domains/symbolic_locs.mli @@ -23,6 +23,6 @@ (** Domain that store information on non-precise l-values such as [t[i]] or [*p] when [i] or [p] is not exact. *) -module D: Abstract_domain.Internal +module D: Abstract_domain.Leaf with type value = Cvalue.V.t and type location = Precise_locs.precise_location diff --git a/src/plugins/value/domains/traces_domain.ml b/src/plugins/value/domains/traces_domain.ml new file mode 100644 index 0000000000000000000000000000000000000000..f7d5946d2dd0477f135ef6c82b6f6190410c1156 --- /dev/null +++ b/src/plugins/value/domains/traces_domain.ml @@ -0,0 +1,1300 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(** traces domain *) + +(** This domain build an over-approximation of all the traces that leads to a statement. + These sets of traces is represented using CFGs. +*) + +module OCamlGraph = Graph +module Frama_c_File = File +open Cil_types +open Cil_datatype + +[@@@ warning "-40-42"] + +module Node : sig + include Datatype.S_with_collections + val id: t -> int + val start: t + val dumb: t + val next: unit -> t +end = struct + include Datatype.Int + let id x = x + let start = 0 + let dumb = (- 1) + module Counter = + State_builder.Counter + (struct let name = "Value.Traces_domain.Node.Counter" end) + let next () = Counter.next () +end + +(** Can't use Graph.t it needs an impossible recursive module *) +module GraphShape = Hptmap.Shape(Node) + +type node = Node.t + +type transition = + | Assign of kinstr * lval * typ * exp + | Assume of stmt * exp * bool + | EnterScope of kernel_function * varinfo list + | LeaveScope of kernel_function * varinfo list + (** For call of functions without definition *) + | CallDeclared of kernel_function * exp list * lval option + | Loop of stmt * node (** start *) * edge list GraphShape.t + | Msg of string + +and edge = { + edge_trans : transition; + edge_dst : node; +} + +module rec Edge : sig + include Datatype.S_with_collections with type t = edge + val succ : t -> node + val change_next : node -> t -> t + + val has_transition : transition -> edge -> bool + + val pretty_list : t list Pretty_utils.formatter +end = struct + module T = struct + type t = edge + let name = "Value.Traces_domain.Edge" + + include Datatype.Serializable_undefined + + let reprs = [ { + edge_trans = Msg "msg"; + edge_dst = Node.start; + }] + + let structural_descr = Structural_descr.t_abstract + + let compare (e1: t) (e2 : t) = + let c = Node.compare e1.edge_dst e2.edge_dst in + if c <> 0 then c else + Transition.compare e1.edge_trans e2.edge_trans + + let equal = Datatype.from_compare + + let pretty fmt e = + Format.fprintf fmt "@[<hv 2>%a @[-> %a@]@]" + Transition.pretty e.edge_trans Node.pretty e.edge_dst + + let hash e = + Hashtbl.seeded_hash (Node.hash e.edge_dst) (Transition.hash e.edge_trans) + end + + include Datatype.Make_with_collections(T) + + let has_transition t e = Transition.equal t e.edge_trans + + let pretty_list fmt l = Pretty_utils.pp_list ~sep:";@ " pretty fmt l + + let succ e = e.edge_dst + let change_next n e = { e with edge_dst = n } +end +and Transition : sig + type t = transition + + val compare : t -> t -> int + val equal : t -> t -> bool + val hash : t -> int + + val pretty : t Pretty_utils.formatter +end = struct + type t = transition + + let compare (t1: t) (t2: t) = match t1, t2 with + | Assign (_, loc1, typ1, exp1), Assign (_, loc2, typ2, exp2) -> + let c = Lval.compare loc1 loc2 in + if c <> 0 then c else + let c = Typ.compare typ1 typ2 in + if c <> 0 then c else + ExpStructEq.compare exp1 exp2 + | Assume (_, e1, b1), Assume (_, e2, b2) -> + let c = ExpStructEq.compare e1 e2 in + if c <> 0 then c else + Pervasives.compare b1 b2 + | EnterScope (_, vs1), EnterScope (_, vs2) -> + Extlib.list_compare Varinfo.compare vs1 vs2 + | LeaveScope (_, vs1), LeaveScope (_, vs2) -> + Extlib.list_compare Varinfo.compare vs1 vs2 + | CallDeclared (kf1, es1, lv1), CallDeclared (kf2, es2, lv2) -> + let c = Kernel_function.compare kf1 kf2 in + if c <> 0 then c else + let c = Extlib.list_compare ExpStructEq.compare es1 es2 in + if c <> 0 then c else + Extlib.opt_compare Lval.compare lv1 lv2 + | Msg s1, Msg s2 -> + String.compare s1 s2 + | Loop (stmt1, s1, g1), Loop (stmt2, s2, g2) -> + let c = Stmt.compare stmt1 stmt2 in + if c <> 0 then c else + let c = Node.compare s1 s2 in + if c <> 0 then c else + GraphShape.compare (Extlib.list_compare Edge.compare) g1 g2 + | Assign _, _ -> -1 + | _ , Assign _ -> 1 + | Assume _, _ -> -1 + | _ , Assume _ -> 1 + | EnterScope _, _ -> -1 + | _ , EnterScope _ -> 1 + | LeaveScope _, _ -> -1 + | _ , LeaveScope _ -> 1 + | CallDeclared _, _ -> -1 + | _ , CallDeclared _ -> 1 + | Msg _, _ -> -1 + | _, Msg _ -> 1 + + let equal t1 t2 = (compare t1 t2 = 0) + + let pretty fmt = function + | Assign (_, loc, _typ, exp) -> + Format.fprintf fmt "Assign:@ %a = %a" + Lval.pretty loc ExpStructEq.pretty exp + | Assume (_, e, b) -> + Format.fprintf fmt "Assume:@ %a %b" ExpStructEq.pretty e b + | EnterScope (_, vs) -> + Format.fprintf fmt "EnterScope:@ %a" + (Pretty_utils.pp_list ~sep:"@ " Varinfo.pretty) vs + | LeaveScope (_, vs) -> + Format.fprintf fmt "LeaveScope:@ %a" + (Pretty_utils.pp_list ~sep:"@ " Varinfo.pretty) vs + | CallDeclared(kf1, exp1, lval1) -> + Format.fprintf fmt "CallDeclared:@ %a%s(%a)" + (Pretty_utils.pp_opt ~pre:"" ~suf:" =@ " Lval.pretty) lval1 + (Kernel_function.get_name kf1) + (Pretty_utils.pp_list ~sep:",@ " ExpStructEq.pretty) exp1 + | Msg s -> Format.fprintf fmt "%s" s + | Loop(stmt, s, g) -> + Format.fprintf fmt "@[Loop(%a) %a@] %a" + Stmt.pretty_sid stmt + Node.pretty s + (GraphShape.pretty (Edge.pretty_list)) g + + let hash = function + | Assume (_, e, b) -> + Hashtbl.seeded_hash (Hashtbl.hash b) (ExpStructEq.hash e) + | Assign (_, lv, t, e) -> + Hashtbl.seeded_hash (ExpStructEq.hash e) + (Hashtbl.seeded_hash (Typ.hash t) + (Hashtbl.seeded_hash 2 (Lval.hash lv))) + | EnterScope (_, vs) -> + List.fold_left + (fun acc e -> Hashtbl.seeded_hash acc (Varinfo.hash e)) 3 vs + | LeaveScope (_, vs) -> + List.fold_left + (fun acc e -> Hashtbl.seeded_hash acc (Varinfo.hash e)) 5 vs + | CallDeclared (kf, es, lv) -> + let x = Kernel_function.hash kf in + let x = Hashtbl.seeded_hash x (Extlib.opt_hash Lval.hash lv) in + List.fold_left + (fun acc e -> Hashtbl.seeded_hash acc (ExpStructEq.hash e)) x es + | Msg s -> Hashtbl.seeded_hash 7 s + | Loop (stmt, s, g) -> + Hashtbl.seeded_hash (Stmt.hash stmt) + (Hashtbl.seeded_hash (GraphShape.hash g) + (Hashtbl.seeded_hash 11 (Node.hash s))) +end + +module EdgeList = struct + include Datatype.List_with_collections(Edge) + (struct let module_name = "Value.Traces_domain.EdgeList" end) + let pretty = Edge.pretty_list + let pretty_debug = pretty +end + +module Graph = struct + include Hptmap.Make(Node)(EdgeList)(Hptmap.Comp_unused) + (struct let v = [[]] end) + (struct let l = [Ast.self] end) + + let is_included = + let cache = Hptmap_sig.NoCache in + let decide_fast = decide_fast_inclusion in + let decide_fst _n _v1 = false in + let decide_snd _n _v2 = true in + let rec decide_both k l1 l2 = + match l1, l2 with + | [], _ -> true + | _, [] -> false + | h1 :: t1, h2 :: t2 -> + let c = Edge.compare h1 h2 in + if c = 0 then decide_both k t1 t2 + else if c < 0 then false + else decide_both k l1 t2 + in + binary_predicate cache UniversalPredicate + ~decide_fast ~decide_fst ~decide_snd ~decide_both + + let join = + let cache = Hptmap_sig.NoCache in + let rec merge_edge k l1 l2 = + match l1, l2 with + | [], l2 -> l2 + | l1, [] -> l1 + | h1 :: t1, h2 :: t2 -> + let c = Edge.compare h1 h2 in + if c = 0 then h1 :: merge_edge k t1 t2 + else if c < 0 then h1 :: merge_edge k t1 l2 + else h2 :: merge_edge k l1 t2 + in + join ~cache ~symmetric:true ~idempotent:true ~decide:merge_edge + + let diff = + let cache = Hptmap_sig.NoCache in + let decide_left = Neutral in + let decide_right = Absorbing in + let rec diff_list k l1 l2 = + match l1, l2 with + | [], _ -> [] + | l1, [] -> l1 + | h1 :: t1, h2 :: t2 -> + let c = Edge.compare h1 h2 in + if c = 0 then diff_list k t1 t2 + else if c < 0 then h1 :: diff_list k t1 l2 + else diff_list k l1 t2 + in + let decide_both k l1 l2 = match diff_list k l1 l2 with [] -> None | l -> Some l in + merge ~cache ~symmetric:false ~idempotent:false + ~decide_both ~decide_left ~decide_right + + let succs (n : Node.t) g = try find n g with Not_found -> [] + + let rec epsilon_path current stop g = + Node.equal current stop || + begin + Node.compare current stop <= 0 && + match find current g with + | exception Not_found -> false + | l -> + let exists = function + | { edge_dst; edge_trans = Msg _ } -> epsilon_path edge_dst stop g + | _ -> false + in + List.exists exists l + end +end + +let create_edge all_edges_ever_created current e = + let m = Graph.singleton current [e] in + let old = !all_edges_ever_created in + let new_ = Graph.join old m in + (* if not (Graph.equal old new_) then *) + (* Format.printf "@[<hv>@[create_edge: %a ->@]@ %a@]@." *) + (* Node.pretty current Edge.pretty e; *) + all_edges_ever_created := new_; + m + +let join_path ~all_edges_ever_created g c1 c2 = + if Graph.epsilon_path c1 c2 g then (c2, g) + else if Graph.epsilon_path c2 c1 g then (c1, g) + else + let t_join = Msg "join" in + let is_join e = Transition.equal e.edge_trans t_join in + let e = + let succs1 = Graph.succs c1 !all_edges_ever_created in + let succs2 = Graph.succs c2 !all_edges_ever_created in + let succs1 = List.filter is_join succs1 in + let find s1 = List.exists (Edge.equal s1) succs2 in + begin match List.find find succs1 with + | exception Not_found -> + { edge_dst = Node.next () ; edge_trans = t_join } + | m -> + { edge_dst = Edge.succ m ; edge_trans = t_join } + end + in + let m1 = create_edge all_edges_ever_created c1 e in + let m2 = create_edge all_edges_ever_created c2 e in + let g = Graph.join (Graph.join m1 g) m2 in + (e.edge_dst, g) + +(* A loop .*) +type loops = + | Base of Node.t * Graph.t (* current last *) + | OpenLoop of Cil_types.stmt * Node.t (* start node *) * Graph.t (* last iteration *) * Node.t (** current *) * Graph.t * loops + | UnrollLoop of Cil_types.stmt * loops + +module Loops = struct + type t = loops + + let rec is_included l1 l2 = match l1, l2 with + | Base _, (OpenLoop _ | UnrollLoop _) + | (OpenLoop _ | UnrollLoop _), Base _ -> + (* not in the same number of loops *) + false + | Base (c1,_), Base (c2,g2) -> + Graph.epsilon_path c1 c2 g2 + | (OpenLoop(stmt1,_,_,_,_,_) | UnrollLoop(stmt1,_)), + (OpenLoop(stmt2,_,_,_,_,_) | UnrollLoop(stmt2,_)) when not (Stmt.equal stmt1 stmt2) -> + (* not same loop *) + false + | OpenLoop(_,s1,_,_,_,_), OpenLoop(_,s2,_,_,_,_) when not (Node.equal s1 s2) -> + (* not entered in the loop at the same time, take arbitrarily one of them *) + false + | OpenLoop(_,_,last1,c1,g1,l1), OpenLoop(_,_,last2,c2,g2,l2) -> + let g2' = Graph.join last2 g2 in + is_included l1 l2 && + Graph.is_included last1 last2 && + Graph.is_included g1 g2' && + Graph.epsilon_path c1 c2 g2' + | UnrollLoop(_,l1), UnrollLoop(_,l2) -> + is_included l1 l2 + | OpenLoop(_,_,_,_,_,_), UnrollLoop(_,_) -> + false + | UnrollLoop(_,l1), OpenLoop(_,_,_,_,_,l2) -> + is_included l1 l2 + + let rec diff l1 l2 = match l1, l2 with + | Base _, (OpenLoop _ | UnrollLoop _) | (OpenLoop _ | UnrollLoop _), Base _ -> + (* not in the same number of loops *) + `Bottom + | Base (c1,g1), Base (_,g2) -> + let g = Graph.diff g1 g2 in + `Value (Base (c1, g)) + | (OpenLoop(stmt1,_,_,_,_,_) | UnrollLoop(stmt1,_)), + (OpenLoop(stmt2,_,_,_,_,_) | UnrollLoop(stmt2,_)) when not (Stmt.equal stmt1 stmt2) -> + (* not same loop *) + `Bottom + | OpenLoop(stmt1,s1,last1,c1,g1,l1), OpenLoop(_,s2,_,_,_,l2) when not (Node.equal s1 s2) -> + (* not entered in the loop at the same time, take arbitrarily one of them *) + begin match diff l1 l2 with + | `Bottom -> `Bottom + | `Value(l) -> `Value(OpenLoop(stmt1,s1,last1,c1,g1,l)) + end + | OpenLoop(stmt,s,last1,c1,g1,l1), OpenLoop(_,_,last2,_,g2,l2) -> + begin match diff l1 l2 with + | `Bottom -> `Bottom + | `Value(l) -> + let last = Graph.diff last1 last2 in + let g = Graph.diff g1 g2 in + `Value(OpenLoop(stmt,s,last,c1,g,l)) + end + | UnrollLoop(stmt,l1), UnrollLoop(_,l2) -> + begin match diff l1 l2 with + | `Bottom -> `Bottom + | `Value l -> `Value (UnrollLoop(stmt,l)) + end + | (OpenLoop(stmt,s,last,c,g,l1), UnrollLoop(_,l2)) -> + begin match diff l1 l2 with + | `Bottom -> `Bottom + | `Value l -> `Value (OpenLoop(stmt,s,last,c,g,l)) + end + | (UnrollLoop(stmt,l2), OpenLoop(_,_,_,_,_,l1)) -> + begin match diff l1 l2 with + | `Bottom -> `Bottom + | `Value l -> `Value (UnrollLoop(stmt,l)) + end + + let rec compare l1 l2 = match l1, l2 with + | Base (c1,g1), Base (c2,g2) -> + let c = Node.compare c1 c2 in + if c <> 0 then c else + Graph.compare g1 g2 + | OpenLoop(stmt1,s1, last1, c1, g1, l1), OpenLoop(stmt2,s2, last2, c2, g2, l2) -> + let c = Stmt.compare stmt1 stmt2 in + if c <> 0 then c else + let c = Node.compare s1 s2 in + if c <> 0 then c else + let c = Graph.compare last1 last2 in + if c <> 0 then c else + let c = Node.compare c1 c2 in + if c <> 0 then c else + let c = Graph.compare g1 g2 in + if c <> 0 then c else + compare l1 l2 + | UnrollLoop(stmt1,l1), UnrollLoop(stmt2,l2) -> + let c = Stmt.compare stmt1 stmt2 in + if c <> 0 then c else + compare l1 l2 + | Base _, _ -> -1 + | _, Base _ -> 1 + | OpenLoop _, _ -> -1 + | _, OpenLoop _ -> 1 + + let rec pretty fmt = function + | Base (c,g) -> + Format.fprintf fmt "@[<hv>%a @[at %a@]@]" + Graph.pretty g Node.pretty c + | OpenLoop(stmt,s,last,c,g,l) -> + Format.fprintf fmt "@[<hv 1>@[loop(%a) %a@]@ @[<hv 1>@[last:@]@ %a@]@ @[<hv 1>@[c:@]@ %a@]@ @[at %a@]@]@ %a" + Stmt.pretty_sid stmt + Node.pretty s Graph.pretty last Graph.pretty g Node.pretty c pretty l + | UnrollLoop(stmt,l) -> + Format.fprintf fmt "@[<hv>@[unroll(%a)@]@ %a" + Stmt.pretty_sid stmt + pretty l + + let rec hash = function + | Base (c,g) -> + Hashtbl.seeded_hash (Hashtbl.seeded_hash 1 (Graph.hash g)) (Node.hash c) + | OpenLoop(stmt,s,last,c,g,l) -> + Hashtbl.seeded_hash 2 + (Stmt.hash stmt, Node.hash s, Graph.hash last, Node.hash c, + Graph.hash g, hash l) + | UnrollLoop(stmt,l) -> + Hashtbl.seeded_hash 2 + (Stmt.hash stmt, hash l) +end + +let rec join_loops ~all_edges_ever_created l1 l2 = + match l1, l2 with + | Base _, (OpenLoop _ | UnrollLoop _) | (OpenLoop _ | UnrollLoop _), Base _ -> + (* not in the same number of loops *) + `Top + | Base (c1,g1), Base (c2,g2) -> + let g = Graph.join g1 g2 in + let (n,g) = join_path ~all_edges_ever_created g c1 c2 in + `Value( Base (n, g)) + | (OpenLoop(stmt1,_,_,_,_,_) | UnrollLoop(stmt1,_)), + (OpenLoop(stmt2,_,_,_,_,_) | UnrollLoop(stmt2,_)) when not (Stmt.equal stmt1 stmt2) -> + (* not same loop *) + `Top + | OpenLoop(stmt1,s1,last1,c1,g1,l1), OpenLoop(_,s2,_,_,_,l2) when not (Node.equal s1 s2) -> + (* not entered in the loop at the same time, take arbitrarily one of them *) + begin match join_loops ~all_edges_ever_created l1 l2 with + | `Top -> `Top + | `Value(l) -> `Value(OpenLoop(stmt1,s1,last1,c1,g1,l)) + end + | OpenLoop(stmt,s,last1,c1,g1,l1), OpenLoop(_,_,last2,c2,g2,l2) -> + begin match join_loops ~all_edges_ever_created l1 l2 with + | `Top -> `Top + | `Value(l) -> + let last = Graph.join last1 last2 in + let g = Graph.join g1 g2 in + let (n,g) = join_path ~all_edges_ever_created g c1 c2 in + `Value(OpenLoop(stmt,s,last,n,g,l)) + end + | UnrollLoop(stmt,l1), UnrollLoop(_,l2) -> + begin match join_loops ~all_edges_ever_created l1 l2 with + | `Top -> `Top + | `Value l -> `Value (UnrollLoop(stmt,l)) + end + | (OpenLoop(stmt,s,last,c,g,l1), UnrollLoop(_,l2)) + | (UnrollLoop(_,l2), OpenLoop(stmt,s,last,c,g,l1)) -> + begin match join_loops ~all_edges_ever_created l1 l2 with + | `Top -> `Top + | `Value l -> `Value (OpenLoop(stmt,s,last,c,g,l)) + end + + +type state = { start : Node.t; current : loops; + call_declared_function: bool; + globals : Cil_types.varinfo list; + main_formals : Cil_types.varinfo list; + (** kind of memoization of the edges *) + all_edges_ever_created : Graph.t ref; + all_loop_start : (Node.t * Graph.t) Stmt.Hashtbl.t; + } + +let start s = s.start +let current s = s.current +let globals s = s.globals +let entry_formals s = s.main_formals + +(* Lattice structure for the abstract state above *) +module Traces = struct + + (** impossible for normal values start must be bigger than current *) + let new_empty () = { start = Node.start; current = Base (Node.start, Graph.empty); + call_declared_function = false; + globals = []; main_formals = []; + all_edges_ever_created = ref Graph.empty; + all_loop_start = Stmt.Hashtbl.create 10; + } + let empty = new_empty () + let top = { (new_empty ()) with current = Base (Node.dumb, Graph.empty); } + + (* Frama-C "datatype" for type [inout] *) + include Datatype.Make_with_collections(struct + include Datatype.Serializable_undefined + + type t = state + let name = "Value.Traces_domain.Traces.state" + + let reprs = [empty] + + let structural_descr = Structural_descr.t_record + [| Descr.pack Datatype.Int.descr; + Descr.pack Datatype.Int.descr; + Descr.pack Graph.descr; + Descr.pack Datatype.Bool.descr; + Structural_descr.pack Structural_descr.t_abstract; + Structural_descr.pack Structural_descr.t_abstract; + |] + + let compare m1 m2 = + let c = Node.compare m1.start m2.start in + if c <> 0 then c else + let c = Loops.compare m1.current m2.current in + if c <> 0 then c else + let c = Datatype.Bool.compare m1.call_declared_function m2.call_declared_function in + if c <> 0 then c else + 0 + + let equal = Datatype.from_compare + + let pretty fmt m = + if m == top then Format.fprintf fmt "TOP" + else + Format.fprintf fmt "@[<hv>@[@[start: %a;@]@ @[globals = %a;@]@ @[main_formals = %a;@]@]@ %a@]" + Node.pretty m.start + (Pretty_utils.pp_list ~sep:",@ " Varinfo.pretty) m.globals + (Pretty_utils.pp_list ~sep:",@ " Varinfo.pretty) m.main_formals + Loops.pretty m.current + + let hash m = + Hashtbl.seeded_hash (Node.hash m.start) (Loops.hash m.current) + + let copy c = c + + end) + + let view m = + if m == top then `Top + else `Other m + + let map_base f state = + let rec aux = function + | Base (c, g) -> + let c, g = f (c, g) in Base (c, g) + | OpenLoop (stmt, s, last, c, g, l) -> + let c, g = f (c, g) in OpenLoop(stmt, s, last, c, g, l) + | UnrollLoop (stmt, l) -> UnrollLoop (stmt, aux l) + in { state with current = aux state.current } + + let move_to c g = map_base (fun _ -> c, g) + let replace_to c = map_base (fun (_, g) -> c, g) + + let get_current state = + let rec aux = function + | Base (c,g) -> (c,g) + | OpenLoop(_,_,_,c,g,_) -> (c,g) + | UnrollLoop(_,l) -> + aux l in + aux state.current + + let add_trans_aux state t = + let add_edge (current, graph) = + let e = + (** try to reuse an edge from the pool *) + let succs = Graph.succs current !(state.all_edges_ever_created) in + try List.find (Edge.has_transition t) succs + with Not_found -> + (** create a new edge *) + { edge_trans = t; edge_dst = Node.next () } + in + let n = e.edge_dst in + let m = create_edge state.all_edges_ever_created current e in + let graph = Graph.join m graph in + (n, graph) + in + map_base add_edge state + + let add_trans c t = + if c == top then c + else if c.call_declared_function then c (** forget intermediary state *) + else + let c = if c == empty then new_empty () else c in + add_trans_aux c t + + let copy_edges s old_current_node g state = + let cache = Node.Hashtbl.create 10 in + let rec aux old_current_node state = + let current_node = (fst (get_current state)) in + let succs = Graph.succs old_current_node g in + let fold state e = + let next_old = Edge.succ e in + let state = match Node.Hashtbl.find cache next_old with + | exception Not_found -> + let state = add_trans state e.edge_trans in + Node.Hashtbl.add cache next_old (fst (get_current state)); + let state = aux next_old state in + replace_to current_node state + | next -> + let (_,g) = get_current state in + let e = Edge.change_next next e in + let m = create_edge state.all_edges_ever_created current_node e in + let g = Graph.join m g in + move_to next g state + in + replace_to current_node state + in + List.fold_left fold state succs + in + let state = aux s state in + let c = Node.Hashtbl.find cache old_current_node in + replace_to c state + + let is_included c1 c2 = + (* start is the same *) + let r = + c1.start = c2.start && + Loops.is_included c1.current c2.current in + if not r && compare c1 c2 = 0 then + Printf.printf "bad is_included@."; + r + + let not_same_origin c1 c2 = + c1.start != c2.start || + c1.globals != c2.globals || + c1.main_formals != c2.main_formals || + c1.all_edges_ever_created != c2.all_edges_ever_created + + let join c1 c2 = + if c1.call_declared_function <> c2.call_declared_function + then + Value_parameters.fatal "@[<hv>@[At the same time inside and outside a function call:@]@ %a@ %a@]" + pretty c1 pretty c2 + else + match view c1, view c2 with + | `Top, _ -> c1 + | _, `Top -> c2 + | `Other c1, `Other c2 when is_included c1 c2 -> c2 + | `Other c1, `Other c2 when is_included c2 c1 -> c1 + | `Other c1, `Other c2 -> + if not_same_origin c1 c2 then assert false + else + let all_edges_ever_created = c1.all_edges_ever_created in + match join_loops ~all_edges_ever_created c1.current c2.current with + | `Top -> top + | `Value(current) -> {c1 with current} + + let add_loop stmt state = + let (n,g) = get_current state in + let succs = Graph.succs n g in + let rec find_same_loop = function + | [] -> + Stmt.Hashtbl.memo state.all_loop_start stmt (fun _ -> Node.next (),Graph.empty) + | edge :: tl -> + match edge.edge_trans with + | Loop (stmt',s,last) when Stmt.equal stmt' stmt -> + s, Graph.from_shape_id last + | _ -> find_same_loop tl + in + let s,last = find_same_loop succs in + let current = OpenLoop(stmt,s,last,s,Graph.empty,state.current) in + { state with current } + + let widen _ stmt' c1 c2 = + if false then + begin + if Loops.compare c1.current c2.current = 0 + then + Format.printf "@[<hv 2>@[widen %a: same loops, states are%s equal @]@]@." + Stmt.pretty_sid stmt' (if compare c1 c2 = 0 then "" else " not") + else + let c1' = Loops.diff c1.current c2.current in + let c2' = Loops.diff c2.current c1.current in + if (Bottom.compare Loops.compare) c1' c2' = 0 then + Format.printf "@[<hv 2>@[widen %a diff equal:@]@ @[<hv 1>@[c1:@]@ %a@]@ @[<hv 1>@[c2:@]@ %a@]@]@." + Stmt.pretty_sid stmt' + Loops.pretty c1.current + Loops.pretty c2.current + + else + Format.printf "@[<hv 2>@[widen %a diff different:@]@ @[<hv 1>@[c1':@]@ %a@]@ @[<hv 1>@[c2':@]@ %a@]@]@." + Stmt.pretty_sid stmt' + (Bottom.pretty Loops.pretty) c1' + (Bottom.pretty Loops.pretty) c2' + end; + if false then + begin + if Loops.compare c1.current c2.current = 0 + then + Format.printf "@[<hv 2>@[widen %a: same loops, states are%s equal @]@]@." + Stmt.pretty_sid stmt' (if compare c1 c2 = 0 then "" else " not") + else + Format.printf "@[<hv 2>@[widen %a@]@]@." Stmt.pretty_sid stmt' + end; + if not (Value_parameters.TracesUnrollLoop.get ()) + then c2 + else begin + match c2.current with + | Base _ -> assert false (** must be in a loop *) + | OpenLoop(stmt,_,_,_,_,_) -> + assert (Stmt.equal stmt' stmt); + c2 + | UnrollLoop(stmt,l) -> + assert (Stmt.equal stmt' stmt); + add_loop stmt' {c2 with current = l} + end + + let narrow _c1 c2 = `Value c2 +end + + +module GraphDot = OCamlGraph.Graphviz.Dot(struct + module V = struct type t = {node : Node.t; loops : Node.t list} end + module E = struct + open V + type t = + | Usual of Node.t * Edge.t * Node.t list + | Head of Node.t * Node.t list * Node.t * Node.t list + | Back of Node.t * Node.t list * Node.t + let src = function + | Usual (src,_,loops) -> {node=src;loops} + | Head (src,loops,_,_) -> {node=src;loops} + | Back (_,loops,src) -> {node=src;loops} + let dst = function + | Usual (_,edge,loops) -> {node=Edge.succ edge;loops} + | Head (_,_,s,loops) -> {node=s;loops} + | Back (dst,loops,_) -> {node=dst;loops} + end + open V + open E + type t = Graph.t + let iter_vertex f g = + let rec iter_edge k (l: Node.t list) e = match e.edge_trans with + | Loop(_,_,g) -> iter_vertex (k::l) g + | _ -> () + and iter_vertex l g = + GraphShape.iter (fun k e -> f {node=k;loops=l}; List.iter (iter_edge k l) e) g + in + iter_vertex [] (Graph.shape g) + let iter_edges_e f g = + let rec iter_edge k l e = + f (Usual(k,e,l)); + match e.edge_trans with + | Loop(_,s,g) -> + let l' = (k::l) in + f (Head(k,l,s,l')); + iter_vertex (Some s) l' g + | _ -> () + and iter_vertex back l g = + GraphShape.iter (fun k e -> + match e, back with + | [], Some back -> f (Back(back,l,k)) + | e, _ -> List.iter (iter_edge k l) e) g + in + iter_vertex None [] (Graph.shape g) + + let graph_attributes _ = [] + let default_vertex_attributes : + t -> OCamlGraph.Graphviz.DotAttributes.vertex list = fun _ -> [] + let subgraph_name loops = + Format.asprintf "S%a" + (fun fmt -> List.iter (fun s -> Format.fprintf fmt "L%a" Node.pretty s)) + loops + let vertex_name v = Format.asprintf "n%a%s" Node.pretty v.node + (subgraph_name v.loops) + let vertex_attributes : + V.t -> OCamlGraph.Graphviz.DotAttributes.vertex list = + fun n -> [`Label (Format.asprintf "%a" Node.pretty n.node)] + let get_subgraph v = + match v.loops with + | [] -> None + | _::l -> Some + {OCamlGraph.Graphviz.DotAttributes.sg_name = subgraph_name v.loops; + sg_attributes = []; + sg_parent = if l = [] then None else Some (subgraph_name l); } + let default_edge_attributes : + t -> OCamlGraph.Graphviz.DotAttributes.edge list = fun _ -> [] + let edge_attributes : E.t -> OCamlGraph.Graphviz.DotAttributes.edge list = + function + | Usual(_,{edge_trans = Loop _},_) -> [`Label (Format.asprintf "leave_loop")] + | Usual(_,e,_) -> [`Label (Format.asprintf "@[<h>%a@]" Transition.pretty e.edge_trans)] + | Head _ -> [] + | Back(_,_,_) -> [`Constraint false] + end) + +(** adds n -> [] for leaves *) +let rec complete_graph (graph:Graph.t) = + Graph.fold (fun k l graph -> + let graph, l = + Extlib.fold_map (fun graph e -> + let m = Graph.singleton (Edge.succ e) [] in + let e = match e.edge_trans with + | Assign (_, _,_,_) + | Assume (_, _,_) + | EnterScope _ + | LeaveScope _ + | CallDeclared (_,_,_) + | Msg _ -> e + | Loop (stmt,s,g) -> + let n = e.edge_dst in + let g = Graph.shape (complete_graph (Graph.from_shape_id g)) in + { edge_dst = n; edge_trans = Loop(stmt,s,g) } + in + Graph.join graph m, e) + graph l + in + Graph.join graph (Graph.singleton k l) + ) graph Graph.empty + + +module Internal = struct + type nonrec state = state + type value = Cvalue.V.t + type location = Precise_locs.precise_location + + include (Traces: sig + include Datatype.S_with_collections with type t = state + include Abstract_domain.Lattice with type state := state + end) + + let log_category = Value_parameters.register_category "d-traces" + + type origin = unit + + module Transfer (Valuation: Abstract_domain.Valuation + with type value = value + and type origin = origin + and type loc = Precise_locs.precise_location) + : Abstract_domain.Transfer + with type state = state + and type value = Cvalue.V.t + and type location = Precise_locs.precise_location + and type valuation = Valuation.t + = struct + type value = Cvalue.V.t + type state = t + type location = Precise_locs.precise_location + type valuation = Valuation.t + + let assign ki lv e _v _valuation state = + let trans = Assign (ki, lv.Eval.lval, lv.Eval.ltyp, e) in + `Value (Traces.add_trans state trans) + + let assume stmt e pos _valuation state = + let trans = Assume (stmt, e, pos) in + `Value (Traces.add_trans state trans) + + let start_call stmt call _valuation state = + let kf = call.Eval.kf in + if Kernel_function.is_definition kf then + let msg = Format.asprintf "start_call: %s (%b)" (Kernel_function.get_name call.Eval.kf) + (Kernel_function.is_definition call.Eval.kf) in + let state = Traces.add_trans state (Msg msg) in + let formals = List.map (fun arg -> arg.Eval.formal) call.Eval.arguments in + let state = Traces.add_trans state (EnterScope (kf, formals)) in + let state = List.fold_left (fun state arg -> + Traces.add_trans state + (Assign (Kstmt stmt, Cil.var arg.Eval.formal, + arg.Eval.formal.Cil_types.vtype, + arg.Eval.concrete))) state call.Eval.arguments in + `Value state + else + (** enter the scope of the dumb result variable *) + let var = call.Eval.return in + let state = match var with + | Some var -> Traces.add_trans state (EnterScope (kf, [var])) + | None -> state in + let exps = List.map (fun arg -> arg.Eval.concrete) call.Eval.arguments in + let state = Traces.add_trans state + (CallDeclared (call.Eval.kf, exps, Extlib.opt_map Cil.var var)) + in `Value {state with call_declared_function = true} + + let finalize_call _stmt call ~pre:_ ~post = + if post.call_declared_function + then `Value {post with call_declared_function = false} + else + let msg = Format.asprintf "finalize_call: %s" (Kernel_function.get_name call.Eval.kf) in + let state = Traces.add_trans post (Msg msg) in + `Value state + + let update _valuation state = `Value state + + let show_expr _valuation state fmt _expr = Traces.pretty fmt state + end + + (* Memexec *) + (* This domains infers no relation between variables. *) + let relate _kf _bases _state = Base.SetLattice.bottom + (* Do not filter the state: the memexec cache will be applied only on function + calls for which the entry states are equal. This almost completely + disable memexec, but is always sound. *) + let filter _kf _kind _bases state = state + (* As memexec cache is only applied on equal entry states, the previous + output state is a correct output for the current input state. *) + let reuse _kf _bases ~current_input:_ ~previous_output:state = state + + let empty () = Traces.empty + let introduce_globals vars state = + {state with globals = vars @ state.globals} + let initialize_variable lv _ ~initialized:_ _ state = + Traces.add_trans state (Msg(Format.asprintf "initialize variable: %a" Printer.pp_lval lv )) + let initialize_variable_using_type init_kind varinfo state = + let state = + match init_kind with + | Abstract_domain.Main_Formal -> {state with main_formals = varinfo::state.main_formals} + | _ -> state + in + let msg = Format.asprintf "initialize@ variable@ using@ type@ %a@ %a" + (fun fmt init_kind -> + match init_kind with + | Abstract_domain.Main_Formal -> Format.pp_print_string fmt "Main_Formal" + | Abstract_domain.Library_Global -> Format.pp_print_string fmt "Library_Global" + | Abstract_domain.Spec_Return kf -> Format.fprintf fmt "Spec_Return(%s)" (Kernel_function.get_name kf)) + init_kind + Varinfo.pretty varinfo + in + Traces.add_trans state (Msg msg) + + (* TODO *) + let logic_assign _assign _location ~pre:_ state = + Traces.add_trans state (Msg "logic assign") + + (* Logic *) + let evaluate_predicate _ _ _ = Alarmset.Unknown + let reduce_by_predicate _ state _ _ = `Value state + + let storage () = true + + let top_query = `Value (Cvalue.V.top, ()), Alarmset.all + + let extract_expr _oracle _state _expr = top_query + let extract_lval _oracle _state _lv _typ _locs = top_query + + let backward_location _state _lval _typ loc value = + `Value (loc, value) + + let enter_loop stmt state = + let state = Traces.add_trans state (Msg "enter_loop") in + let state = if not (Value_parameters.TracesUnrollLoop.get ()) + then Traces.add_loop stmt state + else { state with current = UnrollLoop(stmt,state.current) } in + state + + let incr_loop_counter _ state = + match state.current with + | Base _ -> assert false + | UnrollLoop(_,_) -> state + | OpenLoop(stmt,s,last,_,g,l) -> + let last = Graph.join last g in + let last = if Value_parameters.TracesUnifyLoop.get () then + let s',old_last = Stmt.Hashtbl.find state.all_loop_start stmt in + let last = Graph.join last old_last in + assert (Node.equal s s'); + Stmt.Hashtbl.add state.all_loop_start stmt (s,last); + last + else last + in + let current = OpenLoop(stmt,s,last,s,Graph.empty,l) in + let state = { state with current } in + (* Traces.add_trans state (Msg("incr_loop_counter")) *) + state + + let leave_loop stmt' state = + match state.current with + | Base _ -> assert false (* absurd: we are in at least a loop *) + | UnrollLoop(_,l) -> { state with current = l } + | OpenLoop(stmt,s,last,old_current_node,g,current) -> + assert (Stmt.equal stmt stmt'); + let state = { state with current } in + let last = if Value_parameters.TracesUnifyLoop.get () then + let s',old_last = Stmt.Hashtbl.find state.all_loop_start stmt in + let last = Graph.join last old_last in + assert (Node.equal s s'); + Stmt.Hashtbl.add state.all_loop_start stmt (s,last); + last + else last + in + let state = if Graph.is_empty last then state + else Traces.add_trans state (Loop(stmt,s,Graph.shape last)) in + let state = Traces.copy_edges s old_current_node g state in + Traces.add_trans state (Msg "leave_loop") + + + let enter_scope kf vars state = Traces.add_trans state (EnterScope (kf, vars)) + let leave_scope kf vars state = Traces.add_trans state (LeaveScope (kf, vars)) + + let reduce_further _state _expr _value = [] (*Nothing intelligent to suggest*) + +end + +let dummy_loc = Location.unknown + +let subst_in_full var_mapping = + let visit = Visitor_behavior.copy (Project.current ()) in + visit, object + inherit Cil.genericCilVisitor (visit) + method! vvrbl vi = + match Varinfo.Map.find vi var_mapping with + | exception Not_found -> Cil.DoChildren + | v -> Cil.ChangeTo v + method! vlogic_var_use lv = + match lv.Cil_types.lv_origin with + | None -> Cil.DoChildren + | Some vi -> + match Varinfo.Map.find vi var_mapping with + | exception Not_found -> Cil.DoChildren + | v -> Cil.ChangeTo (Cil.cvar_to_lvar v) + end + +let subst_in var_mapping = (snd (subst_in_full var_mapping)) + +let sanitize_name s = + String.map + (fun c -> + if + ('0' <= c && c <= '9') || + ('a' <= c && c <= 'z') || + ('A' <= c && c <= 'Z') + then c else '_') s + +let subst_in_exp var_map exp = Cil.visitCilExpr (subst_in var_map) exp +let subst_in_lval var_map exp = Cil.visitCilLval (subst_in var_map) exp +let subst_in_varinfo var_map v = + match Varinfo.Map.find v var_map with + | exception Not_found -> v + | v -> v + +let fresh_varinfo var_map v = + let v' = Cil.copyVarinfo v (sanitize_name v.Cil_types.vname) in + v'.Cil_types.vdefined <- false; + Varinfo.Map.add v v' var_map + +let valid_sid = true + +let rec stmts_of_cfg cfg current var_map locals return_exp acc = + match Graph.find current cfg with + | exception Not_found -> + begin match return_exp with + | None -> List.rev acc + | Some (var,exp) -> + let exp = subst_in_exp var_map exp in + let return_stmt = Cil.mkStmtOneInstr ~valid_sid (Cil_types.Set(Cil.var var,exp,dummy_loc)) in + List.rev (return_stmt::acc) + end + | [] -> assert false + | [a] -> begin + let n = a.edge_dst in + match a.edge_trans with + + | Assign (_, lval,_typ,exp) -> + let exp = subst_in_exp var_map exp in + let lval = subst_in_lval var_map lval in + let stmt = Cil.mkStmtOneInstr ~valid_sid (Cil_types.Set(lval,exp,dummy_loc)) in + stmts_of_cfg cfg n var_map locals return_exp (stmt::acc) + + | Assume (_, exp,b) -> + let exp = subst_in_exp var_map exp in + let predicate = (Logic_utils.expr_to_predicate ~cast:true exp).Cil_types.ip_content in + let predicate = if b then predicate else Logic_const.pnot predicate in + let code_annot = Logic_const.new_code_annotation(Cil_types.AAssert([],Assert,predicate)) in + let stmt = Cil.mkStmtOneInstr ~valid_sid (Cil_types.Code_annot(code_annot,dummy_loc)) in + stmts_of_cfg cfg n var_map locals return_exp (stmt::acc) + + | EnterScope (_, vs) -> + (** all our variables are assigned, not defined *) + let var_map = List.fold_left fresh_varinfo var_map vs in + let vs = List.map (subst_in_varinfo var_map) vs in + locals := vs @ !locals; + let block = { Cil_types.battrs = []; + bscoping = true; + blocals = vs; + bstatics = []; + bstmts = stmts_of_cfg cfg n var_map locals return_exp [] } in + let stmt = Cil.mkStmt ~valid_sid (Cil_types.Block(block)) in + List.rev (stmt::acc) + + | LeaveScope _ -> stmts_of_cfg cfg n var_map locals return_exp acc + + | CallDeclared (kf,exps,lval) -> + let exps = List.map (subst_in_exp var_map) exps in + let lval = Extlib.opt_map (subst_in_lval var_map) lval in + let call = Cil.evar ~loc:dummy_loc (subst_in_varinfo var_map (Kernel_function.get_vi kf)) in + let stmt = Cil.mkStmtOneInstr ~valid_sid (Cil_types.Call(lval,call,exps,dummy_loc)) in + stmts_of_cfg cfg n var_map locals return_exp (stmt::acc) + + | Msg _ -> stmts_of_cfg cfg n var_map locals return_exp acc + | Loop (_,s,g) -> + let g = Graph.from_shape (fun _ v -> v) g in + let is_while = + match Graph.succs s g, Graph.succs n cfg with + | [{ edge_dst = n1'; edge_trans = Assume(_,exp1,b1) }], + [{ edge_dst = n2'; edge_trans = Assume(_,exp2,b2) }] + when ExpStructEq.equal exp1 exp2 && b1 != b2 -> + Some (exp1, n1', b1, n2') + | _ -> None in + match is_while with + | None -> Value_parameters.not_yet_implemented "Traces_domain: Loop without condition" + | Some(exp,nloop,bloop,n2) -> + let exp = subst_in_exp var_map exp in + let exp = if bloop then exp else Cil.new_exp ~loc:dummy_loc (UnOp(LNot,exp,Cil.intType)) in + let body = stmts_of_cfg g nloop var_map locals None [] in + let acc = (List.rev (Cil.mkLoop ?sattr:None ~guard:exp ~body)) @ acc in + stmts_of_cfg cfg n2 var_map locals return_exp acc + end + | l -> + let is_if = match l with + | [] | [_] -> assert false (* absurd *) + | [{ edge_dst = n1'; edge_trans = Assume(_,exp1,b1) } ; + { edge_dst = n2'; edge_trans = Assume(_,exp2,b2) }] + when ExpStructEq.equal exp1 exp2 && b1 != b2 -> + if b1 then Some (exp1, n1', n2') else Some (exp1,n2',n1') + | _ -> None in + let stmt = + match is_if with + | None -> Value_parameters.not_yet_implemented "Traces_domain: switch at node(%a)" Node.pretty current + | Some(exp,n1,n2) -> + let exp = subst_in_exp var_map exp in + let block1 = Cil.mkBlock (stmts_of_cfg cfg n1 var_map locals return_exp []) in + let block2 = Cil.mkBlock (stmts_of_cfg cfg n2 var_map locals return_exp []) in + Cil.mkStmt ~valid_sid (Cil_types.If(exp,block1,block2,dummy_loc)) in + List.rev (stmt::acc) + +let project_of_cfg vreturn s = + let main = Kernel_function.get_vi (fst (Globals.entry_point ())) in + + let visit project = + let visitor = + object (self) + inherit Visitor.frama_c_copy project + method! vglob_aux global = + match global with + | Cil_types.GFun(fundec,_) when Varinfo.equal fundec.svar main -> + Cil.DoChildren + | Cil_types.GFun _ -> Cil.ChangeTo([]) + | _ -> Cil.JustCopy + method! vfunc fundec = + if Varinfo.equal (Visitor_behavior.Get_orig.varinfo self#behavior fundec.Cil_types.svar) main then begin + (** copy of the fundec structure has already been done *) + fundec.slocals <- []; + let var_map = Varinfo.Map.empty in + let return_stmt, return_equal, blocals = match vreturn with + | None -> Cil.mkStmt ~valid_sid (Cil_types.Return(None,dummy_loc)), None, [] + | Some exp -> + let var = Cil.makeVarinfo false false "__traces_domain_return" (Cil.typeOf exp) in + Cil.mkStmt ~valid_sid (Cil_types.Return(Some (Cil.evar var),dummy_loc)), + Some (var,exp), [var] + in + let locals = ref [] in + let graph = match s.current with | Base (_,g) -> g | _ -> + Value_parameters.fatal "Traces.project_of_cfg used with open loops" in + let stmts = stmts_of_cfg graph s.start var_map locals return_equal [] in + let sbody = Cil.mkBlock (stmts@[return_stmt]) in + sbody.Cil_types.blocals <- blocals; + fundec.sbody <- sbody; + fundec.slocals <- blocals @ !locals @ fundec.slocals; + Cil.setMaxId fundec; + let fundec = {fundec with sbody} in + Cil.ChangeDoChildrenPost(fundec,(fun x -> x)) + end + else + Cil.JustCopy + end + in + visitor + in + + let _project = Frama_c_File.create_project_from_visitor "Eva.Traces_domain" visit in + () +(* let selection = *) +(* State_selection.diff *) +(* State_selection.full *) +(* (State_selection.list_union *) +(* (List.map State_selection.with_dependencies *) +(* [Cil.Builtin_functions.self; *) +(* Ast.self; *) +(* Frama_c_File.files_pre_register_state])) *) +(* in *) +(* let project = Project.create_by_copy ~selection ~last:true "Eva.Traces_domain" in *) +(* let fundecls = *) +(* let l = ref [] in *) +(* Globals.Functions.iter (fun kf -> *) +(* if not (Kernel_function.is_definition kf) then *) +(* l := (kf.Cil_types.spec, Kernel_function.get_vi kf)::!l *) +(* ); *) +(* !l in *) +(* Project.on project (fun () -> *) + +(* let var_map = Varinfo.Map.empty in *) +(* let var_map = List.fold_left fresh_varinfo var_map s.globals in *) +(* let var_map = List.fold_left fresh_varinfo var_map s.main_formals in *) +(* let fundecls, var_map = List.fold_left (fun (fundecls,var_map) (funspec,v) -> *) +(* let fundecl = Cil_types.GFunDecl(funspec,v,dummy_loc) in *) +(* let behavior,visitor = subst_in_full var_map in *) +(* let fundecl = Cil.visitCilGlobal visitor fundecl in *) +(* let v' = Cil.get_varinfo behavior v in *) +(* (fundecl @ fundecls), Varinfo.Map.add v v' var_map *) +(* (\* (fundecl :: fundecls, var_map) *\) *) +(* ) ([],var_map) fundecls in *) +(* let globals = [] in *) +(* (\** main function *\) *) +(* let var_map = fresh_varinfo var_map main in *) +(* let main = subst_in_varinfo var_map main in *) +(* let fundec = Cil.emptyFunctionFromVI main in *) +(* fundec.Cil_types.sformals <- List.map (subst_in_varinfo var_map) s.main_formals; *) +(* let stmts = Cil.mkBlock (stmts_of_cfg s.graph s.start var_map vreturn []) in *) +(* fundec.Cil_types.sbody <- stmts; *) +(* let globals = Cil_types.GFun(fundec,dummy_loc) :: globals in *) +(* (\* declared functions *\) *) +(* let globals = fundecls @ globals in *) +(* (\* globals *\) *) +(* let globals = (List.map (fun v -> Cil_types.GVarDecl(subst_in_varinfo var_map v,dummy_loc)) s.globals) @ globals in *) +(* let file = { Cil_types.fileName = "Traces_domain"; *) +(* globals; *) +(* globinit = None; *) +(* globinitcalled = false; } in *) +(* Globals.set_entry_point (main.Cil_types.vname) false; *) +(* Format.printf "@[<2>@[file1:@] %a@]@." Printer.pp_file file; *) +(* (\* let file = Cil.visitCilFileCopy (new Cil.genericCilVisitor (Cil.refresh_visit project)) file in *\) *) +(* Format.printf "@[<2>@[file2:@] %a@]@." Printer.pp_file file; *) +(* Ast.set_file file; *) +(* Format.printf "@[<2>@[file3:@] %a@]@." Printer.pp_file file; *) +(* ) () *) + + +let output_dot filename state = + let out = open_out filename in + Value_parameters.feedback ~dkey:Internal.log_category "@[Output dot produced to %s.@]" filename; + (** *) + GraphDot.output_graph out (complete_graph (snd (Traces.get_current state))); + close_out out + +module D = struct + include Domain_builder.Complete (Internal) + + let post_analysis state = + let return_stmt = Kernel_function.find_return (fst (Globals.entry_point ())) in + let return_exp = match return_stmt.Cil_types.skind with + | Cil_types.Return (oexp,_) -> oexp + | _ -> assert false in + let header fmt = Format.fprintf fmt "Trace domains:" in + let body = Bottom.pretty Traces.pretty in + Value_parameters.printf ~dkey:Internal.log_category ~header " @[%a@]" body state; + if Value_parameters.TracesProject.get () || + not (Value_parameters.TracesDot.is_default ()) then + match state with + | `Bottom -> + Value_parameters.failure "The trace is Bottom can't generate code" + | `Value state when state ==Traces.top -> + Value_parameters.failure "The trace is TOP can't generate code" + | `Value state -> + if not (Value_parameters.TracesDot.is_default ()) + then output_dot (Value_parameters.TracesDot.get ()) state; + if Value_parameters.TracesProject.get () + then project_of_cfg return_exp state +end + + +(* +Local Variables: +compile-command: "make -C ../../.." +End: +*) diff --git a/src/plugins/value/domains/traces_domain.mli b/src/plugins/value/domains/traces_domain.mli new file mode 100644 index 0000000000000000000000000000000000000000..a1c57a5359d505bcb8ba41a06b9ab4d7003f649f --- /dev/null +++ b/src/plugins/value/domains/traces_domain.mli @@ -0,0 +1,77 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(** Traces domain *) +open Cil_types + +module Node : Datatype.S + +module GraphShape : sig type 'value t end + +type node = Node.t + +type transition = + | Assign of kinstr * lval * typ * exp + | Assume of stmt * exp * bool + | EnterScope of kernel_function * varinfo list + | LeaveScope of kernel_function * varinfo list + (** For call of functions without definition *) + | CallDeclared of kernel_function * exp list * lval option + | Loop of stmt * node (** start *) * edge list GraphShape.t + | Msg of string + +and edge = { + edge_trans : transition; + edge_dst : node; +} + +module Edge : Datatype.S with type t = edge + +module Graph : sig + include Hptmap_sig.S with type key = Node.t + and type v = edge list + and type 'a shape = 'a GraphShape.t + + val join : t -> t -> t +end + +(** stack of open loops *) +type loops = + | Base of Node.t * Graph.t (* current last *) + | OpenLoop of Cil_types.stmt * Node.t (* start node *) * Graph.t (* last iteration *) * Node.t (** current *) * Graph.t * loops + | UnrollLoop of Cil_types.stmt * loops + +module Loops : sig + type t = loops +end + +type state + +val start: state -> Node.t +val current: state -> loops +val globals: state -> Cil_types.varinfo list +val entry_formals: state -> Cil_types.varinfo list + +module D: Abstract_domain.Leaf + with type value = Cvalue.V.t + and type location = Precise_locs.precise_location + and type state = state diff --git a/src/plugins/value/domains/unit_domain.ml b/src/plugins/value/domains/unit_domain.ml index 4bb14526c7b277ba0348fd36954e862c6d997ab4..e78644f8c489b4125db88289516e89dec38bc0f3 100644 --- a/src/plugins/value/domains/unit_domain.ml +++ b/src/plugins/value/domains/unit_domain.ml @@ -28,8 +28,8 @@ module Static = struct type state = t let name = "Unit domain" - let structure = Abstract_domain.Void let log_category = log_key + let structure = Abstract.Domain.Unit let top = () let is_included _ _ = true diff --git a/src/plugins/value/domains/unit_domain.mli b/src/plugins/value/domains/unit_domain.mli index 03a18359466383b2b457973f30e5d872e498228f..e1ed4495741e0e69942ef91292998f274f08b9c9 100644 --- a/src/plugins/value/domains/unit_domain.mli +++ b/src/plugins/value/domains/unit_domain.mli @@ -23,7 +23,7 @@ module Make (Value: Abstract_value.S) (Loc: Abstract_location.S) - : Abstract_domain.Internal with type state = unit + : Abstract.Domain.Internal with type state = unit and type value = Value.t and type location = Loc.location diff --git a/src/plugins/value/engine/abstractions.ml b/src/plugins/value/engine/abstractions.ml index 2d68429dc36fafde3a69ae79f5bed2ffcbd5cc77..5781d60bf7672faf0129790ab98f89cde419dd68 100644 --- a/src/plugins/value/engine/abstractions.ml +++ b/src/plugins/value/engine/abstractions.ml @@ -20,568 +20,424 @@ (* *) (**************************************************************************) -(* Configuration of the abstract domain. *) - -type config = { - cvalue : bool; - equalities : bool; - symbolic_locs : bool; - bitwise : bool; - gauges : bool; - apron_oct : bool; - apron_box : bool; - polka_loose : bool; - polka_strict : bool; - polka_equalities : bool; - inout: bool; - signs: bool; - printer: bool; - numerors: bool; -} - -let configure () = { - cvalue = Value_parameters.CvalueDomain.get (); - equalities = Value_parameters.EqualityDomain.get (); - symbolic_locs = Value_parameters.SymbolicLocsDomain.get (); - bitwise = Value_parameters.BitwiseOffsmDomain.get (); - gauges = Value_parameters.GaugesDomain.get (); - apron_oct = Value_parameters.ApronOctagon.get (); - apron_box = Value_parameters.ApronBox.get (); - polka_loose = Value_parameters.PolkaLoose.get (); - polka_strict = Value_parameters.PolkaStrict.get (); - polka_equalities = Value_parameters.PolkaEqualities.get (); - inout = Value_parameters.InoutDomain.get (); - signs = Value_parameters.SignDomain.get (); - printer = Value_parameters.PrinterDomain.get (); - numerors = Value_parameters.NumerorsDomain.get (); -} - -let default_config = configure () - -let legacy_config = { - cvalue = true; - equalities = false; - symbolic_locs = false; - bitwise = false; - gauges = false; - apron_oct = false; - apron_box = false; - polka_loose = false; - polka_strict = false; - polka_equalities = false; - inout = false; - signs = false; - printer = false; - numerors = false; -} +(* --- Registration types --------------------------------------------------- *) -module type Value = sig - include Abstract_value.External - val reduce : t -> t +type 'v value = + | Single of (module Abstract_value.Leaf with type t = 'v) + | Struct of 'v Abstract.Value.structure + +type precise_loc = Precise_locs.precise_location + +module type leaf_domain = Abstract_domain.Leaf with type location = precise_loc + +module type domain_functor = + functor (Value: Abstract.Value.External) -> + (leaf_domain with type value = Value.t) + +type 'v domain = + | Domain: (module leaf_domain with type value = 'v) -> 'v domain + | Functor: (module domain_functor) -> _ domain + +type 'v abstraction = + { name: string; + priority: int; + values: 'v value; + domain: 'v domain; } + +(* --- Config and registration ---------------------------------------------- *) + +module Config = struct + type flag = Flag: 'v abstraction -> flag + + module Flag = struct + type t = flag + + (* Flags are sorted by increasing priority order, and then by name. *) + let compare (Flag f1) (Flag f2) = + let c = Datatype.Int.compare f1.priority f2.priority in + if c <> 0 then c else Datatype.String.compare f1.name f2.name + end + + include Set.Make (Flag) + + type dynamic = Dynamic: (unit -> 'a option) * ('a -> 'v abstraction) -> dynamic + + let abstractions = ref [] + let dynamic_abstractions : dynamic list ref = ref [] + + let register ~enable abstraction = + abstractions := (enable, Flag abstraction) :: !abstractions + + let dynamic_register ~configure ~make = + dynamic_abstractions := Dynamic (configure, make) :: !dynamic_abstractions + + let configure () = + let aux config (enable, flag) = + if enable () then add flag config else config + in + let config = List.fold_left aux empty !abstractions in + let aux config (Dynamic (configure, make)) = + match configure () with + | None -> config + | Some c -> add (Flag (make c)) config + in + List.fold_left aux config !dynamic_abstractions + + (* --- Register default abstractions -------------------------------------- *) + + let create ~enable abstract = register ~enable abstract; Flag abstract + let create_domain priority name enable values domain = + create ~enable + { name; priority; values = Single values; domain = Domain domain } + + open Value_parameters + + (* Register standard domains over cvalues. *) + let make rank name enable = + create_domain rank name enable (module Main_values.CVal) + + let cvalue = make 9 "cvalue" CvalueDomain.get (module Cvalue_domain.State) + let gauges = make 6 "gauges" GaugesDomain.get (module Gauges_domain.D) + let inout = make 5 "inout" InoutDomain.get (module Inout_domain.D) + let traces = make 2 "traces" TracesDomain.get (module Traces_domain.D) + let printer = make 2 "printer" PrinterDomain.get (module Printer_domain) + let symbolic_locations = + make 7 "symbolic_locations" SymbolicLocsDomain.get (module Symbolic_locs.D) + + let sign = + create_domain 4 "sign" SignDomain.get + (module Sign_value) (module Sign_domain) + + let bitwise = + create_domain 3 "bitwise" BitwiseOffsmDomain.get + (module Offsm_value.Offsm) (module Offsm_domain.D) + + let equality_domain = + { name = "equality"; + priority = 8; + values = Struct Abstract.Value.Unit; + domain = Functor (module Equality_domain.Make); } + let equality = create ~enable:EqualityDomain.get equality_domain + + (* --- Default and legacy configurations ---------------------------------- *) + + let default = configure () + let legacy = singleton cvalue end -module type S = sig - module Val : Value - module Loc : Abstract_location.External with type value = Val.t - module Dom : Abstract_domain.External with type value = Val.t - and type location = Loc.location +let register = Config.register +let dynamic_register = Config.dynamic_register + +(* --- Building value abstractions ------------------------------------------ *) + +module Leaf_Value (V: Abstract_value.Leaf) = struct + include V + let structure = Abstract.Value.Leaf (V.key, (module V)) end -module type Eva = sig - include S - module Eval: Evaluation.S with type state = Dom.t - and type value = Val.t - and type loc = Loc.location - and type origin = Dom.origin +module Leaf_Location (Loc: Abstract_location.Leaf) = struct + include Loc + let structure = Abstract.Location.Leaf (Loc.key, (module Loc)) end -(* -------------------------------------------------------------------------- *) -(* Value Abstraction *) -(* -------------------------------------------------------------------------- *) +module Leaf_Domain (D: Abstract_domain.Leaf) = struct + include D + let structure = Abstract.Domain.Leaf (D.key, (module D)) +end -module type V = sig - include Abstract_value.External - val structure : t Abstract_value.structure +module type Acc = sig + module Val : Abstract.Value.External + module Loc : Abstract.Location.Internal with type value = Val.t + and type location = precise_loc + module Dom : Abstract.Domain.Internal with type value = Val.t + and type location = Loc.location end -module CVal = struct - include Main_values.CVal - include Structure.Open (Structure.Key_Value) (Main_values.CVal) +module Internal_Value = struct + open Abstract.Value + + type value_key_module = V : 'v key * 'v data -> value_key_module + + let open_value_abstraction (module Value : Internal) = + (module struct + include Value + include Structure.Open (Abstract.Value) (Value) + end : Abstract.Value.External) + + let add_value_leaf value (V (key, v)) = + let module Value = (val open_value_abstraction value) in + if Value.mem key then value else + (module struct + include Value_product.Make (Value) (val v) + let structure = Node (Value.structure, Leaf (key, v)) + end) + + let add_value_structure value internal = + let rec aux: type v. (module Internal) -> v structure -> (module Internal) = + fun value -> function + | Leaf (key, v) -> add_value_leaf value (V (key, v)) + | Node (s1, s2) -> aux (aux value s1) s2 + | Unit -> value + in + aux value internal + + let build_values config initial_value = + let build (Config.Flag abstraction) acc = + match abstraction.values with + | Struct structure -> add_value_structure acc structure + | Single (module V) -> add_value_leaf acc (V (V.key, (module V))) + in + let value = Config.fold build config initial_value in + open_value_abstraction value + + + module Convert + (Value: Abstract.Value.External) + (Struct: sig type v val s : v value end) + = struct + + let structure = match Struct.s with + | Single (module V) -> Abstract.Value.Leaf (V.key, (module V)) + | Struct s -> s + + type extended_value = Value.t + + let replace_val = + let rec set: type v. v structure -> v -> Value.t -> Value.t = + function + | Leaf (key, _) -> Value.set key + | Node (s1, s2) -> + let set1 = set s1 and set2 = set s2 in + fun (v1, v2) value -> set1 v1 (set2 v2 value) + | Unit -> fun () value -> value + in + set structure + + let extend_val v = replace_val v Value.top + + let restrict_val = + let rec get: type v. v structure -> Value.t -> v = function + | Leaf (key, _) -> Extlib.the (Value.get key) + | Node (s1, s2) -> + let get1 = get s1 and get2 = get s2 in + fun v -> get1 v, get2 v + | Unit -> fun _ -> () + in + get structure + + type extended_location = Main_locations.PLoc.location + + let restrict_loc = fun x -> x + let extend_loc = fun x -> x + end end -let has_apron config = - config.apron_oct || config.apron_box || config.polka_equalities - || config.polka_loose || config.polka_strict - -(* The apron domains relies on a specific interval abstraction to communicate - with other domains. This function adds the intervals to the current [value] - abstraction. These intervals carry the same information as the cvalue - abstractions (if they are enabled). Do not display the intervals in the GUI - in this case. *) -let add_apron_value config value = - let module Left = ((val value: Abstract_value.Internal)) in - let module V = struct - include Value_product.Make (Left) (Main_values.Interval) - let pretty_typ = - if config.cvalue - then fun fmt typ (left, _right) -> Left.pretty_typ fmt typ left - else pretty_typ - end in - (module V: Abstract_value.Internal) - -let open_value_abstraction value = - let module Value = (val value : Abstract_value.Internal) in - (module struct - include Value - include Structure.Open (Structure.Key_Value) (Value) - end : V) - -let build_value config = - let value = - if config.bitwise - then (module Offsm_value.CvalueOffsm : Abstract_value.Internal) - else (module Main_values.CVal : Abstract_value.Internal) - in - let value = - if config.signs - then - let module V = Value_product.Make ((val value)) (Sign_value) in - (module V: Abstract_value.Internal) - else value - in - let value = - if config.numerors - then Numerors_domain.add_numerors_value value - else value +(* --- Building domain abstractions ----------------------------------------- *) + +module type internal_loc = + Abstract.Location.Internal with type location = precise_loc +module type internal_domain = + Abstract.Domain.Internal with type location = precise_loc + +let eq_value: + type a b. a Abstract.Value.structure -> b value -> (a,b) Structure.eq option + = fun structure -> function + | Struct s -> Abstract.Value.eq_structure structure s + | Single (module V) -> + match structure with + | Abstract.Value.Leaf (key, _) -> Abstract.Value.eq_type key V.key + | _ -> None + +let add_domain (type v) (abstraction: v abstraction) (module Acc: Acc) = + let domain : (module internal_domain with type value = Acc.Val.t) = + match abstraction.domain with + | Functor make -> + let module Make = (val make: domain_functor) in + (module Leaf_Domain (Make (Acc.Val))) + | Domain domain -> + match eq_value Acc.Val.structure abstraction.values with + | Some Structure.Eq -> + let module Domain = (val domain) in + (module Leaf_Domain (Domain)) + | None -> + let module Domain = (val domain : leaf_domain with type value = v) in + let module Struct = struct + type v = Domain.value + let s = abstraction.values + end in + let module Convert = Internal_Value.Convert (Acc.Val) (Struct) in + (module Domain_lift.Make (Domain) (Convert)) in - let value = - if has_apron config - then add_apron_value config value - else value + let domain : (module internal_domain with type value = Acc.Val.t) = + match Abstract.Domain.(eq_structure Acc.Dom.structure Unit) with + | Some _ -> domain + | None -> + (* The new [domain] becomes the left leaf of the domain product, and will + be processed before the domains from [Acc.Dom] during the analysis. *) + (module Domain_product.Make (Acc.Val) ((val domain)) (Acc.Dom)) in - open_value_abstraction value - -(* Builds a module conversion from a generic external value to a key. *) -module Convert - (Value : Abstract_value.External) - (K : sig type v val key : v Abstract_value.key end) -= struct - type extended_value = Value.t - type extended_location = Main_locations.PLoc.location + (module struct + module Val = Acc.Val + module Loc = Acc.Loc + module Dom = (val domain) + end : Acc) - let extend_val = - let set = Value.set K.key in - fun v -> set v Value.top +let build_domain config abstract = + let build (Config.Flag abstraction) acc = add_domain abstraction acc in + (* Domains in the [config] are sorted by increasing priority: domains with + higher priority are added last: they will be at the top of the domains + tree, and thus will be processed first during the analysis. *) + Config.fold build config abstract - let replace_val = Value.set K.key - let restrict_val = match Value.get K.key with - | None -> assert false - | Some get -> get +(* --- Value reduced product ----------------------------------------------- *) - let restrict_loc = fun x -> x - let extend_loc = fun x -> x +module type Value = sig + include Abstract.Value.External + val reduce : t -> t end - -(* -------------------------------------------------------------------------- *) -(* Cvalue Domain *) -(* -------------------------------------------------------------------------- *) - -(* Abstractions needed for the analysis: value, location and domain. *) -module type Abstract = sig - module Val : V - module Loc : Abstract_location.Internal with type value = Val.t - and type location = Precise_locs.precise_location - module Dom : Abstract_domain.Internal with type value = Val.t +module type S = sig + module Val : Value + module Loc : Abstract.Location.External with type value = Val.t + module Dom : Abstract.Domain.External with type value = Val.t and type location = Loc.location end -let default_root_abstraction config = - if config.cvalue - then - (module struct - module Val = CVal - module Loc = Main_locations.PLoc - module Dom = Cvalue_domain.State - end : Abstract) - else - (module struct - module Val = CVal - module Loc = Main_locations.PLoc - module Dom = Unit_domain.Make (Val) (Loc) - end : Abstract) - -let build_root_abstraction config value = - let module Val = (val value : V) in - let module K = struct - type v = Cvalue.V.t - let key = Main_values.cvalue_key - end in - let module Conv = Convert (Val) (K) in - if config.cvalue - then - (module struct - module Val = Val - module Loc = Location_lift.Make (Main_locations.PLoc) (Conv) - module Dom = Domain_lift.Make (Cvalue_domain.State) (Conv) - end : Abstract) - else - (module struct - module Val = Val - module Loc = Location_lift.Make (Main_locations.PLoc) (Conv) - module Dom = Unit_domain.Make (Val) (Loc) - end : Abstract) - - -(* -------------------------------------------------------------------------- *) -(* Apron Domains *) -(* -------------------------------------------------------------------------- *) - -let add_apron_domain abstract apron = - let module Abstract = (val abstract: Abstract) in - let module K = struct - type v = Main_values.Interval.t - let key = Main_values.interval_key - end in - let module Conv = Convert (Abstract.Val) (K) in - let module Apron = Domain_lift.Make ((val apron : Apron_domain.S)) (Conv) in - (module struct - module Val = Abstract.Val - module Loc = Abstract.Loc - module Dom = Domain_product.Make (Abstract.Val) (Abstract.Dom) (Apron) - end : Abstract) +module type Eva = sig + include S + module Eval: Evaluation.S with type state = Dom.t + and type value = Val.t + and type loc = Loc.location + and type origin = Dom.origin +end -let dkey_experimental = Value_parameters.register_category "experimental-ok" -let add_apron_domain abstractions apron = - if not (Value_parameters.is_debug_key_enabled dkey_experimental) then - Value_parameters.warning "The Apron domains binding is experimental."; - if Apron_domain.ok - then add_apron_domain abstractions apron - else - Value_parameters.abort - "Apron domain requested but apron binding not available: analysis aborted." +type ('a, 'b) value_reduced_product = + 'a Abstract.Value.key * 'b Abstract.Value.key * ('a -> 'b -> 'a * 'b) +type v_reduced_product = R: ('a, 'b) value_reduced_product -> v_reduced_product -(* -------------------------------------------------------------------------- *) -(* Equality Domain *) -(* -------------------------------------------------------------------------- *) +let value_reduced_product = ref [] -module CvalueEquality = Equality_domain.Make (CVal) +let register_value_reduction reduced_product = + value_reduced_product := (R reduced_product) :: !value_reduced_product -let add_generic_equalities (module Abstract : Abstract) = - let module EqDom = Equality_domain.Make (Abstract.Val) in - let module Dom = Domain_product.Make (Abstract.Val) (Abstract.Dom) (EqDom) in - (module struct - module Val = Abstract.Val - module Loc = Abstract.Loc - module Dom = Dom - end : Abstract) - -let add_equalities (type v) (module Abstract : Abstract with type Val.t = v) = - match Abstract.Val.structure with - | Structure.Key_Value.Leaf key -> - begin - match Structure.Key_Value.eq_type key Main_values.cvalue_key with - | None -> add_generic_equalities (module Abstract) - | Some Structure.Eq -> - let module Dom = - Domain_product.Make (Abstract.Val) (Abstract.Dom) (CvalueEquality) - in - (module struct - module Val = Abstract.Val - module Loc = Abstract.Loc - module Dom = Dom - end : Abstract) +(* When the value abstraction contains both a cvalue and an interval + component (coming currently from an Apron domain), reduce them from each + other. If the Cvalue is not a scalar do nothing, because we do not + currently use Apron for pointer offsets. *) +let reduce_apron_itv cvalue ival = + match ival with + | None -> begin + try cvalue, Some (Cvalue.V.project_ival cvalue) + with Cvalue.V.Not_based_on_null -> cvalue, ival end - | _ -> add_generic_equalities (module Abstract) - - -(* -------------------------------------------------------------------------- *) -(* Offsetmap Domain *) -(* -------------------------------------------------------------------------- *) - -let add_offsm abstract = - let module Abstract = (val abstract : Abstract) in - let module K = struct - type v = Offsm_value.offsm_or_top - let key = Offsm_value.offsm_key - end in - let module Conv = Convert (Abstract.Val) (K) in - let module Offsm = Domain_lift.Make (Offsm_domain.D) (Conv) in - let module Dom = Domain_product.Make (Abstract.Val) (Abstract.Dom) (Offsm) in - (module struct - module Val = Abstract.Val - module Loc = Abstract.Loc - module Dom = Dom - end : Abstract) - -(* -------------------------------------------------------------------------- *) -(* Domains on standard locations and values *) -(* -------------------------------------------------------------------------- *) - -module type Standard_abstraction = Abstract_domain.Internal - with type value = Cvalue.V.t - and type location = Precise_locs.precise_location - -let add_standard_domain d abstract = - let module Abstract = (val abstract : Abstract) in - let module K = struct - type v = Cvalue.V.t - let key = Main_values.cvalue_key - end in - let module Conv = Convert (Abstract.Val) (K) in - let module D = (val d: Standard_abstraction) in - let module LD = Domain_lift.Make (D) (Conv) in - let module Dom = Domain_product.Make (Abstract.Val)(Abstract.Dom)(LD) in - (module struct - module Val = Abstract.Val - module Loc = Abstract.Loc - module Dom = Dom - end : Abstract) - -(* List of abstractions registered by other plugins *) -let dynamic_abstractions = ref [] - -let add_dynamic_abstractions abstract = - List.fold_left - (fun d abstract -> add_standard_domain abstract d) - abstract !dynamic_abstractions - -let register_dynamic_abstraction d = - dynamic_abstractions := d :: !dynamic_abstractions - -(* --------------------------------------------------------------------------*) -(* Symbolic locations *) -(* --------------------------------------------------------------------------*) - -let add_symbolic_locs = - add_standard_domain (module Symbolic_locs.D) - -(* -------------------------------------------------------------------------- *) -(* Gauges *) -(* -------------------------------------------------------------------------- *) - -let add_gauges = - add_standard_domain (module Gauges_domain.D) - -(* -------------------------------------------------------------------------- *) -(* Inout *) -(* -------------------------------------------------------------------------- *) - -let add_inout = - add_standard_domain (module Inout_domain.D) - -(* -------------------------------------------------------------------------- *) -(* Sign Domain *) -(* -------------------------------------------------------------------------- *) - -let add_signs abstract = - let module Abstract = (val abstract : Abstract) in - let module K = struct - type v = Sign_value.t - let key = Sign_value.sign_key - end in - let module Conv = Convert (Abstract.Val) (K) in - let module Sign = Domain_lift.Make (Sign_domain) (Conv) in - let module Dom = Domain_product.Make (Abstract.Val) (Abstract.Dom) (Sign) in - (module struct - module Val = Abstract.Val - module Loc = Abstract.Loc - module Dom = Dom - end : Abstract) - -(* -------------------------------------------------------------------------- *) -(* Numerors Domain *) -(* -------------------------------------------------------------------------- *) - -let add_errors abstract = - let module Abstract = (val abstract : Abstract) in - let module K = struct - type v = Numerors_domain.value - let key = Numerors_domain.value_key - end in - let module Conv = Convert (Abstract.Val) (K) in - let module Numerors = (val Numerors_domain.numerors_domain ()) in - let module Errors = Domain_lift.Make (Numerors) (Conv) in - let module Dom = Domain_product.Make (Abstract.Val) (Abstract.Dom) (Errors) in - (module struct - module Val = Abstract.Val - module Loc = Abstract.Loc - module Dom = Dom - end : Abstract) + | Some ival -> + try + let ival' = Cvalue.V.project_ival cvalue in + (match ival' with + | Ival.Float _ -> raise Cvalue.V.Not_based_on_null + | _ -> ()); + let reduced_ival = Ival.narrow ival ival' in + let cvalue = Cvalue.V.inject_ival reduced_ival in + cvalue, Some reduced_ival + with Cvalue.V.Not_based_on_null -> cvalue, Some ival + +let () = + register_value_reduction + (Main_values.CVal.key, Main_values.Interval.key, reduce_apron_itv) + +module Reduce (Value : Abstract.Value.External) = struct + include Value -(* -------------------------------------------------------------------------- *) -(* Printer *) -(* -------------------------------------------------------------------------- *) + let make_reduction acc (R (key1, key2, f)) = + match Value.get key1, Value.get key2 with + | Some get1, Some get2 -> + let set1 = Value.set key1 + and set2 = Value.set key2 in + let reduce v = let v1, v2 = f (get1 v) (get2 v) in set1 v1 (set2 v2 v) in + reduce :: acc + | _, _ -> acc + + let reduce = + let list = List.fold_left make_reduction [] !value_reduced_product in + fun v -> List.fold_left (fun v reduce -> reduce v) v list +end -let add_printer = - add_standard_domain (module Printer_domain) +(* --- Final hook ----------------------------------------------------------- *) -(* -------------------------------------------------------------------------- *) -(* Build Abstractions *) -(* -------------------------------------------------------------------------- *) +let final_hooks = ref [] -let build_abstractions config = - let value = build_value config in - let module V = (val value : V) in - let abstractions = - match V.structure with - | Structure.Key_Value.Leaf key - when Structure.Key_Value.equal key Main_values.cvalue_key -> - default_root_abstraction config - | _ -> build_root_abstraction config value - in - let abstractions = - if config.apron_oct - then add_apron_domain abstractions (module Apron_domain.Octagon) - else abstractions - in - let abstractions = - if config.apron_box - then add_apron_domain abstractions (module Apron_domain.Box) - else abstractions - in - let abstractions = - if config.polka_loose - then add_apron_domain abstractions (module Apron_domain.Polka_Loose) - else abstractions - in - let abstractions = - if config.polka_strict - then add_apron_domain abstractions (module Apron_domain.Polka_Strict) - else abstractions - in - let abstractions = - if config.polka_equalities - then add_apron_domain abstractions (module Apron_domain.Polka_Equalities) - else abstractions - in - let module A = (val abstractions : Abstract) in - let abstractions = - if config.equalities - then add_equalities (module A) - else abstractions - in - let abstractions = - if config.symbolic_locs - then add_symbolic_locs abstractions - else abstractions - in - let abstractions = - if config.bitwise - then add_offsm abstractions - else abstractions - in - let abstractions = - if config.gauges - then add_gauges abstractions - else abstractions - in - let abstractions = - if config.inout - then add_inout abstractions - else abstractions - in - let abstractions = - if config.signs - then add_signs abstractions - else abstractions - in - let abstractions = - if config.numerors - then add_errors abstractions - else abstractions - in - let abstractions = - if config.printer - then add_printer abstractions - else abstractions - in - let abstractions = add_dynamic_abstractions abstractions in - abstractions +let register_hook f = + final_hooks := f :: !final_hooks +let apply_final_hooks abstractions = + List.fold_left (fun acc f -> f acc) abstractions !final_hooks -(* Add the reduce function to the value module. *) -module Reduce (Value : Abstract_value.External) = struct +(* --- Building abstractions ------------------------------------------------ *) - include Value +module Open (Acc: Acc) : S = struct + module Val = Reduce (Acc.Val) + module Loc = struct + include Acc.Loc + include Structure.Open (Abstract.Location) + (struct include Acc.Loc type t = location end) + end + module Dom = struct + include Acc.Dom + include Structure.Open (Abstract.Domain) (Acc.Dom) + + let get_cvalue = match get Cvalue_domain.State.key with + | None -> None + | Some get -> Some (fun s -> fst (get s)) + + let get_cvalue_or_top = match get Cvalue_domain.State.key with + | None -> fun _ -> Cvalue.Model.top + | Some get -> fun s -> fst (get s) - (* When the value abstraction contains both a cvalue and an interval - component (coming currently from an Apron domain), reduce them from each - other. If the Cvalue is not a scalar do nothing, because we do not - currently use Apron for pointer offsets. *) - let reduce_apron_itv = - match Value.get Main_values.interval_key, Value.get Main_values.cvalue_key with - | Some get_interval, Some get_cvalue -> - begin - let set_cvalue = Value.set Main_values.cvalue_key in - let set_interval = Value.set Main_values.interval_key in - fun t -> - match get_interval t with - | None -> begin - let cvalue = get_cvalue t in - try - let ival = Cvalue.V.project_ival cvalue in - set_interval (Some ival) t - with Cvalue.V.Not_based_on_null -> t - end - | Some ival -> - let cvalue = get_cvalue t in - try - let ival' = Cvalue.V.project_ival cvalue in - (match ival' with - | Ival.Float _ -> raise Cvalue.V.Not_based_on_null - | _ -> ()); - let reduced_ival = Ival.narrow ival ival' in - let cvalue = Cvalue.V.inject_ival reduced_ival in - set_interval (Some reduced_ival) (set_cvalue cvalue t) - with Cvalue.V.Not_based_on_null -> t - end - | _, _ -> fun x -> x - - let reduce_error = Numerors_domain.reduce_error (module Value) - - let reduce t = reduce_apron_itv (reduce_error t) + let get_cvalue_or_bottom = function + | `Bottom -> Cvalue.Model.bottom + | `Value state -> get_cvalue_or_top state + end end -let open_abstractions abstraction = - let module Abstract = (val abstraction : Abstract) in - let module Val = Reduce (Abstract.Val) in - let module Loc = struct - include Abstract.Loc - include Structure.Open - (Structure.Key_Location) - (struct include Abstract.Loc type t = location end) - end in - let module Domain = struct - include Abstract.Dom - include Structure.Open (Structure.Key_Domain) (Abstract.Dom) - end in +module CVal = Leaf_Value (Main_values.CVal) + +let unit_acc (module Value: Abstract.Value.External) = + let loc : (module internal_loc with type value = Value.t) = + match Abstract.Value.eq_structure Value.structure CVal.structure with + | Some Structure.Eq -> (module Leaf_Location (Main_locations.PLoc)) + | _ -> + let module Struct = struct + type v = Cvalue.V.t + let s = Single (module Main_values.CVal) + end in + let module Conv = Internal_Value.Convert (Value) (Struct) in + (module Location_lift.Make (Main_locations.PLoc) (Conv)) + in (module struct - module Val = Val - module Loc = Loc - module Dom = Domain - end : S) + module Val = Value + module Loc = (val loc) + module Dom = Unit_domain.Make (Val) (Loc) + end : Acc) + +let build_abstractions config = + let initial_value : (module Abstract.Value.Internal) = + if Config.mem Config.bitwise config + then (module Offsm_value.CvalueOffsm) + else (module CVal) + in + let value = Internal_Value.build_values config initial_value in + let acc = unit_acc value in + build_domain config acc +let configure = Config.configure let make config = let abstractions = build_abstractions config in - open_abstractions abstractions - - -(* -------------------------------------------------------------------------- *) -(* Default and Legacy Abstractions *) -(* -------------------------------------------------------------------------- *) - -module Legacy = (val make legacy_config) -module Default = (val make default_config) - - + let abstractions = (module Open (val abstractions): S) in + apply_final_hooks abstractions -(* -Local Variables: -compile-command: "make -C ../../../.." -End: -*) +module Default = (val make Config.default) +module Legacy = (val make Config.legacy) diff --git a/src/plugins/value/engine/abstractions.mli b/src/plugins/value/engine/abstractions.mli index 9b3a1fb81ed87b230ae2828e5b6f8bf51e3233da..4c2909dbb757e52966e0dab66ec42e86473b87b2 100644 --- a/src/plugins/value/engine/abstractions.mli +++ b/src/plugins/value/engine/abstractions.mli @@ -20,54 +20,90 @@ (* *) (**************************************************************************) -(** Constructions of the abstractions used by Eva. *) - -(** Configuration of the abstract domain. *) -type config = { - cvalue : bool; - equalities : bool; - symbolic_locs : bool; - bitwise : bool; - gauges: bool; - apron_oct : bool; - apron_box : bool; - polka_loose : bool; - polka_strict : bool; - polka_equalities : bool; - inout: bool; - signs: bool; - printer: bool; - numerors: bool; -} - -(** Default configuration of Eva. *) -val default_config : config - -(** Legacy configuration of Eva, with only the cvalue domain enabled. - May be the default config as well. *) -val legacy_config : config - -(** Build a configuration according to the analysis parameters. *) -val configure : unit -> config +(** Registration and building of the analysis abstractions. *) +(** {2 Registration of abstractions.} *) +(** Dynamic registration of the abstractions to be used in an Eva analysis: + - value abstractions, detailled in the {Abstract_value} signature; + - location abstractions, detailled in the {Abstract_location} signature; + - state abstractions, or abstract domains, detailled in {Abstract_domain}. +*) + +(** Module types of value abstractions: either a single leaf module, or + a compound of several modules described by a structure. *) +type 'v value = + | Single of (module Abstract_value.Leaf with type t = 'v) + | Struct of 'v Abstract.Value.structure + +(** For the moment, all domains must use [precise_loc] as their location + abstraction, and no new location abstraction can be registered for an + analysis. + If you need to build a new location abstraction, please contact us. *) +type precise_loc = Precise_locs.precise_location + +(** Module type of a leaf domain over precise_loc abstraction. *) +module type leaf_domain = Abstract_domain.Leaf with type location = precise_loc + +(** Module type of a functor building a leaf domain from a value abstraction. + The resulting domain must use the input value as value abstraction. *) +module type domain_functor = functor + (Value: Abstract.Value.External) -> (leaf_domain with type value = Value.t) + +(** Type of domain to be registered: either a leaf module with ['v] as value + abstraction, or a functor building a domain from any value abstraction. *) +type 'v domain = + | Domain: (module leaf_domain with type value = 'v) -> 'v domain + | Functor: (module domain_functor) -> _ domain + +(** Abstraction to be registered. The name of each abstraction must be unique. + The priority can be any integer; domains with higher priority are always + processed first. The domains currently provided by Eva have priority ranging + between 1 and 19, so a priority of 0 (respectively 20) ensures that a new + domain is processed after (respectively before) the classic Eva domains. *) +type 'v abstraction = + { name: string; (** Name of the abstraction. Must be unique. *) + priority: int; (** Domains with higher priority are processed first. *) + values: 'v value; (** The value abstraction. *) + domain: 'v domain; (** The domain over the value abstraction. *) + } + +(** Register an abstraction. The abstraction is used in an Eva analysis only if + [enable ()] returns true at the start of the analysis. *) +val register: enable:(unit -> bool) -> 'v abstraction -> unit + +(** Register a dynamic abstraction: the abstraction is built by applying + [make (configure ())] at the start of each analysis. *) +val dynamic_register: + configure:(unit -> 'a option) -> make:('a -> 'v abstraction) -> unit + +(** Value reduced product between two value abstractions, identified by their + keys. *) +type ('a, 'b) value_reduced_product = + 'a Abstract.Value.key * 'b Abstract.Value.key * ('a -> 'b -> 'a * 'b) + +(** Register a reduction function for a value reduced product. *) +val register_value_reduction: ('a, 'b) value_reduced_product -> unit + + +(** {2 Types used in the engine.} *) + +(** The external signature of value abstractions, plus the reduction function + of the reduced product. *) module type Value = sig - include Abstract_value.External + include Abstract.Value.External val reduce : t -> t end -(** Types of the abstractions of the analysis: value, location and state - abstractions.*) +(** The three abstractions used in an Eva analysis. *) module type S = sig module Val : Value - module Loc : Abstract_location.External with type value = Val.t - module Dom : Abstract_domain.External with type value = Val.t + module Loc : Abstract.Location.External with type value = Val.t + module Dom : Abstract.Domain.External with type value = Val.t and type location = Loc.location end -(** Module gathering: - - the analysis abstractions: value, location and state abstractions; - - the evaluation functions for these abstractions. *) +(** The three abstractions plus an evaluation engine for these abstractions. *) module type Eva = sig include S module Eval: Evaluation.S with type state = Dom.t @@ -76,26 +112,45 @@ module type Eva = sig and type origin = Dom.origin end -(** Type of abstractions that use the builtin types for values and locations *) -module type Standard_abstraction = Abstract_domain.Internal - with type value = Cvalue.V.t - and type location = Precise_locs.precise_location +(** Register a hook modifying the three abstractions after their building by + the engine, before the start of each analysis. *) +val register_hook: ((module S) -> (module S)) -> unit -val register_dynamic_abstraction: (module Standard_abstraction) -> unit +(** {2 Configuration of an analysis.} *) -(** Builds the abstractions according to a configuration. *) -val make : config -> (module S) +(** Configuration defining the abstractions to be used in an analysis. *) +module Config : sig + (** Flag for an abstraction. *) + type flag = Flag: 'v abstraction -> flag + (** A configuration is a set of flags, i.e. a set of enabled abstractions. *) + include Set.S with type elt = flag -(** Two abstractions are instantiated at compile time: default and legacy - (which may be the same). *) + (** Flags for the standard domains currently provided in Eva. *) -module Legacy : S -module Default : S + val cvalue: flag + val equality: flag + val symbolic_locations: flag + val gauges: flag + val bitwise: flag + val inout: flag + val sign: flag + val traces: flag + val printer: flag + val default: t (** The default configuration of Eva. *) + val legacy: t (** The configuration corresponding to the old "Value" analysis, + with only the cvalue domain enabled. *) +end -(* -Local Variables: -compile-command: "make -C ../../../.." -End: -*) +(** Creates the configuration according to the analysis parameters. *) +val configure: unit -> Config.t + +(** Builds the abstractions according to a configuration. *) +val make: Config.t -> (module S) + +(** Two abstractions are instantiated at compile time for the default and legacy + configurations (which may be the same). *) + +module Legacy : S +module Default : S diff --git a/src/plugins/value/engine/analysis.ml b/src/plugins/value/engine/analysis.ml index 14728aa4d7eee27bada599f8273025a4b5c1925e..ee1b5680eeac44e2ad88489209edf6dbbb7fceb6 100644 --- a/src/plugins/value/engine/analysis.ml +++ b/src/plugins/value/engine/analysis.ml @@ -28,8 +28,8 @@ module type Results = sig type value type location - val get_stmt_state : stmt -> state or_bottom - val get_kinstr_state: kinstr -> state or_bottom + val get_stmt_state : after:bool -> stmt -> state or_bottom + val get_kinstr_state: after:bool -> kinstr -> state or_bottom val get_stmt_state_by_callstack: after:bool -> stmt -> state Value_types.Callstack.Hashtbl.t or_top_or_bottom val get_initial_state_by_callstack: @@ -67,15 +67,15 @@ module Make (Abstract: Abstractions.S) = struct include Abstract include Compute_functions.Make (Abstract) - let get_stmt_state stmt = + let get_stmt_state ~after stmt = let fundec = Kernel_function.(get_definition (find_englobing_kf stmt)) in if Mark_noresults.should_memorize_function fundec && Db.Value.is_computed () - then Abstract.Dom.Store.get_stmt_state stmt + then Abstract.Dom.Store.get_stmt_state ~after stmt else `Value Abstract.Dom.top - let get_kinstr_state = function + let get_kinstr_state ~after = function | Kglobal -> Abstract.Dom.Store.get_global_state () - | Kstmt stmt -> get_stmt_state stmt + | Kstmt stmt -> get_stmt_state ~after stmt let get_stmt_state_by_callstack = Abstract.Dom.Store.get_stmt_state_by_callstack @@ -102,7 +102,7 @@ module Legacy = Make (Abstractions.Legacy) module Default = (val - (if Abstractions.default_config = Abstractions.legacy_config + (if Abstractions.Config.(equal default legacy) then (module Legacy) else (module Make (Abstractions.Default))) : Analyzer) @@ -112,7 +112,7 @@ module Default = the parameters of Eva regarding the abstractions used in the analysis) and the current Analyzer module. *) let ref_analyzer = - ref (Abstractions.default_config, (module Default : Analyzer)) + ref (Abstractions.Config.default, (module Default : Analyzer)) (* Returns the current Analyzer module. *) let current_analyzer () = (module (val (snd !ref_analyzer)): S) @@ -133,14 +133,14 @@ let set_current_analyzer config (analyzer: (module Analyzer)) = let cvalue_initial_state () = let module A = (val snd !ref_analyzer) in let _, lib_entry = Globals.entry_point () in - Cvalue_domain.extract A.Dom.get (A.initial_state ~lib_entry) + A.Dom.get_cvalue_or_bottom (A.initial_state ~lib_entry) (* Builds the Analyzer module corresponding to a given configuration, and sets it as the current analyzer. *) let make_analyzer config = let analyzer = - if config = Abstractions.legacy_config then (module Legacy: Analyzer) - else if config = Abstractions.default_config then (module Default) + if Abstractions.Config.(equal config legacy) then (module Legacy: Analyzer) + else if Abstractions.Config.(equal config default) then (module Default) else let module Abstract = (val Abstractions.make config) in let module Analyzer = Make (Abstract) in @@ -153,7 +153,7 @@ let reset_analyzer () = let config = Abstractions.configure () in (* If the configuration has not changed, do not reset the Analyzer but uses the reference instead. *) - if config <> fst !ref_analyzer + if not (Abstractions.Config.equal config (fst !ref_analyzer)) then make_analyzer config (* Builds the analyzer if needed, and run the analysis. *) diff --git a/src/plugins/value/engine/analysis.mli b/src/plugins/value/engine/analysis.mli index 4ecfde378fd0c90f6ca56c0bb9c93909e95c18d6..89316e76c4cf49ddc2b26d495f46097f64517870 100644 --- a/src/plugins/value/engine/analysis.mli +++ b/src/plugins/value/engine/analysis.mli @@ -28,8 +28,8 @@ module type Results = sig type value type location - val get_stmt_state : stmt -> state or_bottom - val get_kinstr_state: kinstr -> state or_bottom + val get_stmt_state : after:bool -> stmt -> state or_bottom + val get_kinstr_state: after:bool -> kinstr -> state or_bottom val get_stmt_state_by_callstack: after:bool -> stmt -> state Value_types.Callstack.Hashtbl.t or_top_or_bottom val get_initial_state_by_callstack: diff --git a/src/plugins/value/engine/compute_functions.ml b/src/plugins/value/engine/compute_functions.ml index d265352833e4dbbf7b2d88c7ed8483849670c57d..21a9876322a1e7dfe27fdc0a8c9d0dc8803ce778 100644 --- a/src/plugins/value/engine/compute_functions.ml +++ b/src/plugins/value/engine/compute_functions.ml @@ -148,18 +148,13 @@ module Make (Abstract: Abstractions.Eva) = struct let initial_state = Init.initial_state - let get_cvalue = - match Abstract.Dom.get Cvalue_domain.key with - | None -> fun _ -> Cvalue.Model.top - | Some get -> fun state -> get state - let get_cval = - match Abstract.Val.get Main_values.cvalue_key with + match Abstract.Val.get Main_values.CVal.key with | None -> fun _ -> assert false | Some get -> fun value -> get value let get_ploc = - match Abstract.Loc.get Main_locations.ploc_key with + match Abstract.Loc.get Main_locations.PLoc.key with | None -> fun _ -> assert false | Some get -> fun location -> get location @@ -191,7 +186,7 @@ module Make (Abstract: Abstractions.Eva) = struct then `Spec (Annotations.funspec kf) else `Def def in - let cvalue_state = get_cvalue state in + let cvalue_state = Abstract.Dom.get_cvalue_or_top state in let resulting_states, cacheable = match use_spec with | `Spec spec -> Db.Value.Call_Type_Value_Callbacks.apply @@ -237,9 +232,9 @@ module Make (Abstract: Abstractions.Eva) = struct in call_result | Some (states, i) -> - let stack_with_call = Value_util.call_stack () in - Db.Value.Call_Type_Value_Callbacks.apply - (`Memexec, get_cvalue init_state, stack_with_call); + let stack = Value_util.call_stack () in + let cvalue = Abstract.Dom.get_cvalue_or_top init_state in + Db.Value.Call_Type_Value_Callbacks.apply (`Memexec, cvalue, stack); (* Evaluate the preconditions of kf, to update the statuses at this call. *) let spec = Annotations.funspec call.kf in @@ -300,7 +295,7 @@ module Make (Abstract: Abstractions.Eva) = struct in Locations.Location_Bytes.do_track_garbled_mix true; let final_state = states >>- join_states in - let cvalue_state = get_cvalue state in + let cvalue_state = Abstract.Dom.get_cvalue_or_top state in match final_state with | `Bottom -> let cs = Value_util.call_stack () in @@ -312,17 +307,16 @@ module Make (Abstract: Abstractions.Eva) = struct let cvalue_states, cacheable = Builtins.apply_builtin builtin cvalue_call cvalue_state in - let insert (cvalue_state, clobbered_set) = - Abstract.Dom.set Locals_scoping.key clobbered_set - (Abstract.Dom.set Cvalue_domain.key cvalue_state final_state) + let insert cvalue_state = + Abstract.Dom.set Cvalue_domain.State.key cvalue_state final_state in let states = Bottom.bot_of_list (List.map insert cvalue_states) in Transfer.{states; cacheable; builtin=true} let compute_call = - if Abstract.Dom.mem Cvalue_domain.key - && Abstract.Val.mem Main_values.cvalue_key - && Abstract.Loc.mem Main_locations.ploc_key + if Abstract.Dom.mem Cvalue_domain.State.key + && Abstract.Val.mem Main_values.CVal.key + && Abstract.Loc.mem Main_locations.PLoc.key then compute_call_or_builtin else compute_and_cache_call @@ -330,7 +324,7 @@ module Make (Abstract: Abstractions.Eva) = struct let store_initial_state kf init_state = Abstract.Dom.Store.register_initial_state (Value_util.call_stack ()) init_state; - let cvalue_state = get_cvalue init_state in + let cvalue_state = Abstract.Dom.get_cvalue_or_top init_state in Db.Value.Call_Value_Callbacks.apply (cvalue_state, [kf, Kglobal]) let compute kf init_state = diff --git a/src/plugins/value/engine/evaluation.ml b/src/plugins/value/engine/evaluation.ml index cc4018b105ace85d2ef41e338aede20e702b64bf..b56d00620330f489f0e440f296aa0e575f5b6465 100644 --- a/src/plugins/value/engine/evaluation.ml +++ b/src/plugins/value/engine/evaluation.ml @@ -263,7 +263,7 @@ let indeterminate_copy lval result alarms = module type Value = sig - include Abstract_value.External + include Abstract.Value.External val reduce : t -> t end diff --git a/src/plugins/value/engine/evaluation.mli b/src/plugins/value/engine/evaluation.mli index ad8886669f22c25f17b0a08d404ba0c81efd8cec..f7febc17e4242c9d2b6f01189995ec86afcdfecc 100644 --- a/src/plugins/value/engine/evaluation.mli +++ b/src/plugins/value/engine/evaluation.mli @@ -104,7 +104,7 @@ module type S = sig end module type Value = sig - include Abstract_value.External + include Abstract.Value.External (** Inter-reduction of values. Useful when the value module is a reduced product of several abstraction. diff --git a/src/plugins/value/engine/initialization.ml b/src/plugins/value/engine/initialization.ml index 317446467c2dcd3b4e657f30019dc3407b098146..fd124a687b6a27f5c823130697fcad9ca2042a7a 100644 --- a/src/plugins/value/engine/initialization.ml +++ b/src/plugins/value/engine/initialization.ml @@ -80,7 +80,7 @@ let (>>>) t f = match t with let counter = ref 0 module Make - (Domain: Abstract_domain.External) + (Domain: Abstract.Domain.External) (Eva: Evaluation.S with type state = Domain.state and type loc = Domain.location) (Transfer: Transfer_stmt.S with type state = Domain.t) @@ -270,10 +270,9 @@ module Make (* Use the values supplied in [actuals] for the formals of [kf], and bind them in [state] *) let add_supplied_main_formals kf actuals state = - match Domain.get Cvalue_domain.key with - | None -> - Value_parameters.abort "Function Db.Value.fun_set_args cannot be used \ - without the Cvalue domain" + match Domain.get_cvalue with + | None -> Value_parameters.abort "Function Db.Value.fun_set_args cannot be \ + used without the Cvalue domain" | Some get_cvalue -> let formals = Kernel_function.get_formals kf in if (List.length formals) <> List.length actuals then @@ -286,8 +285,8 @@ module Make let cvalue_state = List.fold_left2 add_actual cvalue_state actuals formals in - let set_domain = Domain.set Cvalue_domain.key in - set_domain cvalue_state state + let set_domain = Domain.set Cvalue_domain.State.key in + set_domain (cvalue_state, Locals_scoping.bottom ()) state let add_main_formals kf state = match Db.Value.fun_get_args () with @@ -354,7 +353,9 @@ module Make let supplied_state () = let cvalue_state = Db.Value.globals_state () in if Cvalue.Model.is_reachable cvalue_state - then `Value (Domain.set Cvalue_domain.key cvalue_state Domain.top) + then + let cvalue_state = cvalue_state, Locals_scoping.bottom () in + `Value (Domain.set Cvalue_domain.State.key cvalue_state Domain.top) else `Bottom let initial_state ~lib_entry = @@ -363,7 +364,7 @@ module Make else global_state ~lib_entry let print_initial_cvalue_state state = - let cvalue_state = Cvalue_domain.extract Domain.get state in + let cvalue_state = Domain.get_cvalue_or_bottom state in (* Do not show variables from the frama-c libc specifications. *) let print_base base = try diff --git a/src/plugins/value/engine/initialization.mli b/src/plugins/value/engine/initialization.mli index d3bf03c164d12c1a524f8efffead3446eb2b17eb..f87a4799a8dabf85382536a3faf4beb8eb9deab9 100644 --- a/src/plugins/value/engine/initialization.mli +++ b/src/plugins/value/engine/initialization.mli @@ -44,7 +44,7 @@ module type S = sig end module Make - (Domain: Abstract_domain.External) + (Domain: Abstract.Domain.External) (Eva: Evaluation.S with type state = Domain.state and type loc = Domain.location) (Transfer: Transfer_stmt.S with type state = Domain.t) diff --git a/src/plugins/value/engine/iterator.ml b/src/plugins/value/engine/iterator.ml index 541d61dd21f62783f1efeb762824b51b4bb54b27..bae4fbcc7b35ec5ec246816cd8ab55f9f6bcfe47 100644 --- a/src/plugins/value/engine/iterator.ml +++ b/src/plugins/value/engine/iterator.ml @@ -433,9 +433,7 @@ module Make_Dataflow edge_info.fireable <- true; flow - let get_cvalue = Domain.get Cvalue_domain.key - let gather_cvalues states = - match get_cvalue with + let gather_cvalues states = match Domain.get_cvalue with | Some get -> List.map get states | None -> [] @@ -633,9 +631,6 @@ module Make_Dataflow G.iter_edges_e fill graph; Db.Value.merge_conditions table - let extract_cvalue (state : state) : 'a = - Cvalue_domain.extract Domain.get (`Value state) - let is_instr s = match s.skind with Instr _ -> true | _ -> false let states_after_stmt states_before states_after = @@ -676,7 +671,7 @@ module Make_Dataflow then VertexTable.memo merged_states v get_smashed_store else `Bottom and lift_to_cvalues table = - StmtTable.map (fun _ s -> extract_cvalue s) (Lazy.force table) + StmtTable.map (fun _ s -> Domain.get_cvalue_or_top s) (Lazy.force table) in let merged_pre_states = lazy (StmtTable.map' (fun s (v,_) -> get_merged_states ~all:true s v) automaton.stmt_table) @@ -691,7 +686,7 @@ module Make_Dataflow (StmtTable.map (fun _stmt (v,_) -> let store = get_vertex_store v in let states = Partition.expanded store in - List.map (fun x -> extract_cvalue x) states) + List.map (fun x -> Domain.get_cvalue_or_top x) states) automaton.stmt_table) in let merged_pre_cvalues = lazy (lift_to_cvalues merged_pre_states) diff --git a/src/plugins/value/engine/mem_exec.ml b/src/plugins/value/engine/mem_exec.ml index 85441fdeda5600eda20137d367788091b923b6e6..17adb02719337ef16ce67e9b106b1ac74647c4e8 100644 --- a/src/plugins/value/engine/mem_exec.ml +++ b/src/plugins/value/engine/mem_exec.ml @@ -148,7 +148,7 @@ module Make if Base.Hptset.equal expanded_bases bases then Base.SetLattice.inject expanded_bases else if count <= 0 then Base.SetLattice.top - else expand_inputs_with_relations (count - 1) kf new_bases state + else expand_inputs_with_relations (count - 1) kf expanded_bases state let store_computed_call kf input_state args (call_result: Domain.t list Bottom.or_bottom) = diff --git a/src/plugins/value/engine/partition.ml b/src/plugins/value/engine/partition.ml index 68686f72d14cc2cfa28af182e0714db28e980b5b..644e3bf20b5a617f34df40a686b12dadabab3bf4 100644 --- a/src/plugins/value/engine/partition.ml +++ b/src/plugins/value/engine/partition.ml @@ -245,7 +245,7 @@ struct all states" in (* Get the cvalue *) - let cvalue = match Abstract.Val.get Main_values.cvalue_key with + let cvalue = match Abstract.Val.get Main_values.CVal.key with | Some get_cvalue -> get_cvalue value | None -> fail ~exp "partitioning is disabled when the CValue domain is \ not active" @@ -325,7 +325,7 @@ struct (* --- Applying partitioning actions onto flows --------------------------- *) - let stamp_by_value = match Abstract.Val.get Main_values.cvalue_key with + let stamp_by_value = match Abstract.Val.get Main_values.CVal.key with | None -> fun _ _ _ -> None | Some get -> fun expr expected_values state -> let typ = Cil.typeOf expr in diff --git a/src/plugins/value/engine/partitioning_index.ml b/src/plugins/value/engine/partitioning_index.ml index 08a2f449cf02a90603131b2b7dca16623c10df5e..af4202973238a17d341109ddadd4f1ede3fe9319 100644 --- a/src/plugins/value/engine/partitioning_index.ml +++ b/src/plugins/value/engine/partitioning_index.ml @@ -23,7 +23,8 @@ module type Domain = sig include Abstract_domain.Lattice include Datatype.S_with_collections with type t = state - include Abstract_domain.Interface with type t := state + include Abstract.Interface with type t := state + and type 'a key := 'a Abstract_domain.key end (** Partition of the abstract states, computed for each node by the @@ -45,12 +46,12 @@ module Make (* Optimizations relying on specific features of the cvalue domain. *) - let distinct_subpart = match Domain.get Cvalue_domain.key with + let distinct_subpart = match Domain.get Cvalue_domain.State.key with | None -> fun _ _ -> None | Some get -> fun s1 s2 -> Cvalue_domain.distinct_subpart (get s1) (get s2) - let find_subpart = match Domain.get Cvalue_domain.key with + let find_subpart = match Domain.get Cvalue_domain.State.key with | None -> fun _ _ -> None | Some get -> fun state prefix -> Cvalue_domain.find_subpart (get state) prefix diff --git a/src/plugins/value/engine/partitioning_index.mli b/src/plugins/value/engine/partitioning_index.mli index b4488a2eef755c6056994295834de7d54afba023..9a72e4b44bb7cde362196aebea23713899381e18 100644 --- a/src/plugins/value/engine/partitioning_index.mli +++ b/src/plugins/value/engine/partitioning_index.mli @@ -33,7 +33,8 @@ module type Domain = sig include Abstract_domain.Lattice include Datatype.S_with_collections with type t = state - include Abstract_domain.Interface with type t := state + include Abstract.Interface with type t := state + and type 'a key := 'a Abstract_domain.key end module Make (Domain: Domain) : sig diff --git a/src/plugins/value/engine/subdivided_evaluation.ml b/src/plugins/value/engine/subdivided_evaluation.ml index ae1efe494c8c2dd823b6c5a7dd6b428795ecf024..3d0e928ef9f2da8cd8a22afc259eef4c4c6a90e3 100644 --- a/src/plugins/value/engine/subdivided_evaluation.ml +++ b/src/plugins/value/engine/subdivided_evaluation.ml @@ -368,7 +368,7 @@ module type Forward_Evaluation = sig end module Make - (Value : Abstract_value.External) + (Value : Abstract.Value.External) (Loc : Abstract_location.S with type value = Value.t) (Valuation: Valuation with type value = Value.t and type loc = Loc.location) @@ -379,15 +379,15 @@ module Make (* Values are converted to {!Cvalue.V.t}, because those are currently the only values on which we can split. *) - let get_cval = match Value.get Main_values.cvalue_key with + let get_cval = match Value.get Main_values.CVal.key with | Some get -> get | None -> fun _ -> Cvalue.V.top let set_cval = - let set = Value.set Main_values.cvalue_key in + let set = Value.set Main_values.CVal.key in fun cval v -> set cval v - let activated = Value.mem Main_values.cvalue_key + let activated = Value.mem Main_values.CVal.key module Clear = Clear_Valuation (Valuation) diff --git a/src/plugins/value/engine/subdivided_evaluation.mli b/src/plugins/value/engine/subdivided_evaluation.mli index 745624c457517ac366c4f7734bd7960c9bb6d3d7..71d582bb70d8a4e1f6bda7d6d77b88051d08f994 100644 --- a/src/plugins/value/engine/subdivided_evaluation.mli +++ b/src/plugins/value/engine/subdivided_evaluation.mli @@ -36,7 +36,7 @@ module type Forward_Evaluation = sig end module Make - (Value : Abstract_value.External) + (Value : Abstract.Value.External) (Loc: Abstract_location.S with type value = Value.t) (Valuation: Eval.Valuation with type value = Value.t and type loc = Loc.location) diff --git a/src/plugins/value/engine/transfer_specification.ml b/src/plugins/value/engine/transfer_specification.ml index d5438b227de994181748fcdadfd7c43f3a49b05b..e15091974e5c8cdc7de19f10e67d858ec9a6babc 100644 --- a/src/plugins/value/engine/transfer_specification.ml +++ b/src/plugins/value/engine/transfer_specification.ml @@ -227,16 +227,13 @@ module Make (* Extraction of the precise location and of the cvalue domain: needed to evaluate the location of an assigns clause. *) - let get_ploc = match Location.get Main_locations.ploc_key with + let get_ploc = match Location.get Main_locations.PLoc.key with | None -> fun _ -> Main_locations.PLoc.top | Some get -> get - let set_ploc = Location.set Main_locations.ploc_key + let set_ploc = Location.set Main_locations.PLoc.key let set_location loc = set_ploc (Main_locations.PLoc.make loc) - let get_cvalue_state = match Domain.get Cvalue_domain.key with - | None -> fun _ -> Cvalue.Model.top - | Some get -> get - let make_env state = Eval_terms.env_assigns (get_cvalue_state state) + let make_env state = Eval_terms.env_assigns (Domain.get_cvalue_or_top state) let is_result = function | Assigns (term, _) @@ -299,7 +296,7 @@ module Make end in let check_one_state state = - let cvalue_state = get_cvalue_state state in + let cvalue_state = Domain.get_cvalue_or_top state in List.iter (check_one_assign cvalue_state) assigns in States.iter check_one_state states diff --git a/src/plugins/value/engine/transfer_stmt.ml b/src/plugins/value/engine/transfer_stmt.ml index e7be6f8f5827d5e2172721c25c0a7529cc7e321a..514e4ea789c0db62b5c02857c3417d66e9128ee5 100644 --- a/src/plugins/value/engine/transfer_stmt.ml +++ b/src/plugins/value/engine/transfer_stmt.ml @@ -318,7 +318,7 @@ module Make (Abstract: Abstractions.Eva) = struct (* ------------------- Retro propagation on formals ----------------------- *) - let get_precise_location = Location.get Main_locations.ploc_key + let get_precise_location = Location.get Main_locations.PLoc.key (* [is_safe_argument valuation expr] is true iff the expression [expr] could not have been written during the last call. @@ -559,10 +559,6 @@ module Make (Abstract: Abstractions.Eva) = struct (* ----------------- show_each and dump_each directives ------------------- *) - let extract_cvalue = match Domain.get Cvalue_domain.key with - | None -> fun _ -> Cvalue.Model.top - | Some get -> get - (* The product of domains formats the printing of each leaf domains, by checking their log_category and adding their name before the dump. If the domain is not a product, this needs to be done here. *) @@ -609,7 +605,7 @@ module Make (Abstract: Abstractions.Eva) = struct (* For non scalar expressions, prints the offsetmap of the cvalue domain. *) let show_offsm = - match Domain.get Cvalue_domain.key, Location.get Main_locations.ploc_key with + match Domain.get_cvalue, Location.get Main_locations.PLoc.key with | None, _ | _, None -> fun fmt _ _ -> Format.fprintf fmt "%s" (Unicode.top_string ()) | Some get_cvalue, Some get_ploc -> @@ -621,9 +617,7 @@ module Make (Abstract: Abstractions.Eva) = struct let offsm = fst (Eval.lvaluate ~for_writing:false state lval) >>- fun (_, loc, _) -> - let ploc = get_ploc loc - and cvalue_state = get_cvalue state in - Eval_op.offsetmap_of_loc ploc cvalue_state + Eval_op.offsetmap_of_loc (get_ploc loc) (get_cvalue state) in let typ = Cil.typeOf expr in (Bottom.pretty (Eval_op.pretty_offsetmap typ)) fmt offsm @@ -634,7 +628,7 @@ module Make (Abstract: Abstractions.Eva) = struct (* For scalar expressions, prints the cvalue component of their values. *) let show_value = - match Value.get Main_values.cvalue_key with + match Value.get Main_values.CVal.key with | None -> fun fmt _ _ -> Format.fprintf fmt "%s" (Unicode.top_string ()) | Some get_cval -> fun fmt expr state -> @@ -707,7 +701,7 @@ module Make (Abstract: Abstractions.Eva) = struct {Cvalue_transfer.start_call}. *) let apply_cvalue_callback kf ki_call state = let stack_with_call = (kf, ki_call) :: Value_util.call_stack () in - let cvalue_state = extract_cvalue state in + let cvalue_state = Domain.get_cvalue_or_top state in Db.Value.Call_Value_Callbacks.apply (cvalue_state, stack_with_call); Db.Value.merge_initial_state (Value_util.call_stack ()) cvalue_state; let result = diff --git a/src/plugins/value/eval.mli b/src/plugins/value/eval.mli index a00ef79939cf24710edc64b6b25d351f388e68ef..ce35bfe07f5ea405e13dd3ad98d6076aa8f89bf1 100644 --- a/src/plugins/value/eval.mli +++ b/src/plugins/value/eval.mli @@ -214,7 +214,9 @@ type ('loc, 'value) call = { arguments: ('loc, 'value) argument list; (** The arguments of the call. *) rest: (exp * ('loc, 'value) assigned) list; (** Extra-arguments. *) return: varinfo option; (** Fake varinfo to store the - return value of the call. *) + return value of the call. + Same varinfo for every + call to a given function. *) recursive: bool; } diff --git a/src/plugins/value/gui_files/gui_eval.ml b/src/plugins/value/gui_files/gui_eval.ml index 108079350d90481f0a0ec71c200f2a62b0d93443..8239f3974fe81a150ebdeaa53a488ec29935eb31 100644 --- a/src/plugins/value/gui_files/gui_eval.ml +++ b/src/plugins/value/gui_files/gui_eval.ml @@ -143,13 +143,8 @@ module Make (X: Analysis.S) = struct module Analysis = X - let get_cvalue_state = - match X.Dom.get Cvalue_domain.key with - | None -> fun _ -> Cvalue.Model.top - | Some get -> fun state -> get state - let get_precise_loc = - match X.Loc.get Main_locations.ploc_key with + match X.Loc.get Main_locations.PLoc.key with | None -> fun _ -> Precise_locs.loc_top | Some get -> fun loc -> get loc @@ -210,7 +205,7 @@ module Make (X: Analysis.S) = struct let lval_to_offsetmap state lv = let loc, alarms = X.eval_lval_to_loc state lv in let ok = Alarmset.is_empty alarms in - let state = get_cvalue_state state in + let state = X.Dom.get_cvalue_or_top state in let aux loc (acc_res, acc_ok) = let res, ok = match lv with (* catch simplest pattern *) @@ -273,7 +268,7 @@ module Make (X: Analysis.S) = struct } let null_to_offsetmap state (_:unit) = - let state = get_cvalue_state state in + let state = X.Dom.get_cvalue_or_top state in match Cvalue.Model.find_base_or_default Base.null state with | `Bottom -> GO_InvalidLoc, false, false | `Top -> GO_Top, false, false @@ -335,17 +330,17 @@ module Make (X: Analysis.S) = struct let env_here kf here callstack = let pre = pre_kf kf callstack in - let here = get_cvalue_state here in + let here = X.Dom.get_cvalue_or_top here in let c_labels = Eval_annots.c_labels kf callstack in Eval_terms.env_annot ~c_labels ~pre ~here () let env_pre _kf here _callstack = - let here = get_cvalue_state here in + let here = X.Dom.get_cvalue_or_top here in Eval_terms.env_pre_f ~pre:here () let env_post kf post callstack = let pre = pre_kf kf callstack in - let post = get_cvalue_state post in + let post = X.Dom.get_cvalue_or_top post in let result = if !Db.Value.use_spec_instead_of_definition kf then None diff --git a/src/plugins/value/gui_files/gui_types.ml b/src/plugins/value/gui_files/gui_types.ml index 683fa0398606aed22d2fafb21e85f26d2de82070..f4fad0001bcf153f14c432216195984d1da38804 100644 --- a/src/plugins/value/gui_files/gui_types.ml +++ b/src/plugins/value/gui_files/gui_types.ml @@ -167,8 +167,8 @@ module Make (V: Abstractions.Value) = struct | GA_After r1, GA_After r2 -> equal_gui_res r1 r2 | (GA_After _ | GA_NA | GA_Unchanged | GA_Bottom), _ -> false - let get_cvalue = V.get Main_values.cvalue_key - let from_cvalue v = V.set Main_values.cvalue_key v V.top + let get_cvalue = V.get Main_values.CVal.key + let from_cvalue v = V.set Main_values.CVal.key v V.top let var_of_base base acc = try diff --git a/src/plugins/value/gui_files/register_gui.ml b/src/plugins/value/gui_files/register_gui.ml index d455fab0fdc74a67016f135cf4e9ccbb67be4738..7892476419f1a383686204648a6668674b6dbd21 100644 --- a/src/plugins/value/gui_files/register_gui.ml +++ b/src/plugins/value/gui_files/register_gui.ml @@ -519,7 +519,7 @@ module Select (Eval: Eval) = struct (* Function pointers *) (* get the list of functions in the values *) let e = Value_util.lval_to_exp lv in - match Eval.Analysis.get_kinstr_state ki with + match Eval.Analysis.get_kinstr_state ~after:false ki with | `Bottom -> () | `Value state -> let funs, _ = Eval.Analysis.eval_function_exp state e in diff --git a/src/plugins/value/register.ml b/src/plugins/value/register.ml index b7198f212195417767e50c26497c272c0026b8c5..f8617e5ad4eb5c0b021ed543a5102af398231f72 100644 --- a/src/plugins/value/register.ml +++ b/src/plugins/value/register.ml @@ -169,9 +169,14 @@ let () = open Eval -module Val = struct +module CVal = struct include Main_values.CVal - include Structure.Open (Structure.Key_Value) (Main_values.CVal) + let structure = Abstract.Value.Leaf (key, (module Main_values.CVal)) +end + +module Val = struct + include CVal + include Structure.Open (Abstract.Value) (CVal) let reduce t = t end @@ -183,6 +188,8 @@ module Eva = module Transfer = Cvalue_domain.State.Transfer (Eva.Valuation) +let inject_cvalue state = state, Locals_scoping.bottom () + let bot_value = function | `Bottom -> Cvalue.V.bottom | `Value v -> v @@ -192,7 +199,7 @@ let bot_state = function | `Value s -> s let update valuation state = - bot_state (Transfer.update valuation state >>-: Cvalue_domain.project) + bot_state (Transfer.update valuation state >>-: fst) let rec eval_deps state e = match e.enode with @@ -231,7 +238,7 @@ let notify_opt with_alarms alarms = Extlib.may (fun mode -> Alarmset.notify mode alarms) with_alarms let eval_expr_with_valuation ?with_alarms deps state expr= - let state = Cvalue_domain.inject state in + let state = inject_cvalue state in let deps = match deps with | None -> None | Some deps -> @@ -251,7 +258,7 @@ let eval_expr_with_valuation ?with_alarms deps state expr= module Eval = struct let eval_expr ?with_alarms state expr = - let state = Cvalue_domain.inject state in + let state = inject_cvalue state in let eval, alarms = Eva.evaluate ~reduction:false state expr in notify_opt with_alarms alarms; bot_value (eval >>-: snd) @@ -273,7 +280,7 @@ module Eval = struct let reduce_by_cond state expr positive = - let state = Cvalue_domain.inject state in + let state = inject_cvalue state in let eval, _alarms = Eva.reduce state expr positive in @@ -284,7 +291,7 @@ module Eval = struct if not (Cvalue.Model.is_reachable state) then state, deps, Precise_locs.loc_bottom, (Cil.typeOfLval lval) else - let state = Cvalue_domain.inject state in + let state = inject_cvalue state in let deps = match deps with | None -> None | Some deps -> @@ -333,7 +340,7 @@ module Eval = struct let resolv_func_vinfo ?with_alarms deps state funcexp = let open Cil_types in - let state = Cvalue_domain.inject state in + let state = inject_cvalue state in let deps = match funcexp.enode with | Lval (Var _, NoOffset) -> deps | Lval (Mem v, _) -> diff --git a/src/plugins/value/utils/abstract.ml b/src/plugins/value/utils/abstract.ml new file mode 100644 index 0000000000000000000000000000000000000000..e5153a5241bcbd0682795eb13ee79fbe48976499 --- /dev/null +++ b/src/plugins/value/utils/abstract.ml @@ -0,0 +1,94 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(** External interface of an abstraction, built by {!Structure.Open}. *) +module type Interface = sig + type t + type 'a key + val mem : 'a key -> bool + val get : 'a key -> (t -> 'a) option + val set : 'a key -> 'a -> t -> t +end + +module Value = struct + + module V = struct + type 'a t = (module Abstract_value.S with type t = 'a) + end + + include Structure.Shape (Structure.Key_Value) (V) + + module type Internal = sig + include Abstract_value.S + val structure: t structure + end + + module type External = sig + include Internal + include Structure.External with type t := t + and type 'a key := 'a key + end +end + +module Location = struct + + module L = struct + type 'a t = (module Abstract_location.S with type location = 'a) + end + + include Structure.Shape (Structure.Key_Location) (L) + + module type Internal = sig + include Abstract_location.S + val structure: location structure + end + + module type External = sig + include Internal + include Structure.External with type t := location + and type 'a key := 'a key + end +end + +module Domain = struct + + module D = struct + type 'a t = (module Abstract_domain.Internal with type state = 'a) + end + + include Structure.Shape (Structure.Key_Domain) (D) + + module type Internal = sig + include Abstract_domain.Internal + val structure: t structure + end + + module type External = sig + include Internal + include Structure.External with type t := t + and type 'a key := 'a key + + val get_cvalue: (t -> Cvalue.Model.t) option + val get_cvalue_or_top: t -> Cvalue.Model.t + val get_cvalue_or_bottom: t Bottom.or_bottom -> Cvalue.Model.t + end +end diff --git a/src/plugins/value/utils/abstract.mli b/src/plugins/value/utils/abstract.mli new file mode 100644 index 0000000000000000000000000000000000000000..3e797f8eddba95cddfa69765f3097ac7a3081ffa --- /dev/null +++ b/src/plugins/value/utils/abstract.mli @@ -0,0 +1,118 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2019 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* 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). *) +(* *) +(**************************************************************************) + +(** Internal and External signature of abstractions used in the Eva engine. *) + +(** Internal modules contains a [structure] value that describes the internal + structure of the abstraction. This structure is used to automatically + generate efficient accessors from a generic compound abstraction to specific + leaf abstractions. *) + +(** External modules export direct accessors to their leaf components. + When a generic abstraction is a product of several specific abstractions, + they allow interacting with each leaf abstraction identified by a key. + Note that their behavior is undefined if an abstraction contains + several times the same leaf module. *) + +(** External interface of an abstraction, built by {!Structure.Open}. *) +module type Interface = sig + type t + type 'a key + + (** Tests whether a key belongs to the module. *) + val mem : 'a key -> bool + + (** For a key of type [k key]: + - if the values of type [t] contain a subpart of type [k] from a module + identified by the key, then [get key] returns an accessor for it. + - otherwise, [get key] returns None. *) + val get : 'a key -> (t -> 'a) option + + (** For a key of type [k key]: + - if the values of type [t] contain a subpart of type [k] from a module + identified by the key, then [set key v t] returns the value [t] in which + this subpart has been replaced by [v]. + - otherwise, [set key _] is the identity function. *) + val set : 'a key -> 'a -> t -> t +end + +(** Key and structure for abstract values. + See {structure.mli} for more details. *) +module Value : sig + include Structure.Shape + with type 'a key = 'a Structure.Key_Value.key + and type 'a data = (module Abstract_value.S with type t = 'a) + + module type Internal = sig + include Abstract_value.S + val structure: t structure + end + + module type External = sig + include Internal + include Interface with type t := t + and type 'a key := 'a key + end +end + +(** Key and structure for abstract locations. + See {structure.mli} for more details. *) +module Location : sig + include Structure.Shape + with type 'a key = 'a Structure.Key_Location.key + and type 'a data = (module Abstract_location.S with type location = 'a) + + module type Internal = sig + include Abstract_location.S + val structure: location structure + end + + module type External = sig + include Internal + include Interface with type t := location + and type 'a key := 'a key + end +end + +(** Key and structure for abstract domains. + See {structure.mli} for more details. *) +module Domain : sig + include Structure.Shape + with type 'a key = 'a Structure.Key_Domain.key + and type 'a data = (module Abstract_domain.Internal with type state = 'a) + + module type Internal = sig + include Abstract_domain.Internal + val structure: t structure + end + + module type External = sig + include Internal + include Interface with type t := t + and type 'a key := 'a key + + (** Special accessors for the main cvalue domain. *) + val get_cvalue: (t -> Cvalue.Model.t) option + val get_cvalue_or_top: t -> Cvalue.Model.t + val get_cvalue_or_bottom: t Bottom.or_bottom -> Cvalue.Model.t + end +end diff --git a/src/plugins/value/utils/structure.ml b/src/plugins/value/utils/structure.ml index 30f4b3c38637a85fc888f4e7541ed9cf7b89f51d..c6dd04ab1c1280da7ee2927723be8bf6493c7f85 100644 --- a/src/plugins/value/utils/structure.ml +++ b/src/plugins/value/utils/structure.ml @@ -24,32 +24,22 @@ type (_,_) eq = Eq : ('a,'a) eq module type Key = sig - type 'a k - - val create_key: string -> 'a k - val eq_type : 'a k -> 'b k -> ('a, 'b) eq option + type 'a key - val print: 'a k Pretty_utils.formatter - val compare: 'a k -> 'b k -> int - val equal: 'a k -> 'b k -> bool - val hash : 'a k -> int - val tag: 'a k -> int -end + val create_key: string -> 'a key + val eq_type : 'a key -> 'b key -> ('a, 'b) eq option -module type Shape = sig - include Key - - type 'a structure = - | Void : 'a structure - | Leaf : 'a k -> 'a structure - | Node : 'a structure * 'b structure -> ('a * 'b) structure + val print: 'a key Pretty_utils.formatter + val compare: 'a key -> 'b key -> int + val equal: 'a key -> 'b key -> bool + val hash : 'a key -> int + val tag: 'a key -> int end - module Make (X : sig end) = struct - type 'a k = { tag: int; - name: string } + type 'a key = { tag: int; + name: string } let c = ref (-1) let id () = incr c; !c @@ -57,7 +47,7 @@ module Make (X : sig end) = struct let create_key name = { tag = id (); name } let equal x y = x.tag = y.tag - let eq_type : type a b. a k -> b k -> (a,b) eq option = fun a b -> + let eq_type : type a b. a key -> b key -> (a,b) eq option = fun a b -> if equal a b then Some ((Obj.magic (Eq : (a,a) eq)) : (a,b) eq) else None @@ -67,17 +57,46 @@ module Make (X : sig end) = struct let tag x = x.tag let print fmt x = Format.pp_print_string fmt x.name - - type 'a structure = - | Void : 'a structure - | Leaf : 'a k -> 'a structure - | Node : 'a structure * 'b structure -> ('a * 'b) structure end module Key_Value = Make (struct end) module Key_Location = Make (struct end) module Key_Domain = Make (struct end) +module type Shape = sig + include Key + type 'a data + + type 'a structure = + | Unit : unit structure + | Leaf : 'a key * 'a data -> 'a structure + | Node : 'a structure * 'b structure -> ('a * 'b) structure + + val eq_structure: 'a structure -> 'b structure -> ('a, 'b) eq option +end + +module Shape (Key: Key) (Data: sig type 'a t end) = struct + include Key + type 'a data = 'a Data.t + + type 'a structure = + | Unit : unit structure + | Leaf : 'a key * 'a data -> 'a structure + | Node : 'a structure * 'b structure -> ('a * 'b) structure + + let rec eq_structure : type a b. a structure -> b structure -> (a, b) eq option + = fun a b -> + match a, b with + | Leaf (key1, _), Leaf (key2, _) -> Key.eq_type key1 key2 + | Node (l1, r1), Node (l2, r2) -> + begin + match eq_structure l1 l2, eq_structure r1 r2 with + | Some Eq, Some Eq -> Some Eq + | _, _ -> None + end + | Unit, Unit -> Some Eq + | _, _ -> None +end module type Internal = sig type t @@ -93,7 +112,6 @@ module type External = sig val set : 'a key -> 'a -> t -> t end - module Open (Shape : Shape) (M : sig type t val structure : t Shape.structure end) @@ -110,15 +128,15 @@ module Open open Shape - let rec mem : type a. 'v Shape.k -> a structure -> bool = fun key -> function - | Void -> false - | Leaf k -> Shape.equal key k + let rec mem : type a. 'v Shape.key -> a structure -> bool = fun key -> function + | Unit -> false + | Leaf (k, _) -> Shape.equal key k | Node (left, right) -> mem key left || mem key right let mem key = mem key M.structure - type ('a, 'b) get = 'b Shape.k * ('a -> 'b) + type ('a, 'b) get = 'b Shape.key * ('a -> 'b) type 'a getter = Get : ('a, 'b) get -> 'a getter @@ -130,15 +148,15 @@ module Open let lift_get f (Get (key, get)) = Get (key, fun t -> get (f t)) let rec compute_getters : type a. a structure -> (a getter) KMap.t = function - | Void -> KMap.empty - | Leaf key -> KMap.singleton key (Get (key, fun (t : a) -> t)) + | Unit -> KMap.empty + | Leaf (key, _) -> KMap.singleton key (Get (key, fun (t : a) -> t)) | Node (left, right) -> let l = compute_getters left and r = compute_getters right in let l = KMap.map (lift_get fst) l and r = KMap.map (lift_get snd) r in KMap.merge merge l r let getters = compute_getters M.structure - let get (type a) (key: a Shape.k) : (M.t -> a) option = + let get (type a) (key: a Shape.key) : (M.t -> a) option = match KMap.find key getters with | None -> None | Some (Get (k, get)) -> match Shape.eq_type key k with @@ -146,15 +164,15 @@ module Open | Some Eq -> Some get - type ('a, 'b) set = 'b Shape.k * ('b -> 'a -> 'a) + type ('a, 'b) set = 'b Shape.key * ('b -> 'a -> 'a) type 'a setter = Set : ('a, 'b) set -> 'a setter let lift_set f (Set (key, set)) = Set (key, fun v b -> f (fun a -> set v a) b) let rec compute_setters : type a. a structure -> (a setter) KMap.t = function - | Void -> KMap.empty - | Leaf key -> KMap.singleton key (Set (key, fun v _t -> v)) + | Unit -> KMap.empty + | Leaf (key, _) -> KMap.singleton key (Set (key, fun v _t -> v)) | Node (left, right) -> let l = compute_setters left and r = compute_setters right in let l = KMap.map (lift_set (fun set (l, r) -> set l, r)) l @@ -162,7 +180,7 @@ module Open KMap.merge merge l r let setters = compute_setters M.structure - let set (type a) (key: a Shape.k) : (a -> M.t -> M.t) = + let set (type a) (key: a Shape.key) : (a -> M.t -> M.t) = match KMap.find key setters with | None -> fun _ t -> t | Some (Set (k, set)) -> match Shape.eq_type key k with diff --git a/src/plugins/value/utils/structure.mli b/src/plugins/value/utils/structure.mli index 9d52978f6930c2a52e2231c8bb41468ce4ca24e6..c04eb8cda7bb222f5b24d2bdfc1a63de1e6214f5 100644 --- a/src/plugins/value/utils/structure.mli +++ b/src/plugins/value/utils/structure.mli @@ -29,43 +29,48 @@ type (_,_) eq = Eq : ('a,'a) eq (** Keys identifying datatypes. *) module type Key = sig - type 'a k + type 'a key - val create_key: string -> 'a k - val eq_type : 'a k -> 'b k -> ('a, 'b) eq option + val create_key: string -> 'a key + val eq_type : 'a key -> 'b key -> ('a, 'b) eq option - val print: 'a k Pretty_utils.formatter - val compare: 'a k -> 'b k -> int - val equal: 'a k -> 'b k -> bool - val hash : 'a k -> int - val tag: 'a k -> int + val print: 'a key Pretty_utils.formatter + val compare: 'a key -> 'b key -> int + val equal: 'a key -> 'b key -> bool + val hash : 'a key -> int + val tag: 'a key -> int end +module Make (X : sig end) : Key + +(** Keys module for the abstract values of Eva. *) +module Key_Value : Key + +(** Keys module for the abstract locations of Eva. *) +module Key_Location : Key + +(** Keys module for the abstract domains of Eva. *) +module Key_Domain : Key + (** A Key module with its structure type. *) module type Shape = sig include Key + type 'a data (** The gadt, based on keys giving the type of each node. Describes the internal structure of a data type. Used internally to automatically generate efficient accessors of its nodes. *) type 'a structure = - | Void : 'a structure - | Leaf : 'a k -> 'a structure + | Unit : unit structure + | Leaf : 'a key * 'a data -> 'a structure | Node : 'a structure * 'b structure -> ('a * 'b) structure -end -module Make (X : sig end) : Shape - - -(** Keys module for the abstract values of Eva. *) -module Key_Value : Shape - -(** Keys module for the abstract locations of Eva. *) -module Key_Location : Shape - -(** Keys module for the abstract domains of Eva. *) -module Key_Domain : Shape + val eq_structure: 'a structure -> 'b structure -> ('a, 'b) eq option +end +module Shape (Key: Key) (Data: sig type 'a t end) : + Shape with type 'a key = 'a Key.key + and type 'a data = 'a Data.t (** Internal view of the tree, with the structure. *) module type Internal = sig @@ -92,4 +97,4 @@ module Open (Shape : Shape) (Data : Internal with type 'a structure := 'a Shape.structure) : External with type t := Data.t - and type 'a key := 'a Shape.k + and type 'a key := 'a Shape.key diff --git a/src/plugins/value/value_parameters.ml b/src/plugins/value/value_parameters.ml index 5eb874d2566e44e9e243f6d50027377060d47373..1de1430a7c101b4894bd7aa0176476f575738ee8 100644 --- a/src/plugins/value/value_parameters.ml +++ b/src/plugins/value/value_parameters.ml @@ -77,6 +77,8 @@ let dkey_incompatible_states = register_category "incompatible-states" let dkey_iterator = register_category "iterator" let dkey_callbacks = register_category "callbacks" let dkey_widening = register_category "widening" +let dkey_experimental = register_category "experimental-ok" + let () = let activate dkey = add_debug_keys dkey in @@ -172,6 +174,18 @@ module BitwiseOffsmDomain = Domain_Parameter let default = false end) +let numerors_available = ref false +let register_numerors () = numerors_available := true + +let numerors_hook _ _ = + if not !numerors_available + then + abort + "The numerors domain has been requested but is not available,@ \ + as Frama-C did not found the MPFR library. The analysis is aborted." + else if not (is_debug_key_enabled dkey_experimental) then + warning "The numerors domain is experimental."; + module NumerorsDomain = Domain_Parameter (struct let option_name = "-eva-numerors-domain" @@ -180,16 +194,28 @@ module NumerorsDomain = Domain_Parameter computations" let default = false end) +let () = NumerorsDomain.add_set_hook numerors_hook let apron_help = "Experimental binding of the numerical domains provided \ by the APRON library: http://apron.cri.ensmp.fr/library \n" +let apron_available = ref false +let register_apron () = apron_available := true + +let apron_hook _ _ = + if not !apron_available + then + abort "an Apron domain is requested but the apron binding is not available." + else if not (is_debug_key_enabled dkey_experimental) then + warning "The Apron domains binding is experimental."; + module ApronOctagon = Domain_Parameter (struct let option_name = "-eva-apron-oct" let help = apron_help ^ "Use the octagon domain of apron." let default = false end) +let () = ApronOctagon.add_set_hook apron_hook module ApronBox = Domain_Parameter (struct @@ -197,6 +223,7 @@ module ApronBox = Domain_Parameter let help = apron_help ^ "Use the box domain of apron." let default = false end) +let () = ApronBox.add_set_hook apron_hook module PolkaLoose = Domain_Parameter (struct @@ -204,6 +231,7 @@ module PolkaLoose = Domain_Parameter let help = apron_help ^ "Use the loose polyhedra domain of apron." let default = false end) +let () = PolkaLoose.add_set_hook apron_hook module PolkaStrict = Domain_Parameter (struct @@ -211,6 +239,7 @@ module PolkaStrict = Domain_Parameter let help = apron_help ^ "Use the strict polyhedra domain of apron." let default = false end) +let () = PolkaStrict.add_set_hook apron_hook module PolkaEqualities = Domain_Parameter (struct @@ -218,6 +247,7 @@ module PolkaEqualities = Domain_Parameter let help = apron_help ^ "Use the linear equalities domain of apron." let default = false end) +let () = PolkaEqualities.add_set_hook apron_hook module InoutDomain = Domain_Parameter (struct @@ -233,6 +263,13 @@ module SignDomain = Domain_Parameter let default = false end) +module TracesDomain = Domain_Parameter + (struct + let option_name = "-eva-traces-domain" + let help = "Use a domain to record traces of Eva. Experimental." + let default = false + end) + module PrinterDomain = Domain_Parameter (struct let option_name = "-eva-printer-domain" @@ -306,6 +343,43 @@ let () = Numerors_Mode.set_possible_values ["relative"; "absolute"; "none"; "both"] let () = add_precision_dep Numerors_Mode.parameter +let () = Parameter_customize.set_group domains +module TracesUnrollLoop = + Bool + (struct + let option_name = "-eva-traces-unroll-loop" + let help = "Specify if the traces domain should unroll the loops." + let default = true + end) +let () = add_precision_dep TracesUnrollLoop.parameter + +let () = Parameter_customize.set_group domains +module TracesUnifyLoop = + Bool + (struct + let option_name = "-eva-traces-unify-loop" + let help = "Specify if all the instances of a loop should try \ + to share theirs traces." + let default = false + end) +let () = add_precision_dep TracesUnifyLoop.parameter + +let () = Parameter_customize.set_group domains +module TracesDot = Empty_string + (struct + let option_name = "-eva-traces-dot" + let help = "Output to the given filename the Cfg in dot format." + let arg_name = "FILENAME" + end) + +let () = Parameter_customize.set_group domains +module TracesProject = Bool + (struct + let option_name = "-eva-traces-project" + let help = "Try to convert the Cfg into a program in a new project." + let default = false + end) + (* -------------------------------------------------------------------------- *) (* --- Performance options --- *) (* -------------------------------------------------------------------------- *) @@ -1375,8 +1449,8 @@ module MallocLevel = let option_name = "-eva-mlevel" let default = 0 let arg_name = "m" - let help = "sets to [m] the number of precise dynamic allocation for any \ - given callstack" + let help = "sets to [m] the number of precise dynamic allocations \ + besides the initial one, for each callstack (defaults to 0)" end) let () = MallocLevel.add_aliases ["-val-mlevel"] diff --git a/src/plugins/value/value_parameters.mli b/src/plugins/value/value_parameters.mli index a5f62e9cff6d10c4d4ebaef1a4dae9da8b8294f2..3e0fb860496b052159093bf18d4239e97379081a 100644 --- a/src/plugins/value/value_parameters.mli +++ b/src/plugins/value/value_parameters.mli @@ -37,6 +37,7 @@ module InoutDomain: Parameter_sig.Bool module SignDomain: Parameter_sig.Bool module PrinterDomain: Parameter_sig.Bool module NumerorsDomain: Parameter_sig.Bool +module TracesDomain: Parameter_sig.Bool module ApronOctagon: Parameter_sig.Bool module ApronBox: Parameter_sig.Bool @@ -49,13 +50,17 @@ module EqualityCallFunction: Parameter_sig.Map with type key = Cil_types.kernel_function and type value = string +module TracesUnrollLoop: Parameter_sig.Bool +module TracesUnifyLoop: Parameter_sig.Bool +module TracesDot: Parameter_sig.String +module TracesProject: Parameter_sig.Bool + module EqualityStorage: Parameter_sig.Bool module SymbolicLocsStorage: Parameter_sig.Bool module GaugesStorage: Parameter_sig.Bool module ApronStorage: Parameter_sig.Bool module BitwiseOffsmStorage: Parameter_sig.Bool - module AutomaticContextMaxDepth: Parameter_sig.Int module AutomaticContextMaxWidth: Parameter_sig.Int @@ -229,6 +234,11 @@ val dkey_callbacks : category val dkey_widening : category +(** Notifies that the binding to Apron domains is available. *) +val register_apron: unit -> unit + +(** Notifies that the numerors domain is available. *) +val register_numerors: unit -> unit (* Local Variables: diff --git a/src/plugins/value/values/abstract_location.mli b/src/plugins/value/values/abstract_location.mli index 2c7266aa87353cdcf86e012121bc23f026d2d010..6242ecc18d1f1b3df5d183dbccc6b59aeeb41cf2 100644 --- a/src/plugins/value/values/abstract_location.mli +++ b/src/plugins/value/values/abstract_location.mli @@ -119,21 +119,14 @@ module type S = sig typ -> index:value -> remaining:offset -> offset -> (value * offset) or_bottom end -(** Key and structure for locations. See {structure.mli}, - and {domain.mli} where the mechanism is explained in detail.*) +type 'loc key = 'loc Structure.Key_Location.key -type 'a key = 'a Structure.Key_Location.k -type 'a structure = 'a Structure.Key_Location.structure - -module type Internal = sig +(** Signature for a leaf module of abstract locations. *) +module type Leaf = sig include S - val structure : location structure -end -module type External = sig - include S - include Structure.External with type t := location - and type 'a key := 'a key + (** The key identifies the module and the type [t] of abstract locations. *) + val key: location key end (* diff --git a/src/plugins/value/values/abstract_value.mli b/src/plugins/value/values/abstract_value.mli index 28fec80b0e53acad4535b0655b86601a5e0b690d..c6efd63271876b27d54960adc4f32e5697b3d139 100644 --- a/src/plugins/value/values/abstract_value.mli +++ b/src/plugins/value/values/abstract_value.mli @@ -181,21 +181,14 @@ module type S = sig end -(** Key and structure for values. See {structure.mli}, - and {domain.mli} where the mechanism is explained in detail.*) +type 'v key = 'v Structure.Key_Value.key -type 'a key = 'a Structure.Key_Value.k -type 'a structure = 'a Structure.Key_Value.structure - -module type Internal = sig +(** Signature for a leaf module of abstract values. *) +module type Leaf = sig include S - val structure : t structure -end -module type External = sig - include S - include Structure.External with type t := t - and type 'a key := 'a key + (** The key identifies the module and the type [t] of abstract values. *) + val key: t key end diff --git a/src/plugins/value/values/location_lift.ml b/src/plugins/value/values/location_lift.ml index ce5ae27c8641259ef90652d9d36dffffee6ad2bf..f02568133bbbfd282a44abb8b20cf7f70f5e51af 100644 --- a/src/plugins/value/values/location_lift.ml +++ b/src/plugins/value/values/location_lift.ml @@ -32,17 +32,19 @@ module type Conversion = sig end module Make - (Loc: Abstract_location.Internal) + (Loc: Abstract_location.Leaf) (Convert : Conversion with type internal_value := Loc.value) = struct (* Import most of [Loc] *) - include (Loc: Abstract_location.Internal + include (Loc: Abstract_location.S with type value := Loc.value (* we are converting this type *) and type location = Loc.location and type offset = Loc.offset) type value = Convert.extended_value + let structure = Abstract.Location.Leaf (Loc.key, (module Loc)) + (* Now lift the functions that contain {!value} in their type. *) let to_value loc = Convert.extend_val (Loc.to_value loc) diff --git a/src/plugins/value/values/location_lift.mli b/src/plugins/value/values/location_lift.mli index 1eb2d98d38c1da61d05b0891f7e6f88cda650e87..cd5b46cafaf7143981d76060b05f4be48b656f4d 100644 --- a/src/plugins/value/values/location_lift.mli +++ b/src/plugins/value/values/location_lift.mli @@ -30,9 +30,9 @@ module type Conversion = sig end module Make - (Loc: Abstract_location.Internal) + (Loc: Abstract_location.Leaf) (Convert : Conversion with type internal_value := Loc.value) - : Abstract_location.Internal with type location = Loc.location + : Abstract.Location.Internal with type location = Loc.location and type offset = Loc.offset and type value = Convert.extended_value diff --git a/src/plugins/value/values/main_locations.ml b/src/plugins/value/values/main_locations.ml index f98119eab16be0479dd44dbd92e7c66bb668296d..8722ef3517205bc1e9d53b74c754e44cc6a87292 100644 --- a/src/plugins/value/values/main_locations.ml +++ b/src/plugins/value/values/main_locations.ml @@ -22,8 +22,6 @@ open Cil_types -let ploc_key = Structure.Key_Location.create_key "precise_locs" - module PLoc = struct type value = Cvalue.V.t @@ -32,7 +30,7 @@ module PLoc = struct | Precise of Precise_locs.precise_offset | Imprecise of Cvalue.V.t (* when the offset contains addresses *) - let structure = Structure.Key_Location.Leaf ploc_key + let key = Structure.Key_Location.create_key "precise_locs" let equal_loc = Precise_locs.equal_loc let equal_offset o1 o2 = match o1, o2 with diff --git a/src/plugins/value/values/main_locations.mli b/src/plugins/value/values/main_locations.mli index 28d11c16b762f742bdcc3364c4d01de67d6ca0c3..7701838d407cb735e23a76bd8de2a1f74bdb558a 100644 --- a/src/plugins/value/values/main_locations.mli +++ b/src/plugins/value/values/main_locations.mli @@ -25,7 +25,7 @@ (** Abstract locations built over Precise_locs. *) module PLoc : sig - include Abstract_location.Internal + include Abstract_location.Leaf with type value = Cvalue.V.t and type location = Precise_locs.precise_location @@ -33,10 +33,6 @@ module PLoc : sig end -(** Key for precise locs. *) -val ploc_key : PLoc.location Abstract_location.key - - (* Local Variables: compile-command: "make -C ../../../.." diff --git a/src/plugins/value/values/main_values.ml b/src/plugins/value/values/main_values.ml index f5bec06d977060be6fd796cedaea8bfde736f059..83b93bbfb6321503ef84c4d54421936a7e2cd2b1 100644 --- a/src/plugins/value/values/main_values.ml +++ b/src/plugins/value/values/main_values.ml @@ -22,12 +22,10 @@ open Cil_types -let cvalue_key = Structure.Key_Value.create_key "cvalue" - module CVal = struct include Cvalue.V - let structure = Structure.Key_Value.Leaf cvalue_key + let key = Structure.Key_Value.create_key "cvalue" let zero = Cvalue.V.singleton_zero let one = Cvalue.V.singleton_one @@ -135,12 +133,10 @@ module CVal = struct with Abstract_interp.Error_Top -> `Top, true end -let interval_key = Structure.Key_Value.create_key "interval" - module Interval = struct include Datatype.Option (Ival) - let structure = Structure.Key_Value.Leaf interval_key + let key = Structure.Key_Value.create_key "interval" let pretty_typ _ = pretty diff --git a/src/plugins/value/values/main_values.mli b/src/plugins/value/values/main_values.mli index fd148fcfcc5208e58353e0a847249b4d715a3c14..4923f3182ed2e685eaefa4653bae7a840b9b0fb8 100644 --- a/src/plugins/value/values/main_values.mli +++ b/src/plugins/value/values/main_values.mli @@ -23,17 +23,11 @@ (** Main numeric values of Eva. *) (** Abstract values built over Cvalue.V *) -module CVal : Abstract_value.Internal with type t = Cvalue.V.t - -(** Key for cvalues. *) -val cvalue_key : CVal.t Abstract_value.key +module CVal : Abstract_value.Leaf with type t = Cvalue.V.t (** Dummy interval: no forward nor backward propagations. [None] is top. *) -module Interval : Abstract_value.Internal with type t = Ival.t option - -(** Key for intervals. *) -val interval_key : Interval.t Abstract_value.key +module Interval : Abstract_value.Leaf with type t = Ival.t option (* Local Variables: diff --git a/src/plugins/value/values/numerors/numerors_value.ml b/src/plugins/value/values/numerors/numerors_value.ml index 8fa47dc923f6337a7a09483991e497cb2d08da7f..6ef7042aa6964c78ea5a70bfac37a58a5fb76955 100644 --- a/src/plugins/value/values/numerors/numerors_value.ml +++ b/src/plugins/value/values/numerors/numerors_value.ml @@ -116,8 +116,7 @@ end include Datatype.Make(T) let pretty_debug = pretty let pretty_typ _ = pretty -let error_key = Structure.Key_Value.create_key "numerors_values" -let structure = Structure.Key_Value.Leaf error_key +let key = Structure.Key_Value.create_key "numerors_values" (*----------------------------------------------------------------------------- diff --git a/src/plugins/value/values/numerors/numerors_value.mli b/src/plugins/value/values/numerors/numerors_value.mli index d73b689cd75ca60a4fe10a2cb2eaad9bc625d97a..3c87147b3e30abae9d15aa503bf164147ddaf18c 100644 --- a/src/plugins/value/values/numerors/numerors_value.mli +++ b/src/plugins/value/values/numerors/numerors_value.mli @@ -20,15 +20,13 @@ (* *) (**************************************************************************) -include Abstract_value.Internal +include Abstract_value.Leaf val pretty_debug : t Pretty_utils.formatter (** Reduction of an error value according to a floating-point interval. *) val reduce: Fval.t -> t -> t Eval.or_bottom -val error_key : t Structure.Key_Value.k - val set_absolute_to_top : t -> t val set_relative_to_top : t -> t diff --git a/src/plugins/value/values/offsm_value.ml b/src/plugins/value/values/offsm_value.ml index a447493695dcb04a94297946066499e67a8c077c..1465804854fcd34cab00ffe0d572657ea2951c7b 100644 --- a/src/plugins/value/values/offsm_value.ml +++ b/src/plugins/value/values/offsm_value.ml @@ -381,12 +381,10 @@ module Datatype_Offsm_or_top = Datatype.Make_with_collections(struct end) -let offsm_key = Structure.Key_Value.create_key "offsetmap_value" - -module Offsm : Abstract_value.Internal with type t = offsm_or_top = struct +module Offsm : Abstract_value.Leaf with type t = offsm_or_top = struct include Datatype_Offsm_or_top - let structure = Structure.Key_Value.Leaf offsm_key + let key = Structure.Key_Value.create_key "offsetmap_value" let pretty_typ typ fmt = function | Top as o -> pretty fmt o @@ -480,10 +478,14 @@ module Offsm : Abstract_value.Internal with type t = offsm_or_top = struct end -module CvalueOffsm : Abstract_value.Internal with type t = V.t * offsm_or_top +module CvalueOffsm : Abstract.Value.Internal with type t = V.t * offsm_or_top = struct include Value_product.Make (Main_values.CVal) (Offsm) + let structure = + Abstract.Value.(Node (Leaf (Main_values.CVal.key, (module Main_values.CVal)), + Leaf (Offsm.key, (module Offsm)))) + let size typ = Integer.of_int (Cil.bitsSizeOf typ) (* Extract an offsetmap from a pair, by converting the value when needed. *) diff --git a/src/plugins/value/values/offsm_value.mli b/src/plugins/value/values/offsm_value.mli index 1ad67480937996b32bffb54068b50d30ec4ef640..6465583c14eac05255723276ac81be8d94f5cafb 100644 --- a/src/plugins/value/values/offsm_value.mli +++ b/src/plugins/value/values/offsm_value.mli @@ -22,13 +22,10 @@ type offsm_or_top = O of Cvalue.V_Offsetmap.t | Top -val offsm_key : offsm_or_top Structure.Key_Value.k - val cast : old_size: Integer.t -> new_size: Integer.t -> signed: bool -> Cvalue.V_Offsetmap.t -> Cvalue.V_Offsetmap.t +module Offsm : Abstract_value.Leaf with type t = offsm_or_top -module Offsm : Abstract_value.Internal with type t = offsm_or_top - -module CvalueOffsm : Abstract_value.Internal with type t = Cvalue.V.t * offsm_or_top +module CvalueOffsm : Abstract.Value.Internal with type t = Cvalue.V.t * offsm_or_top diff --git a/src/plugins/value/values/sign_value.ml b/src/plugins/value/values/sign_value.ml index 211ce3cd5b2891d14d9a44a6e6f5862aed9eb762..66ebbb989c5bd9fd1fe05f9c2d258e59e66feaff 100644 --- a/src/plugins/value/values/sign_value.ml +++ b/src/plugins/value/values/sign_value.ml @@ -271,5 +271,4 @@ let backward_cast ~src_typ:_ ~dst_typ:_ ~src_val:_ ~dst_val:_ = `Value None (** {2 Misc} *) (* Eva boilerplate, used to retrieve the domain. *) -let sign_key = Structure.Key_Value.create_key "sign_values" -let structure = Structure.Key_Value.Leaf sign_key +let key = Structure.Key_Value.create_key "sign_values" diff --git a/src/plugins/value/values/sign_value.mli b/src/plugins/value/values/sign_value.mli index 14deeda643e120747070f6106980b9acb1d5494f..44b761fb982e26370f6bc2f85c71e0618c85150b 100644 --- a/src/plugins/value/values/sign_value.mli +++ b/src/plugins/value/values/sign_value.mli @@ -22,8 +22,6 @@ (** Sign domain: abstraction of integer numerical values by their signs. *) -include Abstract_value.Internal +include Abstract_value.Leaf val pretty_debug: t Pretty_utils.formatter - -val sign_key : t Structure.Key_Value.k diff --git a/src/plugins/value/values/value_product.ml b/src/plugins/value/values/value_product.ml index 131d47bfa680cd438e8146e4de79bcf1a3b99d29..5a088c5283873e658f87f003c5766d010bf1dda8 100644 --- a/src/plugins/value/values/value_product.ml +++ b/src/plugins/value/values/value_product.ml @@ -23,14 +23,12 @@ open Eval module Make - (Left: Abstract_value.Internal) - (Right: Abstract_value.Internal) + (Left: Abstract_value.S) + (Right: Abstract_value.S) = struct include Datatype.Pair (Left) (Right) - let structure = Structure.Key_Value.Node (Left.structure, Right.structure) - let pretty_typ typ = Pretty_utils.pp_pair ~pre:"@[" ~sep:",@ " ~suf:"@]" (Left.pretty_typ typ) (Right.pretty_typ typ) diff --git a/src/plugins/value/values/value_product.mli b/src/plugins/value/values/value_product.mli index f6369ee2efd75c5241cb13ca4243de875428f610..c24505d85e3f7e748301f1d05570e6df56b137d5 100644 --- a/src/plugins/value/values/value_product.mli +++ b/src/plugins/value/values/value_product.mli @@ -23,9 +23,9 @@ (** Cartesian product of two value abstractions. *) module Make - (Left: Abstract_value.Internal) - (Right: Abstract_value.Internal) - : Abstract_value.Internal with type t = Left.t * Right.t + (Left: Abstract_value.S) + (Right: Abstract_value.S) + : Abstract_value.S with type t = Left.t * Right.t (* diff --git a/src/plugins/variadic/standard.ml b/src/plugins/variadic/standard.ml index d5b98d5d1d192291de971216ec7783223cba3101..8d5b77be6e5907ec979ed47cdc5193dfea4f554b 100644 --- a/src/plugins/variadic/standard.ml +++ b/src/plugins/variadic/standard.ml @@ -448,6 +448,16 @@ let build_fun_spec env loc vf format_fun tvparams formals = (* Cil.hasAttribute "const" *) add_lval (lval,dir) in + let make_indirect iterm = + (* Add "indirect" to an identified term, if it isn't already *) + if List.mem "indirect" iterm.it_content.term_name then iterm + else + let it_content = + { iterm.it_content with + term_name = "indirect" :: iterm.it_content.term_name } + in + { iterm with it_content } + in (* Build variadic parameter source/dest list *) let dirs = List.map snd tvparams in @@ -541,14 +551,20 @@ let build_fun_spec env loc vf format_fun tvparams formals = | Syslog, _ -> () end; - (* Add return value dest *) - let rettyp = Cil.getReturnType vf.vf_decl.vtype in - if not (Cil.isVoidType rettyp) then - add_lval ~indirect:true (Build.tresult rettyp, `ArgOut); - - (* Build the assign clause *) + (* Build the assigns clause (without \result, for now; it will be added + separately) *) let froms = List.map (fun iterm -> iterm, From !sources) !dests in - let assigns = Writes froms in + + (* Add return value dest: it is different from above since it is _indirectly_ + assigned from all sources *) + let rettyp = Cil.getReturnType vf.vf_decl.vtype in + let froms_for_result = + if Cil.isVoidType rettyp then [] + else + [iterm (Build.tresult rettyp), + From (List.map make_indirect !sources)] + in + let assigns = Writes (froms_for_result @ froms) in (* Build the default behaviour *) let bhv = Cil.mk_behavior ~assigns diff --git a/src/plugins/variadic/tests/known/oracle/exec.res.oracle b/src/plugins/variadic/tests/known/oracle/exec.res.oracle index ccda67e7ad24969af80102884259c962ece1a69b..956067e6dbe9bc926d55bc7e9ce53dea74f565d3 100644 --- a/src/plugins/variadic/tests/known/oracle/exec.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/exec.res.oracle @@ -35,7 +35,6 @@ sentinel ∈ {0} __retres ∈ {0} /* Generated by Frama-C */ -#include "sys/time.h" #include "unistd.h" int main(void) { diff --git a/src/plugins/variadic/tests/known/oracle/exec_failed_requirement.res.oracle b/src/plugins/variadic/tests/known/oracle/exec_failed_requirement.res.oracle index cb9e737d1bb5298bcc7fd0690090dfd1d7406b6c..47d6f5693dc5bbb245732803a89a277b5287f17b 100644 --- a/src/plugins/variadic/tests/known/oracle/exec_failed_requirement.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/exec_failed_requirement.res.oracle @@ -17,7 +17,6 @@ [eva:final-states] Values at end of function main: NON TERMINATING FUNCTION /* Generated by Frama-C */ -#include "sys/time.h" #include "unistd.h" int main(void) { diff --git a/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c b/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c index 284877a285f94ca211c4ebd5a8348246e422729c..3a496e7bf57c8b5807bd005cfec8ac6a811db5c0 100644 --- a/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c +++ b/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c @@ -7,7 +7,8 @@ assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); @@ -32,7 +33,8 @@ int main(void) assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); diff --git a/src/plugins/variadic/tests/known/oracle/printf.res.oracle b/src/plugins/variadic/tests/known/oracle/printf.res.oracle index d3eac0b8fd4d4f2e18e10087b2a1bc0f9c5d0f3a..95d6cf5297f29e539893f37b6ec3b2469440b761 100644 --- a/src/plugins/variadic/tests/known/oracle/printf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf.res.oracle @@ -168,7 +168,8 @@ assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); @@ -182,8 +183,8 @@ int printf_va_1(char const * __restrict format); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param0 + (0 ..)); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -200,8 +201,8 @@ int printf_va_2(char const * __restrict format, char *param0, int *param1); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param0 + (0 ..)); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -215,8 +216,8 @@ int printf_va_3(char const * __restrict format, wchar_t *param0); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -235,8 +236,8 @@ int printf_va_4(char const * __restrict format, int param0, assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -254,8 +255,8 @@ int printf_va_5(char const * __restrict format, int param0, short *param1); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -273,8 +274,8 @@ int printf_va_6(char const * __restrict format, int param0, long *param1); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -293,8 +294,8 @@ int printf_va_7(char const * __restrict format, long param0, assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -313,8 +314,8 @@ int printf_va_8(char const * __restrict format, long long param0, assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -333,8 +334,8 @@ int printf_va_9(char const * __restrict format, intmax_t param0, assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -351,8 +352,8 @@ int printf_va_10(char const * __restrict format, size_t param0, assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -364,8 +365,8 @@ int printf_va_11(char const * __restrict format, ptrdiff_t param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -377,8 +378,8 @@ int printf_va_12(char const * __restrict format, unsigned int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -390,8 +391,8 @@ int printf_va_13(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -403,8 +404,8 @@ int printf_va_14(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -416,8 +417,8 @@ int printf_va_15(char const * __restrict format, unsigned long param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -429,8 +430,8 @@ int printf_va_16(char const * __restrict format, unsigned long long param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -442,8 +443,9 @@ int printf_va_17(char const * __restrict format, uintmax_t param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param1, param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param1), + (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -456,8 +458,8 @@ int printf_va_18(char const * __restrict format, size_t param0, assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -469,8 +471,8 @@ int printf_va_19(char const * __restrict format, unsigned long long param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -482,8 +484,8 @@ int printf_va_20(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -495,8 +497,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -508,8 +510,9 @@ int printf_va_22(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param1, param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param1), + (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -522,8 +525,8 @@ int printf_va_23(char const * __restrict format, double param0, assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -535,8 +538,8 @@ int printf_va_24(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -548,8 +551,9 @@ int printf_va_25(char const * __restrict format, void *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param3, param2, param1, param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param3), + (indirect: param2), (indirect: param1), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -563,8 +567,9 @@ int printf_va_26(char const * __restrict format, int param0, int param1, assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param1 + (0 ..)), param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param1 + (0 ..))), + (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -577,8 +582,8 @@ int printf_va_27(char const * __restrict format, int param0, char *param1); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param0 + (0 ..)); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..25e8c3610196c5963f1c9e911eb1e8f829319bfe --- /dev/null +++ b/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle @@ -0,0 +1,76 @@ +[variadic] FRAMAC_SHARE/libc/stdio.h:165: + Declaration of variadic function fprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:167: + Declaration of variadic function fscanf. +[variadic] FRAMAC_SHARE/libc/stdio.h:169: + Declaration of variadic function printf. +[variadic] FRAMAC_SHARE/libc/stdio.h:170: + Declaration of variadic function scanf. +[variadic] FRAMAC_SHARE/libc/stdio.h:171: + Declaration of variadic function snprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:173: + Declaration of variadic function sprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:175: + Declaration of variadic function sscanf. +[variadic] FRAMAC_SHARE/libc/stdio.h:369: + Declaration of variadic function dprintf. +[variadic] tests/known/printf_garbled_mix.c:8: + Variadic builtin Frama_C_show_each_nb_printed left untransformed. +[variadic] tests/known/printf_garbled_mix.c:7: + Translating call to printf to a call to the specialized version printf_va_1. +[eva] Analyzing a complete application starting at main +[eva] Computing initial state +[eva] Initial state computed +[eva] tests/known/printf_garbled_mix.c:6: + Assigning imprecise value to b. + The imprecision originates from Arithmetic + {tests/known/printf_garbled_mix.c:6} +[eva] using specification for function printf_va_1 +[eva] tests/known/printf_garbled_mix.c:8: + Frama_C_show_each_nb_printed: [-2147483648..2147483647] +[eva] done for function main +[eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function main: + a[0] ∈ {1} + [1] ∈ {2} + b ∈ {0} + nb_printed ∈ [--..--] + S___fc_stdout[0].__fc_FILE_id ∈ [--..--] + [0].__fc_FILE_data ∈ + {{ garbled mix of &{a} + (origin: Library function + {tests/known/printf_garbled_mix.c:7}) }} + [1] ∈ [--..--] +/* Generated by Frama-C */ +#include "errno.h" +#include "stdarg.h" +#include "stddef.h" +#include "stdio.h" +/*@ assigns \result; + assigns \result \from \nothing; */ +extern int ( /* missing proto */ Frama_C_show_each_nb_printed)(); + +/*@ requires valid_read_string(format); + assigns \result, __fc_stdout->__fc_FILE_data; + assigns \result + \from (indirect: __fc_stdout->__fc_FILE_id), + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); + assigns __fc_stdout->__fc_FILE_data + \from (indirect: __fc_stdout->__fc_FILE_id), + __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), + param0; + */ +int printf_va_1(char const * __restrict format, int param0); + +void main(void) +{ + int a[2] = {1, 2}; + int *b = (int *)((unsigned int)(a) * (unsigned int)2); + int nb_printed = printf_va_1("%d",(int)b); + Frama_C_show_each_nb_printed(nb_printed); + b = (int *)0; + return; +} + + diff --git a/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle index 7bf45216955e9b124a78d2eff4c262656f366d58..9b7494fd8342d16b8e56adb562b395d9c87edb25 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle @@ -17,7 +17,8 @@ /* Generated by Frama-C */ typedef unsigned long size_t; /*@ assigns \result; - assigns \result \from (indirect: *(__format + (0 ..))), param0; + assigns \result + \from (indirect: *(__format + (0 ..))), (indirect: param0); */ int printf_va_1(char const * __restrict __format, size_t param0); diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle index ab84ecbf690af6f9eeca1e86ddd262df7fd12f85..d322a92f77e082966e1f3ba31a4096c403113f6b 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle @@ -48,8 +48,8 @@ assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -61,8 +61,9 @@ int printf_va_1(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param1, param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param1), + (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle index 3acc772c1d3ab401b05f19de09877346e9ed4f89..12097cda98fa628de6c3431143db25fd7544f16c 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle @@ -58,7 +58,8 @@ assigns \result, __fc_stdout->__fc_FILE_data, *param0; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); @@ -74,7 +75,8 @@ int printf_va_1(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data, *param0; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); @@ -90,7 +92,8 @@ int printf_va_2(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data, *param0; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); @@ -105,8 +108,8 @@ int printf_va_3(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param0 + (0 ..)); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -119,8 +122,8 @@ int printf_va_4(char const * __restrict format, char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param0 + (0 ..)); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle index 39f1ae9b900ea71a6413863dd6ced0e450a76c99..40db9d7dbbf143e9c8ced207fd7ac8ac2ebe8d23 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle @@ -110,8 +110,8 @@ typedef enum __anonenum_RC_1 RC; assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -123,8 +123,8 @@ int printf_va_1(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -136,8 +136,8 @@ int printf_va_2(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -149,8 +149,8 @@ int printf_va_3(char const * __restrict format, unsigned int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -162,8 +162,8 @@ int printf_va_4(char const * __restrict format, long param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -175,8 +175,8 @@ int printf_va_5(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -188,8 +188,8 @@ int printf_va_6(char const * __restrict format, unsigned long param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -201,8 +201,8 @@ int printf_va_7(char const * __restrict format, unsigned int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -214,8 +214,8 @@ int printf_va_8(char const * __restrict format, void *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -227,8 +227,8 @@ int printf_va_9(char const * __restrict format, double param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -240,8 +240,8 @@ int printf_va_10(char const * __restrict format, double param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -253,8 +253,8 @@ int printf_va_11(char const * __restrict format, double param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -267,8 +267,8 @@ int printf_va_12(char const * __restrict format, long double param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param0 + (0 ..)); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -280,8 +280,8 @@ int printf_va_13(char const * __restrict format, char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -293,8 +293,8 @@ int printf_va_14(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -306,8 +306,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -512,8 +512,8 @@ typedef enum __anonenum_RC_1 RC; assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -525,8 +525,8 @@ int printf_va_1(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -538,8 +538,8 @@ int printf_va_2(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -551,8 +551,8 @@ int printf_va_3(char const * __restrict format, unsigned int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -564,8 +564,8 @@ int printf_va_4(char const * __restrict format, long param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -577,8 +577,8 @@ int printf_va_5(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -590,8 +590,8 @@ int printf_va_6(char const * __restrict format, unsigned long param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -603,8 +603,8 @@ int printf_va_7(char const * __restrict format, unsigned int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -616,8 +616,8 @@ int printf_va_8(char const * __restrict format, void *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -629,8 +629,8 @@ int printf_va_9(char const * __restrict format, double param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -642,8 +642,8 @@ int printf_va_10(char const * __restrict format, double param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -655,8 +655,8 @@ int printf_va_11(char const * __restrict format, double param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -669,8 +669,8 @@ int printf_va_12(char const * __restrict format, long double param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param0 + (0 ..)); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -682,8 +682,8 @@ int printf_va_13(char const * __restrict format, char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -695,8 +695,8 @@ int printf_va_14(char const * __restrict format, int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -708,8 +708,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle index e2b30a7dd895f33300054cade576ecafafe22376..22a8fdf1bb42bb62dcd300c2b8a68f3e8d281426 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle @@ -41,7 +41,8 @@ assigns \result, __fc_stdin->__fc_FILE_data, *param2, *param1, *(param0 + (0 ..)); assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, diff --git a/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle index a9a7845b251755db6d2e2b4dc57b4347b5d7db6f..0a7a3cb2f389a34ab022bcfa82d62fb3908882ef 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle @@ -36,7 +36,8 @@ int volatile nondet; ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, diff --git a/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle index 41d5dc140e7a787788e70c9a0c76ade24252cb31..0ad1522b6520cd7aa591efda0f9f72657c9162b1 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle @@ -42,7 +42,8 @@ assigns \result, __fc_stdin->__fc_FILE_data, *param2, *param1, *(param0 + (0 ..)); assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, diff --git a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle index 5283467af6bbb18db5204643152c4cc5f705fac6..cf8814488a75dd118d8e8abac81f3bab09ad9baa 100644 --- a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle @@ -56,7 +56,8 @@ int volatile nondet; requires valid_read_string(param0); assigns \result, *(s + (0 ..)); assigns \result - \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..)); + \from (indirect: n), (indirect: *(format + (0 ..))), + (indirect: *(param0 + (0 ..))); assigns *(s + (0 ..)) \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..)); */ @@ -70,7 +71,8 @@ int snprintf_va_1(char * __restrict s, size_t n, requires valid_read_string(param0); assigns \result, *(s + (0 ..)); assigns \result - \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..)); + \from (indirect: n), (indirect: *(format + (0 ..))), + (indirect: *(param0 + (0 ..))); assigns *(s + (0 ..)) \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..)); */ diff --git a/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle b/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle index 3affc42a4ed5738d640e76c6e044fc219e085106..41f785ff02c2f035754f6d27cb48445c435a0f04 100644 --- a/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle @@ -71,9 +71,10 @@ requires valid_read_string(param1); assigns \result, stream->__fc_FILE_data; assigns \result - \from (indirect: stream->__fc_FILE_id), stream->__fc_FILE_data, - (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)), - param0; + \from (indirect: stream->__fc_FILE_id), + (indirect: stream->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param2), + (indirect: *(param1 + (0 ..))), (indirect: param0); assigns stream->__fc_FILE_data \from (indirect: stream->__fc_FILE_id), stream->__fc_FILE_data, (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)), @@ -87,8 +88,9 @@ int fprintf_va_1(FILE * __restrict stream, char const * __restrict format, assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param2, *(param1 + (0 ..)), param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param2), + (indirect: *(param1 + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -104,8 +106,9 @@ int printf_va_1(char const * __restrict format, int param0, char *param1, requires valid_read_string(param1); assigns \result, *(s + (0 ..)); assigns \result - \from (indirect: n), (indirect: *(format + (0 ..))), param2, - *(param1 + (0 ..)), param0; + \from (indirect: n), (indirect: *(format + (0 ..))), + (indirect: param2), (indirect: *(param1 + (0 ..))), + (indirect: param0); assigns *(s + (0 ..)) \from (indirect: n), (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)), param0; @@ -118,8 +121,8 @@ int snprintf_va_1(char * __restrict s, size_t n, requires valid_read_string(param1); assigns \result, *(s + (0 ..)); assigns \result - \from (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)), - param0; + \from (indirect: *(format + (0 ..))), (indirect: param2), + (indirect: *(param1 + (0 ..))), (indirect: param0); assigns *(s + (0 ..)) \from (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)), param0; @@ -133,7 +136,8 @@ int sprintf_va_1(char * __restrict s, char const * __restrict format, assigns \result; assigns \result \from (indirect: fd), (indirect: *(format + (0 ..))), - *(param2 + (0 ..)), *(param1 + (0 ..)), param0; + (indirect: *(param2 + (0 ..))), (indirect: *(param1 + (0 ..))), + (indirect: param0); */ int dprintf_va_1(int fd, char const * __restrict format, int param0, char *param1, char *param2); diff --git a/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle b/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle index 9d9d9383a4ddbc022b77af8f23c1ea97b165e98e..23148c803852e714e6e6460bbb3584c014a6662f 100644 --- a/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle @@ -59,7 +59,8 @@ assigns \result, stream->__fc_FILE_data, *param2, *(param1 + (0 ..)), *param0; assigns \result - \from (indirect: stream->__fc_FILE_id), stream->__fc_FILE_data, + \from (indirect: stream->__fc_FILE_id), + (indirect: stream->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns stream->__fc_FILE_data \from (indirect: stream->__fc_FILE_id), stream->__fc_FILE_data, @@ -85,7 +86,8 @@ int fscanf_va_1(FILE * __restrict stream, char const * __restrict format, assigns \result, __fc_stdin->__fc_FILE_data, *param2, *(param1 + (0 ..)), *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, diff --git a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle index 84ee5740088cec6cd2618b26d7d683bdb34bcea8..f4694f2f3632e5e0d4fdbcdf9ef2ef527a077e69 100644 --- a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle @@ -67,7 +67,8 @@ int volatile nondet; requires valid_read_wstring(param0); assigns \result, *(ws + (0 ..)); assigns \result - \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..)); + \from (indirect: n), (indirect: *(format + (0 ..))), + (indirect: *(param0 + (0 ..))); assigns *(ws + (0 ..)) \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..)); */ @@ -81,7 +82,8 @@ int swprintf_va_1(wchar_t *ws, size_t n, wchar_t const *format, requires valid_read_wstring(param0); assigns \result, *(ws + (0 ..)); assigns \result - \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..)); + \from (indirect: n), (indirect: *(format + (0 ..))), + (indirect: *(param0 + (0 ..))); assigns *(ws + (0 ..)) \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..)); */ diff --git a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle index 6d0225a773070bb675e09debc3d519189cff1cc1..a5376947d85456fcb47acfbcc4979db23dd1eb7a 100644 --- a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle @@ -92,8 +92,9 @@ assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param1, param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param1), + (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -105,8 +106,9 @@ int wprintf_va_1(wchar_t const *format, int param0, long param1); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param1, param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param1), + (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -118,8 +120,10 @@ int wprintf_va_2(wchar_t const *format, int param0, int param1); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param4, param3, param2, param1, param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param4), + (indirect: param3), (indirect: param2), (indirect: param1), + (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -133,8 +137,9 @@ int wprintf_va_3(wchar_t const *format, int param0, unsigned int param1, assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param2, param1, param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param2), + (indirect: param1), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -147,8 +152,9 @@ int wprintf_va_4(wchar_t const *format, double param0, double param1, assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param1, param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param1), + (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -161,8 +167,8 @@ int wprintf_va_5(wchar_t const *format, int param0, int param1); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param0 + (0 ..)); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param0 + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -177,8 +183,8 @@ int wprintf_va_6(wchar_t const *format, wchar_t *param0); requires valid_read_string(param0); assigns \result, *(ws + (0 ..)); assigns \result - \from (indirect: n), (indirect: *(format + (0 ..))), param1, - *(param0 + (0 ..)); + \from (indirect: n), (indirect: *(format + (0 ..))), + (indirect: param1), (indirect: *(param0 + (0 ..))); assigns *(ws + (0 ..)) \from (indirect: n), (indirect: *(format + (0 ..))), param1, *(param0 + (0 ..)); @@ -189,7 +195,8 @@ int swprintf_va_1(wchar_t *ws, size_t n, wchar_t const *format, char *param0, /*@ requires valid_read_wstring(format); assigns \result, __fc_stdin->__fc_FILE_data, *(param0 + (0 ..)); assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -207,7 +214,8 @@ int wscanf_va_1(wchar_t const *format, wchar_t *param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param1, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, diff --git a/src/plugins/variadic/tests/known/printf_garbled_mix.c b/src/plugins/variadic/tests/known/printf_garbled_mix.c new file mode 100644 index 0000000000000000000000000000000000000000..1c4381691d8fd686b4baebd65fff7c5ab40a2825 --- /dev/null +++ b/src/plugins/variadic/tests/known/printf_garbled_mix.c @@ -0,0 +1,10 @@ +#include <stdint.h> +#include <stdio.h> + +void main() { + int a[2] = {1, 2}; + int *b = (int *)(((uintptr_t)a)*2); + int nb_printed = printf("%d", (int)b); + Frama_C_show_each_nb_printed(nb_printed); // must NOT contain a garbled mix + b = 0; // minimize diffs in test oracle +} diff --git a/src/plugins/wp/Cfloat.ml b/src/plugins/wp/Cfloat.ml index 66564553c4f4b958928c1fd55a637749e6800424..4e61af7fd092bd2873d5525f0c931e07fbb44446 100644 --- a/src/plugins/wp/Cfloat.ml +++ b/src/plugins/wp/Cfloat.ml @@ -107,7 +107,7 @@ let op_name = function (* --- Registry --- *) (* -------------------------------------------------------------------------- *) -module REGISTRY = Model.Static +module REGISTRY = WpContext.Static (struct type key = lfun type data = op * c_float diff --git a/src/plugins/wp/Changelog b/src/plugins/wp/Changelog index 3bad8897f23076dec075a49c3cff6dffd7acac9d..46d91b13189d1f9670263c60c7a74b57391745d0 100644 --- a/src/plugins/wp/Changelog +++ b/src/plugins/wp/Changelog @@ -20,10 +20,12 @@ # <Prover>: prover ############################################################################### +- WP [2019/09/12] New cache mechanism for why3 provers, see -wp-cache option - WP [2019/06/27] Improving Cint simplifier and quantifier introduction o WP [2019/06/27] Using the new API of Qed o Qed [2019/06/27] Changes into the API in order to get a more secure way to manipulate quantifiers and binding - Qed [2019/05/09] Transforms some boolean quantifications into let constructs + ########################## Plugin WP 19.0 (Potassium) ########################## diff --git a/src/plugins/wp/Cint.ml b/src/plugins/wp/Cint.ml index fbbcd0a37b6700cb88382915461d332c4bfde7e2..c6d48f85cc31f16c9983b13534f09e9e6c629f93 100644 --- a/src/plugins/wp/Cint.ml +++ b/src/plugins/wp/Cint.ml @@ -94,11 +94,18 @@ let f_land = Lang.extern_f ~library ~result ~category:(Operator op_land) ~balanc let f_lxor = Lang.extern_f ~library ~result ~category:(Operator op_lxor) ~balance "lxor" let f_lsl = Lang.extern_f ~library ~result "lsl" let f_lsr = Lang.extern_f ~library ~result "lsr" -let f_bit = Lang.extern_p ~library ~bool:"bit_testb" ~prop:"bit_test" () let f_bitwised = [ f_lnot ; f_lor ; f_land ; f_lxor ; f_lsl ; f_lsr ] -let () = let open LogicBuiltins in add_builtin "\\bit_test" [Z;Z] f_bit +(* [f_bit_stdlib] is related to the function [bit_test] of Frama-C StdLib *) +let f_bit_stdlib = Lang.extern_p ~library ~bool:"bit_testb" ~prop:"bit_test" () +(* [f_bit_positive] is actually exported in forgoting the fact the position is positive *) +let f_bit_positive = Lang.extern_p ~library ~bool:"bit_testb" ~prop:"bit_test" () +(* At export, some constructs such as [e & (1 << k)] are written into [f_bit_export] construct *) +let f_bit_export = Lang.extern_p ~library ~bool:"bit_testb" ~prop:"bit_test" () + +let () = let open LogicBuiltins in add_builtin "\\bit_test_stdlib" [Z;Z] f_bit_stdlib +let () = let open LogicBuiltins in add_builtin "\\bit_test" [Z;Z] f_bit_positive (* -------------------------------------------------------------------------- *) (* --- Matching utilities for simplifications --- *) @@ -213,6 +220,10 @@ let match_list_head match_f = function | [] -> raise Not_found | e::es -> (match_f e), es +let match_binop_one_arg1 binop e = match F.repr e with + | Logic.Fun( f , [one; e2] ) when Fun.equal f binop && one == e_one -> e2 + | _ -> raise Not_found + let match_list_extraction match_f = let match_f_opt n = try Some (match_f n) with Not_found -> None in let rec aux rs = function @@ -232,6 +243,8 @@ let match_positive_or_null_integer_arg2 = let match_integer_extraction = match_list_head match_integer let match_power2_extraction = match_list_extraction match_power2 +let match_binop_one_extraction binop = match_list_extraction (match_binop_one_arg1 binop) + (* -------------------------------------------------------------------------- *) (* --- Conversion Symbols --- *) @@ -465,7 +478,17 @@ let smp2 f zf = (* f(c1,c2) ~> zf(c1,c2), f(c1,c2,...) ~> f(zf(c1,c2),...) *) end | _ -> raise Not_found -let bitk_positive k e = e_fun f_bit [e;k] +let bitk_positive k e = F.e_fun f_bit_positive [e;k] +let smp_mk_bit_stdlib = function + | [ a ; k ] when is_positive_or_null k -> + (* No need to expand the logic definition of the ACSL stdlib symbol when + [k] is positive (the definition must comply with that simplification). *) + bitk_positive k a + | [ a ; k ] -> + (* TODO: expand the current logic definition of the ACSL stdlib symbol *) + F.e_neq F.e_zero (F.e_fun f_land [a; (F.e_fun f_lsl [F.e_one;k])]) + | _ -> raise Not_found + let smp_bitk_positive = function | [ a ; k ] -> (* requires k>=0 *) begin @@ -738,6 +761,15 @@ let smp_leq_with_lsr a0 b0 = else smp_cmp_with_lsr e_leq a0 b0 +(* Rewritting at export *) +let export_eq_with_land a b = + let es = match_fun f_land a in + if b == e_zero then + let k,_,es = match_binop_one_extraction f_lsl es in + (* e1 & ... & en & (1 << k) = 0 <==> !bit_test(e1 & ... & en, k) *) + e_not (e_fun f_bit_export [e_fun f_land es ; k ]) + else raise Not_found + (* ACSL Semantics *) type l_builtin = { f: lfun ; @@ -753,7 +785,10 @@ let () = begin let mk_builtin n f ?eq ?leq smp = n, { f ; eq; leq; smp } in - let bi_lbit = mk_builtin "f_bit" f_bit smp_bitk_positive in + (* From [smp_mk_bit_stdlib], the built-in [f_bit_stdlib] is such that there is + no creation of [e_fun f_bit_stdlib args] *) + let bi_lbit_stdlib = mk_builtin "f_bit_stdlib" f_bit_stdlib smp_mk_bit_stdlib in + let bi_lbit = mk_builtin "f_bit" f_bit_positive smp_bitk_positive in let bi_lnot = mk_builtin "f_lnot" f_lnot ~eq:smp_eq_with_lnot (smp1 Integer.lognot) in let bi_lxor = mk_builtin "f_lxor" f_lxor ~eq:smp_eq_with_lxor @@ -777,8 +812,9 @@ let () = | None -> () | Some leq -> F.set_builtin_leq f leq) end - [bi_lbit; bi_lnot; bi_lxor; bi_lor; bi_land; bi_lsl; bi_lsr] + [bi_lbit_stdlib ; bi_lbit; bi_lnot; bi_lxor; bi_lor; bi_land; bi_lsl; bi_lsr]; + Lang.For_export.set_builtin_eq f_land export_eq_with_land end end @@ -826,7 +862,10 @@ module Dom = struct Tmap.iter (fun k v -> Format.fprintf fmt "%a: %a,@ " Lang.F.pp_term k Ival.pretty v) dom - [@@@ warning "+32"] + + let find t dom = Tmap.find t dom + + let get t dom = try find t dom with Not_found -> Ival.top let narrow t v dom = if Ival.is_bottom v then raise Lang.Contradiction diff --git a/src/plugins/wp/Cint.mli b/src/plugins/wp/Cint.mli index a78c5b919096d068d016650c23cfdbca586f78bc..be94baad52b5c7285e47f53342ba4fa9ec609a62 100644 --- a/src/plugins/wp/Cint.mli +++ b/src/plugins/wp/Cint.mli @@ -71,9 +71,8 @@ val f_lxor : lfun val f_lor : lfun val f_lsl : lfun val f_lsr : lfun -val f_bit : lfun -val f_bitwised : lfun list (** All except f_bit *) +val f_bitwised : lfun list (** All except f_bit_positive *) (** Simplifiers *) diff --git a/src/plugins/wp/Cstring.ml b/src/plugins/wp/Cstring.ml index f678abdd424048e1d6069157c3806b0302707a52..8a7d81b3b094fc312da6709837887eca752fe12d 100644 --- a/src/plugins/wp/Cstring.ml +++ b/src/plugins/wp/Cstring.ml @@ -47,7 +47,7 @@ let pretty = STR.pretty let cluster () = Definitions.cluster ~id:"cstring" ~title:"String Literals" () -module LIT = Model.Generator(STR) +module LIT = WpContext.Generator(STR) (struct type key = cst type data = int * F.term diff --git a/src/plugins/wp/Cvalues.ml b/src/plugins/wp/Cvalues.ml index f952969897624f89bcd5642823903d87a23adfb4..01bf83ca952940afa1c339d9914766de164ad86a 100644 --- a/src/plugins/wp/Cvalues.ml +++ b/src/plugins/wp/Cvalues.ml @@ -228,27 +228,35 @@ let volatile ?warn () = warn ; false ) (* -------------------------------------------------------------------------- *) -(* --- ACSL Equality --- *) +(* --- ACSL Equality BootStrap --- *) (* -------------------------------------------------------------------------- *) -let s_eq = ref (fun _ _ _ -> assert false) (* recursion for equal_object *) +let equal_rec = ref (fun _ _ _ -> assert false) (* recursion for equal_object *) let rec reduce_eqcomp = function | [a;b] when Lang.F.equal a b -> F.e_true | _::ws -> reduce_eqcomp ws | [] -> raise Not_found -module EQARRAY = Model.Generator(Matrix.NATURAL) +(* -------------------------------------------------------------------------- *) +(* --- ACSL Array Equality --- *) +(* -------------------------------------------------------------------------- *) + +module EQARRAY = WpContext.Generator(Matrix.NATURAL) (struct open Matrix - type key = matrix - type data = Lang.lfun let name = "Cvalues.EqArray" + type key = matrix + type data = lfun let compile (te,ds) = - let lfun = Lang.generated_f ~sort:Logic.Sprop "EqArray%s_%s" - (Matrix.id ds) (Matrix.natural_id te) - in - let cluster = Definitions.matrix te in + (* Contextual Symbol *) + let lfun = Lang.generated_f + ~context:true + ~sort:Logic.Sprop + "EqArray%s_%s" (Matrix.id ds) (Matrix.natural_id te) in + (* Simplification of the symbol *) + Lang.F.set_builtin lfun reduce_eqcomp ; + (* Definition of the symbol *) let denv = Matrix.denv ds in let tau = Matrix.tau te ds in let xa = Lang.freshvar ~basename:"T" tau in @@ -257,60 +265,69 @@ module EQARRAY = Model.Generator(Matrix.NATURAL) let tb = e_var xb in let ta_xs = List.fold_left e_get ta denv.index_val in let tb_xs = List.fold_left e_get tb denv.index_val in - let property = p_hyps (denv.index_range) (!s_eq te ta_xs tb_xs) in + let property = p_hyps (denv.index_range) (!equal_rec te ta_xs tb_xs) in let definition = p_forall denv.index_var property in - (* Definition of the symbol *) + (* Registration *) Definitions.define_symbol { + d_cluster = Definitions.matrix te ; d_lfun = lfun ; d_types = 0 ; d_params = denv.size_var @ [xa ; xb ] ; d_definition = Predicate(Def,definition) ; - d_cluster = cluster ; - } ; + } ; lfun + end) + +(* -------------------------------------------------------------------------- *) +(* --- ACSL Compound Equality --- *) +(* -------------------------------------------------------------------------- *) + +module EQCOMP = WpContext.Generator(Cil_datatype.Compinfo) + (struct + let name = "Cvalues.EqComp" + type key = compinfo + type data = lfun + let compile c = + (* Contextual Symbol *) + let lfun = Lang.generated_p ~context:true ("Eq" ^ Lang.comp_id c) in + (* Simplification of the symbol *) Lang.F.set_builtin lfun reduce_eqcomp ; - (* Finally return symbol *) - lfun + (* Definition of the symbol *) + let basename = if c.cstruct then "S" else "U" in + let xa = Lang.freshvar ~basename (Lang.tau_of_comp c) in + let xb = Lang.freshvar ~basename (Lang.tau_of_comp c) in + let ra = e_var xa in + let rb = e_var xb in + let def = p_all + (fun f -> + let fd = Cfield f in + !equal_rec (Ctypes.object_of f.ftype) + (e_getfield ra fd) (e_getfield rb fd)) + c.cfields + in + (* Registration *) + Definitions.define_symbol { + d_cluster = Definitions.compinfo c ; + d_lfun = lfun ; d_types = 0 ; d_params = [xa;xb] ; + d_definition = Predicate(Def,def) ; + } ; lfun end) -let rec equal_object obj a b = - match obj with - | C_int _ | C_float _ | C_pointer _ -> p_equal a b - | C_array t -> - equal_array (Matrix.of_array t) a b - | C_comp c -> - equal_comp c a b - -and equal_typ typ a b = equal_object (Ctypes.object_of typ) a b - -and equal_comp c a b = - Definitions.call_pred - (Lang.generated_p ("Eq" ^ Lang.comp_id c)) - (fun lfun -> - let basename = if c.cstruct then "S" else "U" in - let xa = Lang.freshvar ~basename (Lang.tau_of_comp c) in - let xb = Lang.freshvar ~basename (Lang.tau_of_comp c) in - let ra = e_var xa in - let rb = e_var xb in - let def = p_all - (fun f -> - let fd = Cfield f in - equal_typ f.ftype - (e_getfield ra fd) (e_getfield rb fd)) - c.cfields - in - Lang.F.set_builtin lfun reduce_eqcomp ; - { - d_lfun = lfun ; d_types = 0 ; d_params = [xa;xb] ; - d_cluster = Definitions.compinfo c ; - d_definition = Predicate(Def,def) ; - } - ) [a;b] - -and equal_array m a b = +(* -------------------------------------------------------------------------- *) +(* --- ACSL Equality --- *) +(* -------------------------------------------------------------------------- *) + +let equal_comp c a b = p_call (EQCOMP.get c) [a;b] +let equal_array m a b = match m with | _obj , [None] -> p_equal a b - | _ -> p_call (EQARRAY.get m) (Matrix.size m @ [a;b]) + | m -> p_call (EQARRAY.get m) (Matrix.size m @ [a;b]) + +let equal_object obj a b = + match obj with + | C_int _ | C_float _ | C_pointer _ -> p_equal a b + | C_comp c -> equal_comp c a b + | C_array t -> equal_array (Matrix.of_array t) a b -let () = s_eq := equal_object +let () = equal_rec := equal_object (* -------------------------------------------------------------------------- *) (* --- Lifting Values --- *) diff --git a/src/plugins/wp/Definitions.ml b/src/plugins/wp/Definitions.ml index bc8debdd6395abadca5a126ffca173f50a398abc..2a40a79b124bb21ed5bd06a79c017168a3adf4eb 100644 --- a/src/plugins/wp/Definitions.ml +++ b/src/plugins/wp/Definitions.ml @@ -121,7 +121,7 @@ end (* --- Registry --- *) (* -------------------------------------------------------------------------- *) -module Cluster = Model.Index +module Cluster = WpContext.Index (struct type key = string type data = cluster @@ -130,7 +130,7 @@ module Cluster = Model.Index let pretty = Format.pp_print_string end) -module Symbol = Model.Index +module Symbol = WpContext.Index (struct type key = lfun type data = dfun @@ -139,7 +139,7 @@ module Symbol = Model.Index let pretty = Lang.Fun.pretty end) -module Lemma = Model.Index +module Lemma = WpContext.Index (struct type key = string type data = dlemma @@ -178,7 +178,7 @@ let define_type c t = end let parameters f = - if Model.is_model_defined () then + if WpContext.is_defined () then try List.map Lang.F.QED.sort_of_var (Symbol.find f).d_params with Not_found -> [] else [] @@ -246,8 +246,7 @@ let matrix = function | C_array _ -> assert false | C_comp c -> compinfo c | C_int _ | C_float _ | C_pointer _ -> - Cluster.memoize - (fun id -> newcluster ~id ~title:"Basic Arrays" ()) "Matrix" + cluster ~id:"Matrix" ~title:"Basic Arrays" () let call_fun ~result lfun cc es = Symbol.compile (Lang.local cc) lfun ; diff --git a/src/plugins/wp/Factory.ml b/src/plugins/wp/Factory.ml index 8e381e64d53dab8f6b2fa093160ac6dabe2c9baa..23c889c0ac52eb3d4d44f9ce124d3663eaac4e5c 100644 --- a/src/plugins/wp/Factory.ml +++ b/src/plugins/wp/Factory.ml @@ -129,15 +129,13 @@ struct if S.mem x.vname (get_vars ()) then ByValue else V.param x - (** A memory model context has to be set. *) let hypotheses () = - let kf = Model.get_scope () in - let init = match kf with - | None -> false - | Some f -> WpStrategy.is_main_init f in - let p = ref MemoryContext.empty in - V.iter ?kf ~init (fun vi -> p := MemoryContext.set vi (param vi) !p) ; - MemoryContext.requires !p + let kf,init = match WpContext.get_scope () with + | WpContext.Global -> None,false + | WpContext.Kf f -> Some f, WpStrategy.is_main_init f in + let w = ref MemoryContext.empty in + V.iter ?kf ~init (fun vi -> w := MemoryContext.set vi (param vi) !w) ; + MemoryContext.requires !w end @@ -179,12 +177,12 @@ let is_formal_ptr x = x.vformal && Cil.isPointerType x.vtype let refusage_param ~byref ~context x = - let kf = Model.get_scope () in - let init = match kf with - | None -> false - | Some f -> + let kf,init = match WpContext.get_scope () with + | WpContext.Global -> None,false + | WpContext.Kf f -> + Some f , WpStrategy.is_main_init f || - Wp_parameters.InitAlias.get () || + Wp_parameters.AliasInit.get () || ( WpStrategy.isInitConst () && WpStrategy.isGlobalInitConst x ) in match RefUsage.get ?kf ~init x with @@ -292,7 +290,7 @@ module COMPILERS = FCMap.Make if cmp <> 0 then cmp else LogicBuiltins.compare d d' end) -let instances = ref (COMPILERS.empty : Model.t COMPILERS.t) +let instances = ref (COMPILERS.empty : WpContext.model COMPILERS.t) let instance (s:setup) (d:driver) = try COMPILERS.find (s,d) !instances @@ -300,14 +298,14 @@ let instance (s:setup) (d:driver) = let id,descr = describe s in let module CC = (val compiler s.mheap s.mvar) in let tuning = [configure s d] in - let hypotheses kf = Model.on_scope (Some kf) CC.M.hypotheses () in + let hypotheses = CC.M.hypotheses in let id,descr = if LogicBuiltins.is_default d then id,descr else ( id ^ "_" ^ LogicBuiltins.id d , descr ^ " (Driver " ^ LogicBuiltins.descr d ^ ")" ) in - let model = Model.register ~id ~descr ~tuning ~hypotheses () in + let model = WpContext.register ~id ~descr ~tuning ~hypotheses () in instances := COMPILERS.add (s,d) model !instances ; model let ident s = fst (describe s) diff --git a/src/plugins/wp/Factory.mli b/src/plugins/wp/Factory.mli index 9f47f56de21308d4a026bd6572314e25b7894b61..973daad343f83e449867c99592f1d3719573a678 100644 --- a/src/plugins/wp/Factory.mli +++ b/src/plugins/wp/Factory.mli @@ -39,8 +39,8 @@ type driver = LogicBuiltins.driver val ident : setup -> string val descr : setup -> string val compiler : mheap -> mvar -> (module Sigs.Compiler) -val configure : setup -> driver -> Model.tuning -val instance : setup -> driver -> Model.t +val configure : setup -> driver -> WpContext.tuning +val instance : setup -> driver -> WpContext.model val default : setup (** ["Var,Typed,Nat,Real"] memory model. *) val parse : ?default:setup -> diff --git a/src/plugins/wp/Generator.ml b/src/plugins/wp/Generator.ml index 8c03b90aea9597ef8f4f2132cdb1e9156e46a567..1423602f463b8a50526ed8032a5698846cb3a2da 100644 --- a/src/plugins/wp/Generator.ml +++ b/src/plugins/wp/Generator.ml @@ -26,8 +26,8 @@ class type computer = object - method model : Model.t method lemma : bool + method model : WpContext.model method add_strategy : WpStrategy.strategy -> unit method add_lemma : LogicUsage.logic_lemma -> unit method compute : Wpo.t Bag.t diff --git a/src/plugins/wp/Generator.mli b/src/plugins/wp/Generator.mli index 81efd751ac0982288ef979e8ef31ec65c3b30080..72e40d4b919d7178a905b829292b572bdc4e42e1 100644 --- a/src/plugins/wp/Generator.mli +++ b/src/plugins/wp/Generator.mli @@ -26,8 +26,8 @@ class type computer = object - method model : Model.t method lemma : bool + method model : WpContext.model method add_strategy : WpStrategy.strategy -> unit method add_lemma : LogicUsage.logic_lemma -> unit method compute : Wpo.t Bag.t diff --git a/src/plugins/wp/GuiConfig.ml b/src/plugins/wp/GuiConfig.ml index 349477b535176e375105087936f23b1e3a5e1aa0..7974c19d95c5687637e2efec6d721f0dde723458 100644 --- a/src/plugins/wp/GuiConfig.ml +++ b/src/plugins/wp/GuiConfig.ml @@ -62,7 +62,7 @@ class enabled key = let cmdline = Wp_parameters.Provers.get () in let selection = List.fold_left (fun acc e -> - match VCS.Why3_prover.find_opt e with + match Why3Provers.find_opt e with | None-> acc | Some p -> Why3.Whyconf.Sprover.add p acc) settings cmdline @@ -97,7 +97,7 @@ class dp_chooser Why3.Whyconf.Mprover.find dp selected method private entry dp = - let text = VCS.Why3_prover.title dp in + let text = Why3Provers.title dp in let sw = new Widget.switch () in let lb = new Widget.label ~align:`Left ~text () in sw#set (self#lookup dp) ; @@ -119,7 +119,7 @@ class dp_chooser method private detect () = begin - self#configure (VCS.Why3_prover.provers_set ()); + self#configure (Why3Provers.provers_set ()); end method private apply () = @@ -131,7 +131,7 @@ class dp_chooser selected) method run () = - let dps = VCS.Why3_prover.provers_set () in + let dps = Why3Provers.provers_set () in let sel = enabled#get in selected <- Why3.Whyconf.Mprover.merge (fun _ avail enab -> @@ -163,16 +163,16 @@ type mprover = | NONE | ERGO | COQ - | WHY of VCS.Why3_prover.t + | WHY of Why3Provers.t class dp_button () = let render = function | NONE -> "(none)" | ERGO -> "Alt-Ergo (native)" | COQ -> "Coq (native)" - | WHY p when VCS.Why3_prover.has_shortcut p "alt-ergo" -> + | WHY p when Why3Provers.has_shortcut p "alt-ergo" -> "Alt-Ergo (why3)" - | WHY dp -> VCS.Why3_prover.title dp in + | WHY dp -> Why3Provers.title dp in let select = function | ERGO -> VCS.NativeAltErgo | COQ -> VCS.NativeCoq @@ -186,7 +186,7 @@ class dp_button () = | Some (VCS.NativeAltErgo|VCS.Tactical) -> ERGO | Some VCS.NativeCoq -> COQ | Some (VCS.Why3 p) -> - if Why3.Whyconf.Sprover.mem p (VCS.Why3_prover.provers_set ()) + if Why3.Whyconf.Sprover.mem p (Why3Provers.provers_set ()) then WHY p else import others in @@ -202,7 +202,7 @@ class dp_button () = method update () = (* called in polling mode *) begin - let avl = VCS.Why3_prover.provers_set () in + let avl = Why3Provers.provers_set () in if Why3.Whyconf.Sprover.equal avl dps then begin dps <- avl ; diff --git a/src/plugins/wp/GuiGoal.ml b/src/plugins/wp/GuiGoal.ml index 557669df88753e0e9f0478fd18170d403506c7fa..860208d9390f9524248ce07439bc3ae93338dcbb 100644 --- a/src/plugins/wp/GuiGoal.ml +++ b/src/plugins/wp/GuiGoal.ml @@ -358,7 +358,7 @@ class pane (enabled : GuiConfig.enabled) = printer#set_target Tactical.Empty ; strategies#connect None ; List.iter (fun tactic -> tactic#clear) tactics - | Some(model,tree,sequent,sel) -> + | Some(tree,sequent,sel) -> strategies#connect (Some (self#strategies sequent)) ; let select (tactic : GuiTactic.tactic) = let process = self#apply in @@ -366,7 +366,8 @@ class pane (enabled : GuiConfig.enabled) = let browser = self#browse in tactic#select ~process ~composer ~browser ~tree sel in - Model.with_model model (List.iter select) tactics ; + let ctxt = ProofEngine.tree_context tree in + WpContext.on_context ctxt (List.iter select) tactics ; let tgt = if List.exists (fun tactics -> tactics#targeted) tactics then sel else Tactical.Empty in @@ -470,8 +471,7 @@ class pane (enabled : GuiConfig.enabled) = self#update_provers (Some wpo) ; let sequent = printer#sequent in let select = printer#selection in - let model = wpo.Wpo.po_model in - self#update_tactics (Some(model,proof,sequent,select)) ; + self#update_tactics (Some(proof,sequent,select)) ; end | Composer _ | Browser _ -> () @@ -510,9 +510,9 @@ class pane (enabled : GuiConfig.enabled) = state <- Proof proof ; printer#restore tgt ; self#update in - let model = ProofEngine.tree_model proof in + let ctxt = ProofEngine.tree_context proof in let print = composer#print cc ~quit in - text#printf "%t@." (Model.with_model model print) ; + text#printf "%t@." (WpContext.on_context ctxt print) ; text#hrule ; text#printf "%t@." (printer#goal (ProofEngine.head proof)) ; @@ -524,9 +524,9 @@ class pane (enabled : GuiConfig.enabled) = state <- Proof proof ; printer#restore tgt ; self#update in - let model = ProofEngine.tree_model proof in + let ctxt = ProofEngine.tree_context proof in let print = browser#print cc ~quit in - text#printf "%t@." (Model.with_model model print) ; + text#printf "%t@." (WpContext.on_context ctxt print) ; text#hrule ; text#printf "%t@." (printer#goal (ProofEngine.head proof)) ; diff --git a/src/plugins/wp/GuiList.ml b/src/plugins/wp/GuiList.ml index 61608d5e914ae992dc9b5eade7c516b91e6e7d56..5148d14d0ef7c4dbf97bceb1deed67cee863d22b 100644 --- a/src/plugins/wp/GuiList.ml +++ b/src/plugins/wp/GuiList.ml @@ -143,7 +143,7 @@ class pane (enabled:GuiConfig.enabled) = let render w = [`TEXT (Pretty_utils.to_string Wpo.pp_title w)] in ignore (list#add_column_text ~title:"Goal" [] render) ; - let render w = [`TEXT (Wpo.get_model_name w)] in + let render w = [`TEXT (Wpo.get_model w |> WpContext.MODEL.descr)] in ignore (list#add_column_text ~title:"Model" [] render) ; List.iter self#create_prover diff --git a/src/plugins/wp/GuiNavigator.ml b/src/plugins/wp/GuiNavigator.ml index 4786a43ee71db5e57fa73753b172fc97a7e9719c..57257f3a473f37f47275477c31d6aff6a4437b8a 100644 --- a/src/plugins/wp/GuiNavigator.ml +++ b/src/plugins/wp/GuiNavigator.ml @@ -239,11 +239,6 @@ class behavior Task.spawn server thread ; Task.launch server in match prover with - (* - | VCS.Why3ide -> - let iter f = Wpo.iter ~on_goal:f () in - schedule (ProverWhy3ide.prove ~callback:result ~iter) - *) | VCS.Tactical -> begin match mode , ProverScript.get w with @@ -303,12 +298,7 @@ class behavior match popup_target with | Some(w,Some p) -> (popup_target <- None ; self#prove ~mode w p) | _ -> popup_target <- None -(* - method private popup_why3ide () = - match popup_target with - | Some(w,_) -> (popup_target <- None ; self#prove w VCS.Why3ide) - | _ -> popup_target <- None -*) + method private add_popup_delete popup = begin popup#add_separator ; @@ -333,13 +323,6 @@ class behavior [ "Run",BatchMode ; "Open Altgr-Ergo on Fail",EditMode ; "Open Altgr-Ergo",EditMode ] ; self#add_popup_proofmodes popup_coq [ "Check Proof",BatchMode ; "Edit on Fail",EditMode ; "Edit Proof",EditMode ] ; - (* - List.iter - (fun menu -> - menu#add_item ~label:"Open Why3ide" ~callback:self#popup_why3ide ; - self#add_popup_delete menu ; - ) [ popup_qed ; popup_why3 ; popup_ergo ; popup_coq ] ; - *) end method private popup w p = diff --git a/src/plugins/wp/GuiPanel.ml b/src/plugins/wp/GuiPanel.ml index 1c50788028d8c76acac80619e07b33f37524cc7b..253b9ef08efdbfa0fd33dfee36d2b4f4d1268ee6 100644 --- a/src/plugins/wp/GuiPanel.ml +++ b/src/plugins/wp/GuiPanel.ml @@ -254,12 +254,6 @@ let wp_panel ~packing:(addcontrol 1 2) Wp_parameters.Steps.get Wp_parameters.Steps.set demon ; - Gtk_form.label ~text:"Depth" ~packing:(addcontrol 2 1) () ; - Gtk_form.spinner ~lower:0 ~upper:100000 - ~tooltip:"Search space bound for alt-ergo prover" - ~packing:(addcontrol 2 2) - Wp_parameters.Depth.get Wp_parameters.Depth.set demon ; - Gtk_form.label ~text:"Timeout" ~packing:(addcontrol 3 1) () ; Gtk_form.spinner ~lower:0 ~upper:100000 ~tooltip:"Timeout for proving one proof obligation" diff --git a/src/plugins/wp/GuiProof.ml b/src/plugins/wp/GuiProof.ml index 58acb6cefb502103b10fc79c45905b722d9e932e..d352290613b8d9a8e3a4553afd3d71f27b34aae3 100644 --- a/src/plugins/wp/GuiProof.ml +++ b/src/plugins/wp/GuiProof.ml @@ -194,10 +194,10 @@ class printer (text : Wtext.text) = | `Proof -> text#printf "@{<it>Existing Script (navigate to explore)@}@." | `Script -> - text#printf "[File '%s']@." (ProofSession.filename wpo) ; + text#printf "[%a]@." ProofSession.pp_goal wpo ; text#printf "@{<it>Existing Script (replay to explore)@}@." | `Saved -> - text#printf "[File '%s']@." (ProofSession.filename wpo) ; + text#printf "[%a]@." ProofSession.pp_goal wpo ; text#printf "@{<it>Saved Script (replay to load)@}@." | `None -> text#printf "@{<it>No Script@}@." diff --git a/src/plugins/wp/GuiProver.ml b/src/plugins/wp/GuiProver.ml index 36edf5745028932f70ab1c221f5bab26a0ba30bf..e195b340f27b94255147f418ceb411639437cc2c 100644 --- a/src/plugins/wp/GuiProver.ml +++ b/src/plugins/wp/GuiProver.ml @@ -51,22 +51,12 @@ let stepout_for = function Some spin | _ -> None -let depth_for = function - | VCS.NativeAltErgo -> - let value = Wp_parameters.Depth.get () in - let spin = new Widget.spinner - ~tooltip:"Search Depth (-age-bound, 0 for prover default)" - ~min:0 ~step:100 ~value () in - Some spin - | _ -> None - class prover ~(console:Wtext.text) ~prover = let tooltip = "Configure Prover" in let content = new Wpane.form () in let result = new Widget.label ~style:`Code ~align:`Center ~text:"No Result" () in let timeout = timeout_for prover in let stepout = stepout_for prover in - let depth = depth_for prover in object(self) inherit Wpalette.tool ~tooltip ~content:content#widget () initializer @@ -75,7 +65,6 @@ class prover ~(console:Wtext.text) ~prover = content#add_row ~xpadding:6 ~ypadding:4 result#coerce ; Wutil.on timeout (fun spin -> content#add_field ~label:"Timeout" spin#coerce) ; Wutil.on stepout (fun spin -> content#add_field ~label:"Steps" spin#coerce) ; - Wutil.on depth (fun spin -> content#add_field ~label:"Depth" spin#coerce) ; end method prover = prover @@ -101,7 +90,6 @@ class prover ~(console:Wtext.text) ~prover = VCS.valid = false ; VCS.timeout = spinner timeout ; VCS.stepout = spinner stepout ; - VCS.depth = spinner depth ; } in let result wpo _prv _res = self#update wpo in let task = Prover.prove ~config ~result wpo prover in diff --git a/src/plugins/wp/GuiSequent.ml b/src/plugins/wp/GuiSequent.ml index 9caaecce6659ed64c2dac555ff2f1c4a7aa17375..a84217082a5b073db44c8bf11a3e38ec0950d3be 100644 --- a/src/plugins/wp/GuiSequent.ml +++ b/src/plugins/wp/GuiSequent.ml @@ -714,7 +714,6 @@ class focused (wtext : Wtext.text) = method goal w fmt = let open Wpo in match w.po_formula with - | GoalCheck _ -> Wpo.pp_goal fmt w | GoalLemma _ -> Format.fprintf fmt "@\n@{<wp:clause>Lemma@} %a:@\n" Wpo.pp_title w ; let _,sequent = Wpo.compute w in diff --git a/src/plugins/wp/GuiSource.ml b/src/plugins/wp/GuiSource.ml index 66a2c8abcf00bd2f5a755b87814bc08bde0674fb..c4b367f3507ada492ec213e633be8bef55a3e2d7 100644 --- a/src/plugins/wp/GuiSource.ml +++ b/src/plugins/wp/GuiSource.ml @@ -97,7 +97,7 @@ class popup () = let setup = Factory.parse (Wp_parameters.Model.get ()) in let driver = Driver.load_driver () in let model = Factory.instance setup driver in - WpRTE.generate kf model + WpRTE.generate model kf method private rte_option (menu : GMenu.menu GMenu.factory) @@ -209,7 +209,6 @@ class highlighter (main:Design.main_window_extension_points) = | Some { Wpo.po_pid = pid ; Wpo.po_formula = f } -> begin match f with - | GoalCheck _ -> () | GoalLemma l -> deps <- lemmas l.VC_Lemma.depends | GoalAnnot a -> @@ -232,7 +231,7 @@ class highlighter (main:Design.main_window_extension_points) = ~(start:int) ~(stop:int) = let buffer = buffer#buffer in begin match loc with - | PStmt( _ , stmt ) -> + | PStmt( _ , stmt ) | PStmtStart( _ , stmt ) -> begin match effect with | Some(s,_) when Stmt.equal stmt s -> @@ -250,7 +249,7 @@ class highlighter (main:Design.main_window_extension_points) = if DEPS.mem ip deps then apply_depend buffer start stop end - | PStmtStart _ | PGlobal _ + | PGlobal _ | PVDecl _ | PTermLval _ | PLval _ | PExp _ -> () end diff --git a/src/plugins/wp/Lang.ml b/src/plugins/wp/Lang.ml index 97ab4e5e7ccc7b273ca0deb225bb116d48873d88..a1cd8c082965e828251e992e1f7d4ec8990ea82c 100644 --- a/src/plugins/wp/Lang.ml +++ b/src/plugins/wp/Lang.ml @@ -390,7 +390,7 @@ and model = { } and source = - | Generated of string + | Generated of WpContext.context option * string | Extern of Engine.link extern let tau_of_lfun phi ts = @@ -409,8 +409,15 @@ type balance = Nary | Left | Right let not_found _ = raise Not_found +let generated ?(context=false) name = + let ctxt = if context + then Some (WpContext.get_context ()) + else None in + Generated(ctxt,name) + let symbolf ?library + ?context ?link ?(balance=Nary) (** specify a default for link *) ?(category=Logic.Function) @@ -425,7 +432,9 @@ let symbolf Format.pp_print_flush fmt () ; let name = Buffer.contents buffer in let source = match library with - | None -> assert (link = None); Generated name + | None -> + assert (link = None); + generated ?context name | Some th -> let conv n = function | Nary -> Engine.F_call n @@ -492,16 +501,16 @@ let extern_fp ~library ?(params=[]) ?link phi = ~debug:phi) } -let generated_f ?category ?params ?sort ?result name = - symbolf ?category ?params ?sort ?result name +let generated_f ?context ?category ?params ?sort ?result name = + symbolf ?context ?category ?params ?sort ?result name -let generated_p name = +let generated_p ?context name = Model { m_category = Logic.Function ; m_params = [] ; m_result = Logic.Sprop; m_typeof = not_found; - m_source = Generated name + m_source = generated ?context name } module Fun = @@ -512,26 +521,38 @@ struct let debug = function | ACSL f -> logic_id f | CTOR c -> ctor_id c - | Model({m_source=Generated n}) -> n + | Model({m_source=Generated(_,n)}) -> n | Model({m_source=Extern e}) -> e.ext_debug let hash = function | ACSL f -> Logic_info.hash f | CTOR c -> Logic_ctor_info.hash c - | Model({m_source=Generated n}) -> Datatype.String.hash n + | Model({m_source=Generated(_,n)}) -> Datatype.String.hash n | Model({m_source=Extern e}) -> e.ext_id + let compare_context c1 c2 = + match c1 , c2 with + | None , None -> 0 + | None , _ -> (-1) + | _ , None -> 1 + | Some c1 , Some c2 -> WpContext.S.compare c1 c2 + + let compare_source s1 s2 = + match s1 , s2 with + | Generated(m1,f1), Generated(m2,f2) -> + let cmp = String.compare f1 f2 in + if cmp<>0 then cmp else compare_context m1 m2 + | Extern f , Extern g -> + ext_compare f g + | Generated _ , Extern _ -> (-1) + | Extern _ , Generated _ -> 1 + let compare f g = if f==g then 0 else match f , g with - | Model({m_source=Generated f}), Model({m_source=Generated g}) - -> String.compare f g - | Model({m_source=Generated _}), _ -> (-1) - | _, Model({m_source=Generated _}) -> 1 - | Model({m_source=Extern f}), Model({m_source=Extern g}) - -> ext_compare f g - | Model({m_source=Extern _}), _ -> (-1) - | _, Model({m_source=Extern _}) -> 1 + | Model {m_source=mf} , Model {m_source=mg} -> compare_source mf mg + | Model _ , _ -> (-1) + | _ , Model _ -> 1 | ACSL f , ACSL g -> Logic_info.compare f g | ACSL _ , _ -> (-1) | _ , ACSL _ -> 1 @@ -583,14 +604,14 @@ class virtual idprinting = method link = function | ACSL f -> Engine.F_call (self#sanitize_fun (logic_id f)) | CTOR c -> Engine.F_call (self#sanitize_fun (ctor_id c)) - | Model({m_source=Generated n}) -> Engine.F_call (self#sanitize_fun n) - | Model({m_source=Extern e}) -> self#infoprover e.ext_link + | Model({m_source=Generated(_,n)}) -> Engine.F_call (self#sanitize_fun n) + | Model({m_source=Extern e}) -> self#infoprover e.ext_link end let name_of_lfun = function | ACSL f -> logic_id f | CTOR c -> ctor_id c - | Model({m_source=Generated f}) -> f + | Model({m_source=Generated(_,f)}) -> f | Model({m_source=Extern e}) -> e.ext_debug let name_of_field = function @@ -657,39 +678,6 @@ struct end include QED - (* -------------------------------------------------------------------------- *) - (* --- Term Checking --- *) - (* -------------------------------------------------------------------------- *) - - module Check = - struct - let refs = Hashtbl.create 8 - let empty = ref true - let register c = - let r = ref false in - Hashtbl.add refs c r ; r - - let reset () = - Hashtbl.iter (fun _ r -> r := false) refs ; empty := true - - let set c = - try (Hashtbl.find refs c) := true ; empty := false - with Not_found -> - Wp_parameters.warning "[Lang] unknown check '%s'" c - - let iter f = - QED.iter_checks - (fun ~qed ~raw -> f ~qed ~raw ~goal:(QED.check_unit ~qed ~raw)) - - let is_set () = !empty - end - - let e_imply = - let c = Check.register "e_imply" in - fun a b -> - let r = QED.e_imply a b in - if !c then QED.check (Imply(a,b)) r else r - (* -------------------------------------------------------------------------- *) (* --- Term Extensions --- *) (* -------------------------------------------------------------------------- *) @@ -999,8 +987,13 @@ module For_export = struct let set_builtin f c = add_init (fun () -> QZERO.set_builtin f c) + let set_builtin' f c = add_init (fun () -> QZERO.set_builtin' f c) + let set_builtin_eq f c = + add_init (fun () -> QZERO.set_builtin_eq f c) + let set_builtin_leq f c = + add_init (fun () -> QZERO.set_builtin_leq f c) let in_state f v = QZERO.in_state (get_state ()) f v diff --git a/src/plugins/wp/Lang.mli b/src/plugins/wp/Lang.mli index 1dd7541f7db643b1104a46dd3380fccd62eb1280..7f1f0f1a35815877a55c4a4cbc9d9f9a4effebeb 100644 --- a/src/plugins/wp/Lang.mli +++ b/src/plugins/wp/Lang.mli @@ -90,7 +90,7 @@ and model = { } and source = - | Generated of string + | Generated of WpContext.context option * string | Extern of Engine.link extern val mem_builtin_type : name:string -> bool @@ -143,12 +143,11 @@ val extern_p : val extern_fp : library:library -> ?params:sort list -> ?link:string infoprover -> string -> lfun -val generated_f : ?category:lfun category -> +val generated_f : ?context:bool -> ?category:lfun category -> ?params:sort list -> ?sort:sort -> ?result:tau -> ('a,Format.formatter,unit,lfun) format4 -> 'a -val generated_p : string -> lfun - +val generated_p : ?context:bool -> string -> lfun (** {2 Sorting and Typing} *) @@ -484,16 +483,6 @@ sig val release : unit -> unit (** Empty local caches *) - (** {3 Internal Checks} *) - - module Check : - sig - val reset : unit -> unit - val set : string -> unit (* check constructor *) - val is_set : unit -> bool - val iter : (qed:term -> raw:term -> goal:pred -> unit) -> unit - end - end @@ -607,6 +596,9 @@ module For_export : sig val set_builtin : Fun.t -> (term list -> term) -> unit val set_builtin' : Fun.t -> (term list -> tau option -> term) -> unit + val set_builtin_eq : Fun.t -> (term -> term -> term) -> unit + val set_builtin_leq : Fun.t -> (term -> term -> term) -> unit + val in_state: ('a -> 'b) -> 'a -> 'b end diff --git a/src/plugins/wp/LogicCompiler.ml b/src/plugins/wp/LogicCompiler.ml index affe8a0be154e154bf2d499f03879ba27a6cf2ee..516a6b801459774ca3bb8a74661a75deefa645a3 100644 --- a/src/plugins/wp/LogicCompiler.ml +++ b/src/plugins/wp/LogicCompiler.ml @@ -452,7 +452,7 @@ struct (* --- Registering User-Defined Signatures --- *) (* -------------------------------------------------------------------------- *) - module Typedefs = Model.Index + module Typedefs = WpContext.Index (struct type key = logic_type_info type data = unit @@ -461,7 +461,7 @@ struct let pretty = Logic_type_info.pretty end) - module Signature = Model.Index + module Signature = WpContext.Index (struct type key = logic_info type data = signature diff --git a/src/plugins/wp/Makefile.in b/src/plugins/wp/Makefile.in index 8883f90dc2377a4c9fe7f31062dce2a3291b17f6..c4d82ec1ddebe78e7601bcfaebcb2a6a3d6487a3 100644 --- a/src/plugins/wp/Makefile.in +++ b/src/plugins/wp/Makefile.in @@ -34,9 +34,6 @@ ifneq ("$(FRAMAC_INTERNAL)","yes") include $(FRAMAC_SHARE)/Makefile.config endif -# Why3 API Available -WHY3API=@WHY3API@ - # Coq Resources Installation include $(PLUGIN_DIR)/share/Makefile.resources @@ -65,12 +62,13 @@ PLUGIN_CMO:= \ rformat wprop \ wp_parameters wp_error \ dyncall ctypes clabels \ - MemoryContext \ + Why3Provers \ + Context Warning MemoryContext wpContext \ LogicUsage RefUsage \ Layout Region \ RegionAnnot RegionAccess RegionDump RegionAnalysis \ cil2cfg normAtLabels wpPropId mcfg \ - Context Warning Model Lang Repr Matrix Passive Splitter \ + Lang Repr Matrix Passive Splitter \ LogicBuiltins Definitions \ Cmath Cint Cfloat Vset Vlist Cstring Cvalues \ Letify Cleaning \ @@ -94,9 +92,8 @@ PLUGIN_CMO:= \ TacRewrite TacBitwised TacBitrange TacShift \ TacCongruence TacOverflow Auto \ ProofSession ProofScript ProofEngine \ - why3_xml \ ProverTask ProverErgo ProverCoq \ - filter_axioms why3_api \ + filter_axioms ProverWhy3 \ driver prover ProverSearch ProverScript \ Generator Factory \ calculus cfgDump cfgWP \ @@ -108,8 +105,8 @@ PLUGIN_GENERATED:= \ $(PLUGIN_DIR)/script.ml \ $(PLUGIN_DIR)/rformat.ml \ $(PLUGIN_DIR)/driver.ml \ - $(PLUGIN_DIR)/why3_xml.ml \ $(PLUGIN_DIR)/Wp.mli + PLUGIN_DEPENDENCIES:= rtegen qed PLUGIN_UNDOC+= PLUGIN_INTRO:=$(PLUGIN_DIR)/intro_wp.txt @@ -124,8 +121,7 @@ PLUGIN_DISTRIB_EXTERNAL:= \ $(ALL_UNMODIFIED_WHY3_RESOURCES) \ $(ALL_MODIFIED_WHY3_RESOURCES)) -CEA_WP_GENEREATED=why3_xml.ml script.ml rformat.ml driver.ml - +CEA_WP_GENEREATED= script.ml rformat.ml driver.ml # -------------------------------------------------------------------------- # --- Tests --- @@ -155,7 +151,13 @@ else CONFIG_STATUS_DIR=. endif -$(Wp_DIR)/Makefile: $(Wp_DIR)/Makefile.in $(Wp_DIR)/share/Makefile.resources $(CONFIG_STATUS_DIR)/config.status +WP_CONFIGURE_MAKEFILE= \ + $(Wp_DIR)/Makefile.in \ + $(Wp_DIR)/share/Makefile.coqwp \ + $(Wp_DIR)/share/Makefile.resources \ + $(CONFIG_STATUS_DIR)/config.status + +$(Wp_DIR)/Makefile: $(WP_CONFIGURE_MAKEFILE) @cd $(CONFIG_STATUS_DIR) && ./config.status --file $@ # -------------------------------------------------------------------------- @@ -169,7 +171,7 @@ WP_API_BASE= \ LogicUsage.mli RefUsage.mli \ normAtLabels.mli \ wpPropId.mli mcfg.ml \ - Context.mli Warning.mli Model.mli \ + Context.mli Warning.mli wpContext.mli \ Lang.mli Repr.mli Passive.mli Splitter.mli \ LogicBuiltins.mli Definitions.mli \ Cint.mli Cfloat.mli Vset.mli Cstring.mli \ @@ -232,23 +234,16 @@ clean:: ## All relative to share/ -WP_COQ_SOURCES= $(addprefix coqwp/, $(COQ_LIBS_CEA) $(COQ_LIBS_INRIA)) -WHY3_COQ_SOURCES= $(addprefix why3/, $(COQ_LIBS_CEA)) - -ALL_COQ_SOURCES= $(WP_COQ_SOURCES) $(WHY3_COQ_SOURCES) +ALL_COQ_SOURCES= $(addprefix coqwp/, $(COQ_LIBS_CEA) $(COQ_LIBS_INRIA)) ALL_COQ_BINARIES= $(addsuffix o, $(ALL_COQ_SOURCES)) ALL_ERGO_SOURCES= $(addprefix ergo/, $(ERGO_LIBS_CEA) $(ERGO_LIBS_INRIA)) ALL_WHY3_SOURCES= $(addprefix why3/frama_c_wp/, $(WHY3_LIBS_CEA)) -ALL_WHY3_API_SOURCES= $(addprefix why3/frama_c_wp/, $(WHY3_LIBS_CEA)) ALL_RESOURCES= \ wp.driver \ - why3/coq.drv \ - why3/why3.conf \ $(ALL_COQ_SOURCES) \ $(ALL_ERGO_SOURCES) \ - $(ALL_WHY3_SOURCES) \ - $(ALL_WHY3_API_SOURCES) + $(ALL_WHY3_SOURCES) INSTALL_OPT?= INSTALL_SHARE=@$(Wp_DIR)/share/instwp $(INSTALL_OPT) @@ -266,55 +261,17 @@ $(Wp_DIR)/share/instwp: $(Wp_DIR)/share/install.ml # --- Pre-Compiled Coq Libraries --- # -------------------------------------------------------------------------- -.PHONY: wp-coq wp-why3 wp-coq-all wp-coq-clean wp-coq-install wp-coq-uninstall - -wp-coq-all: wp-coq wp-why3 - -wp-coq: coqwpcompile - @echo "Run 'make wp-coq-install' to install all precompiled libraries" - -wp-why3: why3compile - @echo "Run 'make wp-coq-install' to install all precompiled libraries" - WP_COQC_ENABLED=@COQC@ -WP_WHY3COQC_ENABLED=@WHY3COQC@ -include $(Wp_DIR)/share/Makefile +ifeq ($(WP_COQC_ENABLED),yes) -wp-coq-install: - $(PRINT_INSTALL) "Coq Libraries" - $(INSTALL_SHARE) -f -p -s \ - -i $(Wp_DIR)/share \ - -d $(FRAMAC_DATADIR)/wp \ - $(ALL_COQ_BINARIES) +include $(Wp_DIR)/share/Makefile.coqwp -wp-coq-uninstall: - $(PRINT_RM) "Coq Libraries" - @rm -f $(FRAMAC_DATADIR)/wp/why3/*.vo - @rm -f $(FRAMAC_DATADIR)/wp/coqwp/*.vo - @rm -f $(FRAMAC_DATADIR)/wp/coqwp/*/*.vo - -# -------------------------------------------------------------------------- -# --- Why3 configuration -# -------------------------------------------------------------------------- +byte:: coqwpcompile +opt:: coqwpcompile +clean:: wp-coq-clean -byte:: $(Wp_DIR)/share/why3/why3.conf -opt:: $(Wp_DIR)/share/why3/why3.conf - -$(Wp_DIR)/share/why3/why3.conf: config.status $(Wp_DIR)/Makefile.in - $(PRINT_MAKING) "extra-config for why3" - $(RM) $@ - @printf "[prover_modifiers]\n" >> $@ - @printf "name=\"Coq\"\n" >> $@ - @printf "option=\"-Q $(FRAMAC_DATADIR)/wp/why3 ''\"\n" >> $@ - @printf "driver=\"$(FRAMAC_DATADIR)/wp/why3/coq.drv\"\n" >> $@ - @printf "\n" >> $@ - @printf "[editor_modifiers coqide]\n" >> $@ - @printf "option=\"-I $(FRAMAC_DATADIR)/wp/why3\"\n" >> $@ - @printf "\n" >> $@ - @printf "[editor_modifiers proofgeneral-coq]\n" >> $@ - @printf "option=\"--eval \\\\\"(setq coq-load-path (cons '(\\\\\\\\\\\\\"$(FRAMAC_DATADIR)/wp/why3\\\\\\\\\\\\\" \\\\\\\\\\\\\"\\\\\\\\\\\\\") coq-load-path))\\\\\"\"\n" >> $@ - $(CHMOD_RO) $@ +endif #($(WP_COQC_ENABLED),yes) # -------------------------------------------------------------------------- # --- Installation --- diff --git a/src/plugins/wp/Matrix.mli b/src/plugins/wp/Matrix.mli index 10f6e6f9b573061d464e010c942b12a920203dca..067d3127d60d220358c99c3962a1b12ae1865b87 100644 --- a/src/plugins/wp/Matrix.mli +++ b/src/plugins/wp/Matrix.mli @@ -30,8 +30,8 @@ open Lang.F type dim = int option type matrix = c_object * dim list -module MACHINE : Model.Key with type t = matrix -module NATURAL : Model.Key with type t = matrix +module MACHINE : WpContext.Key with type t = matrix +module NATURAL : WpContext.Key with type t = matrix val of_array : arrayinfo -> matrix val id : dim list -> string (** unique w.r.t [equal] *) diff --git a/src/plugins/wp/MemLoader.ml b/src/plugins/wp/MemLoader.ml index 2fb65326e84fd03ef57d016384cad71606deccec..b9fb6bf805e2fe03b3a70e43473957ac2fc9fbb7 100644 --- a/src/plugins/wp/MemLoader.ml +++ b/src/plugins/wp/MemLoader.ml @@ -163,7 +163,7 @@ struct let pretty fmt (r,c) = Format.fprintf fmt "%d:%a" r Compinfo.pretty c end - module COMP = Model.Generator(COMP_KEY) + module COMP = WpContext.Generator(COMP_KEY) (struct let name = M.name ^ ".COMP" type key = int * compinfo @@ -209,7 +209,7 @@ struct if r1 = r2 then Matrix.NATURAL.compare m1 m2 else r1-r2 end - module ARRAY = Model.Generator(ARRAY_KEY) + module ARRAY = WpContext.Generator(ARRAY_KEY) (struct open Matrix let name = M.name ^ ".ARRAY" diff --git a/src/plugins/wp/MemMemory.ml b/src/plugins/wp/MemMemory.ml index 1ea1e47399735d9a066dca8954d791d7985f60e6..3297bfdd33e5d765bec98e4957292dc31982f31a 100644 --- a/src/plugins/wp/MemMemory.ml +++ b/src/plugins/wp/MemMemory.ml @@ -127,7 +127,7 @@ type addr_builtin = { offset: term list -> term ; } -module ADDR_BUILTIN = Model.Static +module ADDR_BUILTIN = WpContext.Static (struct type key = lfun type data = addr_builtin diff --git a/src/plugins/wp/MemRegion.ml b/src/plugins/wp/MemRegion.ml index 1817573535d3e2cec849355498ae7593911c46c6..be5c827b90ec3f24e3731f57629334ef66557946 100644 --- a/src/plugins/wp/MemRegion.ml +++ b/src/plugins/wp/MemRegion.ml @@ -103,7 +103,7 @@ type index_builtin = { consistent : (F.term list -> F.pred) ; } -module IndexBuiltin = Model.Static +module IndexBuiltin = WpContext.Static (struct type key = Lang.lfun type data = index_builtin @@ -263,7 +263,7 @@ struct end (* Model Independant Generators *) -module FIELD_GEN = Model.StaticGenerator(FIELD) +module FIELD_GEN = WpContext.StaticGenerator(FIELD) (struct type key = FIELD.t type data = cluster -> Lang.lfun @@ -280,7 +280,7 @@ module FIELD_GEN = Model.StaticGenerator(FIELD) end) (* Model Dependent Definitions *) -module FIELD_MODEL = Model.Generator(FIELD) +module FIELD_MODEL = WpContext.Generator(FIELD) (struct type key = FIELD.t type data = Lang.lfun @@ -392,7 +392,7 @@ struct end -module ARRAY_GEN = Model.StaticGenerator(ARRAY) +module ARRAY_GEN = WpContext.StaticGenerator(ARRAY) (struct type key = ARRAY.t type data = (cluster -> Lang.lfun) @@ -410,7 +410,7 @@ module ARRAY_GEN = Model.StaticGenerator(ARRAY) ~consistent:(ARRAY.builtin_consistent ns) end) -module ARRAY_MODEL = Model.Generator(ARRAY) +module ARRAY_MODEL = WpContext.Generator(ARRAY) (struct type key = ARRAY.t type data = Lang.lfun @@ -444,7 +444,12 @@ let error msg = Warning.error ~source:"Region Model" msg (* --- Region Maps --- *) (* -------------------------------------------------------------------------- *) -let map () = RegionAnalysis.get (Model.get_scope ()) +let map () = + RegionAnalysis.get + begin match WpContext.get_scope () with + | WpContext.Global -> None + | WpContext.Kf kf -> Some kf + end (* -------------------------------------------------------------------------- *) (* --- Locations --- *) diff --git a/src/plugins/wp/MemTyped.ml b/src/plugins/wp/MemTyped.ml index c93c76e5288f82cfe74223204e287b8284328cdf..23b1b0349468c9b6e0be9ee7ff3a3cdd3eedda35 100644 --- a/src/plugins/wp/MemTyped.ml +++ b/src/plugins/wp/MemTyped.ml @@ -247,7 +247,7 @@ let phi_index size = function | [p;k] -> e_add (a_offset p) (F.e_fact size k) | _ -> raise Not_found -module RegisterShift = Model.Static +module RegisterShift = WpContext.Static (struct type key = lfun type data = shift @@ -255,7 +255,7 @@ module RegisterShift = Model.Static include Lang.Fun end) -module ShiftFieldDef = Model.StaticGenerator(Cil_datatype.Fieldinfo) +module ShiftFieldDef = WpContext.StaticGenerator(Cil_datatype.Fieldinfo) (struct let name = "MemTyped.ShiftFieldDef" type key = fieldinfo @@ -282,7 +282,7 @@ module ShiftFieldDef = Model.StaticGenerator(Cil_datatype.Fieldinfo) let compile = Lang.local generate end) -module ShiftField = Model.Generator(Cil_datatype.Fieldinfo) +module ShiftField = WpContext.Generator(Cil_datatype.Fieldinfo) (struct let name = "MemTyped.ShiftField" type key = fieldinfo @@ -303,7 +303,7 @@ end (* This is a model-independent generator, which will be inherited from the model-dependent clusters *) -module ShiftGen = Model.StaticGenerator(Cobj) +module ShiftGen = WpContext.StaticGenerator(Cobj) (struct let name = "MemTyped.ShiftDef" type key = c_object @@ -347,7 +347,7 @@ module ShiftGen = Model.StaticGenerator(Cobj) end) (* The model-dependent derivation of model-independent ShiftDef *) -module Shift = Model.Generator(Cobj) +module Shift = WpContext.Generator(Cobj) (struct let name = "MemTyped.Shift" type key = c_object @@ -376,7 +376,7 @@ module EID = State_builder.Ref(Datatype.Int) let default () = 0 end) -module STRING = Model.Generator(LITERAL) +module STRING = WpContext.Generator(LITERAL) (struct let name = "MemTyped.STRING" type key = LITERAL.t @@ -458,7 +458,7 @@ module STRING = Model.Generator(LITERAL) (* --- Base Registration --- *) (* -------------------------------------------------------------------------- *) -module RegisterBASE = Model.Static +module RegisterBASE = WpContext.Index (struct type key = lfun type data = varinfo @@ -466,7 +466,7 @@ module RegisterBASE = Model.Static include Lang.Fun end) -module BASE = Model.Generator(Varinfo) +module BASE = WpContext.Generator(Varinfo) (struct let name = "MemTyped.BASE" type key = varinfo diff --git a/src/plugins/wp/ProofEngine.ml b/src/plugins/wp/ProofEngine.ml index ab649c7375c4b9b6c3beec1e5434a83743f1912e..f86ec63be01681a38f4718160c28dc394a20ee52 100644 --- a/src/plugins/wp/ProofEngine.ml +++ b/src/plugins/wp/ProofEngine.ml @@ -47,7 +47,7 @@ type tree = { mutable root : node option ; (* the root node *) } -module PROOFS = Model.StaticGenerator(Wpo.S) +module PROOFS = WpContext.StaticGenerator(Wpo.S) (struct type key = Wpo.S.t type data = tree @@ -185,8 +185,8 @@ let head t = match t.head with | None -> t.main | Some n -> n.goal let goal n = n.goal -let tree_model t = t.main.Wpo.po_model -let node_model n = n.goal.Wpo.po_model +let tree_context t = Wpo.get_context t.main +let node_context n = Wpo.get_context n.goal let parent n = n.parent let title n = n.goal.Wpo.po_name let tactical n = diff --git a/src/plugins/wp/ProofEngine.mli b/src/plugins/wp/ProofEngine.mli index 53299b7b63a39b8e710cc0ed309981adb6291dc0..b36f120911be60d77e3d0c21cd757aa0d5d138c1 100644 --- a/src/plugins/wp/ProofEngine.mli +++ b/src/plugins/wp/ProofEngine.mli @@ -51,8 +51,8 @@ val goto : tree -> position -> unit val main : tree -> Wpo.t val head : tree -> Wpo.t val goal : node -> Wpo.t -val tree_model : tree -> Model.t -val node_model : node -> Model.t +val tree_context : tree -> WpContext.t +val node_context : node -> WpContext.t val opened : node -> bool (** not proved *) val proved : node -> bool (** not opened *) diff --git a/src/plugins/wp/ProofScript.ml b/src/plugins/wp/ProofScript.ml index 9bc0cf1931a1ea4d1942d60313099e0e3b65e683..6649d349e675155a87176d1a248a5943af7414fe 100644 --- a/src/plugins/wp/ProofScript.ml +++ b/src/plugins/wp/ProofScript.ml @@ -339,8 +339,7 @@ let json_of_result (p : VCS.prover) (r : VCS.result) = let verdict = "verdict" , json_of_verdict r.verdict in let time = if r.prover_time > 0.0 then [ "time" , `Float r.prover_time ] else [] in let steps = if r.prover_steps > 0 then [ "steps" , `Int r.prover_steps ] else [] in - let depth = if r.prover_depth > 0 then [ "depth" , `Int r.prover_depth ] else [] in - `Assoc (name :: verdict :: (time @ steps @ depth)) + `Assoc (name :: verdict :: (time @ steps)) let prover_of_json js = try VCS.prover_of_name (js >? "prover" |> Json.string) @@ -350,8 +349,7 @@ let result_of_json js = let verdict = try js >? "verdict" |> verdict_of_json with _ -> VCS.NoResult in let time = try js >? "time" |> Json.float with _ -> 0.0 in let steps = try js >? "steps" |> Json.int with _ -> 0 in - let depth = try js >? "depth" |> Json.int with _ -> 0 in - VCS.result ~time ~steps ~depth verdict + VCS.result ~time ~steps verdict (* -------------------------------------------------------------------------- *) (* --- Script --- *) diff --git a/src/plugins/wp/ProofSession.ml b/src/plugins/wp/ProofSession.ml index e79a9491ca5cac9e75d54e7b49b80bfd8ec60e94..7c24fa9e7d9b2e6741d42ff775534390bc125ec5 100644 --- a/src/plugins/wp/ProofSession.ml +++ b/src/plugins/wp/ProofSession.ml @@ -29,12 +29,17 @@ type status = let files : (string,status) Hashtbl.t = Hashtbl.create 32 -let filename ?(legacy=false) wpo = - let m = Model.get_id wpo.po_model in - let d = Wp_parameters.get_session_dir m in - Printf.sprintf "%s/%s.json" d (if legacy then wpo.po_leg else wpo.po_gid) +let filename wpo = + let d = Wp_parameters.get_session_dir "script" in + Printf.sprintf "%s/%s.json" d wpo.po_gid -let pretty fmt wpo = Format.pp_print_string fmt (filename wpo) +let legacies wpo = + let m = WpContext.MODEL.id wpo.po_model in + let d = Wp_parameters.get_session_dir m in + List.map (Printf.sprintf "%s/%s.json" d) [ + wpo.po_gid ; + wpo.po_leg ; + ] let status wpo = let f = filename wpo in @@ -42,13 +47,22 @@ let status wpo = with Not_found -> let status = if Sys.file_exists f then Script f else - let f' = filename ~legacy:true wpo in - if Sys.file_exists f' then - ( Wp_parameters.warning ~current:false - "Deprecated script for '%s'" wpo.po_sid ; - Deprecated f' ) - else NoScript in - Hashtbl.add files f status ; status + try + let f' = List.find Sys.file_exists (legacies wpo) in + Wp_parameters.warning ~current:false + "Deprecated script for '%s' (use prover tip to upgrade)" wpo.po_sid ; + Deprecated f' + with Not_found -> NoScript + in Hashtbl.add files f status ; status + +let pp_file fmt s = Filepath.Normalized.(pretty fmt (of_string s)) + +let pp_status fmt = function + | NoScript -> Format.pp_print_string fmt "no script file" + | Script f -> Format.fprintf fmt "script '%a'" pp_file f + | Deprecated f -> Format.fprintf fmt "script '%a' (deprecated)" pp_file f + +let pp_goal fmt wpo = pp_status fmt (status wpo) let exists wpo = match status wpo with NoScript -> false | Script _ | Deprecated _ -> true diff --git a/src/plugins/wp/ProofSession.mli b/src/plugins/wp/ProofSession.mli index 1387357f27ae30e98cd0b8da4f52d81bf22f022d..c2648b07c3655f6016b9039edec4d7d43dfcef0c 100644 --- a/src/plugins/wp/ProofSession.mli +++ b/src/plugins/wp/ProofSession.mli @@ -20,8 +20,16 @@ (* *) (**************************************************************************) -val pretty : Format.formatter -> Wpo.t -> unit -val filename : ?legacy:bool -> Wpo.t -> string +type status = + | NoScript + | Script of string + | Deprecated of string + +val pp_status : Format.formatter -> status -> unit +val pp_goal : Format.formatter -> Wpo.t -> unit + +val status : Wpo.t -> status + val exists : Wpo.t -> bool val save : Wpo.t -> Json.t -> unit val load : Wpo.t -> Json.t diff --git a/src/plugins/wp/ProverCoq.ml b/src/plugins/wp/ProverCoq.ml index 9ad41b022be9291a141253e9c9c0188dbd64da25..e119809bcc5fd6232a909dfe6a5c42867c8a5110 100644 --- a/src/plugins/wp/ProverCoq.ml +++ b/src/plugins/wp/ProverCoq.ml @@ -32,7 +32,7 @@ open Definitions let dkey = Wp_parameters.register_category "prover" let cluster_file c = - let dir = Model.directory () in + let dir = WpContext.directory () in let base = cluster_id c in Printf.sprintf "%s/%s.v" dir base @@ -249,7 +249,7 @@ let need_recompile ~source ~target = (* Used to mark version of clusters already available *) -module CLUSTERS = Model.Index +module CLUSTERS = WpContext.Index (struct type key = cluster type data = int * depend list @@ -331,7 +331,7 @@ and assemble_coqlib coqcc c = let assemble_goal ~pid axioms prop = let title = Pretty_utils.to_string WpPropId.pretty pid in - let model = Model.directory () in + let model = WpContext.directory () in let id = WpPropId.get_propid pid in let file = Printf.sprintf "%s/%s.coq" model id in let goal = cluster ~id ~title () in @@ -655,9 +655,10 @@ let prove_prop wpo ~mode ~axioms ~prop = let gid = wpo.po_gid in let leg = wpo.po_leg in let model = wpo.po_model in + let context = Wpo.get_context wpo in let script = DISK.file_goal ~pid ~model ~prover:NativeCoq in let includes , headers , goal = - Model.with_model model (assemble_goal ~pid axioms) prop + WpContext.on_context context (assemble_goal ~pid axioms) prop in prove_session ~mode { cw_pid = pid ; @@ -673,7 +674,8 @@ let prove_annot wpo vcq ~mode = Task.todo begin fun () -> let prop = - Model.with_model wpo.po_model GOAL.compute_proof vcq.VC_Annot.goal in + WpContext.on_context (Wpo.get_context wpo) + GOAL.compute_proof vcq.VC_Annot.goal in prove_prop wpo ~mode ~axioms:None ~prop end @@ -687,16 +689,7 @@ let prove_lemma wpo vca ~mode = prove_prop wpo ~mode ~axioms ~prop end -let prove_check wpo vck ~mode = - Task.todo - begin fun () -> - let axioms = None in - let prop = vck.VC_Check.goal in - prove_prop wpo ~mode ~axioms ~prop - end - let prove mode wpo = match wpo.Wpo.po_formula with | GoalAnnot vcq -> prove_annot wpo vcq ~mode | GoalLemma vca -> prove_lemma wpo vca ~mode - | GoalCheck vck -> prove_check wpo vck ~mode diff --git a/src/plugins/wp/ProverErgo.ml b/src/plugins/wp/ProverErgo.ml index 30f3f72e7150eaa77faa8b763d5f73c2ad99a812..19b82a4ef4163d4d2ac13019ba5a144082d7d442 100644 --- a/src/plugins/wp/ProverErgo.ml +++ b/src/plugins/wp/ProverErgo.ml @@ -70,7 +70,7 @@ let rec locate_error files file line = else locate_error files file (line-n) let cluster_file c = - let dir = Model.directory () in + let dir = WpContext.directory () in let base = cluster_id c in Printf.sprintf "%s/%s.ergo" dir base @@ -89,7 +89,7 @@ let pp_depend fmt = function Definitions.pp_cluster cluster [@@@warning "+32"] -module TYPES = Model.Index +module TYPES = WpContext.Index (struct type key = adt type data = tau @@ -233,7 +233,7 @@ let write_cluster c job = begin fun fmt -> Format.fprintf fmt "---------------------------------------------@\n" ; Format.fprintf fmt "--- File '%s/%s.ergo' @\n" - (Model.get_id (Model.get_model ())) (cluster_id c) ; + (WpContext.get_context () |> WpContext.S.id) (cluster_id c) ; Format.fprintf fmt "---------------------------------------------@\n" ; Command.pp_from_file fmt f ; end ; @@ -243,7 +243,7 @@ let write_cluster c job = (* --- File Assembly --- *) (* -------------------------------------------------------------------------- *) -module CLUSTERS = Model.Index +module CLUSTERS = WpContext.Index (struct type key = cluster type data = int * depend list @@ -352,7 +352,6 @@ class altergo ~config ~pid ~gui ~file ~lines ~logout ~logerr = val mutable unsat = false val mutable timer = 0.0 val mutable steps = 0 - val mutable depth = 0 method private time t = timer <- t @@ -398,7 +397,7 @@ class altergo ~config ~pid ~gui ~file ~lines ~logout ~logerr = raise Not_found in VCS.result ~time:(if gui then 0.0 else timer) - ~steps ~depth verdict + ~steps verdict with | Not_found when Wp_parameters.Check.get () -> if r = 0 then VCS.checked @@ -422,13 +421,11 @@ class altergo ~config ~pid ~gui ~file ~lines ~logout ~logerr = method prove = files <- lines ; - depth <- VCS.get_depth config ; if gui then ergo#set_command (Wp_parameters.AltGrErgo.get ()) ; if Wp_parameters.Check.get () then ergo#add ["-type-only"] else begin - ergo#add_positive ~name:"-age-bound" ~value:depth ; ergo#add_parameter ~name:"-proof" Wp_parameters.ProofTrace.get ; ergo#add_parameter ~name:"-model" Wp_parameters.ProofTrace.get ; end ; @@ -472,17 +469,18 @@ let prove_file ~config ~pid ~mode ~file ~lines ~logout ~logerr = try_prove ~config ~pid ~gui:true ~file ~lines ~logout ~logerr | r -> Task.return r -let prove_prop ~config ~pid ~mode ~model ~axioms ~prop = +let prove_prop ~config ~pid ~mode ~context ~axioms ~prop = let prover = NativeAltErgo in + let model = fst context in let file = DISK.file_goal ~pid ~model ~prover in let logout = DISK.file_logout ~pid ~model ~prover in let logerr = DISK.file_logerr ~pid ~model ~prover in let id = WpPropId.get_propid pid in let title = Pretty_utils.to_string WpPropId.pretty pid in - let lines = Model.with_model model + let lines = WpContext.on_context context (assemble_goal ~file ~id ~title ~axioms) prop in if Wp_parameters.has_print_generated () then - Model.with_model model (fun () -> + WpContext.on_context context (fun () -> let goal = cluster ~id ~title () in Wp_parameters.print_generated (cluster_file goal) ) () ; @@ -490,36 +488,27 @@ let prove_prop ~config ~pid ~mode ~model ~axioms ~prop = then Task.return VCS.no_result else prove_file ~config ~pid ~mode ~file ~lines ~logout ~logerr -let prove_annot model pid vcq ~config ~mode = +let prove_annot context pid vcq ~config ~mode = Task.todo begin fun () -> let axioms = vcq.VC_Annot.axioms in let prop = GOAL.compute_proof vcq.VC_Annot.goal in - prove_prop ~pid ~config ~mode ~model ~axioms ~prop + prove_prop ~pid ~config ~mode ~context ~axioms ~prop end -let prove_lemma model pid vca ~config ~mode = +let prove_lemma context pid vca ~config ~mode = Task.todo begin fun () -> let lemma = vca.Wpo.VC_Lemma.lemma in let depends = vca.Wpo.VC_Lemma.depends in let prop = F.p_forall lemma.l_forall lemma.l_lemma in let axioms = Some(lemma.l_cluster,depends) in - prove_prop ~pid ~config ~mode ~model ~axioms ~prop - end - -let prove_check model pid vck ~config ~mode = - Task.todo - begin fun () -> - let prop = vck.VC_Check.goal in - let axioms = None in - prove_prop ~pid ~config ~mode ~model ~axioms ~prop + prove_prop ~pid ~config ~mode ~context ~axioms ~prop end let prove ~config ~mode wpo = let pid = wpo.Wpo.po_pid in - let model = wpo.Wpo.po_model in + let context = Wpo.get_context wpo in match wpo.Wpo.po_formula with - | Wpo.GoalAnnot vcq -> prove_annot model pid vcq ~config ~mode - | Wpo.GoalLemma vca -> prove_lemma model pid vca ~config ~mode - | Wpo.GoalCheck vck -> prove_check model pid vck ~config ~mode + | Wpo.GoalAnnot vcq -> prove_annot context pid vcq ~config ~mode + | Wpo.GoalLemma vca -> prove_lemma context pid vca ~config ~mode diff --git a/src/plugins/wp/ProverScript.ml b/src/plugins/wp/ProverScript.ml index c06810139a9dbdb0ab6f25b302be981d0889ef58..be6cd3a9ebf68135da4081ae8e91bb78509f107b 100644 --- a/src/plugins/wp/ProverScript.ml +++ b/src/plugins/wp/ProverScript.ml @@ -84,8 +84,8 @@ let jfork tree ?node jtactic = try let anchor = ProofEngine.anchor tree ?node () in let goal = ProofEngine.goal anchor in - let model = ProofEngine.node_model anchor in - match Model.with_model model (jconfigure console jtactic) goal with + let ctxt = ProofEngine.node_context anchor in + match WpContext.on_context ctxt (jconfigure console jtactic) goal with | None -> None | Some (script,process) -> Some (ProofEngine.fork tree ~anchor script process) diff --git a/src/plugins/wp/ProverSearch.ml b/src/plugins/wp/ProverSearch.ml index 3ca283a7bceedce54872517bb0e47dae423e7ded..3580de72fb036ef5072983284e0a3530b26ddb86 100644 --- a/src/plugins/wp/ProverSearch.ml +++ b/src/plugins/wp/ProverSearch.ml @@ -44,8 +44,8 @@ let fork tree anchor strategy = ~pool:(ProofEngine.pool tree) ~title:strategy.tactical#title in try - let model = ProofEngine.node_model anchor in - match Model.with_model model (configure console) strategy with + let context = ProofEngine.node_context anchor in + match WpContext.on_context context (configure console) strategy with | None -> None | Some (script,process) -> Some (ProofEngine.fork tree ~anchor script process) @@ -91,8 +91,8 @@ let search tree ?anchor ?sequent heuristics = match sequent with | Some s -> s | None -> snd (Wpo.compute (ProofEngine.goal anchor)) in let lookup h = try h#search pool#add sequent with Not_found -> () in - Model.with_model - (ProofEngine.node_model anchor) + WpContext.on_context + (ProofEngine.node_context anchor) (List.iter lookup) heuristics ; first tree ~anchor pool#sort diff --git a/src/plugins/wp/ProverTask.ml b/src/plugins/wp/ProverTask.ml index 69aa5ea1cd391c6ac1dbbae0653f96a040f495bb..e9bb77dc5b58e7db6a8c749cb56b436ddcc6f753 100644 --- a/src/plugins/wp/ProverTask.ml +++ b/src/plugins/wp/ProverTask.ml @@ -141,10 +141,6 @@ let stepout = function | None -> Wp_parameters.Steps.get () | Some t -> t -let depth = function - | None -> Wp_parameters.Depth.get () - | Some t -> t - let pp_file ~message ~file = if Sys.file_exists file then Log.print_on_output diff --git a/src/plugins/wp/ProverTask.mli b/src/plugins/wp/ProverTask.mli index e3a567f91212221236f292dfc94a84c68dbf91bf..43fff7d910c0fda972e0ddbfae5e3855e066119b 100644 --- a/src/plugins/wp/ProverTask.mli +++ b/src/plugins/wp/ProverTask.mli @@ -56,7 +56,6 @@ val location : string -> int -> Lexing.position val timeout : int option -> int val stepout : int option -> int -val depth : int option -> int type logs = [ `OUT | `ERR | `BOTH ] class virtual command : string -> diff --git a/src/plugins/wp/ProverWhy3.ml b/src/plugins/wp/ProverWhy3.ml index 600dcc6aa68c9ceee193a916fda9a6da8a1f1a1f..8e212b42b0c27d5fc02750d6d5e3274c24c9fed7 100644 --- a/src/plugins/wp/ProverWhy3.ml +++ b/src/plugins/wp/ProverWhy3.ml @@ -20,17 +20,11 @@ (* *) (**************************************************************************) -(* -------------------------------------------------------------------------- *) -(* --- Prover Why3 Interface --- *) -(* -------------------------------------------------------------------------- *) - -open Cil_types -open Qed -open Lang -open Definitions +(* Allow type-desambiguation for symbols *) +[@@@ warning "-40-42"] let dkey = Wp_parameters.register_category "prover" -let why3_goal_name = "WP" +let dkey_api = Wp_parameters.register_category "why3_api" let option_file = LogicBuiltins.create_option (fun ~driver_dir x -> Filename.concat driver_dir x) @@ -40,137 +34,695 @@ let option_import = LogicBuiltins.create_option (fun ~driver_dir:_ x -> x) "why3" "import" +module Env = WpContext.Index(struct + include Datatype.Unit + type key = unit + type data = Why3.Env.env + end) + +let get_why3_env = Env.memoize + begin fun () -> + let config = Why3Provers.config () in + let main = Why3.Whyconf.get_main config in + let ld = + (WpContext.directory ()):: + (Wp_parameters.Share.file "why3"):: + (Why3.Whyconf.loadpath main) in + Why3.Env.create_env ld + end -(* -------------------------------------------------------------------------- *) -(* --- Making Goal File --- *) -(* -------------------------------------------------------------------------- *) +type context = { + mutable th : Why3.Theory.theory_uc; + env: Why3.Env.env; +} + +type convert = { + th : Why3.Theory.theory_uc; + env: Why3.Env.env; + subst: Why3.Term.term Lang.F.Tmap.t; + pool: Lang.F.pool; + polarity: Cvalues.polarity; + in_goal: bool; + mutable convert_for_export: Lang.F.term Lang.F.Tmap.t; +} + +(** The reason for the rebuild *) +let specific_equalities: Lang.For_export.specific_equality list ref = + ref [Vlist.specialize_eq_list] + +let add_specific_equality ~for_tau ~mk_new_eq = + specific_equalities := { for_tau; mk_new_eq }::!specific_equalities + +(** get symbols *) + +let get_ls ~cnv ~f ~l ~p = + let th = Why3.Env.read_theory cnv.env f l in + let ls = + try + Why3.Theory.ns_find_ls th.th_export p + with Not_found -> + Wp_parameters.fatal "The symbol %a can't be found in %a.%s" + Why3.Pp.(print_list dot string) p + Why3.Pp.(print_list dot string) f l + in + ls + +let get_ts ~cnv ~f ~l ~p = + let th = Why3.Env.read_theory cnv.env f l in + let ls = + try + Why3.Theory.ns_find_ts th.th_export p + with Not_found -> + Wp_parameters.fatal "The type %a can't be found in %a.%s" + Why3.Pp.(print_list dot string) p + Why3.Pp.(print_list dot string) f l + in + ls -let cluster_file c = - let dir = Model.directory () in - let base = cluster_id c in - Printf.sprintf "%s/%s.why" dir base -let theory_name_of_cluster c = - let base = cluster_id c in - String.capitalize_ascii base +let t_app ~cnv ~f ~l ~p tl = + Why3.Term.t_app_infer (get_ls ~cnv ~f ~l ~p) tl -let theory_name_of_pid pid = "VC" ^ WpPropId.get_propid pid +let t_app' ~cnv ~f ~l ~p tl ty = + Why3.Term.t_app (get_ls ~cnv ~f ~l ~p) tl ty -(* -------------------------------------------------------------------------- *) -(* --- Exporting Formulae to Why3 --- *) -(* -------------------------------------------------------------------------- *) +(** Conversion *) -type depend = - | D_file of string - | D_cluster of cluster +(** why3 1.3 + let const_int (z:Z.t) = + Why3.(Term.t_const Number.(int_const (BigInt.of_string (Z.to_string z)))) Why3.Ty.ty_int -let engine = - let module E = Qed.Export_why3.Make(Lang.F.QED) in - object(self) - inherit E.engine as super - inherit Lang.idprinting - method infoprover p = p.why3 + let const_real ~cnv (q:Q.t) = + let mk_real_int z = + let c = Why3.Number.real_const (Why3.BigInt.of_string (Z.to_string z)) in + Why3.(Term.t_const c) Why3.Ty.ty_real + in + if Z.equal Z.one q.den + then mk_real_int q.num + else + t_app ~cnv ~f:["real"] ~l:"Real" ~p:["infix /"] [mk_real_int q.num;mk_real_int q.den] - val mutable goal = false - method set_goal g = goal <- g +*) - method private is_vlist polarity a b = - goal && self#mode = polarity && - (Vlist.check_term a || Vlist.check_term b) +let const_int (z:Z.t) = + Why3.(Term.t_const Number.(const_of_big_int (BigInt.of_string (Z.to_string z)))) Why3.Ty.ty_int - method! pp_equal fmt a b = - if self#is_vlist Qed.Engine.Mpositive a b - then Qed.Plib.pp_call_apply "vlist_eq" self#pp_term fmt [a;b] - else super#pp_equal fmt a b +let const_real ~cnv (q:Q.t) = + let mk_real_int z = + let rc_negative = Z.sign z < 0 in + let z = Z.abs z in + let rc_abs = Why3.Number.real_const_dec (Z.to_string z) "" None in + let c = Why3.Number.ConstReal { Why3.Number.rc_negative; rc_abs } in + Why3.(Term.t_const c) Why3.Ty.ty_real + in + if Z.equal Z.one q.den + then mk_real_int q.num + else + t_app ~cnv ~f:["real"] ~l:"Real" ~p:["infix /"] [mk_real_int q.num;mk_real_int q.den] + +(** fold map list of at least one element *) +let fold_map map fold = function + | [] -> assert false (** absurd: forbidden by qed *) + | a::tl -> + List.fold_left (fun acc a -> fold acc (map a)) (map a) tl + +let empty_context name : context = { + th = Why3.Theory.create_theory (Why3.Ident.id_fresh name); + env = get_why3_env (); +} + +let empty_cnv ?(polarity=`NoPolarity) ?(in_goal=false) (ctx:context) : convert = { + th = ctx.th; + subst = Lang.F.Tmap.empty; + pool = Lang.F.pool (); + env = ctx.env; + polarity; + in_goal; + convert_for_export = Lang.F.Tmap.empty; +} + + +let lfun_name (lfun:Lang.lfun) = + match lfun with + | ACSL f -> Qed.Engine.F_call (Lang.logic_id f) + | CTOR c -> Qed.Engine.F_call (Lang.ctor_id c) + | Model({m_source=Generated(_,n)}) -> Qed.Engine.F_call n + | Model({m_source=Extern e}) -> e.Lang.ext_link.Lang.why3 + + +let coerce ~cnv sort expected r = + match sort, expected with + | Qed.Logic.Bool, Qed.Logic.Prop -> Why3.Term.(t_equ r t_bool_true) + | Qed.Logic.Int, Qed.Logic.Real -> + t_app ~cnv ~f:["real"] ~l:"FromInt" ~p:["from_int"] [r] + | _ -> r + +let name_of_adt = function + | Lang.Mtype a -> a.Lang.ext_link.Lang.why3 + | Mrecord(a,_) -> a.Lang.ext_link.Lang.why3 + | Comp c -> Lang.comp_id c + | Atype lt -> Lang.type_id lt + +let tvar = + let tvar = Datatype.Int.Hashtbl.create 10 in + fun i -> + Datatype.Int.Hashtbl.memo tvar i + (fun i -> + let id = Why3.Ident.id_fresh (Printf.sprintf "a%i" i) in + Why3.Ty.create_tvsymbol id + ) + + +(** Sharing *) + +let shared (_ : Lang.F.term) = false + +let shareable e = + match Lang.F.repr e with + | Kint _ | Kreal _ | True | False -> false + | Times _ | Add _ | Mul _ | Div _ | Mod _ -> true + | Eq _ | Neq _ | Leq _ | Lt _ -> false + | Aget _ | Aset _ | Rget _ | Rdef _ | Acst _ -> true + | And _ | Or _ | Not _ | Imply _ | If _ -> false + | Fun _ -> not (Lang.F.is_prop e) + | Bvar _ | Fvar _ | Apply _ | Bind _ -> false + +let subterms f e = + match Lang.F.repr e with + | Rdef fts -> + begin + match Lang.F.record_with fts with + | None -> Lang.F.lc_iter f e + | Some(a,fts) -> f a ; List.iter (fun (_,e) -> f e) fts + end + | _ -> Lang.F.lc_iter f e - method! pp_noteq fmt a b = - if self#is_vlist Qed.Engine.Mnegative a b - then +(* path splitting *) +let regexp_col = Str.regexp_string ":" +let regexp_com = Str.regexp_string "," +let regexp_dot = Str.regexp_string "." + +let cut_path s = Str.split_delim regexp_dot s + +(* conversion *) + +let rec of_tau ~cnv (t:Lang.F.tau) = + match t with + | Prop -> None + | Bool -> Some Why3.Ty.ty_bool + | Int -> Some Why3.Ty.ty_int + | Real -> Some Why3.Ty.ty_real + | Array(k,v) -> + let ts = get_ts ~cnv ~f:["map"] ~l:"Map" ~p:["map"] in + Some (Why3.Ty.ty_app ts [Why3.Opt.get (of_tau ~cnv k); Why3.Opt.get (of_tau ~cnv v)]) + | Data(adt,l) -> begin + let s = name_of_adt adt in + match Why3.Theory.(ns_find_ts (get_namespace cnv.th) (cut_path s)) with + | ts -> Some (Why3.Ty.ty_app ts (List.map (fun e -> Why3.Opt.get (of_tau ~cnv e)) l)) + | exception Not_found -> Wp_parameters.fatal "Can't find type [%s] in why3 namespace" s + end + | Tvar i -> Some (Why3.Ty.ty_var (tvar i)) + | Record _ -> + Wp_parameters.not_yet_implemented "Type %a not yet convertible" + Lang.F.pp_tau t + +let rec full_trigger = function + | Qed.Engine.TgAny -> false + | TgVar _ -> true + | TgGet(a,k) -> full_trigger a && full_trigger k + | TgSet(a,k,v) -> full_trigger a && full_trigger k && full_trigger v + | TgFun(_,xs) | TgProp(_,xs) -> List.for_all full_trigger xs + +let rec full_triggers = function + | [] -> [] + | ts :: tgs -> + match List.filter full_trigger ts with + | [] -> full_triggers tgs + | ts -> ts :: full_triggers tgs + +let rec of_trigger ~cnv t = + match t with + | Qed.Engine.TgAny -> assert false (** absurd: filter by full_triggers *) + | Qed.Engine.TgVar v -> begin + try Lang.F.Tmap.find (Lang.F.e_var v) cnv.subst + with Not_found -> Wp_parameters.fatal "Unbound variable %a" Lang.F.pp_var v + end + | Qed.Engine.TgGet(m,k) -> + t_app ~cnv ~f:["map"] ~l:"Map" ~p:["get"] [of_trigger cnv m;of_trigger cnv k] + | TgSet(m,k,v) -> + t_app ~cnv ~f:["map"] ~l:"Map" ~p:["set"] [of_trigger cnv m;of_trigger cnv k;of_trigger cnv v] + | TgFun (f,l) -> begin + match lfun_name f with + | F_call s -> + let ls = Why3.Theory.(ns_find_ls (get_namespace cnv.th) (cut_path s)) in + Why3.Term.t_app_infer ls (List.map (fun e -> of_trigger cnv e) l) + | _ -> Wp_parameters.not_yet_implemented "lfun in triggers" + end + | TgProp (f,l) -> + begin + match lfun_name f with + | F_call s -> + let ls = Why3.Theory.(ns_find_ls (get_namespace cnv.th) (cut_path s)) in + Why3.Term.t_app_infer ls (List.map (fun e -> of_trigger cnv e) l) + | _ -> Wp_parameters.not_yet_implemented "lfun in triggers" + end + +let rec of_term ~cnv expected t : Why3.Term.term = + Wp_parameters.debug ~dkey:dkey_api + "of_term %a %a@." + Lang.F.Tau.pretty expected Lang.F.pp_term t; + let sort = Lang.F.typeof t in + let ($) f x = f x in + let r = + try coerce ~cnv sort expected $ Lang.F.Tmap.find t cnv.subst + with Not_found -> + match Lang.F.repr t, sort, expected with + | (Fvar _, _, _) -> invalid_arg "unbound variable in of_term" + | (Bvar _, _, _) -> invalid_arg "bound variable in of_term" + | Bind((Forall|Exists) as q,_,_), _, _ -> + coerce ~cnv Prop expected $ + let why3_vars, t = successive_binders cnv q t in + let quant = match q with + | Qed.Logic.Forall -> Why3.Term.Tforall + | Qed.Logic.Exists -> Why3.Term.Texists + | _ -> assert false + in + Why3.Term.t_quant quant (Why3.Term.t_close_quant why3_vars [] t) + | True, _, Prop -> Why3.Term.t_true + | True, _, Bool -> Why3.Term.t_bool_true + | False, _, Prop -> Why3.Term.t_false + | False, _, Bool -> Why3.Term.t_bool_false + | Kint z, Int, _ -> coerce ~cnv sort expected $ const_int z + | Kreal q, Real, _ -> coerce ~cnv sort expected $ const_real ~cnv q + | Times(z,t), Int, _ -> + coerce ~cnv sort expected $ + t_app ~cnv ~f:["int"] ~l:"Int" ~p:["infix *"] [const_int z; of_term cnv sort t] + | Times(z,t), Real, _ -> + coerce ~cnv sort expected $ + t_app ~cnv ~f:["real"] ~l:"Real" ~p:["infix *"] + [const_real ~cnv (Q.of_bigint z); of_term cnv sort t] + | Add l, Int, _ -> + coerce ~cnv sort expected $ + t_app_fold ~f:["int"] ~l:"Int" ~p:["infix +"] ~cnv sort l + | Add l, Real, _ -> + coerce ~cnv sort expected $ + t_app_fold ~f:["real"] ~l:"Real" ~p:["infix +"] ~cnv sort l + | Mul l, Int, _ -> + coerce ~cnv sort expected $ + t_app_fold ~f:["int"] ~l:"Int" ~p:["infix *"] ~cnv sort l + | Mul l, Real, _ -> + coerce ~cnv sort expected $ + t_app_fold ~f:["real"] ~l:"Real" ~p:["infix *"] ~cnv sort l + | Leq (a,b), _, Prop -> + int_or_real ~cnv + ~fint:["int"] ~lint:"Int" ~pint:["infix <="] + ~freal:["real"] ~lreal:"Real" ~preal:["infix <="] + a b + | Div(a,b), Int, _ -> + coerce ~cnv sort expected $ + t_app ~cnv ~f:["int"] ~l:"ComputerDivision" ~p:["div"] + [of_term ~cnv sort a; of_term ~cnv sort b] + | Mod(a,b), Int, _ -> + coerce ~cnv sort expected $ + t_app ~cnv ~f:["int"] ~l:"ComputerDivision" ~p:["mod"] + [of_term ~cnv sort a; of_term ~cnv sort b] + | Div(a,b), Real, _ -> + coerce ~cnv sort expected $ + t_app ~cnv ~f:["real"] ~l:"Real" ~p:["infix /"] + [of_term ~cnv sort a; of_term ~cnv sort b] + | Lt (a,b), _, Prop -> + int_or_real ~cnv + ~fint:["int"] ~lint:"Int" ~pint:["infix <"] + ~freal:["real"] ~lreal:"Real" ~preal:["infix <"] + a b + | Leq (a,b), _, Bool -> + int_or_real ~cnv + ~fint:["qed"] ~lint:"Qed" ~pint:["zleq"] + ~freal:["qed"] ~lreal:"Qed" ~preal:["rleq"] + a b + | Lt (a,b), _, Bool -> + int_or_real ~cnv + ~fint:["qed"] ~lint:"Qed" ~pint:["zlt"] + ~freal:["qed"] ~lreal:"Qed" ~preal:["rlt"] + a b + | And l, _, Bool -> + t_app_fold ~f:["bool"] ~l:"Bool" ~p:["andb"] ~cnv expected l + | And l, _, Prop -> + fold_map (of_term ~cnv expected) Why3.Term.t_and l + | Or l, _, Bool -> + t_app_fold ~f:["bool"] ~l:"Bool" ~p:["orb"] ~cnv expected l + | Or l, _, Prop -> + fold_map (of_term ~cnv expected) Why3.Term.t_or l + | Not e, _, Bool -> + let cnv = {cnv with polarity = Cvalues.negate cnv.polarity} in + t_app ~cnv ~f:["bool"] ~l:"Bool" ~p:["notb"] [of_term ~cnv expected e] + | Not e, _, Prop -> + let cnv = {cnv with polarity = Cvalues.negate cnv.polarity} in + Why3.Term.t_not (of_term cnv expected e) + | Imply (l,e), _, _ -> + let e = (of_term ~cnv expected) e in + let cnv' = {cnv with polarity = Cvalues.negate cnv.polarity} in + let fold acc a = + let a = of_term ~cnv:cnv' expected a in + match expected with + | Prop -> Why3.Term.t_implies a acc + | _ (* Bool *) -> + t_app ~cnv:cnv' ~f:["bool"] ~l:"Bool" ~p:["implb"] [a;acc] + in + List.fold_left fold e (List.rev l) + | Eq (a,b), _, Prop -> begin + match Lang.F.typeof a with + | Prop | Bool -> + Why3.Term.t_iff (of_term cnv Prop a) (of_term cnv Prop b) + | tau -> + match List.find (fun spe -> spe.Lang.For_export.for_tau tau) !specific_equalities with + | spe when cnv.polarity = `Positive -> of_term cnv expected (spe.mk_new_eq a b) + | exception Not_found -> Why3.Term.t_equ (of_term' cnv a) (of_term' cnv b) + | _ -> Why3.Term.t_equ (of_term' cnv a) (of_term' cnv b) + end + | Neq (a,b), _, Prop -> begin - Format.fprintf fmt "@[<hov 2>not@,(" ; - Qed.Plib.pp_call_apply "vlist_eq" self#pp_term fmt [a;b] ; - Format.fprintf fmt ")@]" ; + match Lang.F.typeof a with + | Prop | Bool -> + Why3.Term.t_not (Why3.Term.t_iff (of_term cnv Prop a) (of_term cnv Prop b)) + | tau -> + match List.find (fun spe -> spe.Lang.For_export.for_tau tau) !specific_equalities with + | spe when cnv.polarity = `Negative -> + Why3.Term.t_not (of_term cnv expected (spe.mk_new_eq a b)) + | exception Not_found -> Why3.Term.t_neq (of_term' cnv a) (of_term' cnv b) + | _ -> Why3.Term.t_neq (of_term' cnv a) (of_term' cnv b) end - else super#pp_noteq fmt a b + | Eq (a,b), _, Bool -> + t_app ~cnv ~f:["qed"] ~l:"Qed" ~p:["eqb"] [of_term' cnv a; of_term' cnv b] + | Neq (a,b), _, Bool -> + t_app ~cnv ~f:["qed"] ~l:"Qed" ~p:["neqb"] [of_term' cnv a; of_term' cnv b] + | If(a,b,c), _, _ -> + let cnv' = {cnv with polarity = `NoPolarity} in + Why3.Term.t_if (of_term cnv' Prop a) (of_term cnv expected b) (of_term cnv expected c) + | Aget(m,k), _, _ -> + coerce ~cnv sort expected $ + let mtau = Lang.F.typeof m in + let ksort = match mtau with + | Array(ksort,_) -> ksort + | _ -> assert false (** absurd: by qed typing *)in + t_app ~cnv ~f:["map"] ~l:"Map" ~p:["get"] [of_term cnv mtau m;of_term cnv ksort k] + | Aset(m,k,v), Array(ksort,vsort), _ -> + coerce ~cnv sort expected $ + t_app ~cnv ~f:["map"] ~l:"Map" ~p:["set"] [of_term cnv sort m;of_term cnv ksort k;of_term cnv vsort v] + | Acst(_,v), Array(_,vsort), _ -> + coerce ~cnv sort expected $ + t_app' ~cnv ~f:["map"] ~l:"Const" ~p:["const"] [of_term cnv vsort v] (of_tau cnv sort) + (* Generic *) + | Fun (f,l), _, _ -> begin + let t_app ls l r = + Why3.Term.t_app ls l r + in + let apply_from_ns s l sort = + match Why3.Theory.(ns_find_ls (get_namespace cnv.th) (cut_path s)), expected with + | ls, (Prop | Bool) -> + coerce ~cnv sort expected $ + t_app ls l (of_tau cnv sort) + | ls, _ -> + coerce ~cnv sort expected $ + t_app ls l (of_tau cnv sort) + | exception Not_found -> Wp_parameters.fatal "Can't find [%s] in why3 namespace" s + in + let apply_from_ns' s l = + apply_from_ns s (List.map (fun e -> of_term' cnv e) l) + in + match lfun_name f, expected with + | F_call s, _ -> apply_from_ns' s l sort + | Qed.Engine.F_subst _, _ -> Wp_parameters.not_yet_implemented "lfun with subst" + | Qed.Engine.F_left s, _ | Qed.Engine.F_assoc s, _ -> + let rec aux = function + | [] -> Wp_parameters.fatal "Empty application" + | [a] -> of_term cnv expected a + | a::l -> + apply_from_ns s [of_term' cnv a; aux l] sort + in + aux l + | Qed.Engine.F_right s, _ -> + let rec aux = function + | [] -> Wp_parameters.fatal "Empty application" + | [a] -> of_term cnv expected a + | a::l -> + apply_from_ns s [aux l;of_term' cnv a] sort + in + aux (List.rev l) + | Qed.Engine.F_list (fcons,fnil), _ -> + let rec aux = function + | [] -> apply_from_ns fnil [] sort + | a::l -> + apply_from_ns fcons [of_term' cnv a;aux l] sort + in + aux l + | Qed.Engine.F_bool_prop (s,_), Bool | Qed.Engine.F_bool_prop (_,s), Prop -> + apply_from_ns' s l expected + | Qed.Engine.F_bool_prop (_,_), _ -> + Wp_parameters.fatal "badly expected type %a for term %a" + Lang.F.pp_tau expected Lang.F.pp_term t + end + | Rget(a,f), _ , _ -> begin + let s = Lang.name_of_field f in + match Why3.Theory.(ns_find_ls (get_namespace cnv.th) (cut_path s)) with + | ls -> Why3.Term.t_app ls [of_term' cnv a] (of_tau cnv expected) + | exception Not_found -> Wp_parameters.fatal "Can't find [%s] in why3 namespace" s + end + | Rdef(l), Data(Comp c,_) , _ -> begin + (* l is already sorted by field *) + let s = Lang.comp_id c in + match Why3.Theory.(ns_find_ls (get_namespace cnv.th) (cut_path s)) with + | ls -> + let l = List.map (fun (_,t) -> of_term' cnv t) l in + Why3.Term.t_app ls l (of_tau cnv expected) + | exception Not_found -> Wp_parameters.fatal "Can't find [%s] in why3 namespace" s + end + | (Rdef _, Data ((Mtype _|Mrecord (_, _)|Atype _), _), _) + | (Rdef _, (Prop|Bool|Int|Real|Tvar _|Array (_, _)), _) + | (Aset (_, _, _), (Prop|Bool|Int|Real|Tvar _|Record _|Data (_, _)), _) + | (Neq (_, _), _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) + | (Eq (_, _), _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) + | (Not _, _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) + | (Or _, _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) + | (And _, _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) + | (Lt (_, _), _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) + | (Leq (_, _), _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) + | (Div (_, _), (Prop|Bool|Tvar _|Array (_, _)|Record _|Data (_, _)), _) + | (Mod (_, _), (Prop|Bool|Real|Tvar _|Array (_, _)|Record _|Data (_, _)), _) + | (Mul _, (Prop|Bool|Tvar _|Array (_, _)|Record _|Data (_, _)), _) + | (Add _, (Prop|Bool|Tvar _|Array (_, _)|Record _|Data (_, _)), _) + | (Times (_, _), (Prop|Bool|Tvar _|Array (_, _)|Record _|Data (_, _)), _) + | (Kreal _, (Prop|Bool|Int|Tvar _|Array (_, _)|Record _|Data (_, _)), _) + | (Kint _, (Prop|Bool|Real|Tvar _|Array (_, _)|Record _|Data (_, _)), _) + | (False, _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) + | (True, _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) + | (Acst (_, _), (Prop|Bool|Int|Real|Tvar _|Record _|Data (_, _)), _) + -> assert false (** absurd: by typing *) + | (Bind (Lambda, _, _), _, _) + | Apply _ , _, _ + | Rdef _, Record _, _ -> + Wp_parameters.not_yet_implemented + "Can't convert to why3 the qed term %a of type %a" + Lang.F.pp_term t Lang.F.pp_tau sort + in + r + +and t_app_fold ~cnv ~f ~l ~p expected lt = + let fold acc a = + t_app ~cnv ~f ~l ~p [acc;a] + in + fold_map (of_term ~cnv expected) fold lt + +and of_term' cnv t = + of_term cnv (Lang.F.typeof t) t + +and share cnv expected t = + let l = Lang.F.QED.shared ~shareable ~shared ~subterms [t] in + let cnv,lets = mk_lets cnv l in + let t = of_term ~cnv expected t in + let t = List.fold_left (fun t (x,e') -> + Why3.Term.t_let_close x e' t + ) t lets + in + t + +and mk_lets cnv l = + List.fold_left (fun (cnv,lets) e -> + let cnv' = {cnv with polarity = `NoPolarity} in + let e' = of_term cnv' (Lang.F.typeof e) e in + match e'.t_ty with + | None -> ({cnv with subst = Lang.F.Tmap.add e e' cnv.subst},lets) + | Some ty -> + let x = Why3.Ident.id_fresh (Lang.F.basename e) in + let x = Why3.Term.create_vsymbol x ty in + (* Format.printf "lets %a = %a : %a@." + * Why3.Pretty.print_vsty x + * Why3.Pretty.print_term e' + * Why3.Pretty.print_ty (Why3.Term.t_type e'); *) + let cnv = {cnv with subst = Lang.F.Tmap.add e (Why3.Term.t_var x) cnv.subst } in + let lets = (x,e')::lets in + cnv,lets + ) (cnv,[]) l + +and successive_binders cnv q t = + match Lang.F.repr t with + | Bind((Forall|Exists) as q',tau,t) when q' = q -> + let x = Lang.F.fresh cnv.pool tau in + let x' = Why3.Ident.id_fresh (Lang.F.Tau.basename tau) in + let x' = Why3.Term.create_vsymbol x' (Why3.Opt.get (of_tau cnv tau)) in + let cnv = {cnv with subst = Lang.F.Tmap.add (Lang.F.e_var x) (Why3.Term.t_var x') cnv.subst} in + let t = Lang.F.QED.e_unbind x t in + let why3_vars, t = successive_binders cnv q t in + x'::why3_vars, t + | _ -> + [], share cnv Prop t + +and int_or_real ~cnv ~fint ~lint ~pint ~freal ~lreal ~preal a b = + match (Lang.F.typeof a), (Lang.F.typeof b) with + | Int, Int -> + t_app_fold ~f:fint ~l:lint ~p:pint ~cnv Int [a; b] + | Real, Int | Real, Real | Int, Real -> + t_app_fold ~f:freal ~l:lreal ~p:preal ~cnv Real [a; b] + | _ -> assert false + +let convert cnv expected t = + (** rewrite terms which normal form inside qed are different from the one of the provers *) + let t, convert_for_export = Lang.For_export.rebuild ~cache:cnv.convert_for_export t in + cnv.convert_for_export <- convert_for_export; + Lang.For_export.in_state (share cnv expected) t + +let mk_binders cnv l = + List.fold_left (fun (cnv,lets) v -> + match of_tau cnv (Lang.F.tau_of_var v) with + | None -> Wp_parameters.fatal "Quantification on prop" + | Some ty -> + let x = Why3.Ident.id_fresh (Lang.F.Var.basename v) in + let x = Why3.Term.create_vsymbol x ty in + let e = Lang.F.e_var v in + let cnv = {cnv with subst = Lang.F.Tmap.add e (Why3.Term.t_var x) cnv.subst } in + let lets = x::lets in + cnv,lets + ) (cnv,[]) (List.rev l) + +(** visit definitions and add them in the task *) + +module CLUSTERS = WpContext.Index + (struct + type key = Definitions.cluster + type data = int * Why3.Theory.theory + let name = "ProverWhy3.CLUSTERS" + let compare = Definitions.cluster_compare + let pretty = Definitions.pp_cluster + end) - method! pp_fun cmode fct ts = - if fct == Vlist.f_concat - then Vlist.export self ts - else super#pp_fun cmode fct ts - end let filenoext file = let basename = Filename.basename file in (try Filename.chop_extension basename with Invalid_argument _ -> basename) -let regexp_col = Str.regexp_string ":" -let regexp_com = Str.regexp_string "," - -class visitor fmt c = +class visitor (ctx:context) c = object(self) inherit Definitions.visitor c - inherit ProverTask.printer fmt (cluster_title c) - val mutable deps = [] - - (* --- Managing Formatter --- *) - - method flush = - begin - Format.pp_print_newline fmt () ; - List.rev deps - end (* --- Files, Theories and Clusters --- *) - method add_dfile f = - let df = D_file f in - if not (List.mem df deps) then deps <- df :: deps + method add_builtin_lib = + self#add_import_file ["bool"] "Bool" ; + self#add_import_file ["int"] "Int" ; + self#add_import_file ["int"] "ComputerDivision" ; + self#add_import_file ["real"] "RealInfix" ; + self#on_library "qed"; + self#add_import_file ["map"] "Map" - method add_import ?was thy = - self#lines ; - match was with - | None -> Format.fprintf fmt "use %s@\n" thy - | Some was -> Format.fprintf fmt "use %s as %s@\n" thy was + method on_cluster c = + let name = Definitions.cluster_id c in + Wp_parameters.debug ~dkey:dkey_api "Start on_cluster %s@." name; + let th_name = String.capitalize_ascii name in + let thy = + let age = try fst (CLUSTERS.find c) with Not_found -> (-1) in + if age < Definitions.cluster_age c then + let ctx = empty_context th_name in + let v = new visitor ctx c in + v#add_builtin_lib; + v#vself; + let th = Why3.Theory.close_theory ctx.th in + if Wp_parameters.has_dkey ProverErgo.dkey_cluster then + Log.print_on_output + begin fun fmt -> + Format.fprintf fmt "---------------------------------------------@\n" ; + Format.fprintf fmt "--- Context '%s' Cluster '%s' @\n" + (WpContext.get_context () |> WpContext.S.id) name; + Format.fprintf fmt "---------------------------------------------@\n" ; + Why3.Pretty.print_theory fmt th; + end ; + CLUSTERS.update c (Definitions.cluster_age c, th); + th + else + snd (CLUSTERS.find c) + in + let th = ctx.th in + let th = Why3.Theory.open_scope th name in + let th = Why3.Theory.use_export th thy in + let th = Why3.Theory.close_scope th true in + Wp_parameters.debug ~dkey:dkey_api "End on_cluster %s@." name; + ctx.th <- th - method add_import2 file thy = - self#lines ; - Format.fprintf fmt "use %s.%s@\n" file thy - method add_import3 file thy name = - self#lines ; - Format.fprintf fmt "use %s.%s as %s@\n" file thy name + method section _ = () - method on_cluster c = - self#lines ; - let name = (cluster_id c) in - Format.fprintf fmt "use %s.%s@\n" - name (String.capitalize_ascii name) ; - deps <- (D_cluster c) :: deps - - method add_extlib file = - let thy = filenoext file in - let path = LogicBuiltins.find_lib file in - self#add_import2 thy (String.capitalize_ascii thy) ; - self#add_dfile path + method add_import ?was thy = + match Str.split_delim regexp_dot thy with + | [] -> Wp_parameters.fatal "empty import option" + | l -> + let file, thy = Why3.Lists.chop_last l in + self#add_import_use file thy (Why3.Opt.get_def thy was) ~import:true + + method add_import_file file thy = + self#add_import_use ~import:true file thy thy + + method add_import_file_as file thy name = + self#add_import_use ~import:false file thy name + + method add_import_use ~import file thy name = + Wp_parameters.debug ~dkey:dkey_api + "@[use@ %s@ @[%a.%s@]@ as@ %s@]" + (if import then "import" else "") + Why3.Pp.(print_list (Why3.Pp.constant_string ".") string) file + thy name ; + let thy = Why3.Env.read_theory ctx.env file thy in + let th = ctx.th in + let th = Why3.Theory.open_scope th name in + let th = Why3.Theory.use_export th thy in + let th = Why3.Theory.close_scope th import in + ctx.th <- th method on_library thy = + let copy_file source = + if Filepath.normalize (Filename.dirname source) <> + Filepath.normalize (Wp_parameters.Share.dir ()) + then + let tgtdir = WpContext.directory () in + let why3src = Filename.basename source in + let target = Printf.sprintf "%s/%s" tgtdir why3src in + Command.copy source target + in let iter_file opt = match Str.split_delim regexp_col opt with | [file] -> let filenoext = filenoext file in - self#add_import2 filenoext - (String.capitalize_ascii filenoext) ; - self#add_dfile file + copy_file file; + self#add_import_file [filenoext] + (String.capitalize_ascii filenoext); | [file;lib] -> - self#add_import2 (filenoext file) lib ; - self#add_dfile file + copy_file file; + self#add_import_file [filenoext file] lib; | [file;lib;name] -> - self#add_import3 (filenoext file) lib name; - self#add_dfile file + copy_file file; + self#add_import_file_as [filenoext file] lib name; | _ -> Wp_parameters.failure ~current:false "Driver: why3.file %S not recognized (theory %s)" opt thy @@ -193,414 +745,562 @@ class visitor fmt c = end method on_type lt def = + match def with + | Tabs -> + let id = Why3.Ident.id_fresh (Lang.type_id lt) in + let map i _ = tvar i in + let tv_args = List.mapi map lt.lt_params in + let id = Why3.Ty.create_tysymbol id tv_args NoDef in + let decl = Why3.Decl.create_ty_decl id in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; + | Tdef t -> + let id = Why3.Ident.id_fresh (Lang.type_id lt) in + let map i _ = tvar i in + let tv_args = List.mapi map lt.lt_params in + let cnv = empty_cnv ctx in + let t = Why3.Opt.get (of_tau ~cnv t) in + let id = Why3.Ty.create_tysymbol id tv_args (Alias t) in + let decl = Why3.Decl.create_ty_decl id in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; + | Tsum cases -> + let id = Why3.Ident.id_fresh (Lang.type_id lt) in + let map i _ = tvar i in + let tv_args = List.mapi map lt.lt_params in + let tys = Why3.Ty.create_tysymbol id tv_args NoDef in + let tv_args = List.map Why3.Ty.ty_var tv_args in + let return_ty = Why3.Ty.ty_app tys tv_args in + let cnv = empty_cnv ctx in + let constr = List.length cases in + let cases = List.map (fun (c,targs) -> + let name = match c with | Lang.CTOR c -> Lang.ctor_id c | _ -> assert false in + let id = Why3.Ident.id_fresh name in + let targs = List.map (fun t -> Why3.Opt.get (of_tau ~cnv t)) targs in + let ls = Why3.Term.create_fsymbol ~constr id targs return_ty in + let proj = List.map (fun _ -> None) targs in + (ls,proj) + ) cases in + let decl = Why3.Decl.create_data_decl [tys,cases] in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; + | Trec fields -> + let id = Why3.Ident.id_fresh (Lang.type_id lt) in + let map i _ = tvar i in + let tv_args = List.mapi map lt.lt_params in + let tys = Why3.Ty.create_tysymbol id tv_args NoDef in + let tv_args = List.map Why3.Ty.ty_var tv_args in + let return_ty = Why3.Ty.ty_app tys tv_args in + let cnv = empty_cnv ctx in + let fields,args = List.split @@ List.map (fun (f,ty) -> + let name = Lang.name_of_field f in + let id = Why3.Ident.id_fresh name in + let ty = Why3.Opt.get (of_tau ~cnv ty) in + let ls = Why3.Term.create_fsymbol id [return_ty] ty in + Some ls,ty + ) fields in + let id = Why3.Ident.id_fresh (Lang.type_id lt) in + let cstr = Why3.Term.create_fsymbol ~constr:1 id args return_ty in + let decl = Why3.Decl.create_data_decl [tys,[cstr,fields]] in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; + + method on_comp c (fts:(Lang.field * Lang.tau) list) = begin - self#lines ; - engine#declare_type fmt (Lang.atype lt) (List.length lt.lt_params) def ; - end - - method on_comp c fts = - begin + let compare_field (f,_) (g,_) = + let cmp = Lang.Field.compare f g in + if cmp = 0 then assert false (* by definition *) else cmp + in + let fts = List.sort compare_field fts in (*TODO:NUPW: manage UNIONS *) - self#lines ; - engine#declare_type fmt (Lang.comp c) 0 (Qed.Engine.Trec fts) ; + let id = Why3.Ident.id_fresh (Lang.comp_id c) in + let ts = Why3.Ty.create_tysymbol id [] Why3.Ty.NoDef in + let ty = Why3.Ty.ty_app ts [] in + let id = Why3.Ident.id_fresh (Lang.comp_id c) in + let cnv = empty_cnv ctx in + let map (f,tau) = + let ty_ctr = of_tau ~cnv tau in + let id = Why3.Ident.id_fresh (Lang.name_of_field f) in + let ls = Why3.Term.create_lsymbol id [ty] ty_ctr in + (Some ls,Why3.Opt.get ty_ctr) + in + let fields = List.map map fts in + let constr = Why3.Term.create_fsymbol ~constr:1 id (List.map snd fields) ty in + let decl = Why3.Decl.create_data_decl [ts,[constr,List.map fst fields]] in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; end method on_dlemma l = begin - self#paragraph ; - let kind = if l.l_assumed then "axiom" else "lemma" in - engine#declare_prop ~kind fmt - (Lang.lemma_id l.l_name) - l.l_forall l.l_triggers - (F.e_prop l.l_lemma) + let kind = Why3.Decl.(if l.l_assumed then Paxiom else Plemma) in + let id = Why3.Ident.id_fresh (Lang.lemma_id l.l_name) in + let id = Why3.Decl.create_prsymbol id in + let cnv = empty_cnv ctx in + List.iter (Lang.F.add_var cnv.pool) l.l_forall; + let cnv, vars = Lang.For_export.in_state (mk_binders cnv) l.l_forall in + let t = convert cnv Prop (Lang.F.e_prop l.l_lemma) in + let triggers = full_triggers l.l_triggers in + let triggers = Lang.For_export.in_state (List.map (List.map (of_trigger ~cnv))) triggers in + let t = Why3.Term.t_forall_close vars triggers t in + let decl = Why3.Decl.create_prop_decl kind id t in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; end method on_dfun d = + Wp_parameters.debug ~dkey:dkey_api "Define %a@." Lang.Fun.pretty d.d_lfun ; + let cnv = empty_cnv ctx in + List.iter (Lang.F.add_var cnv.pool) d.d_params; begin - self#paragraph ; match d.d_definition with | Logic t -> - engine#declare_signature fmt - d.d_lfun (List.map F.tau_of_var d.d_params) t ; - | Function(t,mu,v) -> - let pp = match mu with - | Rec -> engine#declare_fixpoint ~prefix:"fix_" - | Def -> engine#declare_definition - in pp fmt d.d_lfun d.d_params t v - | Predicate(mu,p) -> - let pp = match mu with - | Rec -> engine#declare_fixpoint ~prefix:"fix_" - | Def -> engine#declare_definition - in pp fmt d.d_lfun d.d_params Logic.Prop (F.e_prop p) - | Inductive dl -> - engine#declare_signature fmt - d.d_lfun (List.map F.tau_of_var d.d_params) Logic.Prop; - List.iter self#on_dlemma dl + let id = Why3.Ident.id_fresh (Qed.Export.link_name (lfun_name d.d_lfun)) in + let map e = Why3.Opt.get (of_tau ~cnv (Lang.F.tau_of_var e)) in + let ty_args = List.map map d.d_params in + let id = Why3.Term.create_lsymbol id ty_args (of_tau ~cnv t) in + let decl = Why3.Decl.create_param_decl id in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; + | Function(t,mu,v) -> begin + match mu with + | Rec -> (* transform recursive function into an axioms *) + let name = Qed.Export.link_name (lfun_name d.d_lfun) in + let id = Why3.Ident.id_fresh name in + let map e = Why3.Opt.get (of_tau ~cnv (Lang.F.tau_of_var e)) in + let ty_args = List.map map d.d_params in + let result = of_tau ~cnv t in + let id = Why3.Term.create_lsymbol id ty_args result in + let decl = Why3.Decl.create_param_decl id in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; + let cnv = empty_cnv ctx in + List.iter (Lang.F.add_var cnv.pool) d.d_params; + let cnv, vars = mk_binders cnv d.d_params in + let t = share cnv t v in + let t = + Why3.Term.t_forall_close vars [] + (Why3.Term.t_equ + (Why3.Term.t_app id (List.map Why3.Term.t_var vars) result) + t) + in + let decl = + Why3.Decl.create_prop_decl Why3.Decl.Paxiom + (Why3.Decl.create_prsymbol (Why3.Ident.id_fresh (name^"_def"))) + t in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; + | Def -> + let id = Why3.Ident.id_fresh (Qed.Export.link_name (lfun_name d.d_lfun)) in + let map e = Why3.Opt.get (of_tau ~cnv (Lang.F.tau_of_var e)) in + let ty_args = List.map map d.d_params in + let result = of_tau ~cnv t in + let id = Why3.Term.create_lsymbol id ty_args result in + let cnv, vars = mk_binders cnv d.d_params in + let t = share cnv t v in + let decl = Why3.Decl.make_ls_defn id vars t in + let decl = Why3.Decl.create_logic_decl [decl] in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl + end + | Predicate(mu,p) -> begin + match mu with + | Rec -> + let name = Qed.Export.link_name (lfun_name d.d_lfun) in + let id = Why3.Ident.id_fresh name in + let map e = Why3.Opt.get (of_tau ~cnv (Lang.F.tau_of_var e)) in + let ty_args = List.map map d.d_params in + let result = None in + let id = Why3.Term.create_lsymbol id ty_args result in + let decl = Why3.Decl.create_param_decl id in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; + let cnv = empty_cnv ctx in + List.iter (Lang.F.add_var cnv.pool) d.d_params; + let cnv, vars = mk_binders cnv d.d_params in + let t = share cnv Prop (Lang.F.e_prop p) in + let t = + Why3.Term.t_forall_close vars [] + (Why3.Term.t_equ + (Why3.Term.t_app id (List.map Why3.Term.t_var vars) result) + t) + in + let decl = + Why3.Decl.create_prop_decl Why3.Decl.Paxiom + (Why3.Decl.create_prsymbol (Why3.Ident.id_fresh (name^"_def"))) + t in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; + | Def -> + let id = Why3.Ident.id_fresh (Qed.Export.link_name (lfun_name d.d_lfun)) in + let map e = Why3.Opt.get (of_tau ~cnv (Lang.F.tau_of_var e)) in + let ty_args = List.map map d.d_params in + let id = Why3.Term.create_lsymbol id ty_args None in + let cnv, vars = mk_binders cnv d.d_params in + let t = share cnv Prop (Lang.F.e_prop p) in + let decl = Why3.Decl.make_ls_defn id vars t in + let decl = Why3.Decl.create_logic_decl [decl] in + ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl + end + | Inductive _dl -> + Wp_parameters.not_yet_implemented "inductive" + (* engine#declare_signature fmt + * d.d_lfun (List.map F.tau_of_var d.d_params) Logic.Prop; + * List.iter self#on_dlemma dl *) end end -let write_cluster c = - let f = cluster_file c in - Wp_parameters.debug ~dkey "Generate '%s'" f ; - Command.print_file f +(* -------------------------------------------------------------------------- *) +(* --- Goal Compilation --- *) +(* -------------------------------------------------------------------------- *) + +let goal_id = (Why3.Decl.create_prsymbol (Why3.Ident.id_fresh "wp_goal")) + +let prove_goal ~id ~title ~name ?axioms t = + (* Format.printf "why3_of_qed start@."; *) + let goal = Definitions.cluster ~id ~title () in + let ctx = empty_context name in + let v = new visitor ctx goal in + Wp_parameters.debug ~dkey:dkey_api "%t" begin fun fmt -> - let v = new visitor fmt c in - let name = theory_name_of_cluster c in - engine#set_goal false ; - v#printf "@[<hv 2>theory %s@\n" name; - v#lines ; - (** TODO add them only when needed *) - v#add_import "bool.Bool" ; - v#add_import "int.Int" ; - v#add_import "int.ComputerDivision" ; - v#add_import "real.RealInfix" ; - v#on_library "qed"; - v#add_import "map.Map" ; - v#vself ; - v#printf "@]@\nend@\n"; - v#flush ; - end + Format.fprintf fmt "---------------------------------------------@\n" ; + Format.fprintf fmt "EXPORT GOAL %s@." id ; + Format.fprintf fmt "PROP @[<hov 2>%a@]@." Lang.F.pp_pred t ; + Format.fprintf fmt "---------------------------------------------@\n" ; + end ; + v#add_builtin_lib; + v#vgoal axioms t; + let cnv = empty_cnv ~in_goal:true ~polarity:`Positive ctx in + let t = convert cnv Prop (Lang.F.e_prop t) in + let decl = Why3.Decl.create_prop_decl Pgoal goal_id t in + let th = Why3.Theory.close_theory ctx.th in + if Wp_parameters.has_print_generated () then begin + let th_uc_tmp = Why3.Theory.add_decl ~warn:false ctx.th decl in + let th_tmp = Why3.Theory.close_theory th_uc_tmp in + Wp_parameters.debug ~dkey:Wp_parameters.cat_print_generated "%a" + Why3.Pretty.print_theory th_tmp + end; + th, decl + +let prove_prop ?axioms ~pid ~prop = + let id = WpPropId.get_propid pid in + let title = Pretty_utils.to_string WpPropId.pretty pid in + let name = "WP" in + let th, decl = prove_goal ?axioms ~id ~title ~name prop in + let t = None in + let t = Why3.Task.use_export t th in + Why3.Task.add_decl t decl + +let task_of_wpo wpo = + let pid = wpo.Wpo.po_pid in + match wpo.Wpo.po_formula with + | Wpo.GoalAnnot v -> + let pid = wpo.Wpo.po_pid in + let axioms = v.Wpo.VC_Annot.axioms in + let prop = Wpo.GOAL.compute_proof v.Wpo.VC_Annot.goal in + (* Format.printf "Goal: %a@." Lang.F.pp_pred prop; *) + prove_prop ~pid ~prop ?axioms + | Wpo.GoalLemma v -> + let lemma = v.Wpo.VC_Lemma.lemma in + let depends = v.Wpo.VC_Lemma.depends in + let prop = Lang.F.p_forall lemma.l_forall lemma.l_lemma in + let axioms = Some(lemma.l_cluster,depends) in + prove_prop ~pid ~prop ?axioms (* -------------------------------------------------------------------------- *) -(* --- File Assembly --- *) +(* --- Prover Task --- *) (* -------------------------------------------------------------------------- *) -module CLUSTERS = Model.Index - (struct - type key = cluster - type data = int * depend list - let name = "ProverWhy3.CLUSTERS" - let compare = cluster_compare - let pretty = pp_cluster - end) - -let assemble_cluster e = - let rec assemble = function - | D_cluster c -> assemble_cluster c - | D_file path -> assemble_userlib path - - and assemble_cluster c = - let (age,deps) = try CLUSTERS.find c with Not_found -> (-1,[]) in - let deps = - if age < cluster_age c then - let deps = write_cluster c in - CLUSTERS.update c (cluster_age c , deps) ; deps - else deps in - List.iter assemble deps - - and assemble_userlib source = - if Filepath.normalize (Filename.dirname source) <> - Filepath.normalize (Filename.concat (Wp_parameters.Share.dir ()) "why3") - then - let tgtdir = Model.directory () in - let coqsrc = Filename.basename source in - let target = Printf.sprintf "%s/%s" tgtdir coqsrc in - Command.copy source target +let prover_task prover task = + let env = get_why3_env () in + let config = Why3Provers.config () in + let prover_config = Why3.Whyconf.get_prover_config config prover in + let drv = Why3.Whyconf.load_driver (Why3.Whyconf.get_main config) + env prover_config.driver prover_config.extra_drivers in + let remove_for_prover = + if prover.prover_name = "Alt-Ergo" + then Filter_axioms.remove_for_altergo + else Filter_axioms.remove_for_why3 + in + let trans = Why3.Trans.seq [ + remove_for_prover; + Filter_axioms.trans; + Filter_axioms.def_into_axiom + ] in + let task = + if prover.prover_name = "Coq" + then task + else Why3.Trans.apply trans task in - assemble e + drv , prover_config , Why3.Driver.prepare_task drv task (* -------------------------------------------------------------------------- *) -(* --- Goal Module --- *) +(* --- Prover Call --- *) (* -------------------------------------------------------------------------- *) -type goal = - { - file : string; - theory : string; - goal : string; - } - -module Goal = -struct - type t = goal - let compare = Transitioning.Stdlib.compare - let pretty fmt g = - Format.fprintf fmt "[%s]%s.%s" g.file g.theory g.goal -end +let altergo_step_limit = Str.regexp "^Steps limit reached:" + +let call_prover ~timeout ~steplimit drv prover prover_config task = + let steps = match steplimit with Some 0 -> None | _ -> steplimit in + let limit = + let def = Why3.Call_provers.empty_limit in + { def with + Why3.Call_provers.limit_time = Why3.Opt.get_def def.limit_time timeout; + Why3.Call_provers.limit_steps = Why3.Opt.get_def def.limit_time steps; + } in + let command = Why3.Whyconf.get_complete_command prover_config + ~with_steps:(steps<>None) in + let call = + Why3.Driver.prove_task_prepared ~command ~limit drv task in + Wp_parameters.debug ~dkey "Why3 run prover %a with %i timeout %i steps@." + Why3.Whyconf.print_prover prover + (Why3.Opt.get_def (-1) timeout) + (Why3.Opt.get_def (-1) steps); + let ping _ (* why3 seems not to be able to kill a started prover *) = + match Why3.Call_provers.query_call call with + | NoUpdates + | ProverStarted -> Task.Yield + | InternalFailure exn -> + let msg = Format.asprintf "%a" Why3.Exn_printer.exn_printer exn in + Task.Return (Task.Result (VCS.failed msg)) + | ProverInterrupted -> + Task.Return (Task.Result (VCS.failed "interrupted")) + | ProverFinished pr -> + let r = match pr.pr_answer with + | Timeout -> VCS.timeout (int_of_float pr.pr_time) + | Valid -> VCS.result ~time:pr.pr_time ~steps:pr.pr_steps VCS.Valid + | Invalid -> VCS.result ~time:pr.pr_time ~steps:pr.pr_steps VCS.Invalid + | OutOfMemory -> VCS.failed "out of memory" + | StepLimitExceeded -> VCS.result ?steps VCS.Stepout + | Unknown _ -> VCS.unknown + | Failure s -> VCS.failed s + | HighFailure -> + let alt_ergo_hack = + prover.prover_name = "Alt-Ergo" && + Str.string_match altergo_step_limit pr.pr_output 0 + in + if alt_ergo_hack then VCS.result ?steps VCS.Stepout + else VCS.failed "Unknown error" + in + Wp_parameters.debug ~dkey + "@[@[Why3 result for %a:@] @[%a@] and @[%a@]@." + Why3.Whyconf.print_prover prover + (* why3 1.3 (Why3.Call_provers.print_prover_result ~json_model:false) pr *) + (Why3.Call_provers.print_prover_result) pr + VCS.pp_result r; + Task.Return (Task.Result r) + in + Task.async ping (* -------------------------------------------------------------------------- *) -(* --- Assembling Goal --- *) +(* --- Cache Management --- *) (* -------------------------------------------------------------------------- *) -let sanitize_expl fmt title = - for i = 0 to String.length title - 1 do - match title.[i] with - | '\n' | '\t' -> Format.pp_print_char fmt ' ' - | c -> Format.pp_print_char fmt c - done - -let assemble_goal ~id ~title ~theory ?axioms prop fmt = - (** Also create the directory *) - let goal = cluster ~id ~title () in - let deps = - let v = new visitor fmt goal in - engine#set_goal false ; - v#printf "@[<hv 2>theory %s@\n" theory ; - v#add_import "bool.Bool" ; - v#add_import "int.Int" ; - v#add_import "int.ComputerDivision" ; - v#add_import "real.RealInfix" ; - v#on_library "qed"; - v#add_import "map.Map" ; - v#vgoal axioms prop ; - let libs = Wp_parameters.WhyLibs.get () in - if libs <> [] then - begin - v#section "Additional Libraries" ; - List.iter v#add_extlib libs ; - v#hline ; - end ; - v#paragraph ; - engine#set_goal true ; - engine#global - begin fun () -> - v#printf "@[<hv 2>goal %s[@expl:%a]:@ %a@]@\n@\n" - why3_goal_name - sanitize_expl title - engine#pp_prop (F.e_prop prop) ; - end ; - engine#set_goal false ; - v#printf "end@]@."; - v#flush - in - List.iter assemble_cluster deps +type mode = NoCache | Update | Replay | Rebuild | Offline | Cleanup + +let hits = ref 0 +let miss = ref 0 +let removed = ref 0 +let cleanup = Hashtbl.create 0 +(* used entries, never to be reset since cleanup is performed at exit *) + +let get_hits () = !hits +let get_miss () = !miss +let get_removed () = !removed + +let mark_cache ~mode hash = + if mode = Cleanup then Hashtbl.replace cleanup hash () + +let cleanup_cache ~mode = + if mode = Cleanup && (!hits > 0 || !miss > 0) then + let dir = Wp_parameters.get_session_dir "cache" in + try + if Sys.is_directory dir then + Array.iter + (fun f -> + if Filename.check_suffix f ".json" then + let hash = Filename.chop_suffix f ".json" in + if not (Hashtbl.mem cleanup hash) then + begin + incr removed ; + Extlib.safe_remove (Printf.sprintf "%s/%s" dir f) ; + end + ) (Sys.readdir dir) ; + with Unix.Unix_error _ as exn -> + Wp_parameters.failure "Can not cleanup cache (%s)" + (Printexc.to_string exn) -module FunFile = Model.Index +(* -------------------------------------------------------------------------- *) +(* --- Cache Management --- *) +(* -------------------------------------------------------------------------- *) + +let parse_mode ~origin ~fallback = function + | "none" -> NoCache + | "update" -> Update + | "replay" -> Replay + | "rebuild" -> Rebuild + | "offline" -> Offline + | "cleanup" -> Cleanup + | "" -> raise Not_found + | m -> + Wp_parameters.warning ~current:false + "Unknown %s mode %S (use %s instead)" origin m fallback ; + raise Not_found + +module MODE = WpContext.StaticGenerator(Datatype.Unit) (struct - type key = kernel_function - type data = int (* age *) - let name = "ProverWhy3.FunFile" - let compare = Kernel_function.compare - let pretty = Kernel_function.pretty + type key = unit + type data = mode + let name = "Wp.Cache.mode" + let compile () = + try + let origin = "FRAMAC_WP_CACHE" in + parse_mode ~origin ~fallback:"-wp-cache" (Sys.getenv origin) + with Not_found -> + try + parse_mode ~origin:"-wp-cache" ~fallback:"'none'" + (Wp_parameters.Cache.get()) + with Not_found -> + if Wp_parameters.Session.Dir_name.is_set () + then Update else NoCache end) -let assemble_wpo wpo = - let dir = Model.directory () in - let index = Wpo.get_index wpo in - let goal = match index with - | Wpo.Axiomatic _ -> - begin match wpo.Wpo.po_formula with - | Wpo.GoalAnnot _ | Wpo.GoalCheck _ -> assert false - | Wpo.GoalLemma vca -> - let lemma = vca.Wpo.VC_Lemma.lemma in - assemble_cluster (D_cluster lemma.l_cluster); - let file = cluster_file lemma.l_cluster in - let theory = theory_name_of_cluster lemma.l_cluster in - let goal = Lang.lemma_id lemma.l_name in - { file ; theory ; goal } - end - | Wpo.Function (kf,_behv) -> - let model = Model.get_model () in - let file = Wpo.DISK.file_kf ~kf ~model ~prover:(VCS.Why3 "") in - let age = try FunFile.find kf with Not_found -> -1 in - begin if age < Wpo.age wpo then - let age_max = ref (-1) in - let on_goal fmt wpo = - (** iter on all the goal of a kf unfortunately not just - the one of the current model *) - let pid = wpo.Wpo.po_pid in - let model = Model.get_model () in - if Model.S.equal wpo.Wpo.po_model model then begin - age_max := max (!age_max) (Wpo.age wpo); - match wpo.Wpo.po_formula with - | Wpo.GoalAnnot vcq -> - let prop = Wpo.GOAL.compute_proof vcq.Wpo.VC_Annot.goal in - if Lang.F.p_true != prop then - let id = WpPropId.get_propid pid in - let title = Pretty_utils.to_string WpPropId.pretty pid in - let theory = theory_name_of_pid pid in - assemble_goal ~theory ~id ~title prop fmt - | Wpo.GoalLemma _ | Wpo.GoalCheck _ -> assert false - end in - Command.print_file file - (fun fmt -> - let fun_index = Wpo.Function(kf,None) in - Wpo.iter ~index:fun_index ~on_goal:(on_goal fmt) ()); - assert (!age_max >= Wpo.age wpo); - FunFile.update kf (!age_max); - end; - let pid = wpo.Wpo.po_pid in - { - file ; - theory = theory_name_of_pid pid ; - goal = why3_goal_name ; - } - in - [dir], goal +let get_mode = MODE.get + +let task_hash wpo drv prover task = + lazy + begin + let file = Wpo.DISK.file_goal + ~pid:wpo.Wpo.po_pid + ~model:wpo.Wpo.po_model + ~prover:(VCS.Why3 prover) in + let _ = Command.print_file file + begin fun fmt -> + Format.fprintf fmt "(* WP Task for Prover %s *)@\n" + (Why3Provers.print prover) ; + Why3.Driver.print_task_prepared drv fmt task ; + end + in Digest.file file |> Digest.to_hex + end -let assemble_tactic wpo vcq = - let pid = wpo.Wpo.po_pid in - let axioms = vcq.Wpo.VC_Annot.axioms in - let goal = vcq.Wpo.VC_Annot.goal in - let dir = Model.directory () in - let id = WpPropId.get_propid pid in - let cluster = cluster ~id () in - let file = cluster_file cluster in - let prop = Wpo.GOAL.compute_proof goal in - let title = Pretty_utils.to_string WpPropId.pretty pid in - Command.print_file file (assemble_goal ~theory:"VC" ~id ?axioms ~title prop) ; - [dir] , { file ; theory = "VC" ; goal = why3_goal_name } - -let assemble_check vck = - let module Check = Wpo.VC_Check in - let id = Printf.sprintf "Qed-%d-%d" - (Lang.F.QED.id vck.Check.qed) (Lang.F.QED.id vck.Check.raw) in - let goal = cluster ~id () in - let file = cluster_file goal in - Command.print_file file - (assemble_goal ~title:"Qed Check" ~id ~theory:"Check" vck.Check.goal) ; - let dir = Model.directory () in - [dir], { file ; theory = "Check" ; goal = why3_goal_name } - -let assemble_goal wpo = - match wpo.Wpo.po_formula with - | Wpo.GoalCheck vck -> - Some (Model.with_model wpo.Wpo.po_model assemble_check vck) - | Wpo.GoalAnnot vcq -> - let goal = - Model.with_model wpo.Wpo.po_model - Wpo.GOAL.compute_proof vcq.Wpo.VC_Annot.goal in - if goal == Lang.F.p_true then (** The wpo is trivial *) None +let time_fits time = function + | None | Some 0 -> true + | Some limit -> time <= float limit + +let steps_fits steps = function + | None | Some 0 -> true + | Some limit -> steps <= limit + +let time_seized time = function + | None | Some 0 -> false + | Some limit -> float limit <= time + +let steps_seized steps steplimit = + steps <> 0 && + match steplimit with + | None | Some 0 -> false + | Some limit -> limit <= steps + +let promote ~timeout ~steplimit (res : VCS.result) = + match res.verdict with + | VCS.NoResult | VCS.Computing _ | VCS.Checked -> VCS.no_result + | VCS.Failed -> res + | VCS.Invalid | VCS.Valid | VCS.Unknown -> + if not (steps_fits res.prover_steps steplimit) then + { res with verdict = Stepout } else - if WpPropId.is_tactic wpo.Wpo.po_pid then - Some (Model.with_model wpo.Wpo.po_model (assemble_tactic wpo) vcq) + if not (time_fits res.prover_time timeout) then + { res with verdict = Timeout } + else res + | VCS.Timeout | VCS.Stepout -> + if steps_seized res.prover_steps steplimit then + { res with verdict = Stepout } else - Some (Model.with_model wpo.Wpo.po_model assemble_wpo wpo) - | Wpo.GoalLemma _ -> - Some (Model.with_model wpo.Wpo.po_model assemble_wpo wpo) + if time_seized res.prover_time timeout then + { res with verdict = Timeout } + else (* can be run a longer time or widely *) + VCS.no_result + +let get_cache_result ~mode hash = + match mode with + | NoCache | Rebuild -> VCS.no_result + | Update | Cleanup | Replay | Offline -> + let dir = Wp_parameters.get_session_dir "cache" in + let hash = Lazy.force hash in + let file = Printf.sprintf "%s/%s.json" dir hash in + if not (Sys.file_exists file) then VCS.no_result + else + try + mark_cache ~mode hash ; + Json.load_file file |> ProofScript.result_of_json + with err -> + Wp_parameters.failure ~once:true "invalid cache entry (%s)" + (Printexc.to_string err) ; + VCS.no_result + +let set_cache_result ~mode hash prover result = + match mode with + | NoCache | Replay | Offline -> () + | Rebuild | Update | Cleanup -> + let dir = Wp_parameters.get_session_dir "cache" in + let hash = Lazy.force hash in + let file = Printf.sprintf "%s/%s.json" dir hash in + try + mark_cache ~mode hash ; + ProofScript.json_of_result (VCS.Why3 prover) result + |> Json.save_file file + with err -> + Wp_parameters.failure ~once:true "can not update cache (%s)" + (Printexc.to_string err) + +let is_trivial (t : Why3.Task.task) = + let goal = Why3.Task.task_goal_fmla t in + Why3.Term.t_equal goal Why3.Term.t_true (* -------------------------------------------------------------------------- *) -(* --- Running Why3 --- *) +(* --- Prove WPO --- *) (* -------------------------------------------------------------------------- *) -open ProverTask - -let p_goal = ".* [a-zA-Z0-9_]+: " -let p_valid = p_goal ^ "Valid (" ^ p_float ^ "s\\(,[^)]*\\)?)" -let p_limit = p_goal ^ "Timeout" -let p_error = "File " ^ p_string ^ ", line " ^ p_int ^ ", characters " - ^ p_int ^ "-" ^ p_int ^ ":\nsyntax error" - -let re_valid = Str.regexp p_valid -let re_limit = Str.regexp p_limit -let re_error = Str.regexp p_error - -type error = - | Error_No - | Error_Generated of Lexing.position * string - -class why3 ~timeout ~prover ~pid ~file ~includes ~logout ~logerr = - object(why) - - initializer ignore pid - - inherit ProverTask.command (Wp_parameters.Why3.get ()) - - val mutable files = [] - val mutable error = Error_No - val mutable valid = false - val mutable limit = false - val mutable time = 0.0 - - method private time t = time <- t - - method private error (a : pattern) = - let lpos = ProverTask.location (a#get_string 1) (a#get_int 2) in - error <- Error_Generated ( lpos , "why3 " ^ a#get_after ~offset:1 4 ) - - method private valid (a : pattern) = - begin - valid <- true ; - time <- a#get_float 1 ; - end - - method private limit (_a : pattern) = - begin - limit <- true ; - end - - method result r = - let why3_cmd = (Wp_parameters.Why3.get ()) in - if r = 127 - then VCS.kfailed "Command '%s' not found" why3_cmd - else - match error with - | Error_Generated(pos,message) -> - let source = Cil_datatype.Position.of_lexing_pos pos in - Wp_parameters.error ~source "%s" message ; - VCS.failed ~pos message - | Error_No -> - if r = 0 || r = 1 then - let verdict = - if valid then VCS.Valid else - if limit then VCS.Timeout else - VCS.Unknown in - VCS.result ~time verdict - else - begin - if Wp_parameters.verbose_atleast 1 then +let prove ?timeout ?steplimit ~prover wpo = + try + WpContext.on_context (Wpo.get_context wpo) + begin fun () -> + (* Always generate common task *) + let task = task_of_wpo wpo in + if Wp_parameters.Check.get () + then Task.return VCS.checked (* Why3 tasks are type-checked *) + else + if Wp_parameters.Generate.get () + then Task.return VCS.no_result (* Only generate *) + else + let drv , config , task = prover_task prover task in + if false && is_trivial task then + Task.return VCS.valid + else + let mode = get_mode () in + match mode with + | NoCache -> + call_prover ~timeout ~steplimit drv prover config task + | Offline -> + let hash = task_hash wpo drv prover task in + let result = get_cache_result ~mode hash |> VCS.cached in + if VCS.is_verdict result then incr hits else incr miss ; + Task.return result + | Update | Replay | Rebuild | Cleanup -> + let hash = task_hash wpo drv prover task in + let result = + get_cache_result ~mode hash + |> promote ~timeout ~steplimit |> VCS.cached in + if VCS.is_verdict result + then begin - ProverTask.pp_file ~message:"Why3 (stdout)" ~file:logout ; - ProverTask.pp_file ~message:"Why3 (stderr)" ~file:logerr ; - end ; - VCS.kfailed "Why3 exits with status %d." r - end - - method prove = - why#add [ "prove" ] ; - if Wp_parameters.Check.get () then why#add ["--type-only"] ; - let time = ProverTask.timeout timeout in - why#add ["--extra-config"; Wp_parameters.Share.file "why3/why3.conf"]; - why#add (Wp_parameters.WhyFlags.get ()) ; - why#add [ file.file ] ; - why#add ["-P";Why3.Whyconf.prover_parseable_format prover]; - why#add ["-T";file.theory]; - why#add ["-G";file.goal]; - why#add_positive ~name:"-t" ~value:time ; - if Wp_parameters.ProofTrace.get () then - (* [VP] This also keeps temp files. To be changed with FB's new option - when it is implemented. *) - why#add ["--debug"; "call_prover"]; - why#timeout time ; - why#add_list ~name:"-L" includes; - why#add ["-L";Wp_parameters.Share.file "why3"]; - why#validate_time why#time ; - (* The order is important. Warning are detected as error - which they are not. *) - why#validate_pattern ~logs:`OUT re_limit why#limit ; - why#validate_pattern ~logs:`ERR re_error why#error ; - why#validate_pattern ~logs:`OUT re_valid why#valid ; - why#run ~logout ~logerr - - end - -open VCS -open Wpo -open Task - -let prove_file ~timeout ~prover ~pid ~file ~includes ~logout ~logerr = - let why = new why3 ~timeout ~prover ~pid ~file ~includes ~logout ~logerr in - why#prove () >>> function - | Task.Timeout t -> Task.return (VCS.timeout t) - | Task.Result r -> Task.call why#result r - | st -> Task.status (Task.map (fun _ -> assert false) st) - -let prove_prop ~timeout ~prover ~wpo = - match assemble_goal wpo with - | None -> Task.return VCS.no_result - | Some (includes,file) -> - Wp_parameters.print_generated file.file; - if Wp_parameters.Generate.get () - then Task.return VCS.no_result - else - let model = wpo.po_model in - let pid = wpo.Wpo.po_pid in - let logout = DISK.file_logout ~pid ~model ~prover:(Why3 prover) in - let logerr = DISK.file_logerr ~pid ~model ~prover:(Why3 prover) in - prove_file ~timeout ~prover ~pid ~file ~includes ~logout ~logerr - -let prove ?timeout ~prover wpo = - Task.todo (fun () -> prove_prop ~timeout ~wpo ~prover) + incr hits ; + Task.return result + end + else + begin + incr miss ; + Task.finally + (call_prover ~timeout ~steplimit drv prover config task) + (function + | Task.Result result when VCS.is_verdict result -> + set_cache_result ~mode hash prover result + | _ -> ()) + end + end () + with exn -> + let bt = Printexc.get_raw_backtrace () in + Wp_parameters.fatal "Error in why3:%a@.%s@." + Why3.Exn_printer.exn_printer exn + (Printexc.raw_backtrace_to_string bt) -(* ------------------------------------------------------------------------- *) +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/wp/ProverWhy3.mli b/src/plugins/wp/ProverWhy3.mli index fdd9bd567f98defc6a7499b6458cad575f783211..e107c669a1514fc99be25823adee3dc9c7eaf2c6 100644 --- a/src/plugins/wp/ProverWhy3.mli +++ b/src/plugins/wp/ProverWhy3.mli @@ -20,40 +20,22 @@ (* *) (**************************************************************************) -open Task -open VCS +val add_specific_equality: + for_tau:(Lang.tau -> bool) -> + mk_new_eq:Lang.F.binop -> + unit +(** Equality used in the goal, simpler to prove than polymorphic equality *) -(* -------------------------------------------------------------------------- *) -(* --- Why3 Multi-Theorem Prover --- *) -(* -------------------------------------------------------------------------- *) +val prove : ?timeout:int -> ?steplimit:int -> prover:Why3Provers.t -> + Wpo.t -> VCS.result Task.task +(** Return NoResult if it is already proved by Qed *) -type goal = - { - file : string; - theory : string; - goal : string; - } +type mode = NoCache | Update | Replay | Rebuild | Offline | Cleanup +val get_mode : unit -> mode +val get_hits : unit -> int +val get_miss : unit -> int +val get_removed : unit -> int -val assemble_goal: Wpo.t -> (string list (* includes *) * goal) option -(** None if the po is trivial *) +val cleanup_cache : mode:mode -> unit -val prove : ?timeout:int -> prover:Why3.Whyconf.prover -> Wpo.t -> result task -(** The string must be a valid why3 prover identifier - Return NoResult if it is already proved by Qed -*) -(* -------------------------------------------------------------------------- *) -(* --- Why3 Multi-Theorem Prover --- *) -(* -------------------------------------------------------------------------- *) - -module Goal : -sig - type t = goal - val compare : t -> t -> int - val pretty : Format.formatter -> t -> unit -end - - -val option_file: LogicBuiltins.doption -val option_import: LogicBuiltins.doption - -(* -------------------------------------------------------------------------- *) +(**************************************************************************) diff --git a/src/plugins/wp/ProverWhy3ide.ml b/src/plugins/wp/ProverWhy3ide.ml deleted file mode 100644 index 41f351e761e9a7cc7669b1c44bef71e37652d6ee..0000000000000000000000000000000000000000 --- a/src/plugins/wp/ProverWhy3ide.ml +++ /dev/null @@ -1,218 +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 Task - -(* -------------------------------------------------------------------------- *) -(* --- Prover Why3 IDE Interface --- *) -(* -------------------------------------------------------------------------- *) - -class why3ide ~includes ~files ~session = - object(why) - - inherit ProverTask.command "why3" - - method start () = - why#add [ "ide" ] ; - why#add ["--extra-config"; Wp_parameters.Share.file "why3/why3.conf"]; - why#add (Wp_parameters.WhyFlags.get ()) ; - why#add_list ~name:"-L" includes; - why#add ["-L";Wp_parameters.Share.file "why3"]; - why#add [session]; - why#add files; - why#run ~echo:true () - - end - -let run ~includes ~files ~session = - List.iter Wp_parameters.print_generated files; - if Wp_parameters.Generate.get () - then Task.return false - else - let why = new why3ide ~includes ~files ~session in - Task.todo why#start >>= fun s -> Task.return (s=0) - -(* -------------------------------------------------------------------------- *) -(* --- Why-3 IDE Session --- *) -(* -------------------------------------------------------------------------- *) - -module Files = Set.Make(String) -module Goals = Map.Make(ProverWhy3.Goal) -module Xml = Why3_xml - -type env = { - mutable files : Files.t ; - mutable includes : Files.t ; - mutable goals : Wpo.t Goals.t ; - mutable provers : (string * VCS.prover) list ; - session : string ; (* session directory *) - callback : Wpo.t -> VCS.prover -> VCS.result -> unit ; -} - -let add env wpo = - match ProverWhy3.assemble_goal wpo with - | None -> () - | Some (includes,goal) -> - let open ProverWhy3 in - begin - env.includes <- List.fold_right Files.add includes env.includes ; - env.files <- Files.add goal.file env.files ; - env.goals <- Goals.add goal wpo env.goals ; - end - -let parse_prover env e = - let open Xml in - try - let id = List.assoc "id" e.attributes in - let name = List.assoc "name" e.attributes in - let version = List.assoc "version" e.attributes in - let prover = VCS.Why3 { - Why3.Whyconf.prover_name = name; - Why3.Whyconf.prover_version = version; - Why3.Whyconf.prover_altern = ""; - } - in - env.provers <- (id , prover) :: env.provers - with Not_found -> - Wp_parameters.warning "[why3] Skipped %a" Xml.pretty e - -let parse_result env wpo vcs e = - let open Xml in - try - match e.name with - | "result" -> - let time = - try Some(float_of_string(List.assoc "time" e.attributes)) - with _ -> None in - let steps = - try Some(int_of_string(List.assoc "steps" e.attributes)) - with _ -> None in - let verdict = - match List.assoc "status" e.attributes with - | "valid" -> VCS.Valid - | "unknown" -> VCS.Unknown - | "timeout" -> VCS.Timeout - | _ -> VCS.Unknown in - let result = VCS.result ?time ?steps verdict in - env.callback wpo vcs result - | _ -> () - with Not_found -> - Wp_parameters.warning "[why3] Skipped %a" Xml.pretty e - -let parse_goal env wpo e = - let open Xml in - try - match e.name with - | "proof" -> - let pid = List.assoc "prover" e.attributes in - let vcs = List.assoc pid env.provers in - List.iter (parse_result env wpo vcs) e.elements - | _ -> () - with Not_found -> - Wp_parameters.warning "[why3] Skipped %a" Xml.pretty e - -let parse_theory env file theory e = - let open Xml in - try - match e.name with - | "goal" -> - let goal = List.assoc "name" e.attributes in - let gid = { ProverWhy3.file ; theory ; goal } in - let wpo = Goals.find gid env.goals in - List.iter (parse_goal env wpo) e.elements - | _ -> () - with Not_found -> - Wp_parameters.warning "[why3] Skipped %a" Xml.pretty e - -let parse_file env file e = - let open Xml in - try - match e.name with - | "theory" -> - let thy = List.assoc "name" e.attributes in - List.iter (parse_theory env file thy) e.elements - | _ -> () - with Not_found -> - Wp_parameters.warning "[why3] Skipped %a" Xml.pretty e - - -let parse_session env e = - let open Xml in - try - match e.name with - | "prover" -> parse_prover env e - | "file" -> - begin - let file = List.assoc "name" e.attributes in - let path = Filepath.normalize ~base_name:env.session file in - let file = Filepath.relativize path in - List.iter (parse_file env file) e.elements - end - | _ -> () - with Not_found -> - Wp_parameters.warning "[why3] Skipped %a" Xml.pretty e - -let parse env xml = - let open Xml in - let root = xml.content.name in - if root <> "why3session" then - Wp_parameters.warning - "Don't find why3 session root element (found %S)" root ; - List.iter (parse_session env) xml.content.elements - -(* -------------------------------------------------------------------------- *) -(* --- Running Why-3 IDE on a selection of goals --- *) -(* -------------------------------------------------------------------------- *) - -let register callback wpo vcs result = - Wpo.set_result wpo vcs result ; - match callback with - | None -> () - | Some f -> f wpo vcs result - -let prove ?callback ~iter = - let output = Wp_parameters.get_output () in - let session = output ^ "/project.session" in - let env = { - files = Files.empty ; - includes = Files.empty ; - goals = Goals.empty ; - provers = [] ; session ; - callback = register callback ; - } in - let () = iter (add env) in - let includes = Files.elements env.includes in - let files = Files.elements env.files in - if files = [] then Task.nop else - run ~includes ~files ~session >>= - begin fun ok -> - if ok then - begin - let file = session ^ "/why3session.xml" in - if Sys.file_exists file then - let xml = Why3_xml.from_file file in - parse env xml - else - Wp_parameters.result "[why3] empty session" - end ; - Task.return () - end diff --git a/src/plugins/wp/Sigs.ml b/src/plugins/wp/Sigs.ml index add077d6028c831d4b49aa359e8c4c37c162b0e4..9626908c66c8901490dc7e57c60b18153c9f0773 100644 --- a/src/plugins/wp/Sigs.ml +++ b/src/plugins/wp/Sigs.ml @@ -277,7 +277,7 @@ sig (** {2 Model Definition} *) - val configure : Model.tuning + val configure : WpContext.tuning (** Initializers to be run before using the model. Typically sets {!Context} values. *) diff --git a/src/plugins/wp/TacLemma.ml b/src/plugins/wp/TacLemma.ml index 25c018cb37beb7307df465f618bae90e8ec4de3f..343dbe4ffb0a2d90ae354604162b821c96e81ba4 100644 --- a/src/plugins/wp/TacLemma.ml +++ b/src/plugins/wp/TacLemma.ml @@ -62,7 +62,7 @@ class browser ?on_cluster f cluster = end let browse f s = - if Model.is_model_defined () then + if WpContext.is_defined () then begin let main = Definitions.cluster ~id:"browser" () in let visitor = new browser f main in diff --git a/src/plugins/wp/VC.ml b/src/plugins/wp/VC.ml index eb42ed0d9e5fdadf978ca356b6884831224686ee..eed3642e3f00269f91036d8c5abf4f3e67e930cc 100644 --- a/src/plugins/wp/VC.ml +++ b/src/plugins/wp/VC.ml @@ -30,6 +30,8 @@ type t = Wpo.t let get_id = Wpo.get_gid let get_model = Wpo.get_model +let get_scope = Wpo.get_scope +let get_context = Wpo.get_context let get_description = Wpo.get_label let get_property = Wpo.get_property let get_sequent w = snd (Wpo.compute w) @@ -42,10 +44,9 @@ let is_proved = Wpo.is_proved let get_formula po = match po.po_formula with - | GoalCheck c -> c.VC_Check.goal | GoalLemma l -> l.VC_Lemma.lemma.Definitions.l_lemma | GoalAnnot { VC_Annot.goal = g } -> - Model.with_model po.po_model Wpo.GOAL.compute_proof g + WpContext.on_context (get_context po) Wpo.GOAL.compute_proof g let clear = Wpo.clear let proof = Wpo.goals_of_property diff --git a/src/plugins/wp/VC.mli b/src/plugins/wp/VC.mli index dc66384d1e015e323db4342fd4da7eb3c3642a99..eb916875fb6b2123a2790410784a9a9a7a493ae4 100644 --- a/src/plugins/wp/VC.mli +++ b/src/plugins/wp/VC.mli @@ -31,7 +31,9 @@ open VCS type t (** elementary proof obligation *) val get_id : t -> string -val get_model : t -> Model.t +val get_model : t -> WpContext.model +val get_scope : t -> WpContext.scope +val get_context : t -> WpContext.context val get_description : t -> string val get_property : t -> Property.t val get_result : t -> prover -> result diff --git a/src/plugins/wp/VCS.ml b/src/plugins/wp/VCS.ml index 637c3bdd523d4e41c4fa985f21aae1c83059ccf3..adeabe58e0df3e40b73e6b6169db14ecca0ab92d 100644 --- a/src/plugins/wp/VCS.ml +++ b/src/plugins/wp/VCS.ml @@ -21,81 +21,17 @@ (**************************************************************************) (* -------------------------------------------------------------------------- *) -(* --- Provers --- *) +(* --- Prover Results --- *) (* -------------------------------------------------------------------------- *) let dkey_no_time_info = Wp_parameters.register_category "no-time-info" let dkey_no_step_info = Wp_parameters.register_category "no-step-info" let dkey_no_goals_info = Wp_parameters.register_category "no-goals-info" +let dkey_no_cache_info = Wp_parameters.register_category "no-cache-info" let dkey_success_only = Wp_parameters.register_category "success-only" -let why3_config = - lazy begin - try - Why3.Whyconf.read_config None - with exn -> - Wp_parameters.abort "%a" Why3.Exn_printer.exn_printer exn - end - -module Why3_prover = struct - type t = Why3.Whyconf.prover - - let find_opt : string -> t option = fun s -> - try - let config = Lazy.force why3_config in - let filter = Why3.Whyconf.parse_filter_prover s in - let filter = Why3.Whyconf.filter_prover_with_shortcut config filter in - Some ((Why3.Whyconf.filter_one_prover config filter).Why3.Whyconf.prover) - with - | (Why3.Whyconf.ProverNotFound _ | Why3.Whyconf.ParseFilterProver _ | Why3.Whyconf.ProverAmbiguity _ ) -> - None - - let find : ?donotfail:unit -> string -> t = fun ?donotfail s -> - try - try - let config = Lazy.force why3_config in - let filter = Why3.Whyconf.parse_filter_prover s in - let filter = Why3.Whyconf.filter_prover_with_shortcut config filter in - (Why3.Whyconf.filter_one_prover config filter).Why3.Whyconf.prover - with - | Why3.Whyconf.ProverNotFound _ as exn when donotfail <> None -> - Wp_parameters.warning ~once:true "%a" Why3.Exn_printer.exn_printer exn; - (** from Why3.Whyconf.parse_filter_prover *) - let sl = Why3.Strings.rev_split ',' s in - (* reverse order *) - let prover_name, prover_version, prover_altern = - match sl with - | [name] -> name,"","" - | [version;name] -> name,version,"" - | [altern;version;name] -> name,version,altern - | _ -> raise (Why3.Whyconf.ParseFilterProver s) in - { Why3.Whyconf.prover_name; Why3.Whyconf.prover_version; Why3.Whyconf.prover_altern } - with - | (Why3.Whyconf.ProverNotFound _ | Why3.Whyconf.ParseFilterProver _ | Why3.Whyconf.ProverAmbiguity _ ) as exn -> - Wp_parameters.abort "%a" Why3.Exn_printer.exn_printer exn - - let print : t -> string = Why3.Whyconf.prover_parseable_format - let title : t -> string = fun p -> Pretty_utils.sfprintf "%a" Why3.Whyconf.print_prover p - let compare : t -> t -> int = Why3.Whyconf.Prover.compare - let get_config () : Why3.Whyconf.config = (Lazy.force why3_config) - let provers () : t list = - Why3.Whyconf.Mprover.keys (Why3.Whyconf.get_provers (get_config ())) - let provers_set () : Why3.Whyconf.Sprover.t = - Why3.Whyconf.Mprover.domain (Why3.Whyconf.get_provers (get_config ())) - let is_available p = - Why3.Whyconf.Mprover.mem p (Why3.Whyconf.get_provers (get_config ())) - - let has_shortcut p s = - match Why3.Wstdlib.Mstr.find_opt s - (Why3.Whyconf.get_prover_shortcuts (get_config ())) with - | None -> false - | Some p' -> Why3.Whyconf.Prover.equal p p' - -end - type prover = - | Why3 of Why3_prover.t (* Prover via WHY *) - (* | Why3ide *) + | Why3 of Why3Provers.t (* Prover via WHY *) | NativeAltErgo (* Direct Alt-Ergo *) | NativeCoq (* Direct Coq and Coqide *) | Qed (* Qed Solver *) @@ -114,34 +50,34 @@ type language = let prover_of_name = function | "" | "none" -> None | "qed" | "Qed" -> Some Qed - | "coq" | "coqide" -> Some NativeCoq - | "alt-ergo" | "altgr-ergo" -> Some (Why3 (Why3_prover.find "alt-ergo")) - | "native:alt-ergo" | "native:altgr-ergo" -> Some NativeAltErgo - | "native:coq" | "native:coqide" -> Some NativeCoq + | "alt-ergo" | "altgr-ergo" -> Some (Why3 (Why3Provers.find "alt-ergo")) + | "native-alt-ergo" | "native-altgr-ergo" + | "native:alt-ergo" | "native:altgr-ergo" + -> Some NativeAltErgo + | "coq" | "coqide" + | "native-coq" | "native-coqide" + | "native:coq" | "native:coqide" + -> Some NativeCoq | "script" -> Some Tactical | "tip" -> Some Tactical - (* | "why3ide" -> Some Why3ide *) | "why3" -> Some (Why3 { Why3.Whyconf.prover_name = "why3"; Why3.Whyconf.prover_version = ""; Why3.Whyconf.prover_altern = "generate only" }) | s -> match Extlib.string_del_prefix "why3:" s with | Some "" -> None - (* | Some "ide" -> Some Why3ide *) - | Some s' -> Some (Why3 (Why3_prover.find s')) - | None -> Some (Why3 (Why3_prover.find s)) + | Some s' -> Some (Why3 (Why3Provers.find s')) + | None -> Some (Why3 (Why3Provers.find s)) let name_of_prover = function - (* | Why3ide -> "why3ide" *) - | Why3 s -> "why3:" ^ (Why3_prover.print s) + | Why3 s -> "why3:" ^ (Why3Provers.print s) | NativeAltErgo -> "alt-ergo" | NativeCoq -> "coq" | Qed -> "qed" | Tactical -> "script" let title_of_prover = function - (* | Why3ide -> "Why3" *) - | Why3 s -> (Why3_prover.title s) + | Why3 s -> Why3Provers.title s | NativeAltErgo -> "Alt-Ergo" | NativeCoq -> "Coq" | Qed -> "Qed" @@ -167,8 +103,7 @@ let sanitize_why3 s = Buffer.contents buffer let filename_for_prover = function - | Why3 s -> sanitize_why3 (Why3_prover.print s) - (* | Why3ide -> "Why3_ide" *) + | Why3 s -> sanitize_why3 (Why3Provers.print s) | NativeAltErgo -> "Alt-Ergo" | NativeCoq -> "Coq" | Qed -> "Qed" @@ -176,7 +111,6 @@ let filename_for_prover = function let language_of_prover = function | Why3 _ -> L_why3 - (* | Why3ide -> L_why3 *) | NativeCoq -> L_coq | NativeAltErgo -> L_altergo | Qed | Tactical -> L_why3 @@ -189,7 +123,8 @@ let language_of_prover_name = function let mode_of_prover_name = function | "coqedit" -> EditMode - | "coqide" | "altgr-ergo" | "tactical" -> FixMode + | "coqide" | "native-coqide" | "native:coqide" + | "altgr-ergo" | "tactical" -> FixMode | _ -> BatchMode let is_auto = function @@ -210,16 +145,16 @@ let cmp_prover p q = | NativeCoq , NativeCoq -> 0 | NativeCoq , _ -> (-1) | _ , NativeCoq -> 1 - | Why3 p , Why3 q -> Why3_prover.compare p q + | Why3 p , Why3 q -> Why3Provers.compare p q let pp_prover fmt = function | NativeAltErgo -> Format.pp_print_string fmt "Alt-Ergo (Native)" | NativeCoq -> Format.pp_print_string fmt "Coq (Native)" | Why3 smt -> if Wp_parameters.debug_atleast 1 then - Format.fprintf fmt "Why:%s" (Why3_prover.print smt) + Format.fprintf fmt "Why:%s" (Why3Provers.print smt) else - Format.pp_print_string fmt (Why3_prover.title smt) + Format.pp_print_string fmt (Why3Provers.title smt) | Qed -> Format.fprintf fmt "Qed" | Tactical -> Format.pp_print_string fmt "Tactical" @@ -242,7 +177,6 @@ type config = { valid : bool ; timeout : int option ; stepout : int option ; - depth : int option ; } let param f = let v = f() in if v>0 then Some v else None @@ -251,10 +185,9 @@ let current () = { valid = false ; timeout = param Wp_parameters.Timeout.get ; stepout = param Wp_parameters.Steps.get ; - depth = param Wp_parameters.Depth.get ; } -let default = { valid = false ; timeout = None ; stepout = None ; depth = None } +let default = { valid = false ; timeout = None ; stepout = None } let get_timeout = function | { timeout = None } -> Wp_parameters.Timeout.get () @@ -264,10 +197,6 @@ let get_stepout = function | { stepout = None } -> Wp_parameters.Steps.get () | { stepout = Some t } -> t -let get_depth = function - | { depth = None } -> Wp_parameters.Depth.get () - | { depth = Some t } -> t - (* -------------------------------------------------------------------------- *) (* --- Results --- *) (* -------------------------------------------------------------------------- *) @@ -285,10 +214,10 @@ type verdict = type result = { verdict : verdict ; + cached : bool ; solver_time : float ; prover_time : float ; prover_steps : int ; - prover_depth : int ; prover_errpos : Lexing.position option ; prover_errmsg : string ; } @@ -312,17 +241,13 @@ let configure r = let stepout = if r.prover_steps > 0 && r.prover_time <= 0.0 then let stepout = Wp_parameters.Steps.get () in - let margin = 1000 + r.prover_depth in + let margin = 1000 in Some(max stepout margin) else None in - let depth = - if r.prover_depth > 0 then Some r.prover_depth else None - in { valid ; timeout ; stepout ; - depth ; } let time_fits t = @@ -337,23 +262,17 @@ let step_fits n = let stepout = Wp_parameters.Steps.get () in stepout = 0 || n < stepout -let depth_fits n = - n = 0 || - let depth = Wp_parameters.Depth.get () in - depth = 0 || n < depth - let autofit r = time_fits r.prover_time && - step_fits r.prover_steps && - depth_fits r.prover_depth + step_fits r.prover_steps -let result ?(solver=0.0) ?(time=0.0) ?(steps=0) ?(depth=0) verdict = +let result ?(cached=false) ?(solver=0.0) ?(time=0.0) ?(steps=0) verdict = { verdict ; + cached = cached ; solver_time = solver ; prover_time = time ; prover_steps = steps ; - prover_depth = depth ; prover_errpos = None ; prover_errmsg = "" ; } @@ -364,18 +283,20 @@ let checked = result Checked let invalid = result Invalid let unknown = result Unknown let timeout t = result ~time:(float t) Timeout -let stepout = result Stepout +let stepout n = result ~steps:n Stepout let computing kill = result (Computing kill) let failed ?pos msg = { verdict = Failed ; + cached = false ; solver_time = 0.0 ; prover_time = 0.0 ; prover_steps = 0 ; - prover_depth = 0 ; prover_errpos = pos ; prover_errmsg = msg ; } +let cached r = if is_verdict r then { r with cached=true } else r + let kfailed ?pos msg = Pretty_utils.ksfprintf (failed ?pos) msg let perfo extended dkey = extended || not (Wp_parameters.has_dkey dkey) @@ -390,15 +311,17 @@ let pp_perf ~extended fmt r = then Format.fprintf fmt " (%a)" Rformat.pp_time t ; let s = r.prover_steps in if s > 0 && perfo extended dkey_no_step_info - then Format.fprintf fmt " (%d)" s + then Format.fprintf fmt " (%d)" s ; + if r.cached && perfo extended dkey_no_cache_info + then Format.fprintf fmt " (cached)" ; end let pp_res ~extended fmt r = match r.verdict with | NoResult -> Format.pp_print_string fmt (if extended then "No Result" else "-") - | Invalid -> Format.pp_print_string fmt "Invalid" | Computing _ -> Format.pp_print_string fmt "Computing" | Checked -> Format.fprintf fmt "Typechecked" + | Invalid -> Format.pp_print_string fmt "Invalid" | Valid when Wp_parameters.has_dkey dkey_success_only -> Format.pp_print_string fmt "Valid" | (Timeout|Stepout|Unknown) when Wp_parameters.has_dkey dkey_success_only -> @@ -443,10 +366,10 @@ let merge r1 r2 = let err = if r1.prover_errmsg <> "" then r1 else r2 in { verdict = combine r1.verdict r2.verdict ; + cached = r1.cached && r2.cached ; solver_time = max r1.solver_time r2.solver_time ; prover_time = max r1.prover_time r2.prover_time ; prover_steps = max r1.prover_steps r2.prover_steps ; - prover_depth = max r1.prover_depth r2.prover_depth ; prover_errpos = err.prover_errpos ; prover_errmsg = err.prover_errmsg ; } diff --git a/src/plugins/wp/VCS.mli b/src/plugins/wp/VCS.mli index 2b696a3a725c937a51b9a766415c0ee08e580d2b..873c4c621140519c1278ce5a85ebc936b9c3a5e4 100644 --- a/src/plugins/wp/VCS.mli +++ b/src/plugins/wp/VCS.mli @@ -26,37 +26,8 @@ (** {2 Prover} *) -module Why3_prover: sig - type t = Why3.Whyconf.prover - - val find: ?donotfail:unit -> string -> t - (** Find the why3 prover with the given name. - If it can't be found and donotfail is chosen, a - prover with the given name and version is used instead - Raises exception when the string doesn't corresponds to a prover filter - *) - - val find_opt: string -> t option - (** Try to find the why3 prover with the given name. *) - - val provers : unit -> t list - val provers_set: unit -> Why3.Whyconf.Sprover.t - - val print : t -> string - val title : t -> string - - val compare : t -> t -> int - - val has_shortcut : t -> string -> bool - (** check if a prover has a given shortcut *) - - val get_config: unit -> Why3.Whyconf.config - - val is_available : t -> bool -end - type prover = - | Why3 of Why3_prover.t (* Prover via WHY *) + | Why3 of Why3Provers.t (* Prover via WHY *) | NativeAltErgo (* Direct Alt-Ergo *) | NativeCoq (* Direct Coq and Coqide *) | Qed (* Qed Solver *) @@ -100,16 +71,13 @@ type config = { valid : bool ; timeout : int option ; stepout : int option ; - depth : int option ; } - val current : unit -> config (** Current parameters *) val default : config (** all None *) val get_timeout : config -> int (** 0 means no-timeout *) val get_stepout : config -> int (** 0 means no-stepout *) -val get_depth : config -> int (** 0 means prover default *) (** {2 Results} *) @@ -126,10 +94,10 @@ type verdict = type result = { verdict : verdict ; + cached : bool ; solver_time : float ; prover_time : float ; prover_steps : int ; - prover_depth : int ; prover_errpos : Lexing.position option ; prover_errmsg : string ; } @@ -139,12 +107,14 @@ val valid : result val checked : result val invalid : result val unknown : result -val stepout : result +val stepout : int -> result val timeout : int -> result val computing : (unit -> unit) -> result val failed : ?pos:Lexing.position -> string -> result val kfailed : ?pos:Lexing.position -> ('a,Format.formatter,unit,result) format4 -> 'a -val result : ?solver:float -> ?time:float -> ?steps:int -> ?depth:int -> verdict -> result +val cached : result -> result (** only for true verdicts *) + +val result : ?cached:bool -> ?solver:float -> ?time:float -> ?steps:int -> verdict -> result val is_auto : prover -> bool val is_verdict : result -> bool @@ -163,8 +133,5 @@ val best : result list -> result val dkey_no_time_info: Wp_parameters.category val dkey_no_step_info: Wp_parameters.category val dkey_no_goals_info: Wp_parameters.category +val dkey_no_cache_info: Wp_parameters.category val dkey_success_only: Wp_parameters.category - -(** {2 Why3} *) - -val why3_config: Why3.Whyconf.config Lazy.t diff --git a/src/plugins/wp/Why3Provers.ml b/src/plugins/wp/Why3Provers.ml new file mode 100644 index 0000000000000000000000000000000000000000..1bb6c8bd1834057ffb792bfb0ba0a0f1d03cf659 --- /dev/null +++ b/src/plugins/wp/Why3Provers.ml @@ -0,0 +1,114 @@ +(**************************************************************************) +(* *) +(* 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). *) +(* *) +(**************************************************************************) + +(* -------------------------------------------------------------------------- *) +(* --- Why3 Config & Provers --- *) +(* -------------------------------------------------------------------------- *) + +let cfg = lazy + begin + try + Why3.Whyconf.read_config None + with exn -> + Wp_parameters.abort "%a" Why3.Exn_printer.exn_printer exn + end + +let version = Why3.Config.version +let config () = Lazy.force cfg + +let configure = + let todo = ref true in + begin fun () -> + if !todo then + begin + let args = Array.of_list ("why3"::Wp_parameters.WhyFlags.get ()) in + begin try + Arg.parse_argv ~current:(ref 0) args + (Why3.Debug.Args.[desc_debug;desc_debug_all;desc_debug_list]) + (fun _ -> raise (Arg.Help "Unknown why3 option")) + "Why3 options" + with Arg.Bad s -> Wp_parameters.abort "%s" s + end; + ignore (Why3.Debug.Args.option_list ()); + Why3.Debug.Args.set_flags_selected (); + todo := false + end + end + +type t = Why3.Whyconf.prover + +let find_opt s = + try + let config = Lazy.force cfg in + let filter = Why3.Whyconf.parse_filter_prover s in + let filter = Why3.Whyconf.filter_prover_with_shortcut config filter in + Some ((Why3.Whyconf.filter_one_prover config filter).Why3.Whyconf.prover) + with + | Why3.Whyconf.ProverNotFound _ + | Why3.Whyconf.ParseFilterProver _ + | Why3.Whyconf.ProverAmbiguity _ -> + None + +let find ?donotfail s = + try + try + let config = Lazy.force cfg in + let filter = Why3.Whyconf.parse_filter_prover s in + let filter = Why3.Whyconf.filter_prover_with_shortcut config filter in + (Why3.Whyconf.filter_one_prover config filter).Why3.Whyconf.prover + with + | Why3.Whyconf.ProverNotFound _ as exn when donotfail <> None -> + Wp_parameters.warning ~once:true "%a" Why3.Exn_printer.exn_printer exn; + (** from Why3.Whyconf.parse_filter_prover *) + let sl = Why3.Strings.rev_split ',' s in + (* reverse order *) + let prover_name, prover_version, prover_altern = + match sl with + | [name] -> name,"","" + | [version;name] -> name,version,"" + | [altern;version;name] -> name,version,altern + | _ -> raise (Why3.Whyconf.ParseFilterProver s) in + { Why3.Whyconf.prover_name; Why3.Whyconf.prover_version; Why3.Whyconf.prover_altern } + with + | ( Why3.Whyconf.ProverNotFound _ + | Why3.Whyconf.ParseFilterProver _ + | Why3.Whyconf.ProverAmbiguity _ ) as exn -> + Wp_parameters.abort "%a" Why3.Exn_printer.exn_printer exn + +let print = Why3.Whyconf.prover_parseable_format +let title p = Pretty_utils.sfprintf "%a" Why3.Whyconf.print_prover p +let compare = Why3.Whyconf.Prover.compare + +let provers () = + Why3.Whyconf.Mprover.keys (Why3.Whyconf.get_provers (config ())) + +let provers_set () : Why3.Whyconf.Sprover.t = + Why3.Whyconf.Mprover.domain (Why3.Whyconf.get_provers (config ())) + +let is_available p = + Why3.Whyconf.Mprover.mem p (Why3.Whyconf.get_provers (config ())) + +let has_shortcut p s = + match Why3.Wstdlib.Mstr.find_opt s + (Why3.Whyconf.get_prover_shortcuts (config ())) with + | None -> false + | Some p' -> Why3.Whyconf.Prover.equal p p' diff --git a/src/plugins/wp/why3_api.mli b/src/plugins/wp/Why3Provers.mli similarity index 77% rename from src/plugins/wp/why3_api.mli rename to src/plugins/wp/Why3Provers.mli index 4325d11117e6c5920d61c9ebebf4bb594afa14f9..a68eeb567d8caab7089bd8d82af71bfbfb7c1a25 100644 --- a/src/plugins/wp/why3_api.mli +++ b/src/plugins/wp/Why3Provers.mli @@ -20,15 +20,22 @@ (* *) (**************************************************************************) -val add_specific_equality: - for_tau:(Lang.tau -> bool) -> - mk_new_eq:Lang.F.binop -> - unit -(** equality used in the goal, simpler to prove than polymorphic equality *) - val version : string +val config : unit -> Why3.Whyconf.config +val configure : unit -> unit + +type t = Why3.Whyconf.prover + +val find_opt : string -> t option +val find : ?donotfail:unit -> string -> t -val prove : ?timeout:int -> ?steplimit:int -> prover:VCS.Why3_prover.t -> Wpo.t -> VCS.result Task.task -(** Return NoResult if it is already proved by Qed *) +val print : t -> string +val title : t -> string +val compare : t -> t -> int -val parse_why3_options : unit -> unit +val provers : unit -> t list +val provers_set : unit -> Why3.Whyconf.Sprover.t +val is_available : t -> bool +val has_shortcut : t -> string -> bool + +(**************************************************************************) diff --git a/src/plugins/wp/cfgWP.ml b/src/plugins/wp/cfgWP.ml index 6da98d77028e36f9d22e28bb4a226b9d613ec92a..5f50a2b765e08572d52e8dae984122823859ea63 100644 --- a/src/plugins/wp/cfgWP.ml +++ b/src/plugins/wp/cfgWP.ml @@ -1264,7 +1264,7 @@ struct let make_oblig index pid vcq = { - po_model = Model.get_model () ; + po_model = WpContext.get_model () ; po_pid = pid ; po_sid = "" ; po_gid = "" ; @@ -1305,7 +1305,7 @@ struct Gmap.iter_sorted (fun target -> Splitter.iter (group_vc groups target)) wp.vcs ; - let model = Model.get_model () in + let model = WpContext.get_model () in PMAP.iter begin fun pid group -> let trivial_wpo = @@ -1315,7 +1315,7 @@ struct let provers_wpo = Bag.map (make_oblig index pid) group.verifs in - let mid = Model.get_id model in + let mid = WpContext.MODEL.id model in let group = if is_empty group.trivial then if Bag.is_empty provers_wpo @@ -1341,18 +1341,30 @@ struct end !groups - (* -------------------------------------------------------------------------- *) - (* --- WPO Lemmas --- *) - (* -------------------------------------------------------------------------- *) + let lemma = L.lemma + +end + +(* -------------------------------------------------------------------------- *) +(* --- WPO Computer --- *) +(* -------------------------------------------------------------------------- *) + +module KFmap = Kernel_function.Map - let compile_lemma l = ignore (L.lemma l) +module Computer(M : Sigs.Compiler) = +struct + + module VCG = VC(M) + module WP = Calculus.Cfg(VCG) + + let compile_lemma l = ignore (VCG.lemma l) let prove_lemma collection l = if not l.lem_axiom then begin let id = WpPropId.mk_lemma_id l in - let def = L.lemma l in - let model = Model.get_model () in + let def = VCG.lemma l in + let model = WpContext.get_model () in let vca = { Wpo.VC_Lemma.depends = l.lem_depends ; Wpo.VC_Lemma.lemma = def ; @@ -1361,7 +1373,7 @@ struct let index = match LogicUsage.section_of_lemma l.lem_name with | LogicUsage.Toplevel _ -> Wpo.Axiomatic None | LogicUsage.Axiomatic a -> Wpo.Axiomatic (Some a.ax_name) in - let mid = Model.get_id model in + let mid = WpContext.MODEL.id model in let sid = WpPropId.get_propid id in let leg = WpPropId.get_legacy id in let wpo = { @@ -1378,94 +1390,53 @@ struct collection := Bag.append !collection wpo ; end -end - -(* -------------------------------------------------------------------------- *) -(* --- Qed Checks --- *) -(* -------------------------------------------------------------------------- *) - -let kid_qed_check = ref 0 - -let add_qed_check collection model ~qed ~raw ~goal = - let k = incr kid_qed_check ; !kid_qed_check in - let id = Printf.sprintf "Qed-%04d" k in - let pip = Property.(ip_other id (OLGlob Cil_datatype.Location.unknown)) in - let pid = WpPropId.mk_check pip in - let vck = let open VC_Check in { raw ; qed ; goal } in - let w = let open Wpo in { - po_gid = id ; - po_leg = "" ; (* no use for legacy checks *) - po_sid = id ; - po_name = id ; - po_idx = Axiomatic None ; - po_model = model ; - po_pid = pid ; - po_formula = GoalCheck vck ; - } in - Wpo.add w ; collection := Bag.append !collection w - -(* -------------------------------------------------------------------------- *) -(* --- WPO Computer --- *) -(* -------------------------------------------------------------------------- *) - -module Computer(M : Sigs.Compiler) = -struct - - module VCG = VC(M) - module WP = Calculus.Cfg(VCG) + let prove_strategy collection model kf strategy = + let cfg = WpStrategy.cfg_of_strategy strategy in + let bhv = WpStrategy.get_bhv strategy in + let index = Wpo.Function( kf , bhv ) in + if WpRTE.missing_guards model kf then + Wp_parameters.warning ~current:false ~once:true + "Missing RTE guards" ; + try + let (results,_) = WP.compute cfg strategy in + List.iter (VCG.compile collection index) results + with Warning.Error(source,reason) -> + Wp_parameters.failure + ~current:false "From %s: %s" source reason - class wp (m:Model.t) = + class wp (model:WpContext.model) = object val mutable lemmas : LogicUsage.logic_lemma Bag.t = Bag.empty - val mutable annots : WpStrategy.strategy Bag.t = Bag.empty + val mutable annots : WpStrategy.strategy Bag.t KFmap.t = KFmap.empty method lemma = true - method model = m + method model = model + method add_lemma lemma = lemmas <- Bag.append lemmas lemma - method add_strategy strategy = annots <- Bag.append annots strategy + + method add_strategy strategy = + let kf = WpStrategy.get_kf strategy in + let sf = try KFmap.find kf annots with Not_found -> Bag.empty in + annots <- KFmap.add kf (Bag.append sf strategy) annots + method compute : Wpo.t Bag.t = begin let collection = ref Bag.empty in Lang.F.release () ; - Datatype.String.Set.iter Lang.F.Check.set - (Wp_parameters.QedChecks.get ()) ; - Model.on_model m + WpContext.on_context (model,WpContext.Global) begin fun () -> - Model.on_global - (fun () -> - LogicUsage.iter_lemmas VCG.compile_lemma ; - Bag.iter (VCG.prove_lemma collection) lemmas ; - ) ; - Bag.iter - (fun strategy -> - let cfg = WpStrategy.cfg_of_strategy strategy in - let kf = WpStrategy.get_kf strategy in - Model.on_kf kf - begin fun () -> - let bhv = WpStrategy.get_bhv strategy in - let index = Wpo.Function( kf , bhv ) in - if WpRTE.missing_guards kf m then - Wp_parameters.warning ~current:false ~once:true - "Missing RTE guards" ; - try - let (results,_) = WP.compute cfg strategy in - List.iter (VCG.compile collection index) results - with Warning.Error(source,reason) -> - Wp_parameters.failure - ~current:false "From %s: %s" source reason - end - ) annots ; - if not (Lang.F.Check.is_set ()) then - begin - Wp_parameters.feedback ~ontty:`Transient "Collecting checks" ; - Bag.iter - (fun w -> ignore (Wpo.reduce w)) - !collection ; - Lang.F.Check.iter (add_qed_check collection m) ; - end - end ; + LogicUsage.iter_lemmas compile_lemma ; + Bag.iter (prove_lemma collection) lemmas ; + end () ; + KFmap.iter + (fun kf strategies -> + WpContext.on_context (model,WpContext.Kf kf) + begin fun () -> + LogicUsage.iter_lemmas compile_lemma ; + Bag.iter (prove_strategy collection model kf) strategies ; + end () + ) annots ; lemmas <- Bag.empty ; - annots <- Bag.empty ; - Lang.F.Check.reset () ; + annots <- KFmap.empty ; Lang.F.release () ; !collection end @@ -1474,7 +1445,7 @@ struct end (* Cache because computer functors can not be instantiated twice *) -module COMPUTERS = Model.S.Hashtbl +module COMPUTERS = Hashtbl.Make(WpContext.MODEL) let computers = COMPUTERS.create 1 let computer setup driver = diff --git a/src/plugins/wp/cfgWP.mli b/src/plugins/wp/cfgWP.mli index c603d0a40b1b3f937a0a60fc5d1106da30824daa..15024fb13b6010e917db9f5728855312f94c41ed 100644 --- a/src/plugins/wp/cfgWP.mli +++ b/src/plugins/wp/cfgWP.mli @@ -27,7 +27,7 @@ module VC( M : Sigs.Compiler ) : Mcfg.S module Computer( M : Sigs.Compiler ) : sig - class wp : Model.t -> Generator.computer + class wp : WpContext.model -> Generator.computer end val computer : Factory.setup -> Factory.driver -> Generator.computer diff --git a/src/plugins/wp/configure.ac b/src/plugins/wp/configure.ac index 69f373c615afd64a8874297995b1fcf3db024ffe..0185710fc06bd4478f98512440485f6f39409277 100644 --- a/src/plugins/wp/configure.ac +++ b/src/plugins/wp/configure.ac @@ -42,13 +42,6 @@ AC_ARG_ENABLE( WPCOQ=yes ) -AC_ARG_ENABLE( - wp-why3, - [ --enable-wp-why3 Wp precompiled Why3-Coq libraries (default: yes)], - WPWHY3COQ=$enableval, - WPWHY3COQ=yes -) - plugin_require(wp,qed) plugin_require(wp,rtegen) plugin_use(wp,gui) @@ -105,49 +98,6 @@ if test "$ENABLE_WP" != "no"; then fi AC_SUBST(COQC) - ## Configuring for WHY3-COQ - if test "$COQC" = "yes" -a "$WPWHY3COQ" = "yes" ; then - AC_CHECK_PROG(WHY3COQC,why3,yes,no) - if test "$WHY3COQC" = "yes" ; then - WHY3VERSION=`why3 --version | sed -n -e 's|.*version *\([[^ ]]*\)$|\1|p' ` - case $WHY3VERSION in - 1.*) - AC_MSG_RESULT(why3 version $WHY3VERSION found) - WHY3LIB=`why3 --print-libdir` - if test -f $WHY3LIB/coq/BuiltIn.vo ; then - AC_MSG_RESULT(why3 compiled coq libraries found) - else - AC_MSG_RESULT(why3 compiled coq libraries not found in $WHY3LIB) - WHY3COQC="no" - fi - ;; - *) - AC_MSG_RESULT(why3 unsupported version $WHY3VERSION) - WHY3COQC="no" - ;; - esac - else - AC_MSG_NOTICE(rerun configure to make wp using why3 (1.0.0+)) - fi - else - WHY3COQC="no" - fi - AC_SUBST(WHY3COQC) - - ## Configuring for WHY3-API - WHY3API_VERSION=$($OCAMLFIND query why3 -format %v) - case $WHY3API_VERSION in - 1.*) - AC_MSG_RESULT(why3 api $WHY3API_VERSION found) - WHY3API="yes" - ;; - *) - AC_MSG_RESULT(why3 api not found (no why3 prover detection)) - WHY3API="no" - ;; - esac - AC_SUBST(WHY3API) - fi write_plugin_config(Makefile) diff --git a/src/plugins/wp/doc/manual/wp_plugin.tex b/src/plugins/wp/doc/manual/wp_plugin.tex index b20427d8549f8af88dcb751ba51374eb1940ea54..1adc2340ce98b37731b01dfb86985be407be87b3 100644 --- a/src/plugins/wp/doc/manual/wp_plugin.tex +++ b/src/plugins/wp/doc/manual/wp_plugin.tex @@ -283,6 +283,8 @@ This mode is well suited for replaying a proof bench, by using a combination of The \verb+tip+ prover is similar, except that it never runs sub-goals that are known to be stuck but updates the proof scripts on success or when an automated proof fails. Using the \verb+tip+ prover is less time consuming and eventually prepares new scripts for failed proofs to be edited later under the TIP. +Notice that, as soon as you have setup a wp-session directory, you benefit from cache facilities to speedup your proofs. Consult Section~\ref{wp-cache} for details. + \clearpage A typical proof session consists then in the following stages: @@ -1153,6 +1155,8 @@ However, to use \textsf{Alt-Ergo 2.0.0} \emph{via} \textsf{Why-3}, you shall use the native support of \textsf{Alt-Ergo} prover. Finally, since \textsf{Why-3} also provides the alias \verb+altergo+ for this prover, \verb+-wp-prover altergo+ will also run it \emph{via} \textsf{Why-3}. +Notice that \textsf{Why-3} provers benefit from a cache management when used in combination with a \textsf{WP}-session, see Section~\ref{wp-cache} for more details. + %% \paragraph{Sessions.} %% Your \textsf{Why3} session is saved in the \texttt{"project.session"} %% sub-directory of \texttt{-wp-out}. You may run @@ -1364,6 +1368,36 @@ by a link (`\user{link};'). The available tags are depicted on figure~\ref{wp-dr \end{figure} \clearpage +\subsection{Proof Cache} +\label{wp-cache} + +Running provers have a cost in terms of memory and CPU resources. When working +interactively or incrementally, it is often the case where most proof obligations remain unchanged +from one \textsf{WP} execution to the other. To reduce this costs, a cache of prover results can be used +and stored in your session. + +The cache can only be used with \textsf{Why-3} provers, it does not work with native \textsf{Alt-Ergo} and \textsf{Coq} provers. There are different ways of using the cache, depending on your precise needs. +The main option to control cache usage is \verb+-wp-cache+, documented below: + +\begin{description} +\item[\tt -wp-cache <mode>] selects the cache mode to use with why3 provers. The default mode is \verb'update' if \verb+-wp-session+ is set, and \verb+none+ otherwize. The cache entries +are stored in the session directory, which would be \verb+./frama-c/wp/cache+ by default. +\end{description} + +The available cache modes are described below: +\begin{description} +\item [\tt -wp-cache update]: use cache entries or run the provers, and store new results in the cache. This mode is useful when you are working interactively : proofs can be partial and volatile, and you want to accumulate and keep as much previous results as you can. +\item [\tt -wp-cache cleanup]: same as \verb+update+ mode but at the end of \textsf{Frama-C} execution, any cache entry that was not used nor updated will be deleted. This mode shall be only used when you want to cleanup your cache with old useless entries, typically at the end of an interactive session. +\item [\tt -wp-cache replay]: same as \verb+update+ mode but new results are \emph{not} stored in the cache. This mode is useful for continuous integration, when you are not sure your cache is complete but don't want to modify it. +\item [\tt -wp-cache offline]: similar to \verb+replay+ mode but cache entries are the unique source of results. Provers are never run and missing cache entries would result in a «~Failed~» verdict. This mode is useful to fasten continuous integration and enforcing cache completeness. +\item [\tt -wp-cache rebuild]: force prover execution and store all results in the cache. Previous results will be replaced with new onces, but entries for non relevant proofs would be kept and you might need a cleanup stage after. This mode is useful when you modify you why3 or prover installation and you don't want to reuse your previous cache entries. +\item [\tt -wp-cache none]: do not use nor modify cache entries; provers are run normally. This option must be used if you have a session set and you don't want to use the cache, since the default is mode \verb+update+ in this case. But you probably always to benefit from a cache when you have an (interactive) session. +\end{description} + +When using cache with a non-\verb+offline+ mode, time and steps limits recorded in the cache are compared to the command line settings to produce meaningful and consistent results. Hence, if you provide more time or more steps from the command line than before, the prover would be run again. If you provide less or equal limits, the cache entries are reused, but \textsf{WP} still report the cached time and step limits to inform you of your previous attempts. For instance, if you have in the cache a « Valid » entry with time 12.4s and re-run it with a timeout of 5s, you will have a « Timeout » result with time 12.4s printed on the console. + +Cached result are indicated on the standard output. You might also have additional information with \verb+-wp-msg-key cache+ or you might silent them with \verb+-wp-msg-key no-cache-info+. + \section{Plug-in Developer Interface} \label{wp-api} diff --git a/src/plugins/wp/prover.ml b/src/plugins/wp/prover.ml index dcc6c95ef19656aaf4b66cda2975da55faf78b77..85b63a14b2b84270803e45dccbb3e8484ae01766 100644 --- a/src/plugins/wp/prover.ml +++ b/src/plugins/wp/prover.ml @@ -30,18 +30,15 @@ open Task open Wpo let dispatch ?(config=VCS.default) mode prover wpo = - let why3 prover = - Why3_api.prove - ~timeout:(VCS.get_timeout config) - ~steplimit:(VCS.get_stepout config) - ~prover wpo - in begin match prover with + | Qed | Tactical -> Task.return VCS.no_result | NativeAltErgo -> ProverErgo.prove ~config ~mode wpo | NativeCoq -> ProverCoq.prove mode wpo - | Why3 prover -> why3 prover - | Qed | Tactical -> Task.return VCS.no_result + | Why3 prover -> ProverWhy3.prove + ~timeout:(VCS.get_timeout config) + ~steplimit:(VCS.get_stepout config) + ~prover wpo end let started ?start wpo = diff --git a/src/plugins/wp/register.ml b/src/plugins/wp/register.ml index ffe933ea8bf03e4b1b287d5f33fe8b5cc65a4d5d..7b4d1efe744adb0261e2d04bd7b245dd09272c6a 100644 --- a/src/plugins/wp/register.ml +++ b/src/plugins/wp/register.ml @@ -68,7 +68,7 @@ let computer () = (* --- Memory Model Hypotheses --- *) (* ------------------------------------------------------------------------ *) -module Models = Model.S.Set +module Models = Set.Make(WpContext.MODEL) module Fmap = Kernel_function.Map let wp_iter_model ?ip ?index job = @@ -91,7 +91,7 @@ let wp_print_memory_context kf m hyp fmt = let printer = new Printer.extensible_printer () in let pp_vdecl = printer#without_annot printer#vdecl in Format.fprintf fmt - "@[<hv 0>@[<hv 3>/*@@@ behavior %s:" (Model.get_id m) ; + "@[<hv 0>@[<hv 3>/*@@@ behavior %s:" (WpContext.MODEL.id m) ; List.iter (MemoryContext.pp_clause fmt) hyp ; let vkf = Kernel_function.get_vi kf in Format.fprintf fmt "@ @]*/@]@\n@[<hov 2>%a;@]@\n" @@ -102,7 +102,7 @@ let wp_warn_memory_context () = begin wp_iter_model begin fun kf m -> - let hyp = Model.get_hypotheses m kf in + let hyp = WpContext.compute_hypotheses m kf in if hyp <> [] then Wp_parameters.warning ~current:false @@ -201,6 +201,7 @@ type pstat = { mutable proved : int ; mutable unknown : int ; mutable interrupted : int ; + mutable incache : int ; mutable failed : int ; mutable n_time : int ; (* nbr of measured times *) mutable a_time : float ; (* sum of measured times *) @@ -239,6 +240,7 @@ let get_pstat p = interrupted = 0 ; failed = 0 ; steps = 0 ; + incache = 0 ; n_time = 0 ; a_time = 0.0 ; u_time = 0.0 ; @@ -297,6 +299,7 @@ let do_progress goal msg = let do_wpo_stat goal prover res = let s = get_pstat prover in let open VCS in + if res.cached then s.incache <- succ s.incache ; match res.verdict with | Checked | NoResult | Computing _ | Invalid | Unknown -> s.unknown <- succ s.unknown @@ -329,23 +332,17 @@ let do_wpo_result goal prover res = do_wpo_stat goal prover res ; end -let do_why3_result goal prover res = - if VCS.is_verdict res then - begin - do_wpo_stat goal prover res ; - let open VCS in - if res.verdict <> Valid then - Wp_parameters.result - "[%a] Goal %s : %a" - VCS.pp_prover prover (Wpo.get_gid goal) - VCS.pp_result res ; - end - let do_wpo_success goal s = if not (Wp_parameters.Check.get ()) then - match s with - | None -> - if not (Wp_parameters.Generate.get ()) then + if Wp_parameters.Generate.get () then + match s with + | None -> () + | Some prover -> + Wp_parameters.feedback ~ontty:`Silent + "[%a] Goal %s : Valid" VCS.pp_prover prover (Wpo.get_gid goal) + else + match s with + | None -> begin match Wpo.get_results goal with | [p,r] -> @@ -363,10 +360,16 @@ let do_wpo_success goal s = ) pres ; end end - | Some prover -> - if not (Wpo.is_check goal) then + | Some (VCS.Tactical as p) -> Wp_parameters.feedback ~ontty:`Silent - "[%a] Goal %s : Valid" VCS.pp_prover prover (Wpo.get_gid goal) + "[%a] Goal %s : Valid" + VCS.pp_prover p (Wpo.get_gid goal) + | Some p -> + let r = Wpo.get_result goal p in + Wp_parameters.feedback ~ontty:`Silent + "[%a] Goal %s : %a" + VCS.pp_prover p (Wpo.get_gid goal) + VCS.pp_result r let do_report_time fmt s = begin @@ -415,6 +418,8 @@ let do_report_stopped fmt s = Format.fprintf fmt " (interrupted: %d)" s.interrupted ; if s.unknown > 0 then Format.fprintf fmt " (unknown: %d)" s.unknown ; + if s.incache > 0 then + Format.fprintf fmt " (cached: %d)" s.incache ; end let do_report_prover_stats pp_prover fmt (p,s) = @@ -435,18 +440,17 @@ let do_report_scheduled () = let plural = if !exercised > 1 then "s" else "" in Wp_parameters.result "%d goal%s generated" !exercised plural else - begin - let proved = GOALS.cardinal !proved in - Wp_parameters.result "%t" - (fun fmt -> - Format.fprintf fmt "Proved goals: %4d / %d@\n" proved !scheduled ; - Pretty_utils.pp_items - ~min:12 ~align:`Left - ~title:(fun (prover,_) -> VCS.title_of_prover prover) - ~iter:(fun f -> PM.iter (fun p s -> f (p,s)) !provers) - ~pp_title:(fun fmt a -> Format.fprintf fmt "%s:" a) - ~pp_item:do_report_prover_stats fmt) ; - end + let proved = GOALS.cardinal !proved in + Wp_parameters.result "%t" + begin fun fmt -> + Format.fprintf fmt "Proved goals: %4d / %d@\n" proved !scheduled ; + Pretty_utils.pp_items + ~min:12 ~align:`Left + ~title:(fun (prover,_) -> VCS.title_of_prover prover) + ~iter:(fun f -> PM.iter (fun p s -> f (p,s)) !provers) + ~pp_title:(fun fmt a -> Format.fprintf fmt "%s:" a) + ~pp_item:do_report_prover_stats fmt ; + end let do_list_scheduled_result () = begin @@ -454,6 +458,58 @@ let do_list_scheduled_result () = clear_scheduled () ; end +(* ------------------------------------------------------------------------ *) +(* --- Caching --- *) +(* ------------------------------------------------------------------------ *) + +let dkey_cache = Wp_parameters.register_category "cache" + +let do_report_cache_usage mode = + let hits = ProverWhy3.get_hits () in + let miss = ProverWhy3.get_miss () in + let removed = ProverWhy3.get_removed () in + if hits <= 0 && miss <= 0 then + Wp_parameters.result "[Cache] not used" + else + Wp_parameters.result "[Cache]%t" + begin fun fmt -> + let sep = ref " " in + let pp_cache fmt n job = + if n > 0 then + ( Format.fprintf fmt "%s%s:%d" !sep job n ; sep := ", " ) in + match mode with + | ProverWhy3.NoCache -> () + | ProverWhy3.Replay -> + pp_cache fmt hits "found" ; + pp_cache fmt miss "missed" ; + Format.pp_print_newline fmt () ; + | ProverWhy3.Offline -> + pp_cache fmt hits "found" ; + pp_cache fmt miss "failed" ; + Format.pp_print_newline fmt () ; + | ProverWhy3.Update -> + pp_cache fmt hits "found" ; + pp_cache fmt miss "updated" ; + Format.pp_print_newline fmt () ; + | ProverWhy3.Cleanup -> + pp_cache fmt hits "found" ; + pp_cache fmt miss "missed" ; + pp_cache fmt removed "removed" ; + Format.pp_print_newline fmt () ; + | ProverWhy3.Rebuild -> + pp_cache fmt (hits+miss) "updated" ; + Format.pp_print_newline fmt () ; + end + +(* registered at frama-c (normal) exit *) +let do_cache_cleanup () = + begin + let mode = ProverWhy3.get_mode () in + ProverWhy3.cleanup_cache ~mode ; + if Wp_parameters.has_dkey dkey_cache + then do_report_cache_usage mode ; + end + (* ------------------------------------------------------------------------ *) (* --- Proving --- *) (* ------------------------------------------------------------------------ *) @@ -513,10 +569,6 @@ let compute_provers ~mode = (fun pname prvs -> match VCS.prover_of_name pname with | None -> prvs - (* - | Some VCS.Why3ide -> - mode.why3ide <- true; prvs - *) | Some VCS.Tactical -> mode.tactical <- true ; if pname = "tip" then mode.update <- true ; @@ -563,8 +615,7 @@ let compute_auto ~mode = "Strategy -wp-auto '%s' unknown (ignored)." id ) auto ; mode.auto <- List.rev mode.auto ; - if mode.auto <> [] then - ( mode.tactical <- true ; mode.update <- true ) ; + if mode.auto <> [] then mode.tactical <- true ; end let do_update_session mode iter = @@ -628,10 +679,6 @@ let do_wp_proofs_iter iter = let spawned = mode.why3ide || mode.tactical || mode.provers <> [] in begin if spawned then do_list_scheduled iter ; - (* - if mode.why3ide then - launch (ProverWhy3ide.prove ~callback:do_why3_result ~iter) ; - *) spawn_wp_proofs_iter ~mode iter ; if spawned then begin @@ -701,14 +748,15 @@ let cmdline_run () = RefUsage.compute (); RefUsage.dump (); end ; - if Wp_parameters.has_dkey dkey_builtins then - begin - LogicBuiltins.dump (); - end ; let bhv = Wp_parameters.Behaviors.get () in let prop = Wp_parameters.Properties.get () in (** TODO entry point *) let computer = computer () in + if Wp_parameters.has_dkey dkey_builtins then + begin + WpContext.on_context (computer#model,WpContext.Global) + LogicBuiltins.dump (); + end ; Generator.compute_selection computer ~fct ~bhv ~prop () in let fct = Wp_parameters.get_wp () in @@ -812,11 +860,9 @@ let pp_wp_parameters fmt = then Format.pp_print_string fmt " -wp-no-prune" ; if Wp_parameters.Split.get () then Format.pp_print_string fmt " -wp-split" ; let tm = Wp_parameters.Timeout.get () in - if tm > 10 then Format.fprintf fmt " -wp-timeout %d" tm ; + if tm <> 10 then Format.fprintf fmt " -wp-timeout %d" tm ; let st = Wp_parameters.Steps.get () in - if tm > 10 then Format.fprintf fmt " -wp-steps %d" st ; - let dp = Wp_parameters.Depth.get () in - if dp > 0 then Format.fprintf fmt " -wp-depth %d" dp ; + if st > 0 then Format.fprintf fmt " -wp-steps %d" st ; if not (Kernel.SignedOverflow.get ()) then Format.pp_print_string fmt " -no-warn-signed-overflow" ; if Kernel.UnsignedOverflow.get () then @@ -838,16 +884,16 @@ let () = Cmdline.run_after_setting_files if Wp_parameters.has_dkey dkey_shell then Log.print_on_output pp_wp_parameters) -let () = Cmdline.run_after_configuring_stage Why3_api.parse_why3_options +let () = Cmdline.run_after_configuring_stage Why3Provers.configure let do_prover_detect () = if not !Config.is_gui && Wp_parameters.Detect.get () then - let provers = VCS.Why3_prover.provers () in + let provers = Why3Provers.provers () in if provers = [] then Wp_parameters.result "No Why3 provers detected." else let open Why3.Whyconf in - let shortcuts = get_prover_shortcuts (VCS.Why3_prover.get_config ()) in + let shortcuts = get_prover_shortcuts (Why3Provers.config ()) in List.iter (fun p -> Wp_parameters.result "Prover %10s %-10s %s [%t%a]" @@ -861,40 +907,9 @@ let do_prover_detect () = ) provers (* ------------------------------------------------------------------------ *) -(* --- Main Entry Point --- *) +(* --- Main Entry Points --- *) (* ------------------------------------------------------------------------ *) -(* -(* This filter can be changed to make exceptions interrupting - the sequence immediately *) -let catch_exn (_:exn) = - not (Wp_parameters.has_dkey "raised") - -(* This order can be changed *) -let reraised_exn (first:exn) (_last:exn) = Some first - -(* Don't use Extlib.try_finally: - No exception is used for control here. - Backtrace is dumped here for debugging purpose. - We just record one of the raised exceptions (to be raised again), - while ensuring all tasks are finally executed. *) -let protect err job = - try job () - with e when catch_exn e -> - let b = Printexc.get_raw_backtrace () in - Wp_parameters.failure "%s@\n%s" - (Printexc.to_string e) - (Printexc.raw_backtrace_to_string b) ; - match !err with - | None -> err := Some e - | Some previous -> err := reraised_exn previous e - -let sequence jobs = - let err = ref None in - List.iter (protect err) jobs ; - match !err with None -> () | Some e -> raise e -*) - let rec try_sequence jobs () = match jobs with | [] -> () | head :: tail -> @@ -925,4 +940,7 @@ let main = sequence [ (fun () -> Wp_parameters.debug ~dkey:job_key "Stop WP plugin...@.") ; ] +let () = Cmdline.at_normal_exit do_cache_cleanup let () = Db.Main.extend main + +(* ------------------------------------------------------------------------ *) diff --git a/src/plugins/wp/share/.gitignore b/src/plugins/wp/share/.gitignore index c2552132a1cd74d94aae607ec90a7dcc7875639f..b4928767a3aee4ccf044d41181f91359c950cc59 100644 --- a/src/plugins/wp/share/.gitignore +++ b/src/plugins/wp/share/.gitignore @@ -1,18 +1,6 @@ -/ergo/*.mlw.bak -/why3/why3.conf -/why3/*.why.bak -/why3/*.vo -/why3/*.glob -/why3/.*.aux -/why3/.depend -/coqwp/.depend -/coqwp/*/*.vo -/coqwp/*/*.glob -/coqwp/*.vo -/coqwp/*.glob -/coqwp/.*.aux -/coqwp/*/.*.aux -/.depend +*.vo +*.glob +*.aux /instwp /install /html diff --git a/src/plugins/wp/share/Makefile b/src/plugins/wp/share/Makefile.coqwp similarity index 60% rename from src/plugins/wp/share/Makefile rename to src/plugins/wp/share/Makefile.coqwp index 57918128474924a30fe2a54c2c991a133e093b3f..d6e8c6d0ce9745b34f4945b644f56f4f8a1b4991 100644 --- a/src/plugins/wp/share/Makefile +++ b/src/plugins/wp/share/Makefile.coqwp @@ -21,69 +21,18 @@ ########################################################################## +WPLSHARE=$(Wp_DIR)/share + # -------------------------------------------------------------------------- # --- Coq Compilation # -------------------------------------------------------------------------- -.PHONY: all why3compile coqwpcompile clean depend wp-coq-clean - -WPLSHARE=$(Wp_DIR)/share - -wp-coq-clean: - find $(Wp_DIR) \( -name "*.vo" -or -name "*.glob" \) -print -delete - rm -f $(WPLSHARE)/coqwp/.depend $(WPLSHARE)/why3/.depend -clean:: wp-coq-clean - -clean:: wp-coq-clean - -######################### -## For why3 directory ## - -ifeq ($(WP_WHY3COQC_ENABLED),yes) - -byte:: why3compile -opt:: why3compile - -why3compile: $(addprefix $(WPLSHARE)/why3/, $(addsuffix o, $(COQ_LIBS_CEA))) - -WHY3LIB:=$(shell why3 --print-libdir) -WHY3INCLUDES= -R $(WHY3LIB)/coq Why3 -R $(WPLSHARE)/why3 '' - -$(WPLSHARE)/why3/%.vo: $(WPLSHARE)/why3/%.v - echo "Coqc $@" - echo coqc -w none $(WHY3INCLUDES) $< - coqc -w none $(WHY3INCLUDES) $< - -$(WPLSHARE)/why3/%.ide: $(WPLSHARE)/why3/%.v - echo "Coqide $@" - @coqide $(WHY3INCLUDES) $< - -$(WPLSHARE)/why3/.depend: $(addprefix $(WPLSHARE)/, $(WHY3_COQ_SOURCES)) - echo "Coqdep for $(WPLSHARE)/why3" - @coqdep $(WHY3INCLUDES) $(WPLSHARE)/why3/*.v $(WPLSHARE)/why3/**/*.v > $@ - -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(MAKECMDGOALS),distclean) -ifneq ($(MAKECMDGOALS),smartclean) -sinclude $(WPLSHARE)/why3/.depend -endif -endif -endif - -endif # ($(WP_WHY3COQC_ENABLED),yes) - -######################### -## For coqwp directory ## - -ifeq ($(WP_COQC_ENABLED),yes) - -byte:: coqwpcompile -opt:: coqwpcompile - - -coqwpcompile: $(addprefix $(WPLSHARE)/coqwp/, $(addsuffix o, $(COQ_LIBS_CEA) $(COQ_LIBS_INRIA))) +.PHONY: coqwpcompile COQWPINCLUDES= -R $(WPLSHARE)/coqwp '' +COQWPBINARIES= $(addprefix $(WPLSHARE)/, $(ALL_COQ_BINARIES)) + +coqwpcompile: $(COQWPBINARIES) $(WPLSHARE)/coqwp/%.vo: $(WPLSHARE)/coqwp/%.v echo "Coqc $<" @@ -94,9 +43,39 @@ $(WPLSHARE)/coqwp/%.ide: $(WPLSHARE)/coqwp/%.v coqide $(COQWPINCLUDES) $< $(WPLSHARE)/coqwp/.depend: $(addprefix $(WPLSHARE)/, $(WP_COQ_SOURCES)) - echo "Coqdep for $(WPLSHARE)/coqwp" + echo "Coqdep $(WPLSHARE)/coqwp" @coqdep $(COQWPINCLUDES) $(WPLSHARE)/coqwp/*.v $(WPLSHARE)/coqwp/**/*.v > $@ +# -------------------------------------------------------------------------- +# --- Additional Targets +# -------------------------------------------------------------------------- + +.PHONY: wp-coq-compile wp-coq-clean wp-coq-install wp-coq-uninstall + +wp-coq-compile: coqwpcompile + @echo "Run 'make wp-coq-install' to install all precompiled libraries" + +wp-coq-clean: + find $(Wp_DIR) \( -name "*.vo" -or -name "*.glob" -or -name ".*.aux" \) -delete + rm -f $(WPLSHARE)/coqwp/.depend + +wp-coq-install: + $(PRINT_INSTALL) "Coq Libraries" + $(INSTALL_SHARE) -f -p -s \ + -i $(Wp_DIR)/share \ + -d $(FRAMAC_DATADIR)/wp \ + $(ALL_COQ_BINARIES) + +wp-coq-uninstall: + $(PRINT_RM) "Coq Libraries" + @rm -f $(FRAMAC_DATADIR)/wp/why3/*.vo + @rm -f $(FRAMAC_DATADIR)/wp/coqwp/*.vo + @rm -f $(FRAMAC_DATADIR)/wp/coqwp/*/*.vo + +# -------------------------------------------------------------------------- +# --- Coq Dependencies +# -------------------------------------------------------------------------- + ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),distclean) ifneq ($(MAKECMDGOALS),smartclean) @@ -105,11 +84,4 @@ endif endif endif -endif #($(WP_COQC_ENABLED),yes) - -# End of file - -########################################################################## -# Local Variables: -# mode: makefile -# End: +# -------------------------------------------------------------------------- diff --git a/src/plugins/wp/share/Makefile.headers b/src/plugins/wp/share/Makefile.headers deleted file mode 100644 index e48d5f78831683203dcfc6075d1f7536394c2f0a..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/Makefile.headers +++ /dev/null @@ -1,48 +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). # -# # -########################################################################## - -#not distributed - -include Makefile.resources - - -HEADERS=../../../../headers -LGPL_HEADERS=../../../../headers/open-source -HEADACHE ?= headache -c $(HEADERS)/headache_config.txt - -headers: - $(HEADACHE) -h $(LGPL_HEADERS)/CEA_WP $(ALL_CEA_RESOURCES) - $(HEADACHE) -h $(LGPL_HEADERS)/MODIFIED_WHY3 $(ALL_MODIFIED_WHY3_RESOURCES) - $(HEADACHE) -h $(LGPL_HEADERS)/UNMODIFIED_WHY3 $(ALL_UNMODIFIED_WHY3_RESOURCES) - -# target used by developers of wp/share directory -.PHONY: headers.wp_share_src -headers.wp_share_src: - $(HEADACHE) -h $(LGPL_HEADERS)/CEA_WP $(WP_SHARE_SRC_CEA_RESOURCES) - $(HEADACHE) -h $(LGPL_HEADERS)/MODIFIED_WHY3 $(ALL_MODIFIED_WHY3_RESOURCES) - $(HEADACHE) -h $(LGPL_HEADERS)/UNMODIFIED_WHY3 $(ALL_UNMODIFIED_WHY3_RESOURCES) - - -########################################################################## -# Local Variables: -# mode: makefile -# End: diff --git a/src/plugins/wp/share/Makefile.resources b/src/plugins/wp/share/Makefile.resources index 6a99a1c03614d1cba45c39e869f6383cf7903fc5..4c153ff60070b9b23a2ad5e5833375629a4f1f2e 100644 --- a/src/plugins/wp/share/Makefile.resources +++ b/src/plugins/wp/share/Makefile.resources @@ -24,8 +24,6 @@ # --- Why-3 Libraries # -------------------------------------------------------------------------- -# See also COQ_LIBS_CEA - ## Used in share/why3 WHY3_LIBS_CEA:= \ @@ -46,7 +44,8 @@ WHY3_API_LIBS_CEA:= WHY3_LIBS_CEA # --- Coq Libraries # -------------------------------------------------------------------------- -## Used in share/coqwp and share/why3 +## Used in share/coqwp + COQ_LIBS_CEA:= \ ArcTrigo.v \ Bits.v \ @@ -63,7 +62,6 @@ COQ_LIBS_CEA:= \ Vlist.v \ Zbits.v -## Used in share/coqwp only COQ_LIBS_INRIA:=\ BuiltIn.v \ HighOrd.v \ @@ -71,6 +69,7 @@ COQ_LIBS_INRIA:=\ int/Abs.v \ int/ComputerDivision.v \ int/EuclideanDivision.v \ + int/ComputerOfEuclideanDivision.v \ int/Exponentiation.v \ int/Int.v \ int/MinMax.v \ @@ -85,14 +84,14 @@ COQ_LIBS_INRIA:=\ real/Square.v \ real/ExpLog.v \ real/PowerReal.v \ - real/Trigonometry.v \ - for_drivers/ComputerOfEuclideanDivision.v + real/Trigonometry.v # -------------------------------------------------------------------------- # --- Alt-Ergo Libraries # -------------------------------------------------------------------------- # Used in share/ergo + ERGO_LIBS_CEA:= \ ArcTrigo.mlw \ Cbits.mlw \ @@ -106,11 +105,11 @@ ERGO_LIBS_CEA:= \ Vset.mlw \ Vlist.mlw -# Used in share/ergo ERGO_LIBS_INRIA:= \ bool.Bool.mlw \ int.Abs.mlw \ int.ComputerDivision.mlw \ + int.ComputerOfEuclideanDivision.mlw \ int.Int.mlw \ int.MinMax.mlw \ map.Map.mlw \ @@ -138,14 +137,13 @@ WP_SHARE_SRC_CEA_RESOURCES:= \ wp.driver \ why3/coq.drv \ $(addprefix why3/frama_c_wp/, $(WHY3_LIBS_CEA)) \ - $(addprefix why3/, $(COQ_LIBS_CEA)) \ $(addprefix coqwp/, $(COQ_LIBS_CEA)) \ $(addprefix ergo/, $(ERGO_LIBS_CEA)) ALL_CEA_RESOURCES+= \ install.ml \ Makefile.resources \ - Makefile \ + Makefile.coqwp \ $(WP_SHARE_SRC_CEA_RESOURCES) ALL_UNMODIFIED_WHY3_RESOURCES:= \ diff --git a/src/plugins/wp/share/coqwp/Cbits.v b/src/plugins/wp/share/coqwp/Cbits.v index 52a69988a9a130470c49071c138587e26bba7f08..2cedd5c8b5680e15bfc34b0923a5b05ab2e3b00f 100644 --- a/src/plugins/wp/share/coqwp/Cbits.v +++ b/src/plugins/wp/share/coqwp/Cbits.v @@ -30,10 +30,10 @@ Require int.Int. Require int.Abs. Require int.EuclideanDivision. Require int.ComputerDivision. +Require int.ComputerOfEuclideanDivision. Require real.Real. Require real.RealInfix. Require real.FromInt. -Require for_drivers.ComputerOfEuclideanDivision. Require Cint. (* Why3 goal *) diff --git a/src/plugins/wp/share/coqwp/Qed.v b/src/plugins/wp/share/coqwp/Qed.v index a33a18a82068891fb8c8204e0383ce5f9b1267fc..a9371b2a5a84b464a8ff783f7477a2bb7f795cef 100644 --- a/src/plugins/wp/share/coqwp/Qed.v +++ b/src/plugins/wp/share/coqwp/Qed.v @@ -29,10 +29,10 @@ Require int.Int. Require int.Abs. Require int.EuclideanDivision. Require int.ComputerDivision. +Require int.ComputerOfEuclideanDivision. Require real.Real. Require real.RealInfix. Require real.FromInt. -Require for_drivers.ComputerOfEuclideanDivision. (* Why3 goal *) Definition match_bool {a:Type} {a_WT:WhyType a} : bool -> a -> a -> a. diff --git a/src/plugins/wp/share/coqwp/for_drivers/ComputerOfEuclideanDivision.v b/src/plugins/wp/share/coqwp/int/ComputerOfEuclideanDivision.v similarity index 100% rename from src/plugins/wp/share/coqwp/for_drivers/ComputerOfEuclideanDivision.v rename to src/plugins/wp/share/coqwp/int/ComputerOfEuclideanDivision.v diff --git a/src/plugins/wp/share/ergo/for_drivers.ComputerOfEuclideanDivision.mlw b/src/plugins/wp/share/ergo/int.ComputerOfEuclideanDivision.mlw similarity index 58% rename from src/plugins/wp/share/ergo/for_drivers.ComputerOfEuclideanDivision.mlw rename to src/plugins/wp/share/ergo/int.ComputerOfEuclideanDivision.mlw index 0aa5d7cf4388ad8697bab8deb6a982c84029b6ae..ab250caabbfa9ce388e6699ec584ccd4e0fd172b 100644 --- a/src/plugins/wp/share/ergo/for_drivers.ComputerOfEuclideanDivision.mlw +++ b/src/plugins/wp/share/ergo/int.ComputerOfEuclideanDivision.mlw @@ -1,3 +1,17 @@ +(**************************************************************************) +(* *) +(* The Why3 Verification Platform / The Why3 Development Team *) +(* Copyright 2010-2019 -- Inria - CNRS - Paris-Sud University *) +(* *) +(* This software is distributed under the terms of the GNU Lesser *) +(* General Public License version 2.1, with the special exception *) +(* on linking described in file LICENSE. *) +(* *) +(* File modified by CEA (Commissariat à l'énergie atomique et aux *) +(* énergies alternatives). *) +(* *) +(**************************************************************************) + (* 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*) diff --git a/src/plugins/wp/share/src/ArcTrigo.v b/src/plugins/wp/share/src/ArcTrigo.v deleted file mode 100644 index 7d72f2e3db30aafb5c393c3a40359cffc9119a16..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/ArcTrigo.v +++ /dev/null @@ -1,35 +0,0 @@ -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require Reals.R_sqrt. -Require Reals.Rbasic_fun. -Require Reals.Rtrigo_def. -Require Reals.Rtrigo1. -Require Reals.Ratan. -Require BuiltIn. -Require real.Real. -Require real.RealInfix. -Require real.Abs. -Require real.Square. -Require real.Trigonometry. - -(* Why3 goal *) -Definition asin : R -> R. -Admitted. - -(* Why3 goal *) -Definition acos : R -> R. -Admitted. - -(* Why3 goal *) -Lemma Sin_asin : - forall (x:R), (((-1%R)%R <= x)%R /\ (x <= 1%R)%R) -> - ((Reals.Rtrigo_def.sin (asin x)) = x). -Admitted. - -(* Why3 goal *) -Lemma Cos_acos : - forall (x:R), (((-1%R)%R <= x)%R /\ (x <= 1%R)%R) -> - ((Reals.Rtrigo_def.cos (acos x)) = x). -Admitted. - diff --git a/src/plugins/wp/share/src/Cbits.v b/src/plugins/wp/share/src/Cbits.v deleted file mode 100644 index 2d7b383376a108fe39da0e3e5c71947a29eebe78..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/Cbits.v +++ /dev/null @@ -1,1899 +0,0 @@ -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require Qed. -Require bool.Bool. -Require int.Int. -Require int.Abs. -Require int.EuclideanDivision. -Require int.ComputerDivision. -Require real.Real. -Require real.RealInfix. -Require real.FromInt. -Require for_drivers.ComputerOfEuclideanDivision. -Require Cint. - -(* Why3 goal *) -Lemma lnot_bool : ((Cint.lnot 0%Z) = (-1%Z)%Z) /\ - ((Cint.lnot (-1%Z)%Z) = 0%Z). -Proof. - split; Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_idemp : forall (x:Z), ((Cint.land x x) = x). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_0 : forall (x:Z), ((Cint.land 0%Z x) = 0%Z). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_0bis : forall (x:Z), ((Cint.land x 0%Z) = 0%Z). -Proof. - intro. - rewrite Zbits.land_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_1 : forall (x:Z), ((Cint.land (-1%Z)%Z x) = x). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_1bis : forall (x:Z), ((Cint.land x (-1%Z)%Z) = x). -Proof. - intros x. - rewrite Zbits.land_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_bool : ((Cint.land 0%Z 0%Z) = 0%Z) /\ (((Cint.land 0%Z - 1%Z) = 0%Z) /\ (((Cint.land 1%Z 0%Z) = 0%Z) /\ ((Cint.land 1%Z - 1%Z) = 1%Z))). -Proof. - split;split;split;Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_idemp : forall (x:Z), ((Cint.lor x x) = x). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_1 : forall (x:Z), ((Cint.lor (-1%Z)%Z x) = (-1%Z)%Z). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_1bis : forall (x:Z), ((Cint.lor x (-1%Z)%Z) = (-1%Z)%Z). -Proof. - intros x. - rewrite Zbits.lor_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_0 : forall (x:Z), ((Cint.lor 0%Z x) = x). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_0bis : forall (x:Z), ((Cint.lor x 0%Z) = x). -Proof. - intros x. - rewrite Zbits.lor_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_bool : ((Cint.lor 0%Z 0%Z) = 0%Z) /\ (((Cint.lor 0%Z 1%Z) = 1%Z) /\ - (((Cint.lor 1%Z 0%Z) = 1%Z) /\ ((Cint.lor 1%Z 1%Z) = 1%Z))). -Proof. - split;split;split; Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_nilpotent : forall (x:Z), ((Cint.lxor x x) = 0%Z). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_1 : forall (x:Z), ((Cint.lxor (-1%Z)%Z x) = (Cint.lnot x)). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_1bis : forall (x:Z), ((Cint.lxor x (-1%Z)%Z) = (Cint.lnot x)). -Proof. - intros x. - rewrite Zbits.lxor_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_0 : forall (x:Z), ((Cint.lxor 0%Z x) = x). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_0bis : forall (x:Z), ((Cint.lxor x 0%Z) = x). -Proof. - intros x. - rewrite Zbits.lxor_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_bool : ((Cint.lxor 0%Z 0%Z) = 0%Z) /\ (((Cint.lxor 0%Z - 1%Z) = 1%Z) /\ (((Cint.lxor 1%Z 0%Z) = 1%Z) /\ ((Cint.lxor 1%Z - 1%Z) = 0%Z))). -Proof. - split; split; split; Zbits.auto_zbits. -Qed. - -Require Import Qedlib. -Open Local Scope Z_scope. -Require Import Zbits. - - -(* Why3 goal *) -Definition bit_testb : Z -> Z -> bool. -exact (bit_testb). -Defined. - -(* Why3 goal *) -Definition bit_test : Z -> Z -> Prop. -exact (fun x i => (bit_testb x i) = true). -Defined. - -(* Why3 goal *) -Definition lnot : Z -> Z. - exact (lnot). -Defined. - -(* Why3 goal *) -Definition land : Z -> Z -> Z. - exact (land). -Defined. - -(* Why3 goal *) -Definition lxor : Z -> Z -> Z. - exact (lxor). -Defined. - -(* Why3 goal *) -Definition lor : Z -> Z -> Z. - exact (lor). -Defined. - -(* Why3 goal *) -Definition lsl : Z -> Z -> Z. - exact (lsl). -Defined. - -(* Why3 goal *) -Definition lsr : Z -> Z -> Z. - exact (lsr). -Defined. - -(** * Bit extraction *) -(** Tacticals *) -Local Ltac omegaContradiction := cut False; [contradiction|omega]. - -Ltac unfold_bit_testb h := - unfold bit_testb; unfold Zbits.bit_testb; - rewrite (Zle_imp_le_bool _ _ h). - -(** Some useful properties *) -Remark Zlt_bool_true_Zlt: forall (b:bool) (x y: Z), - (b = Zlt_bool x y) <-> ((b = true) <-> x < y). -Proof. - intros. - split; case_lt x y; intros; try rewrite H0. - + split; intro G; auto. - + split; intro G; [discriminate G| omega]. - + auto. - + destruct b; try auto. - destruct H0. assert (x < y) by (by (apply H0)). - omegaContradiction. -Qed. - -(** ** Definition of bit_test predicate *) -(* Why3 goal *) -Lemma bit_test_def : - forall (x:Z) (k:Z), ((bit_testb x k) = true) <-> (bit_test x k). -Proof. - intros x k. - unfold bit_test. - reflexivity. -Qed. - -(** * Link between Bit extraction and bitwise operators *) -(** ** Some properties of bit extration *) -(** ** Logical operators *) - -(* Why3 goal *) -Lemma bit_test_extraction : - forall (x:Z) (k:Z), (0%Z <= k)%Z -> - ~ ((land x (lsl 1%Z k)) = 0%Z) <-> (bit_test x k). -Proof. - intros x k h1. - unfold land. - unfold lsl; unfold Zbits.lsl. - rewrite (Zle_imp_le_bool _ _ h1); unfold Zbits.lsl_def. - - unfold bit_test; unfold bit_testb; - unfold_bit_testb h1; unfold Zbits.zbit_test_def. - pose (i:= (Z.abs_nat k)); fold i. - split. - (** 1st impl *) - + intro NEQ. - apply Bool.not_false_is_true. - contradict NEQ. - rewrite Zbits.Zbit_extraction. - assumption. - (** 2sd impl *) - + intro EQ. - contradict EQ. - rewrite Bool.not_true_iff_false. - rewrite <- Zbits.Zbit_extraction. - assumption. -Qed. - -(* Why3 goal *) -Lemma bit_test_extraction_eq : - forall (x:Z) (k:Z), (0%Z <= k)%Z -> - ((land x (lsl 1%Z k)) = (lsl 1%Z k)) <-> (bit_test x k). -Proof. - intros x k h1. - unfold land. - unfold lsl; unfold Zbits.lsl. - rewrite (Zle_imp_le_bool _ _ h1); unfold Zbits.lsl_def. - - unfold bit_test; unfold bit_testb; - unfold_bit_testb h1; unfold Zbits.zbit_test_def. - pose (i:= (Z.abs_nat k)); fold i. - rewrite Zbits.Zbit_extraction_true. - split; auto. -Qed. - -(* Why3 goal *) -Lemma lsl_1_0 : ((lsl 1%Z 0%Z) = 1%Z). -Proof. - compute. auto. -Qed. - -(* Why3 goal *) -Lemma bit_test_extraction_bis : - forall (x:Z), ~ ((land 1%Z x) = 0%Z) -> bit_test x 0%Z. -Proof. - intros x. - rewrite <- lsl_1_0. - intro. - apply bit_test_extraction. - + omega. - + rewrite Zbits.land_commut. - auto. -Qed. - -(* Why3 goal *) -Lemma bit_test_extraction_bis_eq : - forall (x:Z), (bit_test x 0%Z) -> ((land 1%Z x) = 1%Z). -Proof. - intros x h1. - rewrite <- lsl_1_0. - rewrite <- Zbits.land_commut. - apply bit_test_extraction_eq; auto with zarith. -Qed. - -(* Why3 goal *) -Lemma lnot_extraction_bool : - forall (x:Z) (i:Z), (0%Z <= i)%Z -> - ((bit_testb (lnot x) i) = (Init.Datatypes.negb (bit_testb x i))). -Proof. - intros x i h1. unfold_bit_testb h1. - apply Zbits.lnot_extraction. -Qed. - -(* Why3 goal *) -Lemma lnot_extraction : - forall (x:Z) (i:Z), (0%Z <= i)%Z -> - (bit_test (lnot x) i) <-> ~ (bit_test x i). -Proof. - intros x i h1. - unfold bit_test. rewrite lnot_extraction_bool; auto. - pose (xb:=bit_testb x i). fold xb. - destruct xb; simpl; split; intros; auto. - discriminate H. -Qed. - -(* Why3 goal *) -Lemma land_extraction_bool : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - ((bit_testb (land x y) i) = - (Init.Datatypes.andb (bit_testb x i) (bit_testb y i))). -Proof. - intros x y i h1. unfold_bit_testb h1. - apply Zbits.land_extraction. -Qed. - -(* Why3 goal *) -Lemma land_extraction : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - (bit_test (land x y) i) <-> ((bit_test x i) /\ (bit_test y i)). -Proof. - intros x y i h1. - unfold bit_test. rewrite land_extraction_bool; auto. - pose (xb:=bit_testb x i). fold xb. - pose (yb:=bit_testb y i). fold yb. - destruct xb; destruct yb; simpl; split; intros; auto; destruct H; auto. -Qed. - -(* Why3 goal *) -Lemma lor_extraction_bool : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - ((bit_testb (lor x y) i) = - (Init.Datatypes.orb (bit_testb x i) (bit_testb y i))). -Proof. - intros x y i h1. unfold_bit_testb h1. - apply Zbits.lor_extraction. -Qed. - -(* Why3 goal *) -Lemma lor_extraction : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - (bit_test (lor x y) i) <-> ((bit_test x i) \/ (bit_test y i)). -Proof. - intros x y i h1. - unfold bit_test. rewrite lor_extraction_bool; auto. - pose (xb:=bit_testb x i). fold xb. - pose (yb:=bit_testb y i). fold yb. - destruct xb; destruct yb; simpl; split; intros; auto; destruct H; auto. -Qed. - -(* Why3 goal *) -Lemma lxor_extraction_bool : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - ((bit_testb (lxor x y) i) = - (Init.Datatypes.xorb (bit_testb x i) (bit_testb y i))). -Proof. - intros x y i h1. - unfold_bit_testb h1. - apply Zbits.lxor_extraction. -Qed. - -(* Why3 goal *) -Lemma lxor_extraction : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - (bit_test (lxor x y) i) <-> ((bit_test x i) <-> ~ (bit_test y i)). -Proof. - intros x y i h1. - unfold bit_test. rewrite lxor_extraction_bool; auto. - pose (xb:=bit_testb x i). fold xb. - pose (yb:=bit_testb y i). fold yb. - destruct xb; destruct yb; simpl; repeat (split; intros; auto). - discriminate H. - destruct H; contradiction H; auto. - discriminate H0. - destruct H; apply H0; discriminate. -Qed. - -(** ** Shift operators *) - -(* Why3 goal *) -Lemma lsl_1_two_power : - forall (n:Z), (0%Z <= n)%Z -> ((lsl 1%Z n) = (Cint.two_power_abs n)). -Proof. - intros n h1. - unfold lsl. rewrite Zbits.lsl_pos by auto. - unfold Zbits.lsl_def. rewrite Zbits.lsl_arithmetic_shift. - unfold Zbits.lsl_arithmetic_def. - unfold Cint.two_power_abs. ring. -Qed. - -(* Why3 goal *) -Lemma land_1_lsl_1 : - forall (a:Z) (x:Z) (n:Z), (0%Z <= n)%Z -> (a < (lsl 1%Z n))%Z -> - (((2%Z * a)%Z + (land 1%Z x))%Z < (lsl 1%Z (1%Z + n)%Z))%Z. -Proof. - intros a x n h1. - unfold lsl; unfold Zbits.lsl. - case_leq 0%Z (1 + n)%Z ; intro. - case_leq 0%Z (n)%Z ; intro. - - unfold Zbits.lsl_def. - rewrite Zbits.lsl_arithmetic_shift. - unfold Zbits.lsl_arithmetic_def. - rewrite Zabs2Nat.abs_nat_nonneg by auto. - rewrite Zabs2Nat.abs_nat_nonneg by auto. - rewrite Z2Nat.inj_add by omega. - pose (n0:=Z.to_nat n); fold n0. - - replace ((Z.to_nat 1%Z)%nat) with (1%nat) by auto. - rewrite Bits.two_power_nat_plus. - replace ((two_power_nat 1)%Z) with (2%Z) by auto with zarith. - replace ((1 * two_power_nat n0)%Z) with ((two_power_nat n0)%Z) by auto. - replace ((1 * (2 * two_power_nat n0))%Z) with ((2 * two_power_nat n0)%Z) by ring. - - intro. - cut((land 1 x < 2)%Z) ; auto with zarith. - - case_eq ((land 1 x)%Z) (0%Z); intros. - rewrite bit_test_extraction_bis_eq; [omega|]. - apply bit_test_extraction_bis. - auto. -Qed. - -(** ** Shift operators *) -(* Why3 goal *) -Lemma lsl_extraction_sup_bool : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> (n <= m)%Z -> - ((bit_testb (lsl x n) m) = (bit_testb x (m - n)%Z)). -Proof. - intros x n m h1 h2 h3. - unfold lsl. unfold Zbits.lsl. - unfold_bit_testb h1. - rewrite (Zle_imp_le_bool _ _ h2). - rewrite (Zle_imp_le_bool 0 (m - n)) by omega. - rewrite Zbits.lsl_extraction. - rewrite (Z.abs_eq n); auto. - rewrite (Z.abs_eq m); auto. - case_leq n m. - intros. - reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsl_extraction_sup : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> (n <= m)%Z -> - (bit_test (lsl x n) m) <-> (bit_test x (m - n)%Z). -Proof. - intros x n m h1 h2 h3. - unfold bit_test; rewrite lsl_extraction_sup_bool; auto; reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsl_extraction_inf_bool : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> (m < n)%Z -> - ((bit_testb (lsl x n) m) = false). -Proof. - intros x n m h1 h2 h3. - unfold lsl. unfold Zbits.lsl. - unfold_bit_testb h1. - rewrite (Zle_imp_le_bool _ _ h2). - rewrite Zbits.lsl_extraction. - rewrite (Z.abs_eq n); auto. - rewrite (Z.abs_eq m); auto. - case_leq n m. - intros. - reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsl_extraction_inf : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> (m < n)%Z -> - ~ (bit_test (lsl x n) m). -Proof. - intros x n m h1 h2 h3. - unfold bit_test; rewrite lsl_extraction_inf_bool; auto; reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsr_extraction_bool : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> - ((bit_testb (lsr x n) m) = (bit_testb x (m + n)%Z)). -Proof. - intros x n m h1 h2. - unfold lsr. unfold Zbits.lsr. - unfold_bit_testb h1. - rewrite (Zle_imp_le_bool _ _ h2). - rewrite Zbits.lsr_extraction. - rewrite (Z.abs_eq n); auto. - rewrite (Z.abs_eq m); auto. - case_leq 0 (m+n). - intros. - reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsr_extractionl : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> - (bit_test (lsr x n) m) <-> (bit_test x (m + n)%Z). -Proof. - intros x n m h1 h2. - unfold bit_test; rewrite lsr_extraction_bool; auto; reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsl1_extraction_bool : - forall (i:Z) (j:Z), (0%Z <= i)%Z -> (0%Z <= j)%Z -> - ((bit_testb (lsl 1%Z i) j) = (Qed.eqb i j)). -Proof. - intros i j h1 h2. - unfold lsl. unfold Zbits.lsl. rewrite (Zle_imp_le_bool _ _ h1). - unfold_bit_testb h2. - unfold Zbits.lsl_def. - - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def. - replace (1 * two_power_nat (Z.abs_nat i)) - with (two_power_nat (Z.abs_nat i)) by ring. - - unfold Zbits.zbit_test_def; rewrite Bits.Zbit_power. - rewrite Zabs2Nat.abs_nat_nonneg; auto. - rewrite Zabs2Nat.abs_nat_nonneg; auto. - - case_eq i j. - (** i = j *) - + intro EQ; rewrite EQ; rewrite <- beq_nat_refl. - symmetry. apply Qed.eqb1 ; auto. - (** i <> j *) - + intro NEQ. - assert (Qed.eqb i j = false) as EQB. - { apply Qed.eqb_false. assumption. } - rewrite EQB. - rewrite -> beq_nat_false_iff. - contradict NEQ. - rewrite Z2Nat.inj_iff in NEQ; auto. -Qed. - -(* Why3 goal *) -Lemma lsl1_extraction : - forall (i:Z) (j:Z), (0%Z <= i)%Z -> (0%Z <= j)%Z -> - (bit_test (lsl 1%Z i) j) <-> (i = j). -Proof. - intros i j h1 h2. - unfold bit_test; rewrite lsl1_extraction_bool; auto. apply Qed.eqb1. -Qed. - -(* Why3 goal *) -Lemma pos_extraction_sup : - forall (x:Z) (i:Z) (j:Z), (0%Z <= x)%Z -> (0%Z <= i)%Z -> - (x < (lsl 1%Z i))%Z -> (i <= j)%Z -> ~ (bit_test x j). -Proof. - intros x i j h1 h2. - unfold lsl ; unfold bit_test. - rewrite Zbits.lsl_pos; auto. - unfold Zbits.lsl_def. - rewrite Zbits.lsl_arithmetic_shift. - unfold Zbits.lsl_arithmetic_def. - replace (1 * two_power_nat (Z.abs_nat i)) with (two_power_nat (Z.abs_nat i)) by ring. - intros. - rewrite Zbits.bit_testb_pos ; auto. - + assert (HB:(Bits.Zbit x (Z.abs_nat j) = false)). - {(apply (Zbits.Zbit_unsigned_trail (Z.abs_nat i) (Z.abs_nat j) x); auto). - apply Zabs_nat_le; omega. } - unfold Zbits.zbit_test_def. - rewrite HB; discriminate. - + omega. -Qed. - -(* Why3 goal *) -Lemma pos_extraction_sup_inv : - forall (x:Z) (i:Z), (0%Z <= i)%Z -> - (forall (j:Z), (i <= j)%Z -> ~ (bit_test x j)) -> - (0%Z <= x)%Z /\ (x < (lsl 1%Z i))%Z. -Proof. - intros x i h1 h2. - unfold lsl. - rewrite Zbits.lsl_pos; auto. - unfold Zbits.lsl_def. - rewrite Zbits.lsl_arithmetic_shift. - unfold Zbits.lsl_arithmetic_def. - replace (1 * two_power_nat (Z.abs_nat i)) with (two_power_nat (Z.abs_nat i)) by ring. - apply Zbits.Zbit_unsigned_trail_inv. - intros k h. - generalize (h2 (Z.of_nat k)); clear h2; intro h2. - unfold bit_test in h2; rewrite Zbits.bit_testb_pos in h2. - + assert (Zbits.zbit_test_def x (Z.of_nat k) <> true) as h3. - { apply h2. clear h2. rewrite <- (Zabs2Nat.id k) in h. - rewrite <- Zabs2Nat.inj_le in h; auto. - apply Zle_0_nat. } - clear h2. - unfold Zbits.zbit_test_def in h3. rewrite Zabs2Nat.id in h3. - destruct (Bits.Zbit x k). - * contradiction h3. auto. - * auto. - + apply Zle_0_nat. -Qed. - -(** * Link between Bit extraction and C type conversions *) -(** ** Unsigned conversions *) - -(* Why3 goal *) -Lemma to_uint_extraction_sup : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= n)%Z /\ (n <= i)%Z) -> - (Cint.is_uint n x) -> ~ (bit_test x i). -Proof. - intros n x i h1 h2. - assert (H:(Bits.Zbit x (Z.abs_nat i) = false)). - { unfold Cint.is_uint in h2. - apply (Zbits.Zbit_unsigned_trail (Z.abs_nat n) (Z.abs_nat i) x). - + apply Zabs_nat_le. omega. - + unfold Cint.two_power_abs in h2. - trivial. } - assert (I:(0 <= i)) by omega; - unfold bit_test; unfold_bit_testb I; unfold Zbits.zbit_test_def. - rewrite H; discriminate. -Qed. - -(* Why3 goal *) -Lemma to_uint_extraction_inf_bool : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < n)%Z) -> - ((bit_testb (Cint.to_uint n x) i) = (bit_testb x i)). -Proof. - intros n x i (h1,h2); unfold_bit_testb h1; unfold Zbits.zbit_test_def. - pose (k:= (Z.abs_nat i)); fold k. - unfold Cint.to_uint; unfold Cint.to_range. - simpl. - replace (x - 0) with x by (auto with zarith). - unfold Cint.two_power_abs. - rewrite Zbits.Zbit_uint_mod_two_power_nat. - rewrite (leb_correct_conv k (Z.abs_nat n)). - + trivial. - + apply Zabs_nat_lt; omega. -Qed. - -(* Why3 goal *) -Lemma to_uint_extraction_inf : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < n)%Z) -> - (bit_test (Cint.to_uint n x) i) <-> (bit_test x i). -Proof. - intros n x i (h1,h2); - unfold bit_test; - rewrite to_uint_extraction_inf_bool by auto; - pose (xb:=bit_testb x i); fold xb; - destruct xb; simpl; split; intro G; auto; destruct G; auto. -Qed. - -(* Why3 goal *) -Lemma is_uint_ext : - forall (n:Z) (x:Z) (y:Z), (0%Z <= n)%Z -> (Cint.is_uint n x) -> - (Cint.is_uint n y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i < n)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros n x y h1 h2 h3 h4. - assert (forall i: int, (0 <= i)%Z -> (bit_test x i <-> bit_test y i)). - { intros. - case_lt i n; intro. - + apply h4; omega. - + assert (~ bit_test x i). - { apply (to_uint_extraction_sup n). omega. auto. } - assert (~ bit_test y i). - { apply (to_uint_extraction_sup n). omega. auto. } - intuition. } - clear h1; clear h2; clear h3; clear h4. - unfold bit_test in H. - unfold bit_testb in H. - apply Zbits.bit_testb_ext; intros. - rewrite <- Zbits.bool2_eq_true. - apply H; auto. -Qed. - -Local Ltac uint_extraction_inf_bool to_uint := - intros; rewrite to_uint; - apply to_uint_extraction_inf_bool; - omega. - -Local Ltac uint_extraction_inf to_uint := - intros; rewrite to_uint; - apply to_uint_extraction_inf; - omega. - -(** *** Cast to uint8 C type *) -(* Why3 goal *) -Lemma to_uint8_extraction_sup : - forall (x:Z) (i:Z), (8%Z <= i)%Z -> (Cint.is_uint8 x) -> ~ (bit_test x i). -Proof. - intros; apply (to_uint_extraction_sup 8); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_uint8_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 8%Z)%Z) -> - ((bit_testb (Cint.to_uint8 x) i) = (bit_testb x i)). -Proof. - uint_extraction_inf_bool Cint.to_uint_8. -Qed. - -(* Why3 goal *) -Lemma to_uint8_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 8%Z)%Z) -> - (bit_test (Cint.to_uint8 x) i) <-> (bit_test x i). -Proof. - uint_extraction_inf Cint.to_uint_8. -Qed. - -(* Why3 goal *) -Lemma is_uint8_ext : - forall (x:Z) (y:Z), (Cint.is_uint8 x) -> (Cint.is_uint8 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i < 8%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros x y h1 h2 h3. - apply (is_uint_ext 8); (auto with zarith). -Qed. - -(** *** Cast to uint16 C type *) -(* Why3 goal *) -Lemma to_uint16_extraction_sup : - forall (x:Z) (i:Z), (16%Z <= i)%Z -> (Cint.is_uint16 x) -> ~ (bit_test x i). -Proof. - intros; apply (to_uint_extraction_sup 16); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_uint16_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 16%Z)%Z) -> - ((bit_testb (Cint.to_uint16 x) i) = (bit_testb x i)). -Proof. - uint_extraction_inf_bool Cint.to_uint_16. -Qed. - -(* Why3 goal *) -Lemma to_uint16_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 16%Z)%Z) -> - (bit_test (Cint.to_uint16 x) i) <-> (bit_test x i). -Proof. - uint_extraction_inf Cint.to_uint_16. -Qed. - -(* Why3 goal *) -Lemma is_uint16_ext : - forall (x:Z) (y:Z), (Cint.is_uint16 x) -> (Cint.is_uint16 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i < 16%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros x y h1 h2 h3. - apply (is_uint_ext 16); (auto with zarith). -Qed. - -(** *** Cast to uint32 C type *) -(* Why3 goal *) -Lemma to_uint32_extraction_sup : - forall (x:Z) (i:Z), (32%Z <= i)%Z -> (Cint.is_uint32 x) -> ~ (bit_test x i). -Proof. - intros; apply (to_uint_extraction_sup 32); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_uint32_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 32%Z)%Z) -> - ((bit_testb (Cint.to_uint32 x) i) = (bit_testb x i)). -Proof. - uint_extraction_inf_bool Cint.to_uint_32. -Qed. - -(* Why3 goal *) -Lemma to_uint32_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 32%Z)%Z) -> - (bit_test (Cint.to_uint32 x) i) <-> (bit_test x i). -Proof. - uint_extraction_inf Cint.to_uint_32. -Qed. - -(* Why3 goal *) -Lemma is_uint32_ext : - forall (x:Z) (y:Z), (Cint.is_uint32 x) -> (Cint.is_uint32 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i < 32%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros x y h1 h2 h3. - apply (is_uint_ext 32); (auto with zarith). -Qed. - -(** *** Cast to uint64 C type *) -(* Why3 goal *) -Lemma to_uint64_extraction_sup : - forall (x:Z) (i:Z), (64%Z <= i)%Z -> (Cint.is_uint64 x) -> ~ (bit_test x i). -Proof. - intros; apply (to_uint_extraction_sup 64); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_uint64_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 64%Z)%Z) -> - ((bit_testb (Cint.to_uint64 x) i) = (bit_testb x i)). -Proof. - uint_extraction_inf_bool Cint.to_uint_64. -Qed. - -(* Why3 goal *) -Lemma to_uint64_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 64%Z)%Z) -> - (bit_test (Cint.to_uint64 x) i) <-> (bit_test x i). -Proof. - uint_extraction_inf Cint.to_uint_64. -Qed. - -(* Why3 goal *) -Lemma is_uint64_ext : - forall (x:Z) (y:Z), (Cint.is_uint64 x) -> (Cint.is_uint64 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i < 64%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros x y h1 h2 h3. - apply (is_uint_ext 64); (auto with zarith). -Qed. - -(** ** Signed conversions *) -(* Why3 goal *) -Lemma to_sint_extraction_sup : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= n)%Z /\ (n <= i)%Z) -> - (Cint.is_sint n x) -> (bit_test x i) <-> (x < 0%Z)%Z. -Proof. - intros n x i h1. - unfold Cint.is_sint. - intro h2; - assert (H:(0 <= i)) by omega; - unfold bit_test; unfold_bit_testb H; unfold Zbits.zbit_test_def. - assert (Z.abs_nat n <= Z.abs_nat i)%nat. - { apply (Zabs_nat_le); omega. } - rewrite <- Zlt_bool_true_Zlt; - apply (Zbits.Zbit_trail (Z.abs_nat n) (Z.abs_nat i) x); auto. -Qed. - -(* Why3 goal *) -Lemma to_sint_extraction_inf_bool : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < n)%Z) -> - ((bit_testb (Cint.to_sint n x) i) = (bit_testb x i)). -Proof. - intros n x i (h1,h2); unfold_bit_testb h1; unfold Zbits.zbit_test_def. - pose (k:= (Z.abs_nat i)); fold k. - unfold Cint.to_sint; unfold Cint.to_range. - rewrite Z.sub_opp_r; rewrite Z.sub_opp_r. - rewrite Z.add_opp_l. - replace (Cint.two_power_abs n + Cint.two_power_abs n) with (2 * Cint.two_power_abs n) by (auto with zarith). - unfold Cint.two_power_abs. - replace n with ((n-i)+i) by (auto with zarith). - rewrite Zabs2Nat.inj_add by omega. - apply Zbits.Zbit_sint_mod_two_power_nat. -Qed. - -(* Why3 goal *) -Lemma to_sint_extraction_inf : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < n)%Z) -> - (bit_test (Cint.to_sint n x) i) <-> (bit_test x i). -Proof. - intros n x i (h1,h2). - unfold bit_test; - rewrite to_sint_extraction_inf_bool by auto. - pose (xb:=bit_testb x i); fold xb; - destruct xb; simpl; split; intro G; auto; destruct G; auto. -Qed. - -(* Why3 goal *) -Lemma is_sint_ext : - forall (n:Z) (x:Z) (y:Z), (0%Z <= n)%Z -> (Cint.is_sint n x) -> - (Cint.is_sint n y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i <= n)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros n x y h1 h2 h3 h4. - assert (forall i: int, (0 <= i)%Z -> (bit_test x i <-> bit_test y i)). - { intros. - case_leq i n; intro. - + apply h4; omega. - + assert (0<=n<=n) by omega. - specialize ((h4 n) H1). - generalize ((to_sint_extraction_sup n x n) H1 h2). - generalize ((to_sint_extraction_sup n y n) H1 h3). - clear H1; intros. - rewrite h4 in H2. rewrite H2 in H1. clear H2. - assert ((bit_test x i) <-> x < 0). - { apply (to_sint_extraction_sup n); [omega | auto]. } - assert ((bit_test y i) <-> y < 0). - { apply (to_sint_extraction_sup n); [omega | auto]. } - rewrite H2. - rewrite H3. - auto. } - clear h1; clear h2; clear h3; clear h4. - unfold bit_test in H. - unfold bit_testb in H. - apply Zbits.bit_testb_ext; intros. - rewrite <- Zbits.bool2_eq_true. - apply H; auto. -Qed. - -(** Tactical *) -Local Ltac sint_extraction_sup is_sint vn vz := - intros x i h1; - unfold is_sint; - intro h2; - assert (H:(0 <= i)) by omega; - unfold bit_test; unfold_bit_testb H; unfold Zbits.zbit_test_def; - assert (Z.abs_nat vz <= Z.abs_nat i)%nat - by (assert (vn = Z.abs_nat vz)%nat by (auto with arith); - apply Zabs_nat_le; omega); - rewrite <- Zlt_bool_true_Zlt; - apply (Zbits.Zbit_trail vn (Z.abs_nat i) x); auto. - -Local Ltac unfold_hyp h := - match goal with - | h:(?X1) |- _ => unfold X1 in h - | h:(?X1 _ ) |- _ => unfold X1 in h - | h:(?X1 _ _) |- _ => unfold X1 in h - | h:(?X1 _ _ _) |- _ => unfold X1 in h - | h:(?X1 _ _ _ _) |- _ => unfold X1 in h - | _ => idtac - end. - -Local Ltac sint_extraction_inf_bool to_sint := - intros; rewrite to_sint; - apply to_sint_extraction_inf_bool; - omega. - -Local Ltac sint_extraction_inf to_sint := - intros; rewrite to_sint; - apply to_sint_extraction_inf; - omega. - -(** *** Cast to sint8 C type *) -(* Why3 goal *) -Lemma to_sint8_extraction_sup : - forall (x:Z) (i:Z), (7%Z <= i)%Z -> (Cint.is_sint8 x) -> - (bit_test x i) <-> (x < 0%Z)%Z. -Proof. - intros; apply (to_sint_extraction_sup 7); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_sint8_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 7%Z)%Z) -> - ((bit_testb (Cint.to_sint8 x) i) = (bit_testb x i)). -Proof. - sint_extraction_inf_bool Cint.to_sint_8. -Qed. - -(* Why3 goal *) -Lemma to_sint8_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 7%Z)%Z) -> - (bit_test (Cint.to_sint8 x) i) <-> (bit_test x i). -Proof. - sint_extraction_inf Cint.to_sint_8. -Qed. - -(* Why3 goal *) -Lemma is_sint8_ext : - forall (x:Z) (y:Z), (Cint.is_sint8 x) -> (Cint.is_sint8 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i <= 7%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros. apply (is_sint_ext 7) ; (auto with zarith). -Qed. - -(** *** Cast to sint16 C type *) -(* Why3 goal *) -Lemma to_sint16_extraction_sup : - forall (x:Z) (i:Z), (15%Z <= i)%Z -> (Cint.is_sint16 x) -> - (bit_test x i) <-> (x < 0%Z)%Z. -Proof. - intros; apply (to_sint_extraction_sup 15); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_sint16_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 15%Z)%Z) -> - ((bit_testb (Cint.to_sint16 x) i) = (bit_testb x i)). -Proof. - sint_extraction_inf_bool Cint.to_sint_16. -Qed. - -(* Why3 goal *) -Lemma to_sint16_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 15%Z)%Z) -> - (bit_test (Cint.to_sint16 x) i) <-> (bit_test x i). -Proof. - sint_extraction_inf Cint.to_sint_16. -Qed. - -(* Why3 goal *) -Lemma is_sint16_ext : - forall (x:Z) (y:Z), (Cint.is_sint16 x) -> (Cint.is_sint16 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i <= 15%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros. apply (is_sint_ext 15) ; (auto with zarith). -Qed. - -(** *** Cast to uint32 C type *) -(* Why3 goal *) -Lemma to_sint32_extraction_sup : - forall (x:Z) (i:Z), (31%Z <= i)%Z -> (Cint.is_sint32 x) -> - (bit_test x i) <-> (x < 0%Z)%Z. -Proof. - intros; apply (to_sint_extraction_sup 31); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_sint32_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 31%Z)%Z) -> - ((bit_testb (Cint.to_sint32 x) i) = (bit_testb x i)). -Proof. - sint_extraction_inf_bool Cint.to_sint_32. -Qed. - -(* Why3 goal *) -Lemma to_sint32_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 31%Z)%Z) -> - (bit_test (Cint.to_sint32 x) i) <-> (bit_test x i). -Proof. - sint_extraction_inf Cint.to_sint_32. -Qed. - -(* Why3 goal *) -Lemma is_sint32_ext : - forall (x:Z) (y:Z), (Cint.is_sint32 x) -> (Cint.is_sint32 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i <= 31%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros. apply (is_sint_ext 31) ; (auto with zarith). -Qed. - -(** *** Cast to uint64 C type *) -(* Why3 goal *) -Lemma to_sint64_extraction_sup : - forall (x:Z) (i:Z), (63%Z <= i)%Z -> (Cint.is_sint64 x) -> - (bit_test x i) <-> (x < 0%Z)%Z. -Proof. - intros; apply (to_sint_extraction_sup 63); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_sint64_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 63%Z)%Z) -> - ((bit_testb (Cint.to_sint64 x) i) = (bit_testb x i)). -Proof. - sint_extraction_inf_bool Cint.to_sint_64. -Qed. - -(* Why3 goal *) -Lemma to_sint64_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 63%Z)%Z) -> - (bit_test (Cint.to_sint64 x) i) <-> (bit_test x i). -Proof. - sint_extraction_inf Cint.to_sint_64. -Qed. - -(* Why3 goal *) -Lemma is_sint64_ext : - forall (x:Z) (y:Z), (Cint.is_sint64 x) -> (Cint.is_sint64 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i <= 63%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros; apply (is_sint_ext 63); (auto with zarith). -Qed. - -(** * Some C-Integer Bits Conversions are distributive *) -(** Tacticals *) -Local Ltac is_uint_bitwise f n := - intros x y Rx Ry; unfold_hyp Rx; unfold_hyp Ry; apply Cint.id_to_range; - apply (Zbits.Z_bitwise_in_uint_range f n x y Rx Ry); by compute. - -Local Ltac lsr_in_uint_range n := - intros x y Ry Rx; unfold_hyp Rx; apply Cint.id_to_range; - split; - [ (apply (Zbits.lsr_lower_bound 0 _ _ Ry); omega) - | (apply (Zbits.lsr_upper_bound n _ _ Ry); omega)]. - -(** ** Unsigned conversions *) - -(* Why3 goal *) -Lemma to_uint_lor : - forall (n:Z) (x:Z) (y:Z), - ((Cint.to_uint n (lor x y)) = (lor (Cint.to_uint n x) (Cint.to_uint n y))). -Proof. - intros n x y. - apply Zbits.zbit_test_ext. intro. - rewrite Zbits.lor_extraction. - unfold Cint.to_uint; unfold Cint.to_range; Cint.simplify_to_range_unfolding. - unfold Cint.two_power_abs. - repeat (rewrite Zbits.uint_mod_two_power_extraction). - rewrite Zbits.lor_extraction. - pose (c:=(leb (Z.abs_nat n) (Z.abs_nat n0))); fold c. - destruct c; auto. -Qed. - -(** *** Cast to uint8 C type *) -(* Why3 goal *) -Lemma to_uint8_lor : - forall (x:Z) (y:Z), - ((Cint.to_uint8 (lor x y)) = (lor (Cint.to_uint8 x) (Cint.to_uint 8%Z y))). -Proof. - intros x y; rewrite Cint.to_uint_8; apply to_uint_lor. -Qed. - -(** *** Cast to uint16 C type *) -(* Why3 goal *) -Lemma to_uint16_lor : - forall (x:Z) (y:Z), - ((Cint.to_uint16 (lor x y)) = (lor (Cint.to_uint16 x) (Cint.to_uint16 y))). -Proof. - intros x y; rewrite Cint.to_uint_16; apply to_uint_lor. -Qed. - -(** *** Cast to uint32 C type *) -(* Why3 goal *) -Lemma to_uint32_lor : - forall (x:Z) (y:Z), - ((Cint.to_uint32 (lor x y)) = (lor (Cint.to_uint32 x) (Cint.to_uint32 y))). -Proof. - intros x y; rewrite Cint.to_uint_32; apply to_uint_lor. -Qed. - -(** *** Cast to uint64 C type *) -(* Why3 goal *) -Lemma to_uint64_lor : - forall (x:Z) (y:Z), - ((Cint.to_uint64 (lor x y)) = (lor (Cint.to_uint64 x) (Cint.to_uint64 y))). -Proof. - intros x y; rewrite Cint.to_uint_64; apply to_uint_lor. -Qed. - -(* Why3 goal *) -Lemma is_uint_lxor : - forall (n:Z) (x:Z) (y:Z), (Cint.is_uint n x) -> (Cint.is_uint n y) -> - ((Cint.to_uint n (lxor x y)) = (lxor x y)). -Proof. - intro n; is_uint_bitwise xorb (Zabs_nat n). -Qed. - -(** * Some C-Integer Bits Conversions are identity *) -(** ** Unsigned conversions *) -(* Why3 goal *) -Lemma is_uint_lor : - forall (n:Z) (x:Z) (y:Z), (Cint.is_uint n x) -> (Cint.is_uint n y) -> - ((Cint.to_uint n (lor x y)) = (lor x y)). -Proof. - intro n; is_uint_bitwise orb (Zabs_nat n). -Qed. - -(* Why3 goal *) -Lemma is_uint_land : - forall (n:Z) (x:Z) (y:Z), (Cint.is_uint n x) -> (Cint.is_uint n y) -> - ((Cint.to_uint n (land x y)) = (land x y)). -Proof. - intro n; is_uint_bitwise andb (Zabs_nat n). -Qed. - -(* Why3 goal *) -Lemma is_uint_lsr : - forall (n:Z) (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_uint n x) -> - ((Cint.to_uint n (lsr x y)) = (lsr x y)). -Proof. - intro n; lsr_in_uint_range (Cint.two_power_abs n). -Qed. - -(* Why3 goal *) -Lemma is_uint_lsl1_inf : - forall (n:Z) (y:Z), ((0%Z <= y)%Z /\ (y < n)%Z) -> - ((Cint.to_uint n (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros n y (h1,h2); - (assert (0 <= y) as Ry by omega); - unfold lsl; unfold Zbits.lsl; rewrite (Zle_imp_le_bool _ _ Ry); - unfold Zbits.lsl_def; - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def. - (replace (1 * two_power_nat (Z.abs_nat y)) - with (two_power_nat (Z.abs_nat y)) by (auto with zarith)); - clear Ry. - - assert (Z.abs_nat y < (Z.abs_nat n))%nat as A by - (apply Zabs_nat_lt; omega); - clear h1; clear h2; - pose (M := Z.abs_nat y); fold M; fold M in A. - - unfold Cint.to_uint; unfold Cint.to_range; Cint.simplify_to_range_unfolding. - rewrite Zmod_small; trivial. - unfold Cint.two_power_abs; pose (N:=(Z.abs_nat n)); fold N; fold N in A. - generalize (Bits.two_power_nat_is_positive M); intro Pos. - generalize (Bits.two_power_nat_increase_strict M N A) ; intro. - omega. -Qed. - -(* Why3 goal *) -Lemma is_uint_lsl1_sup : - forall (n:Z) (y:Z), ((0%Z <= n)%Z /\ (n <= y)%Z) -> - ((Cint.to_uint n (lsl 1%Z y)) = 0%Z). -Proof. - intros n y h1. - (assert (0 <= y) as Ry by omega); - unfold lsl; unfold Zbits.lsl; rewrite (Zle_imp_le_bool _ _ Ry); - unfold Zbits.lsl_def; - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def. - (replace (1 * two_power_nat (Z.abs_nat y)) - with (two_power_nat (Z.abs_nat y)) by (auto with zarith)); - clear Ry. - - assert (Z.abs_nat n <= (Z.abs_nat y))%nat as A by - (apply Zabs_nat_le; omega); - clear h1; - pose (M := Z.abs_nat y); fold M; fold M in A. - unfold Cint.to_uint; unfold Cint.to_range; Cint.simplify_to_range_unfolding. - - rewrite (le_plus_minus (Z.abs_nat n) M A). - replace (Z.abs_nat n + (M - Z.abs_nat n))%nat with ((M - Z.abs_nat n) + Z.abs_nat n)%nat by (auto with zarith). - rewrite Bits.two_power_nat_plus. - - apply Z_mod_mult. -Qed. - -(** *** Cast to uint8 C type *) -(* Why3 goal *) -Lemma is_uint8_lxor : - forall (x:Z) (y:Z), (Cint.is_uint8 x) -> (Cint.is_uint8 y) -> - ((Cint.to_uint8 (lxor x y)) = (lxor x y)). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_lxor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint8_lor : - forall (x:Z) (y:Z), (Cint.is_uint8 x) -> (Cint.is_uint8 y) -> - ((Cint.to_uint8 (lor x y)) = (lor x y)). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_lor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint8_land : - forall (x:Z) (y:Z), (Cint.is_uint8 x) -> (Cint.is_uint8 y) -> - ((Cint.to_uint8 (land x y)) = (land x y)). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_land; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint8_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_uint8 x) -> - ((Cint.to_uint8 (lsr x y)) = (lsr x y)). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_lsr; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint8_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 8%Z)%Z) -> - ((Cint.to_uint8 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_lsl1_inf; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint8_lsl1_sup : - forall (y:Z), (8%Z <= y)%Z -> ((Cint.to_uint8 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_lsl1_sup; omega. -Qed. - -(** *** Cast to uint16 C type *) -(* Why3 goal *) -Lemma is_uint16_lxor : - forall (x:Z) (y:Z), (Cint.is_uint16 x) -> (Cint.is_uint16 y) -> - ((Cint.to_uint16 (lxor x y)) = (lxor x y)). -Proof. - intros; rewrite Cint.to_uint_16; apply is_uint_lxor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint16_lor : - forall (x:Z) (y:Z), (Cint.is_uint16 x) -> (Cint.is_uint16 y) -> - ((Cint.to_uint16 (lor x y)) = (lor x y)). -Proof. - intros; rewrite Cint.to_uint_16; apply is_uint_lor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint16_land : - forall (x:Z) (y:Z), (Cint.is_uint16 x) -> (Cint.is_uint16 y) -> - ((Cint.to_uint16 (land x y)) = (land x y)). -Proof. - intros; rewrite Cint.to_uint_16; apply is_uint_land; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint16_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_uint16 x) -> - ((Cint.to_uint16 (lsr x y)) = (lsr x y)). -Proof. - intros; rewrite Cint.to_uint_16; apply is_uint_lsr; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint16_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 16%Z)%Z) -> - ((Cint.to_uint16 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_uint_16. apply is_uint_lsl1_inf; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint16_lsl1_sup : - forall (y:Z), (16%Z <= y)%Z -> ((Cint.to_uint16 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_uint_16; apply is_uint_lsl1_sup; omega. -Qed. - -(** *** Cast to uint32 C type *) -(* Why3 goal *) -Lemma is_uint32_lxor : - forall (x:Z) (y:Z), (Cint.is_uint32 x) -> (Cint.is_uint32 y) -> - ((Cint.to_uint32 (lxor x y)) = (lxor x y)). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_lxor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint32_lor : - forall (x:Z) (y:Z), (Cint.is_uint32 x) -> (Cint.is_uint32 y) -> - ((Cint.to_uint32 (lor x y)) = (lor x y)). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_lor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint32_land : - forall (x:Z) (y:Z), (Cint.is_uint32 x) -> (Cint.is_uint32 y) -> - ((Cint.to_uint32 (land x y)) = (land x y)). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_land; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint32_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_uint32 x) -> - ((Cint.to_uint32 (lsr x y)) = (lsr x y)). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_lsr; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint32_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 32%Z)%Z) -> - ((Cint.to_uint32 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_lsl1_inf; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint32_lsl1_sup : - forall (y:Z), (32%Z <= y)%Z -> ((Cint.to_uint32 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_lsl1_sup; omega. -Qed. - -(** *** Cast to uint64 C type *) -(* Why3 goal *) -Lemma is_uint64_lxor : - forall (x:Z) (y:Z), (Cint.is_uint64 x) -> (Cint.is_uint64 y) -> - ((Cint.to_uint64 (lxor x y)) = (lxor x y)). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_lxor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint64_lor : - forall (x:Z) (y:Z), (Cint.is_uint64 x) -> (Cint.is_uint64 y) -> - ((Cint.to_uint64 (lor x y)) = (lor x y)). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_lor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint64_land : - forall (x:Z) (y:Z), (Cint.is_uint64 x) -> (Cint.is_uint64 y) -> - ((Cint.to_uint64 (land x y)) = (land x y)). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_land; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint64_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_uint64 x) -> - ((Cint.to_uint64 (lsr x y)) = (lsr x y)). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_lsr; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint64_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 64%Z)%Z) -> - ((Cint.to_uint64 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_lsl1_inf; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint64_lsl1_sup : - forall (y:Z), (64%Z <= y)%Z -> ((Cint.to_uint64 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_lsl1_sup; omega. -Qed. - -(** ** Signed conversions *) -(** Tacticals *) -Local Ltac is_sint_lnot b := - intros x Rx; unfold_hyp Rx; apply Cint.id_to_range; - apply (Zbits.lnot_in_range (-b) b x Rx); omega. - -Local Ltac is_sint_bitwise f n := - intros x y Rx Ry; unfold_hyp Rx; unfold_hyp Ry; apply Cint.id_to_range; - apply (Zbits.Z_bitwise_in_sint_range f n x y Rx Ry); by compute. - -Local Ltac lsr_in_sint_range n := - intros x y Ry Rx; unfold_hyp Rx; apply Cint.id_to_range; - split; - [ (apply (Zbits.lsr_lower_bound (-n) _ _ Ry); omega) - | (apply (Zbits.lsr_upper_bound n _ _ Ry); omega)]. - -(* Why3 goal *) -Lemma is_sint_lnot : - forall (n:Z) (x:Z), (Cint.is_sint n x) -> - ((Cint.to_sint n (lnot x)) = (lnot x)). -Proof. - intros n; is_sint_lnot (Cint.two_power_abs n). -Qed. - -(* Why3 goal *) -Lemma is_sint_lxor : - forall (n:Z) (x:Z) (y:Z), (Cint.is_sint n x) -> (Cint.is_sint n y) -> - ((Cint.to_sint n (lxor x y)) = (lxor x y)). -Proof. - intro n; is_sint_bitwise xorb (Zabs_nat n). -Qed. - -(* Why3 goal *) -Lemma is_sint_lor : - forall (n:Z) (x:Z) (y:Z), (Cint.is_sint n x) -> (Cint.is_sint n y) -> - ((Cint.to_sint n (lor x y)) = (lor x y)). -Proof. - intro n; is_sint_bitwise orb (Zabs_nat n). -Qed. - -(* Why3 goal *) -Lemma is_sint_land : - forall (n:Z) (x:Z) (y:Z), (Cint.is_sint n x) -> (Cint.is_sint n y) -> - ((Cint.to_sint n (land x y)) = (land x y)). -Proof. - intro n; is_sint_bitwise andb (Zabs_nat n). -Qed. - -(* Why3 goal *) -Lemma is_sint_lsr : - forall (n:Z) (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_sint n x) -> - ((Cint.to_sint n (lsr x y)) = (lsr x y)). -Proof. - intro n; lsr_in_sint_range (Cint.two_power_abs n). -Qed. - -(* Why3 goal *) -Lemma is_sint_lsl1_inf : - forall (n:Z) (y:Z), ((0%Z <= y)%Z /\ (y < n)%Z) -> - ((Cint.to_sint n (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros n y (h1,h2). - apply Cint.id_sint. - unfold lsl; unfold Zbits.lsl; rewrite (Zle_imp_le_bool _ _ h1); - unfold Zbits.lsl_def; - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def; - (replace (1 * two_power_nat (Z.abs_nat y)) - with (two_power_nat (Z.abs_nat y)) by (auto with zarith)). - unfold Cint.is_sint. - generalize (Cint.two_power_abs_is_positive y); - generalize (Cint.two_power_abs_is_positive n); - unfold Cint.two_power_abs; intros. - split; [omega|]. - apply Bits.two_power_nat_increase_strict. - apply Zabs_nat_lt; omega. -Qed. - -(* Why3 goal *) -Lemma is_sint_lsl1_sup : - forall (n:Z) (y:Z), ((0%Z <= n)%Z /\ (n < y)%Z) -> - ((Cint.to_sint n (lsl 1%Z y)) = 0%Z). -Proof. - intros n y h1. - assert (0 <= y) as Ry by omega; - unfold lsl; unfold Zbits.lsl; rewrite (Zle_imp_le_bool _ _ Ry); - unfold Zbits.lsl_def; - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def; - (replace (1 * two_power_nat (Z.abs_nat y)) - with (two_power_nat (Z.abs_nat y)) by (auto with zarith)). - pose (M := two_power_nat (Z.abs_nat y)); fold M. - unfold Cint.to_sint; unfold Cint.to_range; Cint.simplify_to_range_unfolding. - pose (N:=(Cint.two_power_abs n)); fold N. - - rewrite <- (Z.mod_unique_pos (M + N) (N + N) - (Cint.two_power_abs (y - (n + 1))) - N). - + auto with zarith. - + generalize (Cint.two_power_abs_is_positive n); fold N; omega. - + rewrite Z.add_cancel_r. - replace (N + N) with (2 * N) by (auto with zarith); unfold N. - rewrite <- Cint.two_power_abs_plus_one by omega. - rewrite <- Cint.two_power_abs_plus_pos by omega. - replace (n + 1 + (y - (n + 1))) with y by ring. - auto. -Qed. - -(** *** Cast to sint8 C type *) -(* Why3 goal *) -Lemma is_sint8_lnot : - forall (x:Z), (Cint.is_sint8 x) -> ((Cint.to_sint8 (lnot x)) = (lnot x)). -Proof. - is_sint_lnot 128. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lxor : - forall (x:Z) (y:Z), (Cint.is_sint8 x) -> (Cint.is_sint8 y) -> - ((Cint.to_sint8 (lxor x y)) = (lxor x y)). -Proof. - is_sint_bitwise xorb 7%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lor : - forall (x:Z) (y:Z), (Cint.is_sint8 x) -> (Cint.is_sint8 y) -> - ((Cint.to_sint8 (lor x y)) = (lor x y)). -Proof. - is_sint_bitwise orb 7%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint8_land : - forall (x:Z) (y:Z), (Cint.is_sint8 x) -> (Cint.is_sint8 y) -> - ((Cint.to_sint8 (land x y)) = (land x y)). -Proof. - is_sint_bitwise andb 7%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_sint8 x) -> - ((Cint.to_sint8 (lsr x y)) = (lsr x y)). -Proof. - lsr_in_sint_range 128. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lsl1 : ((lsl 1%Z 7%Z) = 128%Z). -Proof. - compute. auto. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 7%Z)%Z) -> - ((Cint.to_sint8 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_sint_8; apply is_sint_lsl1_inf; omega. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lsl1_sup : - forall (y:Z), (8%Z <= y)%Z -> ((Cint.to_sint8 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_sint_8; apply is_sint_lsl1_sup; omega. -Qed. - -(** *** Cast to sint16 C type *) -(* Why3 goal *) -Lemma is_sint16_lnot : - forall (x:Z), (Cint.is_sint16 x) -> ((Cint.to_sint16 (lnot x)) = (lnot x)). -Proof. - is_sint_lnot 32768. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lxor : - forall (x:Z) (y:Z), (Cint.is_sint16 x) -> (Cint.is_sint16 y) -> - ((Cint.to_sint16 (lxor x y)) = (lxor x y)). -Proof. - is_sint_bitwise xorb 15%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lor : - forall (x:Z) (y:Z), (Cint.is_sint16 x) -> (Cint.is_sint16 y) -> - ((Cint.to_sint16 (lor x y)) = (lor x y)). -Proof. - is_sint_bitwise orb 15%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint16_land : - forall (x:Z) (y:Z), (Cint.is_sint16 x) -> (Cint.is_sint16 y) -> - ((Cint.to_sint16 (land x y)) = (land x y)). -Proof. - is_sint_bitwise andb 15%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_sint16 x) -> - ((Cint.to_sint16 (lsr x y)) = (lsr x y)). -Proof. - lsr_in_sint_range 32768. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lsl1 : ((lsl 1%Z 15%Z) = 32768%Z). -Proof. - compute. auto. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 15%Z)%Z) -> - ((Cint.to_sint16 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_sint_16; apply is_sint_lsl1_inf; omega. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lsl1_sup : - forall (y:Z), (16%Z <= y)%Z -> ((Cint.to_sint16 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_sint_16; apply is_sint_lsl1_sup; omega. -Qed. - -(** *** Cast to sint32 C type *) -(* Why3 goal *) -Lemma is_sint32_lnot : - forall (x:Z), (Cint.is_sint32 x) -> ((Cint.to_sint32 (lnot x)) = (lnot x)). -Proof. - is_sint_lnot 2147483648. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lxor : - forall (x:Z) (y:Z), (Cint.is_sint32 x) -> (Cint.is_sint32 y) -> - ((Cint.to_sint32 (lxor x y)) = (lxor x y)). -Proof. - is_sint_bitwise xorb 31%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lor : - forall (x:Z) (y:Z), (Cint.is_sint32 x) -> (Cint.is_sint32 y) -> - ((Cint.to_sint32 (lor x y)) = (lor x y)). -Proof. - is_sint_bitwise orb 31%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint32_land : - forall (x:Z) (y:Z), (Cint.is_sint32 x) -> (Cint.is_sint32 y) -> - ((Cint.to_sint32 (land x y)) = (land x y)). -Proof. - is_sint_bitwise andb 31%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_sint32 x) -> - ((Cint.to_sint32 (lsr x y)) = (lsr x y)). -Proof. - lsr_in_sint_range 2147483648. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lsl1 : ((lsl 1%Z 31%Z) = 2147483648%Z). -Proof. - compute. auto. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 31%Z)%Z) -> - ((Cint.to_sint32 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_sint_32; apply is_sint_lsl1_inf; omega. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lsl1_sup : - forall (y:Z), (32%Z <= y)%Z -> ((Cint.to_sint32 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_sint_32; apply is_sint_lsl1_sup; omega. -Qed. - -(** *** Cast to sint64 C type *) -(* Why3 goal *) -Lemma is_sint64_lnot : - forall (x:Z), (Cint.is_sint64 x) -> ((Cint.to_sint64 (lnot x)) = (lnot x)). -Proof. - is_sint_lnot 9223372036854775808. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lxor : - forall (x:Z) (y:Z), (Cint.is_sint64 x) -> (Cint.is_sint64 y) -> - ((Cint.to_sint64 (lxor x y)) = (lxor x y)). -Proof. - is_sint_bitwise xorb 63%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lor : - forall (x:Z) (y:Z), (Cint.is_sint64 x) -> (Cint.is_sint64 y) -> - ((Cint.to_sint64 (lor x y)) = (lor x y)). -Proof. - is_sint_bitwise orb 63%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint64_land : - forall (x:Z) (y:Z), (Cint.is_sint64 x) -> (Cint.is_sint64 y) -> - ((Cint.to_sint64 (land x y)) = (land x y)). -Proof. - is_sint_bitwise andb 63%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_sint64 x) -> - ((Cint.to_sint64 (lsr x y)) = (lsr x y)). -Proof. - lsr_in_sint_range 9223372036854775808. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lsl1 : ((lsl 1%Z 63%Z) = 9223372036854775808%Z). -Proof. - compute. auto. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 63%Z)%Z) -> - ((Cint.to_sint64 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_sint_64; apply is_sint_lsl1_inf; omega. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lsl1_sup : - forall (y:Z), (64%Z <= y)%Z -> ((Cint.to_sint64 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_sint_64; apply is_sint_lsl1_sup; omega. -Qed. - -(** * Range of some bitwise operations *) -(* Why3 goal *) -Lemma uint_land_range : - forall (x:Z) (y:Z), (0%Z <= x)%Z -> - (0%Z <= (land x y))%Z /\ ((land x y) <= x)%Z. -Proof. - intros x y h1. - apply Zbits.uint_land_range; trivial. -Qed. - -(* Why3 goal *) -Lemma uint_lor_inf : - forall (x:Z) (y:Z), ((-1%Z)%Z <= x)%Z -> (0%Z <= y)%Z -> (x <= (lor x y))%Z. -Proof. - intros x y h1 h2. - case_leq 0 x; intro. - + apply Zbits.uint_lor_inf; trivial. - + replace x with (-1). - { rewrite Zbits.lor_1; omega. } - omega. -Qed. - -(* Why3 goal *) -Lemma sint_land_inf : - forall (x:Z) (y:Z), (x <= 0%Z)%Z -> (y < 0%Z)%Z -> ((land x y) <= x)%Z. -Proof. - intros x y h1 h2. - cut (-(x+1) <= -((land x y)+1)). - { omega. } - fold (Bits.zlnot x). - fold (Bits.zlnot (land x y)). - repeat (rewrite <- Zbits.lnot_zlnot_equiv). - rewrite Zbits.lnot_land_de_morgan. - repeat (rewrite Zbits.lnot_zlnot_equiv). - apply (uint_lor_inf (Bits.zlnot x)); unfold Bits.zlnot; try omega. -Qed. - -(* Why3 goal *) -Lemma sint_lor_range : - forall (x:Z) (y:Z), (x < 0%Z)%Z -> - (x <= (lor x y))%Z /\ ((lor x y) < 0%Z)%Z. -Proof. - intros x y h1. - cut (0 <= -((lor x y)+1) <= -(x+1)). - { omega. } - fold (Bits.zlnot x). - fold (Bits.zlnot (lor x y)). - rewrite <- Zbits.lnot_zlnot_equiv. - rewrite Zbits.lnot_lor_de_morgan. - rewrite Zbits.lnot_zlnot_equiv. - apply (uint_land_range (Bits.zlnot x)). - unfold Bits.zlnot; omega. -Qed. - -(* Why3 goal *) -Lemma is_uint_lor_distrib : - forall (n:Z) (x:Z) (y:Z), - (Cint.is_uint n (lor x y)) <-> ((Cint.is_uint n x) /\ (Cint.is_uint n y)). -Proof. - intros n x y; split. - + unfold Cint.is_uint ; intros. - destruct H. - rewrite <- Zbits.lor_sign in H. - destruct H. - generalize H0; clear H0. - assert (h1:((-1) <= x)) by omega. - generalize (uint_lor_inf x y h1 H1). - rewrite Zbits.lor_commut. - assert (h2:((-1) <= y)) by omega. - generalize (uint_lor_inf y x h2 H). - unfold lor; - pose (z:=(Zbits.lor y x)); fold z; intros. - omega. - + intro H; destruct H. - rewrite <- (is_uint_lor n) by trivial. - apply Cint.is_to_uint. -Qed. - -(** * Link between bitwise operators and addition *) - -(* Why3 goal *) -Lemma lor_addition : - forall (x:Z) (y:Z), ((land x y) = 0%Z) -> ((x + y)%Z = (lor x y)). -Proof. - intros x y h1. - apply Zbits.lor_addition; trivial. -Qed. - -(* Why3 goal *) -Lemma lxor_addition : - forall (x:Z) (y:Z), ((land x y) = 0%Z) -> ((x + y)%Z = (lxor x y)). -Proof. - intros x y h1. - apply Zbits.lxor_addition; trivial. -Qed. - -(** * Link between land and cast operator *) -(* Why3 goal *) -Lemma to_uint_land_edge : - forall (x:Z) (n:Z), (0%Z <= n)%Z -> - ((Cint.to_uint n x) = (land ((lsl 1%Z n) - 1%Z)%Z x)). -Proof. - intros x n h1. - unfold Cint.to_uint; unfold Cint.to_range; Cint.simplify_to_range_unfolding. - unfold Cint.two_power_abs. - rewrite Zbits.pos_mod_two_power_nat_land_edge. - unfold land; f_equal. - unfold lsl; rewrite Zbits.lsl_pos by omega; unfold Zbits.lsl_def. - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def. - auto with zarith. -Qed. - diff --git a/src/plugins/wp/share/src/Cmath.v b/src/plugins/wp/share/src/Cmath.v deleted file mode 100644 index 2e7e1c4b11750571643e887c179e45e121de9f8c..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/Cmath.v +++ /dev/null @@ -1,20 +0,0 @@ -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require int.Int. -Require int.Abs. -Require real.Real. -Require real.RealInfix. - -Require Import RIneq. - -(* Why3 goal *) -Lemma abs_def : - forall (x:Z), - ((0%Z <= x)%Z -> ((ZArith.BinInt.Z.abs x) = x)) /\ - (~ (0%Z <= x)%Z -> ((ZArith.BinInt.Z.abs x) = (-x)%Z)). -Proof. -exact int.Abs.abs_def. -Qed. - diff --git a/src/plugins/wp/share/src/Makefile b/src/plugins/wp/share/src/Makefile deleted file mode 100644 index 4470d7dddd2311d7f2ac18e27100045bd154aad2..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/Makefile +++ /dev/null @@ -1,425 +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). # -# # -########################################################################## - -# -------------------------------------------------------------------------- -# --- Generation of Coq and Alt-ergo files from Why3 one -# --- Developer only -# -------------------------------------------------------------------------- - -REALIZATION_DIR=.. - -.PHONY: all realize headers - -all: realize - -stamp: - mkdir -p stamp - -aux: - mkdir -p aux - -# performs realization and adds headers -realize: stamp/headers.stamp - -# To add headers without doing more... -headers: - @echo "Apply headers (on all wp/share directory)" - @$(MAKE) -f Makefile.headers -C .. headers > /dev/null - @touch stamp/headers.stamp - -# Dependency needed to allow make -j -stamp/headers.stamp: stamp/realizationtools.stamp stamp/coqrealization.stamp \ - stamp/altergorealization.stamp stamp/coqlib.stamp - @echo "Apply headers (on some files of wp/share directory)" - @$(MAKE) -f Makefile.headers -C .. headers.wp_share_src > /dev/null - @touch $@ - - -WHY3_SHARE:=$(shell why3 --print-datadir) -WHY3_LIB:=$(shell why3 --print-libdir)/coq -WHY3_VERSION:=$(shell opam info -f version why3) -WHY3_SRC:="why3".$(WHY3_VERSION) - -# When installing why3, "make install-lib" is required to be able to find the package -.PHONY: info help -help info: - @echo "Info about targets:" - @echo "- headers -> adds headers to all necessary files" - @echo "- realize -> updates all share/prover directories from source files of share/src" - @echo "- compile -> compiles Coq files" - @echo "- plugins -> builds Why3 plugins used for the realizations" - @echo "- File.coqide -> runs CoqIde on File.v" - @echo "- import_why3_coq > import resources from why3 source" - @echo "- tests -> runs tests" - @echo "- clean -> cleaning the directory" - @echo "- all (default) -> idem realize" - @echo "About why3 configuration:" - @echo " WHY3_PACKAGE= $(shell ocamlfind query why3)" - @echo " WHY3_SHARE= $(WHY3_SHARE)" - @echo " WHY3_LIB= $(WHY3_LIB)" - -#-- The little plugin that define the meta and transformation keep_it and the -#-- printer that do the realization for altergo -PLUGINS=filter_axioms alt_ergo_realize why3printer_realize - -PLUGINS_FILE= $(addsuffix .cmxs, $(PLUGINS)) $(addsuffix .cmo, $(PLUGINS)) - -plugins: $(PLUGINS_FILE) - touch plugins - -%.cmxs: %.ml - ocamlfind ocamlopt -package why3 -shared -o $*.cmxs $*.ml - -%.cmo: %.ml - ocamlfind ocamlc -package why3 -c -o $*.cmo $*.ml - -#-- Library realization (Coq and Alt-ergo) -- - -#Realized libraries -WHY3_FILE= qed cmath cint cbits memory vset cfloat vlist - -WHY3_COQ_REALIZE_DRIVER=$(WHY3_SHARE)/drivers/coq-realize.drv - -WHY3_ALTERGO_DRIVER=$(WHY3_SHARE)/drivers/alt_ergo - - -WHY3_REALIZE=why3 realize --extra-config realization.conf - - -stamp/%.why3_api.stamp: %.mlw Makefile - @echo "Installing Why3 API Library for $*" - install -m 444 $@ $^ - @touch $@ - -stamp/realizationtools.stamp: plugins coq-realize.drv alt_ergo-realize.drv realization.conf stamp/REALIZATION_DIR.stamp - @touch $@ - -stamp/coqrealization.stamp: import_why3_coq $(addprefix stamp/, $(addsuffix .coq.stamp, $(WHY3_FILE))) - @touch $@ - -#file written directly in coq -WPCOQLIB=Bits.v Zbits.v Qedlib.v - -stamp/coqlib.stamp: $(WPCOQLIB) stamp/REALIZATION_DIR.stamp - @echo "Installing Coq Libraries" - @$(foreach file, $(WPCOQLIB),\ - install -m 444 $(file) $(REALIZATION_DIR)/coqwp;\ - install -m 444 $(file) $(REALIZATION_DIR)/why3;) - @touch $@ - -stamp/REALIZATION_DIR.stamp: stamp - @echo "Create share sub-directories" - @mkdir -p $(REALIZATION_DIR)/ergo - @mkdir -p $(REALIZATION_DIR)/why3 - @mkdir -p $(REALIZATION_DIR)/why3_api - @mkdir -p $(REALIZATION_DIR)/coqwp - @touch $@ - -stamp/%.coq.stamp: %.mlw %.why_theory Makefile $(WHY3_LIB) stamp/realizationtools.stamp - @echo "Realizing Coq Library for $*" - @for theory in $$(cat $*.why_theory); do\ - $(WHY3_REALIZE) -D coq-realize.drv -T $*.$$theory -o . 2> logs/$$theory.coq.err.tmp;\ - sed -e 's:^File ".*/wp/share/:File "WP-SHARE/:' logs/$$theory.coq.err.tmp > logs/$$theory.coq.err;\ - rm -f logs/$$theory.coq.err.tmp;\ - install -m 444 $$theory.v $(REALIZATION_DIR)/coqwp;\ - install -m 444 $$theory.v $(REALIZATION_DIR)/why3;\ - done; - @touch $@ - -coq.drv: $(addprefix aux/, $(addsuffix .coq.aux, $(WHY3_FILE))) - @echo "Making Coq driver" - @echo "(* generated automatically at developer compilation time *)" | cat - $^ > $@ - -coq-why3.drv: $(addprefix aux/, $(addsuffix .coq-why3.aux, $(WHY3_FILE))) - @echo "Making Coq-Why3 driver" - @echo "(* generated automatically at developer compilation time *)" | cat - $^ > $@ - install -m 444 $@ $(REALIZATION_DIR)/why3/coq.drv - -coq-realize.drv: $(WHY3_COQ_REALIZE_DRIVER) coq.drv coq-why3.drv - @echo "Making Coq realization driver" - @echo "(* generated automatically at compilation time *)" > $@ - @echo "import \"coq.drv\"" >> $@ - @echo "import \"$(WHY3_COQ_REALIZE_DRIVER)\"" >> $@ - @echo "import \"coq-own-realization.drv\"" >> $@ - -aux/%.coq.aux: %.mlw %.why_theory Makefile aux - @echo "Auxiliary Coq files for $*" - @rm -f $@.tmp; - @for theory in $$(cat $*.why_theory); do\ - echo 'theory $*.'"$$theory"' meta "realized_theory" "$*.'"$$theory"'", "'"$$theory"'" end' >> $@.tmp;\ - done; - @mv $@.tmp $@ - -aux/%.coq-why3.aux: %.mlw %.why_theory Makefile aux - @echo "Auxiliary Coq-Why3 files for $*" - @rm -f $@.tmp; - @for theory in $$(cat $*.why_theory); do\ - NAMELOWER=`ocaml lower.ml "$$theory"`; \ - echo 'theory '"$$NAMELOWER"'.'"$$theory"' meta "realized_theory" "'"$$NAMELOWER"'.'"$$theory"'", "'"$$theory"'" end' >> $@.tmp;\ - done; - @mv $@.tmp $@ - -#-- Why3 Import - -WHY3_STDLIB_REALIZED= \ - bool.Bool \ - map.Map map.Const \ - int.Int int.Abs int.MinMax int.ComputerDivision int.EuclideanDivision int.Power int.Exponentiation \ - for_drivers.ComputerOfEuclideanDivision \ - real.FromInt real.Real real.RealInfix real.Abs real.MinMax \ - real.Square real.ExpLog real.PowerReal \ - real.Trigonometry - -WHY3_STDLIB_USED= \ - $(WHY3_STDLIB_REALIZED) \ - real.Truncate real.Hyperbolic real.Polar - -.PHONY: import_why3_coq - -import_why3_coq: stamp/why3.$(WHY3_VERSION).stamp - @echo "Why-3 Coq Sources up-to-date" - -stamp/why3.$(WHY3_VERSION).stamp: stamp/REALIZATION_DIR.stamp Makefile - @echo "Importing Why-3 Coq Sources" - @rm -fr $(WHY3_SRC) - @opam source $(WHY3_SRC) - @install -m 444 $(WHY3_SRC)/lib/coq/BuiltIn.v $(REALIZATION_DIR)/coqwp/BuiltIn.v - @install -m 444 $(WHY3_SRC)/lib/coq/HighOrd.v $(REALIZATION_DIR)/coqwp/HighOrd.v - @$(foreach file, $(subst .,/,$(WHY3_STDLIB_REALIZED)), \ - install -m 444 $(WHY3_SRC)/lib/coq/$(file).v $(REALIZATION_DIR)/coqwp/$(file).v;) - @rm -fr $(WHY3_SRC) - @touch $@ - -# -------------------------------------------------------------------------- -# --- Alt-Ergo Realization -# -------------------------------------------------------------------------- - -stamp/altergorealization.stamp:\ - $(addprefix stamp/, \ - $(addsuffix .altergo.stamp, $(WHY3_FILE)) \ - $(addsuffix .altergo.stdlib.stamp, $(WHY3_STDLIB_USED))) - @touch $@ - -stamp/%.altergo.stamp: %.mlw %.why_theory Makefile $(WHY3_LIB) stamp/realizationtools.stamp - @echo "Realizing Alt-Ergo Library for $*" - @$(foreach theory, $(shell cat $*.why_theory),\ - $(WHY3_REALIZE) -D alt_ergo-realize.drv -T $*.$(theory) -o $(REALIZATION_DIR)/ergo 2> logs/$(theory).altergo.err.tmp;\ - sed -e 's:^File ".*/wp/share/:File "WP-SHARE/:' logs/$(theory).altergo.err.tmp > logs/$(theory).altergo.err;\ - rm -f logs/$(theory).altergo.err.tmp;) - @touch $@ - - -stamp/%.altergo.stdlib.stamp: Makefile $(WHY3_LIB) stamp/realizationtools.stamp - @echo "Realizing Alt-Ergo Std-Library for $*" - @mkdir -p tmp; rm -rf tmp/$*; mkdir tmp/$* - @$(WHY3_REALIZE) -D alt_ergo-realize.drv -T $* -o tmp/$* 2> logs/$*.altergo.stdlib.err.tmp - @sed -e 's:^File ".*/wp/share/:File "WP-SHARE/:' logs/$*.altergo.stdlib.err.tmp > logs/$*.altergo.stdlib.err - @rm -f logs/$*altergo.stdlib.err.tmp - @mv tmp/$*/$(subst .,,$(suffix $*)).mlw $(REALIZATION_DIR)/ergo/$*.mlw - @rm -rf tmp/$* - @touch $@ - - -alt_ergo-realize.drv: $(addprefix aux/, $(addsuffix .altergo.aux, $(WHY3_FILE)) $(addsuffix .altergo.stdlib.aux, $(WHY3_STDLIB_USED))) - @echo "Generating Alt-Ergo driver" - @echo "(* generated automatically at compilation time *)" > $@ - @echo 'theory BuiltIn meta "realized_theory" "BuiltIn", "BuiltIn_" end' >> $@ - @echo 'theory BuiltIn meta "realized_theory" "Bool", "Bool_" end' >> $@ - @cat $^ >> $@ - @echo "printer \"alt-ergo-realize\"" >> $@ - @echo "filename \"%t.mlw\"" >> $@ - @echo "transformation \"remove_for_altergo\"" >> $@ - @echo "transformation \"inline_in\"" >> $@ - @echo "transformation \"def_into_axiom\"" >> $@ - @echo >> $@ - @echo "import \"alt_ergo_why3_stdlib.drv\"" >> $@ - @echo >> $@ - @echo "(* From why3 alt_ergo.drv except import *)" >> $@ - @cat $(WHY3_ALTERGO_DRIVER).drv | grep -v -e "^import" >> $@ - @echo "(* From why3 alt_ergo_common.drv except printer *)" >> $@ - @cat $(WHY3_ALTERGO_DRIVER)_common.drv | grep -v -e "^printer" -e "^filename" -e "^ *use " >> $@ - -#We put the realized theory meta un BuiltIn so that it always appears -aux/%.altergo.aux: %.mlw %.why_theory Makefile $(WHY3_LIB) aux - @echo "Auxiliary Alt-Ergo files for $*" - @rm -f $@.tmp - @$(foreach theory, $(shell cat $*.why_theory),\ - echo 'theory $*.$(theory) meta "realized_theory" "$*.$(theory)", "$(subst .,_,$(theory))_" end' >> $@.tmp;) - @mv $@.tmp $@ - -aux/%.altergo.stdlib.aux: Makefile $(WHY3_LIB) aux - @echo "Auxiliary Alt-Ergo stdlib for $*" - @echo 'theory $* meta "realized_theory" "$*", "$(subst .,_,$*)_" end' > $@; - -%.why_theory: %.mlw - @echo "Why Theory $<" - @grep -e "^theory" $< | sed -e "s/^theory[ ]*//" > $@ - -#why3 realization -why3.drv: $(addprefix aux/, $(addsuffix .why3.aux, $(WHY3_FILE))) - @echo "Generating Why-3 driver" - @echo "(* generated automatically at compilation time *)" | cat - $^ > $@ - -aux/%.why3.aux: %.mlw %.why_theory Makefile aux - @echo "Auxiliary Why-3 files for $*" - @rm -f $@.tmp; - @for theory in $$(cat $*.why_theory); do \ - NAMEUPPER=`ocaml upper.ml "$*"`; \ - echo 'theory $*.'"$$theory"' meta "realized_theory" "$*.'"$$theory"'", "'"$$NAMEUPPER"'.'"$$theory"'" end' >> $@.tmp;\ - done; - @mv $@.tmp $@ - -stamp/why3realization.stamp:\ - $(addprefix stamp/, $(addsuffix .why3.stamp, $(WHY3_FILE))) - @touch $@ - - -stamp/%.why3.stamp: %.mlw %.why_theory Makefile $(WHY3_LIB) stamp/realizationtools.stamp why3-realize.drv why3.drv - @echo "Realizing Why-3 Theory $*" - @for theory in $$(cat $*.why_theory); do \ - $(WHY3_REALIZE) -D why3-realize.drv -T $*.$$theory -o $(REALIZATION_DIR)/why3 2> logs/$$theory.why3.err.tmp;\ - why3 prove --type-only -L $(REALIZATION_DIR)/why3 $(REALIZATION_DIR)/why3/$$theory.why 2> logs/$$theory.why3.check.err.tmp;\ - sed -e 's:^File ".*/wp/share/:File "WP-SHARE/:' logs/$$theory.why3.err.tmp > logs/$$theory.why3.err;\ - sed -e 's:^File ".*/wp/share/:File "WP-SHARE/:' logs/$$theory.why3.check.err.tmp > logs/$$theory.why3.check.err;\ - rm -f logs/$$theory.why3.err.tmp logs/$$theory.why3.check.err.tmp;\ - done; - @touch $@ - - -COQLIBS:= Qed Qedlib Bits Zbits Cint Cbits Memory Cmath Cfloat Vlist ArcTrigo ExpLog Vset -COQDEP:= $(addsuffix .coqdep, $(COQLIBS)) -COQDEP_STAMPS:= $(addprefix stamp/, $(COQDEP)) -COQVO:= $(addsuffix .vo, $(COQLIBS)) - -COQINCLUDE= -R $(WHY3_LIB) Why3 - -%.vo: %.v - coqc -w none $(COQINCLUDE) $< - -stamp/%.coqdep: %.v stamp - @coqdep $(COQINCLUDE) $< > $@ 2>/dev/null - @(cmp $@ $(subst stamp/,,$@) 2>/dev/null) \ - || (cp $@ $(subst stamp/,,$@) \ - && echo "Updating $(subst stamp/,,$@)") - -stamp/coqdep.stamp: Makefile $(COQDEP_STAMPS) - @echo "Coq dependencies updated" - @touch $@ - -# a non-empty rule is needed for the first make -%.coqdep: stamp/%.coqdep - @true - -sinclude $(COQDEP) - -stamp/%.coqdep: stamp - -stamp/compile.stamp: Makefile stamp/coqdep.stamp $(COQVO) - @echo "Coq compilation done" - @touch $@ - -.PHONY: compile -compile: stamp/compile.stamp - -.PHONY: clean -clean: - @echo "Cleaning" - @rm -f $(COQVO) - @rm -f filter_axioms.cm* filter_axioms.o - @rm -f alt_ergo_realize.cm* alt_ergo_realize.o - @rm -f why3printer_realize.cm* why3printer_realize.o - @rm -f *.stamp stamp/* - @rm -f *.aux aux/* - @rm -f *.glob *.coqdep - -.PHONY: %.coqide -%.coqide: %.v - coqide $(COQINCLUDE) $< - -# -------------------------------------------------------------------------- -# --- Coq Documentation --- -# -------------------------------------------------------------------------- - -COQDOC=../doc -COQHTML=../html -COQSRC= $(addsuffix .v,$(COQLIBS)) -COQGLOB= $(addsuffix .glob,$(COQLIBS)) - - - -html: compile $(COQDOC)/coq2html - @mkdir -p $(COQHTML) - @rm -fr $(COQHTML)/* - @cp $(COQDOC)/frama-c.png $(COQHTML)/ - @cp $(COQDOC)/coq2html.css $(COQDOC)/coq2html.js $(COQDOC)/index.png $(COQHTML)/ - @cat $(COQDOC)/head.html >> $(COQHTML)/index.html - @for a in $(COQLIBS) ; \ - do echo " <li> Module <a href=\"$$a.html\">$$a</a></li>" >> $(COQHTML)/index.html ; \ - done ; - @cat $(COQDOC)/foot.html >> $(COQHTML)/index.html - $(COQDOC)/coq2html -o $(COQHTML)/%.html $(COQGLOB) $(COQSRC) - zip ../wpcoqdoc.zip $(COQHTML)/* - -latex: $(COQDOC)/coq2latex - @mkdir -p latex - @rm -fr latex/* - coqdoc --latex -d latex --body-only -l $(COQSRC) - -$(COQDOC)/coq2html: $(COQDOC)/coq2html.ml - ocamlfind ocamlopt -o $@ str.cmxa $< - -$(COQDOC)/coq2html.ml: $(COQDOC)/coq2html.mll - ocamllex $< - -$(COQDOC)/coq2latex: $(COQDOC)/coq2latex.ml - ocamlfind ocamlopt -o $@ str.cmxa $< - -$(COQDOC)/coq2latex.ml: $(COQDOC)/coq2latex.mll - ocamllex $< - -##### Generation of configuration file for why3 ##### - -local_why3.conf: Makefile - @echo Generation of a local extra-conf for why3 - @printf "[prover_modifiers]\n" > $@ - @printf "name=\"Coq\"\n" >> $@ - @printf "option=\"-R $(PWD)/WP FramaCwp\"\n" >> $@ - @printf "driver=\"$(PWD)/coq.drv\"\n" >> $@ - @printf "\n" >> $@ - @printf "[editor_modifiers coqide]\n" >> $@ - @printf "option=\"-R $(PWD)/WP FramaCwp\"\n" >> $@ - @printf "\n" >> $@ - @printf "[editor_modifiers proofgeneral-coq]\n" >> $@ - @printf "option=\"--eval \\\\\"(setq coq-load-path (cons '(\\\\\\\\\\\\\"$(PWD)\\\\\\\\\\\\\" \\\\\\\\\\\\\"FramaCwp\\\\\\\\\\\\\") coq-load-path))\\\\\"\"\n" >> $@ - -##### Test local configuration ##### - -TEST=import -TEST_TARGET:=$(addprefix tests/, $(addsuffix .run, $(TEST))) - -tests: $(TEST_TARGET) - -tests/%.run: tests/%.mlw local_why3.conf Makefile - why3 replay --extra-config local_why3.conf --extra-config realization.conf $< - -tests/%.why3ide: tests/%.mlw local_why3.conf - why3 ide --extra-config local_why3.conf --extra-config realization.conf $< diff --git a/src/plugins/wp/share/src/Memory.v b/src/plugins/wp/share/src/Memory.v deleted file mode 100644 index 39bab81d0263ed8fcf245705b0e0910fabd55688..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/Memory.v +++ /dev/null @@ -1,362 +0,0 @@ -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require HighOrd. -Require bool.Bool. -Require int.Int. -Require map.Map. - -Require Import ZArith. -Require Import Qedlib. - -(* Why3 assumption *) -Inductive addr := - | mk_addr : Z -> Z -> addr. -Axiom addr_WhyType : WhyType addr. -Existing Instance addr_WhyType. - -(* Why3 assumption *) -Definition offset (v:addr) : Z := match v with - | mk_addr x x1 => x1 - end. - -(* Why3 assumption *) -Definition base (v:addr) : Z := match v with - | mk_addr x x1 => x - end. - -(* Why3 goal *) -Definition addr_le : addr -> addr -> Prop. - exact (fun (p q : addr) => ((base p = base q) /\ (offset p <= offset q)%Z)). -Defined. - -(* Why3 goal *) -Definition addr_lt : addr -> addr -> Prop. - exact (fun (p q : addr) => (base p = base q) /\ (offset p < offset q)%Z). -Defined. - -(* Why3 goal *) -Definition addr_le_bool : addr -> addr -> bool. - exact (fun (p q : addr) => - andb (Zeq_bool (base p) (base q)) (Zle_bool (offset p) (offset q))). -Defined. - -(* Why3 goal *) -Definition addr_lt_bool : addr -> addr -> bool. - exact (fun (p q : addr) => - andb (Zeq_bool (base p) (base q)) (Zlt_bool (offset p) (offset q))). -Defined. - -(* Why3 goal *) -Lemma addr_le_def : - forall (p:addr) (q:addr), ((base p) = (base q)) -> - (addr_le p q) <-> ((offset p) <= (offset q))%Z. -Proof. - unfold addr_le. - intuition. -Qed. - -(* Why3 goal *) -Lemma addr_lt_def : - forall (p:addr) (q:addr), ((base p) = (base q)) -> - (addr_lt p q) <-> ((offset p) < (offset q))%Z. -Proof. - unfold addr_lt. - intuition. -Qed. - -(* Why3 goal *) -Lemma addr_le_bool_def : - forall (p:addr) (q:addr), (addr_le p q) <-> ((addr_le_bool p q) = true). -Proof. - unfold addr_le. unfold addr_le_bool. - intros. split; intro H. - destruct H as [H0 H1]. - rewrite Zeq_is_eq_bool in H0. - apply Zle_imp_le_bool in H1. - rewrite H0. rewrite H1. - compute;reflexivity. - symmetry in H. - apply Bool.andb_true_eq in H. - destruct H as [H1 H2]. - split;[apply Zeq_bool_eq|apply Zle_bool_imp_le];symmetry; assumption. -Qed. - -(* Why3 goal *) -Lemma addr_lt_bool_def : - forall (p:addr) (q:addr), (addr_lt p q) <-> ((addr_lt_bool p q) = true). -Proof. - unfold addr_lt. unfold addr_lt_bool. - intros. split; intro H. - destruct H as [H0 H1]. - rewrite Zeq_is_eq_bool in H0. - rewrite Zlt_is_lt_bool in H1. - rewrite H0. rewrite H1. - compute;reflexivity. - symmetry in H. - apply Bool.andb_true_eq in H. - destruct H as [H1 H2]. - split;[apply Zeq_bool_eq|rewrite Zlt_is_lt_bool];symmetry; assumption. -Qed. - -(* Why3 assumption *) -Definition null : addr := mk_addr 0%Z 0%Z. - -(* Why3 assumption *) -Definition global (b:Z) : addr := mk_addr b 0%Z. - -(* Why3 assumption *) -Definition shift (p:addr) (k:Z) : addr := - mk_addr (base p) ((offset p) + k)%Z. - -(* Why3 assumption *) -Definition included (p:addr) (a:Z) (q:addr) (b:Z) : Prop := - (0%Z < a)%Z -> - (0%Z <= b)%Z /\ - (((base p) = (base q)) /\ - (((offset q) <= (offset p))%Z /\ - (((offset p) + a)%Z <= ((offset q) + b)%Z)%Z)). - -(* Why3 assumption *) -Definition separated (p:addr) (a:Z) (q:addr) (b:Z) : Prop := - (a <= 0%Z)%Z \/ - ((b <= 0%Z)%Z \/ - (~ ((base p) = (base q)) \/ - ((((offset q) + b)%Z <= (offset p))%Z \/ - (((offset p) + a)%Z <= (offset q))%Z))). - -(* Why3 assumption *) -Definition eqmem {a:Type} {a_WT:WhyType a} (m1:addr -> a) (m2:addr -> a) - (p:addr) (a1:Z) : Prop := - forall (q:addr), (included q 1%Z p a1) -> ((m1 q) = (m2 q)). - -(* Why3 goal *) -Variable havoc: forall {a:Type} {a_WT:WhyType a}, (addr -> a) -> - (addr -> a) -> addr -> Z -> addr -> a. - -Definition fhavoc {A : Type} - (m : farray addr A) - (w : farray addr A) (p:addr) (n:Z) : (farray addr A) := - {| whytype1 := whytype1 m; - whytype2 := whytype2 m; - access := @havoc _ (whytype2 m) (access m) (access w) p n |}. - -(* Why3 assumption *) -Definition valid_rw (m:Z -> Z) (p:addr) (n:Z) : Prop := - (0%Z < n)%Z -> - (0%Z < (base p))%Z /\ - ((0%Z <= (offset p))%Z /\ (((offset p) + n)%Z <= (m (base p)))%Z). - -(* Why3 assumption *) -Definition valid_rd (m:Z -> Z) (p:addr) (n:Z) : Prop := - (0%Z < n)%Z -> - ~ (0%Z = (base p)) /\ - ((0%Z <= (offset p))%Z /\ (((offset p) + n)%Z <= (m (base p)))%Z). - -(* Why3 assumption *) -Definition invalid (m:Z -> Z) (p:addr) (n:Z) : Prop := - (0%Z < n)%Z -> - ((m (base p)) <= (offset p))%Z \/ (((offset p) + n)%Z <= 0%Z)%Z. - -(* Why3 goal *) -Lemma valid_rw_rd : - forall (m:Z -> Z), forall (p:addr), forall (n:Z), (valid_rw m p n) -> - valid_rd m p n. -Proof. - intros m p n. - unfold valid_rw. unfold valid_rd. - intuition (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma valid_string : - forall (m:Z -> Z), forall (p:addr), ((base p) < 0%Z)%Z -> - ((0%Z <= (offset p))%Z /\ ((offset p) < (m (base p)))%Z) -> - (valid_rd m p 1%Z) /\ ~ (valid_rw m p 1%Z). -Proof. - intros m p. - unfold valid_rd. unfold valid_rw. - intuition (auto with zarith). -Qed. - -Lemma separated_neq : forall p a q b p' q', - separated p a q b -> - included p' 1 p a -> - included q' 1 q b -> - p' <> q'. -Proof. - intros p a q b p' q' SEP InP InQ EQ. - unfold separated in SEP. - unfold included in InP,InQ. - case_lt 0%Z a. - case_lt 0%Z b. - intros BPOS APOS. - generalize InP ; clear InP. - intro H ; elim H ; clear H ; auto with zarith. - intro H. clear H. - intro H ; elim H ; clear H. - intro BaseP. - intro H ; elim H ; clear H. - intros InP1 InP2. - generalize InQ ; clear InQ. - intro H ; elim H ; clear H ; auto with zarith. - intro H. clear H. - intro H ; elim H ; clear H. - intro BaseQ. - intro H ; elim H ; clear H. - intros InQ1 InQ2. - generalize SEP ; clear SEP. - intro H ; elim H ; clear H ; auto with zarith. - intro H ; elim H ; clear H ; auto with zarith. - intro H ; elim H ; clear H ; auto with zarith. - rewrite <- EQ in BaseQ. - rewrite BaseP in BaseQ. - contradiction. - rewrite <- EQ in InQ1,InQ2. - omega. -Qed. - -(* Why3 goal *) -Lemma separated_1 : - forall (p:addr) (q:addr), forall (a:Z) (b:Z) (i:Z) (j:Z), - (separated p a q b) -> - (((offset p) <= i)%Z /\ (i < ((offset p) + a)%Z)%Z) -> - (((offset q) <= j)%Z /\ (j < ((offset q) + b)%Z)%Z) -> - ~ ((mk_addr (base p) i) = (mk_addr (base q) j)). -Admitted. - -(* Why3 goal *) -Definition region : Z -> Z. -Admitted. - -(* Why3 goal *) -Definition linked : (Z -> Z) -> Prop. -Admitted. - -(* Why3 goal *) -Definition sconst : (addr -> Z) -> Prop. -Admitted. - -(* Why3 assumption *) -Definition framed (m:addr -> addr) : Prop := - forall (p:addr), ((region (base (m p))) <= 0%Z)%Z. - -(* Why3 goal *) -Lemma separated_included : - forall (p:addr) (q:addr), forall (a:Z) (b:Z), (0%Z < a)%Z -> (0%Z < b)%Z -> - (separated p a q b) -> ~ (included p a q b). -Proof. -intros p q a b h1 h2 h3. - unfold separated. unfold included. unfold not. - intuition. -Admitted. - -(* -Lemma separated_region : forall p a q b, - region (base p) <> region (base q) -> separated p a q b. -Proof. - intros p a q b RDIFF. - unfold separated. - right. right. left. - intuition. - apply RDIFF. rewrite H. auto. -Qed. -*) - -(* Why3 goal *) -Lemma included_trans : - forall (p:addr) (q:addr) (r:addr), forall (a:Z) (b:Z) (c:Z), - (included p a q b) -> (included q b r c) -> included p a r c. -Proof. - intros p a q b r c. - unfold included. intuition. -Qed. - -(* Why3 goal *) -Lemma separated_trans : - forall (p:addr) (q:addr) (r:addr), forall (a:Z) (b:Z) (c:Z), - (included p a q b) -> (separated q b r c) -> separated p a r c. -Proof. - intros p a q b r c. -Admitted. - -(* Why3 goal *) -Lemma separated_sym : - forall (p:addr) (q:addr), forall (a:Z) (b:Z), - (separated p a q b) <-> (separated q b p a). -Proof. - intros p q a b. - unfold separated. intuition. -Qed. - -(* Why3 goal *) -Lemma eqmem_included {a:Type} {a_WT:WhyType a} : - forall (m1:addr -> a) (m2:addr -> a), forall (p:addr) (q:addr), - forall (a1:Z) (b:Z), (included p a1 q b) -> (eqmem m1 m2 q b) -> - eqmem m1 m2 p a1. -Proof. - intros m1 m2 p q a1 b h1 h2. -Admitted. - -(* Why3 goal *) -Lemma eqmem_sym {a:Type} {a_WT:WhyType a} : - forall (m1:addr -> a) (m2:addr -> a), forall (p:addr), forall (a1:Z), - (eqmem m1 m2 p a1) -> eqmem m2 m1 p a1. -Proof. - intros m1 m2 p a1. unfold eqmem. -Admitted. - -(* Why3 goal *) -Lemma havoc_access {a:Type} {a_WT:WhyType a} : - forall (m0:addr -> a) (m1:addr -> a), forall (q:addr) (p:addr), - forall (a1:Z), - ((separated q 1%Z p a1) -> (((havoc m0 m1 p a1) q) = (m1 q))) /\ - (~ (separated q 1%Z p a1) -> (((havoc m0 m1 p a1) q) = (m0 q))). -Proof. - intros m0 m1 q p a1. -Admitted. - -(* Why3 goal *) -Definition int_of_addr : addr -> Z. -Admitted. - -(* Why3 goal *) -Definition addr_of_int : Z -> addr. -Admitted. - -(* Why3 goal *) -Definition base_offset: Z -> Z. -Admitted. - -(* Why3 goal *) -Definition base_index: Z -> Z. -Admitted. - -(* Why3 goal *) -Lemma int_of_addr_bijection : forall (a:Z), - ((int_of_addr (addr_of_int a)) = a). -Admitted. - -(* Why3 goal *) -Lemma addr_of_int_bijection : - forall (p:addr), ((addr_of_int (int_of_addr p)) = p). -Admitted. - -(* Why3 goal *) -Lemma addr_of_null : ((int_of_addr null) = 0%Z). -Admitted. - -(* Why3 goal *) -Lemma base_offset_zero : ((base_offset 0%Z) = 0%Z). -Admitted. - -(* Why3 goal *) -Lemma base_offset_inj : forall (i:Z), ((base_index (base_offset i)) = i). -Admitted. - -(* Why3 goal *) -Lemma base_offset_monotonic : forall (i:Z) (j:Z), (i < j)%Z -> - ((base_offset i) < (base_offset j))%Z. -Admitted. - diff --git a/src/plugins/wp/share/src/Qed.v b/src/plugins/wp/share/src/Qed.v deleted file mode 100644 index 6275a4ff9ba0bc7b0659f3167a10ef35050798a6..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/Qed.v +++ /dev/null @@ -1,184 +0,0 @@ -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require bool.Bool. -Require int.Int. -Require int.Abs. -Require int.EuclideanDivision. -Require int.ComputerDivision. -Require real.Real. -Require real.RealInfix. -Require real.FromInt. -Require for_drivers.ComputerOfEuclideanDivision. - -(* Why3 goal *) -Definition match_bool {a:Type} {a_WT:WhyType a} : bool -> a -> a -> a. -exact (fun b x y => if b then x else y). -Defined. - -(* Why3 goal *) -Lemma match_bool1 {a:Type} {a_WT:WhyType a} : - forall (p:bool) (x:a) (y:a), - ((p = true) /\ ((match_bool p x y) = x)) \/ - ((p = false) /\ ((match_bool p x y) = y)). -Proof. - intros p x y. - destruct p; intuition. -Qed. - -(* Why3 goal *) -Definition eqb {a:Type} {a_WT:WhyType a} : a -> a -> bool. -exact (fun x y => if why_decidable_eq x y then true else false). -Defined. - -(* Why3 goal *) -Lemma eqb1 {a:Type} {a_WT:WhyType a} : - forall (x:a) (y:a), ((eqb x y) = true) <-> (x = y). -Proof. - intros x y. - destruct a_WT. - compute;destruct (why_decidable_eq x y);intuition discriminate. -Qed. - -(* Why3 goal *) -Lemma eqb_false {a:Type} {a_WT:WhyType a} : - forall (x:a) (y:a), ((eqb x y) = false) <-> ~ (x = y). -Proof. - intros x y. - destruct a_WT. - compute;destruct (why_decidable_eq x y);intuition discriminate. -Qed. - -(* Why3 goal *) -Definition neqb {a:Type} {a_WT:WhyType a} : a -> a -> bool. -exact (fun x y => if why_decidable_eq x y then false else true). -Defined. - -(* Why3 goal *) -Lemma neqb1 {a:Type} {a_WT:WhyType a} : - forall (x:a) (y:a), ((neqb x y) = true) <-> ~ (x = y). -Proof. - intros x y. - destruct a_WT. - compute;destruct (why_decidable_eq x y);intuition discriminate. -Qed. - -(* Why3 goal *) -Definition zlt : Z -> Z -> bool. -exact(Zlt_bool). -Defined. - -(* Why3 goal *) -Definition zleq : Z -> Z -> bool. -exact(Zle_bool). -Defined. - -(* Why3 goal *) -Lemma zlt1 : forall (x:Z) (y:Z), ((zlt x y) = true) <-> (x < y)%Z. -Proof. - intros x y. - assert (T:= Zlt_is_lt_bool x y). - tauto. -Qed. - -(* Why3 goal *) -Lemma zleq1 : forall (x:Z) (y:Z), ((zleq x y) = true) <-> (x <= y)%Z. -Proof. - intros x y. - assert (T:= Zle_is_le_bool x y). - tauto. -Qed. - -(* Why3 goal *) -Definition rlt : R -> R -> bool. -exact (fun x y => if Rlt_dec x y then true else false). -Defined. - -(* Why3 goal *) -Definition rleq : R -> R -> bool. -exact (fun x y => if Rle_dec x y then true else false). -Defined. - -(* Why3 goal *) -Lemma rlt1 : forall (x:R) (y:R), ((rlt x y) = true) <-> (x < y)%R. -Proof. - intros x y. - compute;destruct (Rlt_dec x y); intuition discriminate. -Qed. - -(* Why3 goal *) -Lemma rleq1 : forall (x:R) (y:R), ((rleq x y) = true) <-> (x <= y)%R. -Proof. - intros x y. - compute;destruct (Rle_dec x y);intuition;discriminate. -Qed. - -(* Why3 assumption *) -Definition real_of_int (x:Z) : R := (BuiltIn.IZR x). - -Lemma lt_is_not_eqb1: forall x y, (x < y -> Z.eqb x y = false)%Z. -Proof. - intros. - rewrite Z.eqb_compare. - rewrite H. - reflexivity. -Qed. - -Lemma lt_is_not_eqb2: forall x y, (y < x -> Z.eqb x y = false)%Z. -Proof. - intros. - rewrite Z.eqb_compare. - rewrite (Z.lt_gt _ _ H). - reflexivity. -Qed. - -(* Why3 goal *) -Lemma c_euclidian : - forall (n:Z) (d:Z), ~ (d = 0%Z) -> - (n = (((ZArith.BinInt.Z.quot n d) * d)%Z + (ZArith.BinInt.Z.rem n d))%Z). -Proof. - intros n d. - intros H. - rewrite Int.Comm1. - exact (ComputerDivision.Div_mod n d H). -Qed. - -(* Why3 goal *) -Lemma cmod_remainder : - forall (n:Z) (d:Z), - ((0%Z <= n)%Z -> (0%Z < d)%Z -> - (0%Z <= (ZArith.BinInt.Z.rem n d))%Z /\ ((ZArith.BinInt.Z.rem n d) < d)%Z) /\ - (((n <= 0%Z)%Z -> (0%Z < d)%Z -> - ((-d)%Z < (ZArith.BinInt.Z.rem n d))%Z /\ - ((ZArith.BinInt.Z.rem n d) <= 0%Z)%Z) /\ - (((0%Z <= n)%Z -> (d < 0%Z)%Z -> - (0%Z <= (ZArith.BinInt.Z.rem n d))%Z /\ - ((ZArith.BinInt.Z.rem n d) < (-d)%Z)%Z) /\ - ((n <= 0%Z)%Z -> (d < 0%Z)%Z -> - (d < (ZArith.BinInt.Z.rem n d))%Z /\ - ((ZArith.BinInt.Z.rem n d) <= 0%Z)%Z))). -Proof. - intros n d. - (split;[|split;[|split]]);intros; - [exact (Zquot.Zrem_lt_pos_pos _ _ H H0)| - exact (Zquot.Zrem_lt_neg_pos _ _ H H0)| - exact (Zquot.Zrem_lt_pos_neg _ _ H H0)| - exact (Zquot.Zrem_lt_neg_neg _ _ H H0)]. -Qed. - -(* Why3 goal *) -Lemma cdiv_neutral : forall (a:Z), ((ZArith.BinInt.Z.quot a 1%Z) = a). -Proof. - intro a. - exact (Z.quot_1_r a). -Qed. - -(* Why3 goal *) -Lemma cdiv_inv : - forall (a:Z), ~ (a = 0%Z) -> ((ZArith.BinInt.Z.quot a a) = 1%Z). -Proof. - intros a h1. - exact (Z.quot_same a h1). -Qed. - diff --git a/src/plugins/wp/share/src/Qedlib.v b/src/plugins/wp/share/src/Qedlib.v deleted file mode 100644 index 8f165442fdb90e7198105bf31bf9eb5187a58e2f..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/Qedlib.v +++ /dev/null @@ -1,346 +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). *) -(* *) -(**************************************************************************) - -Require Import Bool. -Require Import ZArith. -Require Import Reals. - -Require BuiltIn. -Require map.Map. - -Open Scope Z_scope. - -Set Implicit Arguments. - -(** ** Tactical *) - -Ltac forward := - repeat (first [ split | intros ]) ; - try discriminate ; - try contradiction ; - try tauto ; - try constructor ; - try (apply False_ind ; omega ; fail) ; - try (apply False_ind ; auto with zarith ; fail) ; - auto with zarith. - -Ltac finish := forward ; fail. - -Tactic Notation "by" tactic(A) := A ; finish. - -(** ** Conditional Property *) - -Inductive branch (A B C : Prop) : Prop := - | Then: A -> B -> branch A B C - | Else: not A -> C -> branch A B C -. - -Definition itep (A B C : Prop) := (A -> B) /\ (~A -> C). - -Lemma ite_then : forall A B C : Prop, itep A B C -> A -> B. -Proof. by (unfold itep). Qed. - -Lemma ite_else : forall A B C : Prop, itep A B C -> ~A -> C. -Proof. by (unfold itep). Qed. - -Lemma ite_both : forall A B C : Prop, itep A B C -> (B \/ C). -Proof. by (unfold itep). Qed. - -Remark contrap: forall P Q : Prop, - (P -> Q) -> ~Q -> ~P. -Proof. intuition. Qed. - -(** ** Booleans *) - -Inductive reflect (P:Prop) : bool -> Prop := - | R_true : P -> reflect P true - | R_false : ~P -> reflect P false. - -Definition boolean {A : Set} - (f : A -> A -> bool) - (p : A -> A -> Prop) : Prop := forall x y, reflect (p x y) (f x y). - -(* - forall x y, (f x y = true <-> p x y) /\ - (f x y = false <-> ~(p x y)). -*) - -Ltac case_leq x y := - generalize (Zle_cases x y) ; induction (Zle_bool x y) ; try omega. - -Ltac case_lt x y := - generalize (Zlt_cases x y) ; induction (Zlt_bool x y) ; try omega. - -Ltac case_eq x y := - generalize (Zeq_bool_if x y) ; induction (Zeq_bool x y) ; try omega. - -Lemma Zneq_cases : forall x y, if Zneq_bool x y then x <> y else x = y. -Proof. - intros x y. - generalize (Zeq_bool_if x y). - unfold Zeq_bool. - unfold Zneq_bool. - induction (x ?= y) ; auto. -Qed. - -Ltac case_neq x y := - generalize (Zneq_cases x y) ; induction (Zneq_bool x y) ; try omega. - -Inductive Zcases (x y : Z) := - | Case_lt : (x < y) -> Zcases x y - | Case_eq : (x = y) -> Zcases x y - | Case_gt : (x > y) -> Zcases x y. - -Program Definition Zcompare x y : Zcases x y. -Proof. - intros. - case_leq x y. - case_lt x y. intros H _. exact (Case_lt H). - intros H1 H2. assert (H : x=y) by omega. exact (Case_eq H). - intro H. exact (Case_gt H). -Qed. - -Theorem Zeq_boolean : boolean Zeq_bool (fun x y => (x=y)). -Proof. - unfold boolean. intros x y. by (case_eq x y). -Qed. - - -Theorem Zneq_boolean : boolean Zneq_bool (fun x y => (x <> y)). -Proof. - unfold boolean. intros x y. by (case_neq x y). -Qed. - -Theorem Zlt_boolean : boolean Zlt_bool Zlt. -Proof. - unfold boolean. intros x y. by (case_lt x y). -Qed. - -Theorem Zle_boolean : boolean Zle_bool Zle. -Proof. - unfold boolean. intros x y. by (case_leq x y). -Qed. - -Parameter Req_bool : R -> R -> bool. -Parameter Rlt_bool : R -> R -> bool. -Parameter Rle_bool : R -> R -> bool. -Parameter Rneq_bool : R -> R -> bool. -Hypothesis Rlt_boolean : boolean Rlt_bool Rlt. -Hypothesis Rle_boolean : boolean Rle_bool Rle. -Hypothesis Req_boolean : boolean Req_bool (fun x y => (x=y)). -Hypothesis Rneq_boolean : boolean Rneq_bool (fun x y => (x<>y)). - -Parameter Aeq_bool : forall A : Set, A -> A -> bool. -Hypothesis Aeq_boolean : forall A : Set, boolean (@Aeq_bool A) (fun x y => x=y). -Definition Aneq_bool {A : Set} (x y : A) := negb (Aeq_bool x y). -Hypothesis Aneq_boolean : forall A : Set, boolean (@Aneq_bool A) (fun x y => x<>y). - -(** ** Integer Induction (after a given rank) *) - -Theorem Z_induction(m : Z)(P : Z -> Prop) : - (forall n, n <= m -> P n ) -> - (forall n, n >= m -> P n -> P (n+1)) -> - (forall n, P n). -Proof. - intros. - induction (Z_le_dec n m) ; auto with zarith. - apply Z.le_ind with (n := m) ; auto with zarith. - unfold Morphisms.Proper. - unfold Morphisms.respectful. - intros. rewrite H1. intuition. - intros. apply H0; auto with zarith. -Qed. - -Theorem Z_induction_rank(m : Z)(P : Z -> Prop) : - P m -> - (forall n, m <= n -> P n -> P (n+1)) -> - (forall n, m <= n -> P n). -Proof. - intros h0 h1 n. - apply Z_induction with (m := m) (n := n). - + intros. - apply Z.le_ind with (n := m) ; auto with zarith. - unfold Morphisms.Proper. - unfold Morphisms.respectful. - intros. rewrite H1. intuition. - + intros. auto with zarith. -Qed. - -(** ** Real Constants *) - -(** signed power *) - -Definition real_base e a n := - match n with - | 0 => a - | Zpos n => (a * pow e (Pos.to_nat n))%R - | Zneg n => (a / pow e (Pos.to_nat n))%R - end. - -(** an integer multiplied by a (signed) power of 10. *) -Definition real_dec := real_base 10%R. - -(** an integer multiplied by a (signed) power of 2. *) -Definition real_hex := real_base 2%R. - -(** ** Arrays *) - -Record farray (A B : Type) := { whytype1 : BuiltIn.WhyType A ; - whytype2 : BuiltIn.WhyType B ; - access :> @Map.map A B }. -Definition array (A : Type) := farray Z A. -Hypothesis extensionality: forall (A B : Type) (f g : A -> B), - (forall x, f x = g x) -> f = g. - -Definition select {A B : Type} - (m : farray A B) (k : A) : B := (access m) k. - -Lemma farray_eq : forall A B (m1 m2 : farray A B), - whytype1 m1 = whytype1 m2 -> whytype2 m1 = whytype2 m2 -> - (forall k, select m1 k = select m2 k) -> m1 = m2. -Proof. - intros A B m1 m2. - destruct m1. destruct m2. simpl. - intros H1 H2; rewrite H1; rewrite H2 ; clear H1 H2. - intro K. - rewrite (extensionality _ _ K). - reflexivity. -Qed. - -Definition update {A B : Type} - (m : farray A B) (k : A) (v : B) : (farray A B) := - {| whytype1 := whytype1 m; whytype2 := whytype2 m; access := @Map.set A (whytype1 m) B (whytype2 m) (access m) k v|}. - -Notation " a .[ k ] " := (select a k) (at level 60). -Notation " a .[ k <- v ] " := (update a k v) (at level 60). - -Lemma access_update : - forall (A B : Type) (m : farray A B) k v, - m.[k <- v].[k] = v. -Proof. - intros. - apply (proj1 (Map.set_def (access m) k v k)). - reflexivity. -Qed. - -Lemma access_update_neq : - forall (A B : Type) (m : farray A B) i j v, - i <> j -> m.[ i <- v ].[j] = m.[j]. -Proof. - intros. - apply (proj2 (Map.set_def (access m) i v j)). - auto. -Qed. - -(** ** Division on Z *) - -Definition Cdiv (n d : Z) : Z := - match n , d with - | 0 , _ | _ , 0 => 0 - | Zpos a , Zpos b - | Zneg a , Zneg b => (Zpos a/Zpos b) - | Zpos a , Zneg b - | Zneg a , Zpos b => (-(Zpos a/Zpos b)) - end. - -Definition Cmod (n d : Z) : Z := - match n , d with - | 0 , _ | _ , 0 => 0 - | Zpos a , Zpos b - | Zpos a , Zneg b => ( (Zpos a) mod (Zpos b) ) - | Zneg a , Zpos b - | Zneg a , Zneg b => (-( (Zpos a) mod (Zpos b) )) - end. - -Lemma Cdiv_cases : forall n d, - ((n >= 0) -> (d > 0) -> Cdiv n d = n/d) /\ - ((n <= 0) -> (d > 0) -> Cdiv n d = -((-n)/d)) /\ - ((n >= 0) -> (d < 0) -> Cdiv n d = -(n/(-d))) /\ - ((n <= 0) -> (d < 0) -> Cdiv n d = (-n)/(-d)). -Proof. - intros. - destruct n as [|a|a] ; - destruct d as [|b|b] ; - intuition ; - by auto with zarith. -Qed. - -Lemma Cmod_cases : forall n d, - ((n >= 0) -> (d > 0) -> Cmod n d = n mod d) /\ - ((n <= 0) -> (d > 0) -> Cmod n d = -((-n) mod d)) /\ - ((n >= 0) -> (d < 0) -> Cmod n d = (n mod (-d))) /\ - ((n <= 0) -> (d < 0) -> Cmod n d = -((-n) mod (-d))). -Proof. - intros. - destruct n as [|a|a] ; - destruct d as [|b|b] ; - intuition ; - by auto with zarith. -Qed. - -Theorem Cdiv_enclidian : - forall (n d : Z), - d <> 0 -> - let q := Cdiv n d in let r := Cmod n d in - (q * d + r = n). -Proof. - intros n d NEQ q r. - assert (OPP: forall p, (- (Zneg p) = Zpos p)) by auto with zarith. - assert (NEG: forall p, (Zneg p = - (Zpos p))) by auto with zarith. - destruct n as [|a|a] ; - destruct d as [|b|b] ; auto with zarith ; - unfold Cdiv in q ; unfold Cmod in r ; - unfold q ; unfold r ; - repeat rewrite OPP ; repeat rewrite NEG ; - rewrite (Zmod_eq_full (Zpos a) (Zpos b)) ; try discriminate ; - try ring. -Qed. - -Lemma Cmod_less : forall n d, - ((n >= 0) -> (d > 0) -> 0 <= Cmod n d < d) /\ - ((n <= 0) -> (d > 0) -> -d < Cmod n d <= 0) /\ - ((n >= 0) -> (d < 0) -> 0 <= Cmod n d < -d) /\ - ((n <= 0) -> (d < 0) -> d < Cmod n d <= 0). -Proof. - intros. - destruct n as [|a|a] ; - destruct d as [|b|b] ; - intuition ; simpl ; forward ; - generalize (Z_mod_lt (Zpos a) (Zpos b) (Zgt_pos_0 b)) ; - repeat (replace (Zneg b) with (- Zpos b) by auto with zarith) ; - intuition (auto with zarith). -Qed. - -Lemma Zdiv_less : - forall (n d : Z), (n > 0) -> (d > 0) -> (d * (n/d) <= n). -Proof. - intros n d Npos Dpos. - generalize (Zmod_eq n d). - pose (x := (n/d)). - fold x. intro H. generalize (H Dpos). clear H. - pose (r := (n mod d)). - fold r. intro H. - generalize (Z_mod_lt n d). - intro R. generalize (R Dpos). clear R. fold r. - replace (d*x) with (x*d) by ring. - omega. -Qed. diff --git a/src/plugins/wp/share/src/Square.v b/src/plugins/wp/share/src/Square.v deleted file mode 100644 index b9c23de0347f0ff7c1a8c3c687515c2d490cae52..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/Square.v +++ /dev/null @@ -1,38 +0,0 @@ -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require Reals.R_sqrt. -Require BuiltIn. -Require real.Real. -Require real.RealInfix. -Require real.Square. - -(* Why3 goal *) -Lemma sqrt_lin1 : forall (x:R), (1%R < x)%R -> ((Reals.R_sqrt.sqrt x) < x)%R. -Proof. - intros x h1. - refine (Reals.R_sqrt.sqrt_less _ _ h1). - apply (Rle_trans 0 1 x Rle_0_1)%R. - exact (Rlt_le _ _ h1). -Qed. - -(* Why3 goal *) -Lemma sqrt_lin0 : - forall (x:R), ((0%R < x)%R /\ (x < 1%R)%R) -> (x < (Reals.R_sqrt.sqrt x))%R. -Proof. - intros x (h1,h2). - exact (Reals.R_sqrt.sqrt_more x h1 h2). -Qed. - -(* Why3 goal *) -Lemma sqrt_0 : ((Reals.R_sqrt.sqrt 0%R) = 0%R). -Proof. - exact Reals.R_sqrt.sqrt_0. -Qed. - -(* Why3 goal *) -Lemma sqrt_1 : ((Reals.R_sqrt.sqrt 1%R) = 1%R). -Proof. - exact Reals.R_sqrt.sqrt_1. -Qed. - diff --git a/src/plugins/wp/share/src/Vlist.v b/src/plugins/wp/share/src/Vlist.v deleted file mode 100644 index bc0b770612bafc4d32eea261406dc38d2a919548..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/Vlist.v +++ /dev/null @@ -1,449 +0,0 @@ -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require int.Int. -Require int.Abs. -Require int.ComputerDivision. - -(* ---------------------------------------------------------------------- *) -(* --- Lists for Why-3 --- *) -(* ---------------------------------------------------------------------- *) - -Require List. -Ltac seq := autorewrite with list ; auto with zarith. -Hint Rewrite List.app_assoc List.app_nil_l List.app_nil_r : list. - - (* -------------------------------------------------------------------- *) - (* --- Classical Lists for Alt-Ergo --- *) - (* -------------------------------------------------------------------- *) -Require Import Qedlib. - -(* Why3 goal *) -Definition list : forall (a:Type), Type. - exact(List.list). -Defined. - -(* Why3 goal *) -Definition nil {a:Type} {a_WT:WhyType a} : list a. - generalize a. - exact(@List.nil). -Defined. - -(* Why3 goal *) -Definition cons {a:Type} {a_WT:WhyType a} : a -> (list a) -> list a. - generalize a. - exact(@List.cons). -Defined. - -(* Why3 goal *) -Definition concat {a:Type} {a_WT:WhyType a} : (list a) -> (list a) -> list a. - Open Local Scope list_scope. - exact(fun u v => u ++ v). -Defined. - -Fixpoint repeat_nat (a:Type) (w: list a) (n: nat) {struct n} := - match n with - | O => w - | S m => w ++ (repeat_nat a w m) - end. - - -(* Why3 goal *) -Definition repeat {a:Type} {a_WT:WhyType a} : (list a) -> Z -> list a. - exact(fun w n => match n with - | Z0 => nil - | Zneg _ => nil - | other => repeat_nat a w (Zabs_nat (n-1)) - end). -Defined. - -(* Why3 goal *) -Definition length {a:Type} {a_WT:WhyType a} : (list a) -> Z. - exact(fun w => Z.of_nat (List.length w)). -Defined. - -(* Why3 goal *) -Definition nth {a:Type} {a_WT:WhyType a} : (list a) -> Z -> a. - exact(fun w n => match n with - | Zneg _ => (@why_inhabitant a a_WT) - | other => List.nth (Zabs_nat n) w (@why_inhabitant a a_WT) - end). -Defined. - - (* -------------------------------------------------------------------- *) - (* --- length --- *) - (* -------------------------------------------------------------------- *) - -(* Why3 goal *) -Lemma length_pos {a:Type} {a_WT:WhyType a} : - forall (w:list a), (0%Z <= (length w))%Z. -Proof. - intros. - unfold length. - apply Zle_0_nat. -Qed. - -(* Why3 goal *) -Lemma length_nil {a:Type} {a_WT:WhyType a} : ((length (nil : list a)) = 0%Z). -Proof. - intros. - unfold length. unfold nil. - by seq. -Qed. - -(* Why3 goal *) -Lemma length_nil_bis {a:Type} {a_WT:WhyType a} : - forall (w:list a), ((length w) = 0%Z) -> (w = (nil : list a)). -Proof. - intros w. - unfold length. unfold nil. - destruct w. - + by seq. - + Import List.ListNotations. - assert (0 < Z.of_nat (Datatypes.length (a0 :: w))). - { replace (Datatypes.length (a0 :: w)) with (1 + Datatypes.length (w))%nat - by( (replace (a0 :: w) with ([a0] ++ w) by seq); rewrite List.app_length; by seq). - assert (0 <= Z.of_nat (Datatypes.length w)) by apply Zle_0_nat. - replace (Z.of_nat (1 + Datatypes.length w)) with (1 + Z.of_nat (Datatypes.length w)). - { omega. } - rewrite Nat2Z.inj_add. - auto with zarith. - } - intro. - cut False; [contradiction|omega]. -Qed. - -(* Why3 goal *) -Lemma length_cons {a:Type} {a_WT:WhyType a} : - forall (x:a) (w:list a), ((length (cons x w)) = (1%Z + (length w))%Z). -Proof. - intros. unfold length. - replace (Datatypes.length (cons x w)) with (1 + (Datatypes.length w))%nat. - apply Nat2Z.inj_add. simpl. auto. -Qed. - -(* Why3 goal *) -Hypothesis length_concat : - forall {a:Type} {a_WT:WhyType a}, - forall (u:list a) (v:list a), - ((length (concat u v)) = ((length u) + (length v))%Z). - -(* Why3 goal *) -Hypothesis length_repeat : - forall {a:Type} {a_WT:WhyType a}, - forall (w:list a) (n:Z), (0%Z <= n)%Z -> - ((length (repeat w n)) = (n * (length w))%Z). - - (* -------------------------------------------------------------------- *) - (* --- nth --- *) - (* -------------------------------------------------------------------- *) - -(* Why3 goal *) -Hypothesis nth_cons : - forall {a:Type} {a_WT:WhyType a}, - forall (k:Z) (x:a) (w:list a), - ((k = 0%Z) -> ((nth (cons x w) k) = x)) /\ - (~ (k = 0%Z) -> ((nth (cons x w) k) = (nth w (k - 1%Z)%Z))). - -(* Why3 goal *) -Hypothesis nth_concat : - forall {a:Type} {a_WT:WhyType a}, - forall (u:list a) (v:list a) (k:Z), - ((k < (length u))%Z -> ((nth (concat u v) k) = (nth u k))) /\ - (~ (k < (length u))%Z -> - ((nth (concat u v) k) = (nth v (k - (length u))%Z))). - -(* Why3 goal *) -Hypothesis nth_repeat : - forall {a:Type} {a_WT:WhyType a}, - forall (n:Z) (k:Z) (w:list a), - ((0%Z <= k)%Z /\ (k < (n * (length w))%Z)%Z) -> (0%Z < (length w))%Z -> - ((nth (repeat w n) k) = (nth w (ZArith.BinInt.Z.rem k (length w)))). - -(* Why3 assumption *) -Definition vlist_eq {a:Type} {a_WT:WhyType a} (u:list a) (v:list a) : Prop := - ((length u) = (length v)) /\ - forall (i:Z), ((0%Z <= i)%Z /\ (i < (length u))%Z) -> - ((nth u i) = (nth v i)). - - (* -------------------------------------------------------------------- *) - (* --- equality of Lists --- *) - (* -------------------------------------------------------------------- *) - -(* Why3 goal *) -Hypothesis extensionality : - forall {a:Type} {a_WT:WhyType a}, - forall (u:list a) (v:list a), (vlist_eq u v) -> (u = v). - - (* -------------------------------------------------------------------- *) - (* --- neutral elements --- *) - (* -------------------------------------------------------------------- *) - -(* Why3 goal *) -Lemma eq_nil_concat {a:Type} {a_WT:WhyType a} : - forall (w:list a), - (vlist_eq (concat (nil : list a) w) w) /\ - (vlist_eq (concat w (nil : list a)) w). -Proof. - intros. - split ; unfold vlist_eq ; rewrite length_concat; rewrite length_nil; split; auto with zarith; intros. - (* + generalize (nth_concat nil w i); rewrite length_nil; intro G; destruct G. - rewrite H1. - * replace (i - 0)%Z with i by (auto with zarith). auto. - * omega. *) - + generalize (nth_concat w nil i). intro G; destruct G. - rewrite H0. - * auto. - * omega. -Qed. - -(* Why3 goal *) -Lemma rw_nil_concat_left {a:Type} {a_WT:WhyType a} : - forall (w:list a), ((concat (nil : list a) w) = w). -Proof. - intros. - apply extensionality. - generalize (eq_nil_concat w). intro G; destruct G. - apply H. -Qed. - -(* Why3 goal *) -Lemma rw_nil_concat_right {a:Type} {a_WT:WhyType a} : - forall (w:list a), ((concat w (nil : list a)) = w). - intros. - apply extensionality. - generalize (eq_nil_concat w). intro G; destruct G. - apply H0. -Qed. - -(* Why3 goal *) -Lemma eq_cons_concat {a:Type} {a_WT:WhyType a} : - forall (x:a) (v:list a) (w:list a), - vlist_eq (concat (cons x v) w) (cons x (concat v w)). -Proof. - intros. - unfold vlist_eq ; rewrite length_concat. repeat (rewrite length_cons). - split. - + rewrite length_concat. ring. - + intros. - generalize (nth_cons i x (concat v w)); intro G; destruct G. - case_eq i 0%Z; intro Position_0. - * clear H1; rewrite H0; clear H0; auto. - generalize (nth_concat (cons x v) w i); rewrite length_cons; intro G; destruct G. - generalize (length_pos v); intro Positive. - clear H1; rewrite H0 by omega; clear H0. - generalize (nth_cons i x v); intro G; destruct G. - clear H1; rewrite H0; clear H0; auto. - * clear H0; rewrite H1; clear H1; auto. - generalize (nth_concat (cons x v) w i); rewrite length_cons; intro G; destruct G. - case_lt i (1+ length v)%Z; intros. - - clear H1; rewrite H0 by auto; clear H0. - generalize (nth_cons i x v); intro G; destruct G. - clear H0; rewrite H1 by auto; clear H1. - generalize (nth_concat v w (i -1)); intro G; destruct G. - clear H1; rewrite H0 by auto with zarith; clear H0. - auto. - - clear H0; rewrite H1 by auto; clear H1. - generalize (nth_concat v w (i -1)); intro G; destruct G. - clear H0; rewrite H1 by auto with zarith. - replace (i - (1 + length v))%Z with (i - 1 - length v)%Z by auto with zarith. - auto. -Qed. - -(* Why3 goal *) -Lemma rw_cons_concat {a:Type} {a_WT:WhyType a} : - forall (x:a) (v:list a) (w:list a), - ((concat (cons x v) w) = (cons x (concat v w))). -Proof. - intros. - apply extensionality. - apply eq_cons_concat. -Qed. - -(* Why3 goal *) -Lemma rw_nil_cons_concat {a:Type} {a_WT:WhyType a} : - forall (x:a) (w:list a), ((concat (cons x (nil : list a)) w) = (cons x w)). -Proof. - intros. - rewrite rw_cons_concat. - rewrite rw_nil_concat_left. - auto. -Qed. - - (* -------------------------------------------------------------------- *) - (* --- associativity --- *) - (* -------------------------------------------------------------------- *) - -(* Why3 goal *) -Lemma eq_assoc_concat {a:Type} {a_WT:WhyType a} : - forall (u:list a) (v:list a) (w:list a), - vlist_eq (concat (concat u v) w) (concat u (concat v w)). -Proof. - intros. - unfold vlist_eq. repeat (rewrite length_concat). split. - - ring. - - intros. - generalize (length_pos u); generalize (length_pos v); intros uPos vPos. - case_lt i (length u); intro inU; - generalize (nth_concat u (concat v w) i) ; intro G; destruct G. - + clear H1; rewrite H0 by auto; clear H0. - generalize (nth_concat (concat u v) w i) ; rewrite length_concat ; intro G; destruct G. - clear H1; rewrite H0 by omega; clear H0. - generalize (nth_concat u v i) ; intro G; destruct G. - clear H1; rewrite H0 by auto; clear H0. - auto. - + clear H0; rewrite H1 by auto; clear H1. - case_lt i ((length u) + (length v)); intro inV; - generalize (nth_concat (concat u v) w i) ; rewrite length_concat ; intro G; destruct G. - * clear H1; rewrite H0 by omega; clear H0. - generalize (nth_concat u v i) ; intro G; destruct G. - clear H0; rewrite H1 by auto; clear H1. - generalize (nth_concat v w (i - length u)) ; intro G; destruct G. - clear H1; rewrite H0 by omega; clear H0. - auto. - * clear H0; rewrite H1 by omega; clear H1. - generalize (nth_concat v w (i - length u)) ; intro G; destruct G. - clear H0; rewrite H1 by omega; clear H1. - replace (i - (length u + length v)) with (i - length u - length v) by auto with zarith. - auto. -Qed. - -(* Why3 goal *) -Lemma rw_nil_repeat {a:Type} {a_WT:WhyType a} : - forall (n:Z), (0%Z <= n)%Z -> ((repeat (nil : list a) n) = (nil : list a)). -Proof. -intros n h1. -induction n ; simpl ; auto. -assert (R : forall n, repeat_nat a nil n = nil). - * intro n. induction n ; simpl ; auto. - * apply R. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_zero {a:Type} {a_WT:WhyType a} : - forall (w:list a), ((repeat w 0%Z) = (nil : list a)). -Proof. -intros w. simpl. auto. -Qed. - -(* Why3 goal *) -Lemma eq_repeat_one {a:Type} {a_WT:WhyType a} : - forall (w:list a), vlist_eq (repeat w 1%Z) w. -intros w. simpl. unfold vlist_eq. auto. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_one {a:Type} {a_WT:WhyType a} : - forall (w:list a), ((repeat w 1%Z) = w). -Proof. -intros w. simpl. auto. -Qed. - -(* Why3 goal *) -Lemma eq_repeat_concat {a:Type} {a_WT:WhyType a} : - forall (p:Z) (q:Z) (w:list a), (0%Z <= p)%Z -> (0%Z <= q)%Z -> - vlist_eq (repeat w (p + q)%Z) (concat (repeat w p) (repeat w q)). -Proof. -intros p q w h1 h2. unfold vlist_eq ; simpl ; split ; auto with zarith. - + repeat rewrite length_concat. - repeat rewrite length_repeat ; auto with zarith. - + rewrite length_repeat ; auto with zarith. - intros. - induction w. - * replace ([]) with (@nil a a_WT) ; auto. - repeat rewrite rw_nil_repeat ; auto with zarith. - * pose (A := (a0 :: w)). fold A. fold A in H. - assert (L : 0 < length A). - { unfold A. - replace (a0 :: w) with (cons a0 w) by auto. - rewrite length_cons. - assert (0 <= length w). - apply length_pos. - auto with zarith. } - rewrite nth_repeat ; auto with zarith. - generalize (nth_concat (repeat A p) (repeat A q) i). - intros [ POS NEG ]. - induction (Z_lt_le_dec i (length (repeat A p))). - rewrite length_repeat in a1; auto with zarith. - - rewrite POS ; auto with zarith. - rewrite nth_repeat ; auto with zarith. - rewrite length_repeat ; auto with zarith. - - rewrite length_repeat in b ; auto with zarith. - assert ( I_pos: 0 <= i ) ; auto with zarith. - rewrite Int.Mul_distr_r in H. - rewrite NEG ; auto with zarith. - rewrite nth_repeat ; auto with zarith ; - rewrite length_repeat ; auto with zarith. - replace (i - p * length A) with (i + (-p) * length A). - rewrite Z.rem_add ; auto with zarith. - apply Z.mul_nonneg_nonneg ; auto with zarith. - replace (i + -p * length A) with (i - p * length A) ; auto with zarith. - rewrite Z.mul_opp_l. rewrite Z.add_opp_r. auto. - rewrite Z.mul_opp_l. rewrite Z.add_opp_r. auto. - rewrite length_repeat ; auto with zarith. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_concat {a:Type} {a_WT:WhyType a} : - forall (p:Z) (q:Z) (w:list a), (0%Z <= p)%Z -> (0%Z <= q)%Z -> - ((repeat w (p + q)%Z) = (concat (repeat w p) (repeat w q))). -intros p q w h1 h2. -apply extensionality. -apply eq_repeat_concat ; auto with zarith. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_after {a:Type} {a_WT:WhyType a} : - forall (p:Z) (w:list a), (0%Z <= p)%Z -> - ((concat (repeat w p) w) = (repeat w (p + 1%Z)%Z)). -Proof. - intros p w h1. - rewrite (rw_repeat_concat p 1 w) ; auto with zarith. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_before {a:Type} {a_WT:WhyType a} : - forall (p:Z) (w:list a), (0%Z <= p)%Z -> - ((concat w (repeat w p)) = (repeat w (p + 1%Z)%Z)). -Proof. - intros p w h1. - replace (p+1) with (1+p) ; auto with zarith. - rewrite (rw_repeat_concat 1 p w) ; auto with zarith. -Qed. - -(* Why3 goal *) -Definition repeat_box {a:Type} {a_WT:WhyType a} : (list a) -> Z -> list a. -intros l n. -exact (repeat l n). -Defined. - -(* Why3 goal *) -Lemma rw_repeat_box_unfold {a:Type} {a_WT:WhyType a} : - forall (w:list a) (n:Z), ((repeat_box w n) = (repeat w n)). -Proof. -intros. -unfold repeat_box. auto. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_plus_box_unfold {a:Type} {a_WT:WhyType a} : - forall (w:list a) (a1:Z) (b:Z), (0%Z <= a1)%Z -> (0%Z <= b)%Z -> - ((repeat_box w (a1 + b)%Z) = (concat (repeat w a1) (repeat w b))). -Proof. -intros. -unfold repeat_box. rewrite rw_repeat_concat ; auto. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_plus_one_box_unfold {a:Type} {a_WT:WhyType a} : - forall (w:list a) (n:Z), (0%Z < n)%Z -> - ((repeat_box w n) = (concat (repeat w (n - 1%Z)%Z) w)) /\ - ((repeat_box w (n + 1%Z)%Z) = (concat (repeat w n) w)). -Proof. - intros. split. - + generalize (rw_repeat_concat (n-1) 1 w). - replace (n-1+1) with n ; auto with zarith. - + rewrite (rw_repeat_concat n 1 w) ; auto with zarith. -Qed. - diff --git a/src/plugins/wp/share/src/Vset.v b/src/plugins/wp/share/src/Vset.v deleted file mode 100644 index 8e32f02a104eed3057aa8864bda40bcedfe70774..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/Vset.v +++ /dev/null @@ -1,158 +0,0 @@ -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require bool.Bool. -Require int.Int. - -(* Why3 goal *) -Definition set : forall (a:Type), Type. -Admitted. - -(* Why3 goal *) -Definition empty {a:Type} {a_WT:WhyType a} : set a. -Admitted. - -(* Why3 goal *) -Definition singleton {a:Type} {a_WT:WhyType a} : a -> set a. -Admitted. - -(* Why3 goal *) -Definition union {a:Type} {a_WT:WhyType a} : (set a) -> (set a) -> set a. -Admitted. - -(* Why3 goal *) -Definition inter {a:Type} {a_WT:WhyType a} : (set a) -> (set a) -> set a. -Admitted. - -(* Why3 goal *) -Definition member {a:Type} {a_WT:WhyType a} : a -> (set a) -> Prop. -Admitted. - -(* Why3 goal *) -Definition member_bool {a:Type} {a_WT:WhyType a} : a -> (set a) -> bool. -Admitted. - -(* Why3 goal *) -Definition range : Z -> Z -> set Z. -Admitted. - -(* Why3 goal *) -Definition range_sup : Z -> set Z. -Admitted. - -(* Why3 goal *) -Definition range_inf : Z -> set Z. -Admitted. - -(* Why3 goal *) -Definition range_all : set Z. -Admitted. - -(* Why3 assumption *) -Definition eqset {a:Type} {a_WT:WhyType a} (a1:set a) (b:set a) : Prop := - forall (x:a), (member x a1) <-> (member x b). - -(* Why3 assumption *) -Definition subset {a:Type} {a_WT:WhyType a} (a1:set a) (b:set a) : Prop := - forall (x:a), (member x a1) -> member x b. - -(* Why3 assumption *) -Definition disjoint {a:Type} {a_WT:WhyType a} (a1:set a) (b:set a) : Prop := - forall (x:a), (member x a1) -> ~ (member x b). - -(* Why3 goal *) -Lemma member_bool1 {a:Type} {a_WT:WhyType a} : - forall (x:a), forall (s:set a), - ((member x s) -> ((member_bool x s) = true)) /\ - (~ (member x s) -> ((member_bool x s) = false)). -Proof. -intros x s. - -Admitted. - -(* Why3 goal *) -Lemma member_empty {a:Type} {a_WT:WhyType a} : - forall (x:a), ~ (member x (empty : set a)). -Proof. -intros x. - -Admitted. - -(* Why3 goal *) -Lemma member_singleton {a:Type} {a_WT:WhyType a} : - forall (x:a) (y:a), (member x (singleton y)) <-> (x = y). -Proof. -intros x y. - -Admitted. - -(* Why3 goal *) -Lemma member_union {a:Type} {a_WT:WhyType a} : - forall (x:a), forall (a1:set a) (b:set a), - (member x (union a1 b)) <-> ((member x a1) \/ (member x b)). -Proof. -intros x a1 b. - -Admitted. - -(* Why3 goal *) -Lemma member_inter {a:Type} {a_WT:WhyType a} : - forall (x:a), forall (a1:set a) (b:set a), - (member x (inter a1 b)) <-> ((member x a1) /\ (member x b)). -Proof. -intros x a1 b. - -Admitted. - -(* Why3 goal *) -Lemma union_empty {a:Type} {a_WT:WhyType a} : - forall (a1:set a), - ((union a1 (empty : set a)) = a1) /\ ((union (empty : set a) a1) = a1). -Proof. -intros a1. - -Admitted. - -(* Why3 goal *) -Lemma inter_empty {a:Type} {a_WT:WhyType a} : - forall (a1:set a), - ((inter a1 (empty : set a)) = (empty : set a)) /\ - ((inter (empty : set a) a1) = (empty : set a)). -Proof. -intros a1. - -Admitted. - -(* Why3 goal *) -Lemma member_range : - forall (x:Z) (a:Z) (b:Z), - (member x (range a b)) <-> ((a <= x)%Z /\ (x <= b)%Z). -Proof. -intros x a b. - -Admitted. - -(* Why3 goal *) -Lemma member_range_sup : - forall (x:Z) (a:Z), (member x (range_sup a)) <-> (a <= x)%Z. -Proof. -intros x a. - -Admitted. - -(* Why3 goal *) -Lemma member_range_inf : - forall (x:Z) (b:Z), (member x (range_inf b)) <-> (x <= b)%Z. -Proof. -intros x b. - -Admitted. - -(* Why3 goal *) -Lemma member_range_all : forall (x:Z), member x range_all. -Proof. -intros x. - -Admitted. - diff --git a/src/plugins/wp/share/src/alt_ergo_why3_stdlib.drv b/src/plugins/wp/share/src/alt_ergo_why3_stdlib.drv deleted file mode 100644 index 504581f6b531419fe64d5e4c5587f234e6f298fd..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/alt_ergo_why3_stdlib.drv +++ /dev/null @@ -1,79 +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). *) -(* *) -(**************************************************************************) - -theory int.Int - remove prop CompatOrderMult -end - -theory int.Abs - meta "rename_logic" function abs, "abs_int" -end - -theory int.MinMax - meta "rename_logic" function min, "min_int" - meta "rename_logic" function max, "max_int" -end - -theory int.ComputerDivision - remove prop Div_mod - remove prop Mod_bound - remove prop Div_sign_pos - remove prop Div_sign_neg - remove prop Mod_sign_pos - remove prop Mod_sign_neg - remove prop Rounds_toward_zero -end - -theory int.EuclideanDivision - remove prop Div_mod - remove prop Mod_bound - remove prop Div_unique - remove prop Div_bound - remove prop Mod_1 - remove prop Div_1 - remove prop Div_inf - remove prop Div_inf_neg - remove prop Mod_0 - remove prop Div_1_left - remove prop Div_minus1_left - remove prop Mod_1_left - remove prop Mod_minus1_left - remove prop Div_mult - remove prop Mod_mult -end - -theory real.Real - remove prop CompatOrderMult -end - -theory real.Abs - meta "rename_logic" function abs, "abs_real" -end - -theory real.MinMax - meta "rename_logic" function min, "min_real" - meta "rename_logic" function max, "max_real" -end - -theory map.Const - -end diff --git a/src/plugins/wp/share/src/cbits.mlw b/src/plugins/wp/share/src/cbits.mlw deleted file mode 100644 index 04c1d13aa9e2e4ed1ff09b4fb5c041f18796c2fc..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/cbits.mlw +++ /dev/null @@ -1,614 +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). *) -(* *) -(**************************************************************************) - -(* -------------------------------------------------------------------------- *) -(* --- C-Bits Arithmetics for Why-3 --- *) -(* -------------------------------------------------------------------------- *) - -theory Cbits - - use int.Int - use bool.Bool - use cint.Cint - use qed.Qed - - - function bit_testb int int : bool - predicate bit_test int int - - (** * C-Integer Bits * **) - - function lnot int : int - - function land int int : int - function lxor int int : int - function lor int int : int - - meta AC function land - meta AC function lxor - meta AC function lor - - function lsl int int : int - function lsr int int : int - - -(** * Bitwise identities *) -(** ** lnot identities *) - axiom lnot_bool: ((lnot 0) = (-1)) /\ ((lnot (-1)) = 0) - -(** ** land identities *) - axiom land_idemp: forall x:int [land x x]. (land x x) = x - axiom land_0: forall x:int [land 0 x]. (land 0 x) = 0 - axiom land_0bis: forall x:int [land x 0]. (land x 0) = 0 - axiom land_1: forall x:int [land (-1) x]. (land (-1) x) = x - axiom land_1bis: forall x:int [land x (-1)]. (land x (-1)) = x - axiom land_bool: - (land 0 0) = 0 /\ (land 0 1) = 0 /\ (land 1 0) = 0 /\ (land 1 1) = 1 - meta "remove_for_" prop land_bool - -(** ** lor identities *) - axiom lor_idemp: forall x:int [lor x x]. (lor x x) = x - axiom lor_1: forall x:int [lor (-1) x]. (lor (-1) x) = -1 - axiom lor_1bis: forall x:int [lor x (-1)]. (lor x (-1)) = -1 - axiom lor_0: forall x:int [lor 0 x]. (lor 0 x) = x - axiom lor_0bis: forall x:int [lor x 0]. (lor x 0) = x - axiom lor_bool: - (lor 0 0) = 0 /\ (lor 0 1) = 1 /\ (lor 1 0) = 1 /\ (lor 1 1) = 1 - meta "remove_for_" prop lor_bool - -(** ** lxor identities *) - axiom lxor_nilpotent: forall x:int [lxor x x]. (lxor x x) = 0 - axiom lxor_1: forall x:int [lxor (-1) x]. (lxor (-1) x) = (lnot x) - axiom lxor_1bis: forall x:int [lxor x (-1)]. (lxor x (-1)) = (lnot x) - axiom lxor_0: forall x:int [lxor 0 x]. (lxor 0 x) = x - axiom lxor_0bis: forall x:int [lxor x 0]. (lxor x 0) = x - axiom lxor_bool: - (lxor 0 0) = 0 /\ (lxor 0 1) = 1 /\ (lxor 1 0) = 1 /\ (lxor 1 1) = 0 - meta "remove_for_" prop lxor_bool - -(** * Bit extraction *) -(** ** Definition of bit_test predicate *) - - axiom bit_test_def: forall x k:int [bit_testb x k]. - (bit_testb x k = True) <-> bit_test x k - -(** * Link between Bit extraction and bitwise operators *) -(** ** Some properties of bit extration *) -(** ** Logical operators *) - - axiom bit_test_extraction: forall x k:int [land x (lsl 1 k)|land (lsl 1 k) x]. - 0<=k -> (land x (lsl 1 k))<>0 <-> (bit_test x k) - lemma bit_test_extraction_eq: forall x k:int [land x (lsl 1 k)|land (lsl 1 k) x]. - 0<=k -> (land x (lsl 1 k))=(lsl 1 k) <-> (bit_test x k) - meta "remove_for_" lemma bit_test_extraction_eq - - axiom lsl_1_0: - lsl 1 0 = 1 - axiom bit_test_extraction_bis: forall x :int [land x 1|land 1 x]. - (land 1 x)<>0 -> (bit_test x 0) - axiom bit_test_extraction_bis_eq: forall x :int [land x 1|land 1 x]. - (bit_test x 0) -> (land 1 x)=1 - - lemma lnot_extraction_bool: forall x i:int [bit_testb (lnot x) i]. - 0<=i -> bit_testb (lnot x) i = notb (bit_testb x i) - axiom lnot_extraction: forall x i:int [bit_test (lnot x) i]. - 0<=i -> (bit_test (lnot x) i) <-> not (bit_test x i) - meta "remove_for_" lemma lnot_extraction_bool - - lemma land_extraction_bool: forall x y i:int [bit_testb (land x y) i]. - 0<=i -> bit_testb (land x y) i = andb (bit_testb x i) (bit_testb y i) - axiom land_extraction: forall x y i:int [bit_test (land x y) i]. - 0<=i -> bit_test (land x y) i <-> ((bit_test x i) /\ (bit_test y i)) - meta "remove_for_" lemma land_extraction_bool - - lemma lor_extraction_bool: forall x y i:int [bit_testb (lor x y) i]. - 0<=i -> bit_testb (lor x y) i = orb (bit_testb x i) (bit_testb y i) - axiom lor_extraction: forall x y i:int [bit_test (lor x y) i]. - 0<=i -> (bit_test (lor x y) i) <-> ((bit_test x i) \/ (bit_test y i)) - meta "remove_for_" lemma lor_extraction_bool - - lemma lxor_extraction_bool: forall x y i:int [bit_testb (lxor x y) i]. - 0<=i -> bit_testb (lxor x y) i = xorb (bit_testb x i) (bit_testb y i) - axiom lxor_extraction: forall x y i:int [bit_test (lxor x y) i]. - 0<=i -> (bit_test (lxor x y) i) <-> ((bit_test x i) <-> not (bit_test y i)) - meta "remove_for_" lemma lxor_extraction_bool - -(** ** Shift operators *) - lemma lsl_1_two_power : forall n : int. 0 <= n -> lsl 1 n = Cint.two_power_abs n - meta "remove_for_" lemma lsl_1_two_power - - axiom land_1_lsl_1 : forall a x n : int [(lsl 1 (1+n)),(lsl 1 n),(2*a+(land 1 x))] . - 0<=n -> a<lsl 1 n -> 2*a+(land 1 x)<lsl 1 (1+n) - - lemma lsl_extraction_sup_bool: forall x n m:int [bit_testb (lsl x n) m]. - 0<=n -> 0<=m -> m>=n -> bit_testb (lsl x n) m = bit_testb x (m-n) - axiom lsl_extraction_sup: forall x n m:int [bit_test (lsl x n) m]. - 0<=n -> 0<=m -> m>=n -> (bit_test (lsl x n) m) <-> (bit_test x (m-n)) - meta "remove_for_" lemma lsl_extraction_sup_bool - - lemma lsl_extraction_inf_bool: forall x n m:int [bit_testb (lsl x n) m]. - 0<=n -> 0<=m -> m< n -> bit_testb (lsl x n) m = False - axiom lsl_extraction_inf: forall x n m:int [bit_test (lsl x n) m]. - 0<=n -> 0<=m -> m< n -> not (bit_test (lsl x n) m) - meta "remove_for_" lemma lsl_extraction_inf_bool - - lemma lsr_extraction_bool: forall x n m:int [bit_testb (lsr x n) m]. - 0<=n -> 0<=m -> bit_testb (lsr x n) m = bit_testb x (m+n) - axiom lsr_extractionl: forall x n m:int [bit_test (lsr x n) m]. - 0<=n -> 0<=m -> (bit_test (lsr x n) m) <-> (bit_test x (m+n)) - meta "remove_for_" lemma lsr_extraction_bool - - lemma lsl1_extraction_bool: forall i j:int [bit_testb (lsl 1 i) j]. - 0<=i -> 0<=j -> bit_testb (lsl 1 i) j = eqb i j - axiom lsl1_extraction: forall i j:int [bit_test (lsl 1 i) j]. - 0<=i -> 0<=j -> (bit_test (lsl 1 i) j) <-> i=j - meta "remove_for_" lemma lsl1_extraction_bool - - lemma pos_extraction_sup: forall x i j:int [(lsl 1 i),(bit_test x j)]. - 0<=x -> 0<=i -> x < (lsl 1 i) -> i <= j -> not (bit_test x j) - meta "remove_for_" lemma pos_extraction_sup - - lemma pos_extraction_sup_inv: forall x i :int . - 0<=i -> (forall j: int . i <= j -> not (bit_test x j)) -> 0<= x < (lsl 1 i) - meta "remove_for_" lemma pos_extraction_sup_inv - -(** * Link between Bit extraction and C type conversions *) -(** ** Unsigned conversions *) - - lemma to_uint_extraction_sup: forall n x i:int . - 0<=n<=i -> is_uint n x -> not (bit_test x i) - lemma to_uint_extraction_inf_bool: forall n x i:int . - 0<=i<n -> (bit_testb (to_uint n x) i) = (bit_testb x i) - lemma to_uint_extraction_inf: forall n x i:int . - 0<=i<n -> (bit_test (to_uint n x) i) <-> (bit_test x i) - lemma is_uint_ext : forall n x y:int . - 0<=n -> is_uint n x -> is_uint n y - -> (forall i: int. 0<=i<n -> (bit_test x i <-> bit_test y i)) - -> x = y - meta "remove_for_" lemma to_uint_extraction_sup - meta "remove_for_" lemma to_uint_extraction_inf_bool - meta "remove_for_" lemma to_uint_extraction_inf - meta "remove_for_" lemma is_uint_ext - -(** *** Cast to uint8 C type *) - axiom to_uint8_extraction_sup: forall x i:int [(is_uint8 x),(bit_test x i)]. - 8<=i -> is_uint8 x -> not (bit_test x i) - - lemma to_uint8_extraction_inf_bool: forall x i:int [bit_testb (to_uint8 x) i]. - 0<=i<8 -> (bit_testb (to_uint8 x) i) = (bit_testb x i) - axiom to_uint8_extraction_inf: forall x i:int [bit_test (to_uint8 x) i]. - 0<=i<8 -> (bit_test (to_uint8 x) i) <-> (bit_test x i) - meta "remove_for_" lemma to_uint8_extraction_inf_bool - - lemma is_uint8_ext : forall x y:int . - is_uint8 x -> is_uint8 y - -> (forall i: int. 0<=i<8 -> (bit_test x i <-> bit_test y i)) - -> x = y - meta "remove_for_" lemma is_uint8_ext - -(** *** Cast to uint16 C type *) - axiom to_uint16_extraction_sup: forall x i:int [(is_uint16 x),(bit_test x i)]. - 16<=i -> is_uint16 x -> not (bit_test x i) - - lemma to_uint16_extraction_inf_bool: forall x i:int [bit_testb (to_uint16 x) i]. - 0<=i<16 -> (bit_testb (to_uint16 x) i) = (bit_testb x i) - axiom to_uint16_extraction_inf: forall x i:int [bit_test (to_uint16 x) i]. - 0<=i<16 -> (bit_test (to_uint16 x) i) <-> (bit_test x i) - meta "remove_for_" lemma to_uint16_extraction_inf_bool - - lemma is_uint16_ext : forall x y:int . - is_uint16 x -> is_uint16 y - -> (forall i: int. 0<=i<16 -> (bit_test x i <-> bit_test y i)) - -> x = y - meta "remove_for_" lemma is_uint16_ext - -(** *** Cast to uint32 C type *) - axiom to_uint32_extraction_sup: forall x i:int [(is_uint32 x),(bit_test x i)]. - 32<=i -> is_uint32 x -> not (bit_test x i) - - lemma to_uint32_extraction_inf_bool: forall x i:int [bit_testb (to_uint32 x) i]. - 0<=i<32 -> (bit_testb (to_uint32 x) i) = (bit_testb x i) - axiom to_uint32_extraction_inf: forall x i:int [bit_test (to_uint32 x) i]. - 0<=i<32 -> (bit_test (to_uint32 x) i) <-> (bit_test x i) - meta "remove_for_" lemma to_uint32_extraction_inf_bool - - lemma is_uint32_ext : forall x y:int . - is_uint32 x -> is_uint32 y - -> (forall i: int. 0<=i<32 -> (bit_test x i <-> bit_test y i)) - -> x = y - meta "remove_for_" lemma is_uint32_ext - -(** *** Cast to uint64 C type *) - axiom to_uint64_extraction_sup: forall x i:int [(is_uint64 x),(bit_test x i)]. - 64<=i -> (is_uint64 x) -> not (bit_test x i) - - lemma to_uint64_extraction_inf_bool: forall x i:int [bit_testb (to_uint64 x) i]. - 0<=i<64 -> (bit_testb (to_uint64 x) i) = (bit_testb x i) - axiom to_uint64_extraction_inf: forall x i:int [bit_test (to_uint64 x) i]. - 0<=i<64 -> (bit_test (to_uint64 x) i) <-> (bit_test x i) - meta "remove_for_" lemma to_uint64_extraction_inf_bool - - lemma is_uint64_ext : forall x y:int . - is_uint64 x -> is_uint64 y - -> (forall i: int. 0<=i<64 -> (bit_test x i <-> bit_test y i)) - -> x = y - meta "remove_for_" lemma is_uint64_ext - -(** ** Signed conversions *) - lemma to_sint_extraction_sup: forall n x i:int . - 0<=n<=i -> is_sint n x -> (bit_test x i) <-> x < 0 - lemma to_sint_extraction_inf_bool: forall n x i:int . - 0<=i<n -> (bit_testb (to_sint n x) i) = (bit_testb x i) - lemma to_sint_extraction_inf: forall n x i:int . - 0<=i<n -> (bit_test (to_sint n x) i) <-> (bit_test x i) - lemma is_sint_ext : forall n x y:int . - 0<=n -> is_sint n x -> is_sint n y - -> (forall i: int. 0<=i<=n -> (bit_test x i <-> bit_test y i)) - -> x = y - meta "remove_for_" lemma to_sint_extraction_sup - meta "remove_for_" lemma to_sint_extraction_inf_bool - meta "remove_for_" lemma to_sint_extraction_inf - meta "remove_for_" lemma is_sint_ext - -(** *** Cast to sint8 C type *) - axiom to_sint8_extraction_sup: forall x i:int [(is_sint8 x),(bit_test x i)]. - 7<=i -> is_sint8 x -> (bit_test x i) <-> x < 0 - - lemma to_sint8_extraction_inf_bool: forall x i:int [(bit_testb (to_sint8 x) i)]. - 0<=i<7 -> (bit_testb (to_sint8 x) i) = (bit_testb x i) - axiom to_sint8_extraction_inf: forall x i:int [(bit_test (to_sint8 x) i)]. - 0<=i<7 -> (bit_test (to_sint8 x) i) <-> (bit_test x i) - meta "remove_for_" lemma to_sint8_extraction_inf_bool - - lemma is_sint8_ext : forall x y:int . - is_sint8 x -> is_sint8 y - -> (forall i: int. 0<=i<=7 -> (bit_test x i <-> bit_test y i)) - -> x = y - meta "remove_for_" lemma is_sint8_ext - -(** *** Cast to sint16 C type *) - axiom to_sint16_extraction_sup: forall x i:int [(is_sint16 x),(bit_test x i)]. - 15<=i -> is_sint16 x -> (bit_test x i) <-> x < 0 - - lemma to_sint16_extraction_inf_bool: forall x i:int [bit_testb (to_sint16 x) i]. - 0<=i<15 -> (bit_testb (to_sint16 x) i) = (bit_testb x i) - axiom to_sint16_extraction_inf: forall x i:int [bit_test (to_sint16 x) i]. - 0<=i<15 -> (bit_test (to_sint16 x) i) <-> (bit_test x i) - meta "remove_for_" lemma to_sint16_extraction_inf_bool - - lemma is_sint16_ext : forall x y:int . - is_sint16 x -> is_sint16 y - -> (forall i: int. 0<=i<=15 -> (bit_test x i <-> bit_test y i)) - -> x = y - meta "remove_for_" lemma is_sint16_ext - -(** *** Cast to sint32 C type *) - axiom to_sint32_extraction_sup: forall x i:int [(is_sint32 x),(bit_test x i)]. - 31<=i -> is_sint32 x -> (bit_test x i) <-> x < 0 - - lemma to_sint32_extraction_inf_bool: forall x i:int [bit_testb (to_sint32 x) i]. - 0<=i<31 -> (bit_testb (to_sint32 x) i) = (bit_testb x i) - axiom to_sint32_extraction_inf: forall x i:int [bit_test (to_sint32 x) i]. - 0<=i<31 -> (bit_test (to_sint32 x) i) <-> (bit_test x i) - meta "remove_for_" lemma to_sint32_extraction_inf_bool - - lemma is_sint32_ext : forall x y:int . - is_sint32 x -> is_sint32 y - -> (forall i: int. 0<=i<=31 -> (bit_test x i <-> bit_test y i)) - -> x = y - meta "remove_for_" lemma is_sint32_ext - -(** *** Cast to sint64 C type *) - axiom to_sint64_extraction_sup: forall x i:int [(is_sint64 x),(bit_test x i)]. - 63<=i -> is_sint64 x -> (bit_test x i) <-> x < 0 - - lemma to_sint64_extraction_inf_bool: forall x i:int [bit_testb (to_sint64 x) i]. - 0<=i<63 -> (bit_testb (to_sint64 x) i) = (bit_testb x i) - axiom to_sint64_extraction_inf: forall x i:int [bit_test (to_sint64 x) i]. - 0<=i<63 -> (bit_test (to_sint64 x) i) <-> (bit_test x i) - meta "remove_for_" lemma to_sint64_extraction_inf_bool - - lemma is_sint64_ext : forall x y:int . - is_sint64 x -> is_sint64 y - -> (forall i: int. 0<=i<=63 -> (bit_test x i <-> bit_test y i)) - -> x = y - meta "remove_for_" lemma is_sint64_ext - -(** * Some C-Integer Bits Conversions are distributive *) -(** ** Unsigned conversions *) - lemma to_uint_lor : forall n x y:int. - to_uint n (lor x y) = lor (to_uint n x) (to_uint n y) - meta "remove_for_" lemma to_uint_lor - -(** *** Cast to uint8 C type *) - lemma to_uint8_lor : forall x y:int [to_uint8 (lor x y)]. - to_uint8 (lor x y) = lor (to_uint8 x) (to_uint 8 y) - meta "remove_for_" lemma to_uint8_lor - -(** *** Cast to uint16 C type *) - lemma to_uint16_lor : forall x y:int [to_uint16 (lor x y)]. - to_uint16 (lor x y) = lor (to_uint16 x) (to_uint16 y) - meta "remove_for_" lemma to_uint16_lor - -(** *** Cast to uint32 C type *) - axiom to_uint32_lor : forall x y:int [to_uint32 (lor x y)]. - to_uint32 (lor x y) = lor (to_uint32 x) (to_uint32 y) - meta "remove_for_" axiom to_uint32_lor - -(** *** Cast to uint64 C type *) - lemma to_uint64_lor : forall x y:int [to_uint64 (lor x y)]. - to_uint64 (lor x y) = lor (to_uint64 x) (to_uint64 y) - meta "remove_for_" lemma to_uint64_lor - -(** * Some C-Integer Bits Conversions are identity *) -(** ** Unsigned conversions *) - lemma is_uint_lxor : forall n x y:int. - is_uint n x -> is_uint n y -> to_uint n (lxor x y) = lxor x y - lemma is_uint_lor : forall n x y:int. - is_uint n x -> is_uint n y -> to_uint n (lor x y) = lor x y - lemma is_uint_land : forall n x y:int. - is_uint n x -> is_uint n y -> to_uint n (land x y) = land x y - lemma is_uint_lsr : forall n x y:int. - 0<=y -> is_uint n x -> to_uint n (lsr x y) = lsr x y - lemma is_uint_lsl1_inf : forall n y:int. - 0<=y<n -> to_uint n (lsl 1 y) = lsl 1 y - lemma is_uint_lsl1_sup : forall n y:int. - 0<=n<=y -> to_uint n (lsl 1 y) = 0 - meta "remove_for_" lemma is_uint_lor - meta "remove_for_" lemma is_uint_land - meta "remove_for_" lemma is_uint_lsr - meta "remove_for_" lemma is_uint_lsl1_inf - meta "remove_for_" lemma is_uint_lsl1_sup - -(** *** Cast to uint8 C type *) - axiom is_uint8_lxor : forall x y:int [to_uint8 (lxor x y)]. - is_uint8 x -> is_uint8 y -> to_uint8 (lxor x y) = lxor x y - - axiom is_uint8_lor : forall x y:int [to_uint8 (lor x y)]. - is_uint8 x -> is_uint8 y -> to_uint8 (lor x y) = lor x y - - axiom is_uint8_land : forall x y:int [to_uint8 (land x y)]. - is_uint8 x -> is_uint8 y -> to_uint8 (land x y) = land x y - - axiom is_uint8_lsr : forall x y:int [to_uint8 (lsr x y)]. - 0<=y -> is_uint8 x -> to_uint8 (lsr x y) = lsr x y - - axiom is_uint8_lsl1_inf : forall y:int [to_uint8 (lsl 1 y)]. - 0<=y<8 -> to_uint8 (lsl 1 y) = lsl 1 y - - axiom is_uint8_lsl1_sup : forall y:int [to_uint8 (lsl 1 y)]. - 8<=y -> to_uint8 (lsl 1 y) = 0 - -(** *** Cast to uint16 C type *) - axiom is_uint16_lxor : forall x y:int [to_uint16 (lxor x y)]. - is_uint16 x -> is_uint16 y -> to_uint16 (lxor x y) = lxor x y - - axiom is_uint16_lor : forall x y:int [to_uint16 (lor x y)]. - is_uint16 x -> is_uint16 y -> to_uint16 (lor x y) = lor x y - - axiom is_uint16_land : forall x y:int [to_uint16 (land x y)]. - is_uint16 x -> is_uint16 y -> to_uint16 (land x y) = land x y - - axiom is_uint16_lsr : forall x y:int [to_uint16 (lsr x y)]. - 0<=y -> is_uint16 x -> to_uint16 (lsr x y) = lsr x y - - axiom is_uint16_lsl1_inf : forall y:int [to_uint16 (lsl 1 y)]. - 0<=y<16 -> to_uint16 (lsl 1 y) = lsl 1 y - - axiom is_uint16_lsl1_sup : forall y:int [to_uint16 (lsl 1 y)]. - 16<=y -> to_uint16 (lsl 1 y) = 0 - -(** *** Cast to uint32 C type *) - axiom is_uint32_lxor : forall x y:int [to_uint32 (lxor x y)]. - is_uint32 x -> is_uint32 y -> to_uint32 (lxor x y) = lxor x y - - axiom is_uint32_lor : forall x y:int [to_uint32 (lor x y)]. - is_uint32 x -> is_uint32 y -> to_uint32 (lor x y) = lor x y - - axiom is_uint32_land : forall x y:int [to_uint32 (land x y)]. - is_uint32 x -> is_uint32 y -> to_uint32 (land x y) = land x y - - axiom is_uint32_lsr : forall x y:int [to_uint32 (lsr x y)]. - 0<=y -> is_uint32 x -> to_uint32 (lsr x y) = lsr x y - - axiom is_uint32_lsl1_inf : forall y:int [to_uint32 (lsl 1 y)]. - 0<=y<32 -> to_uint32 (lsl 1 y) = lsl 1 y - - axiom is_uint32_lsl1_sup : forall y:int [to_uint32 (lsl 1 y)]. - 32<=y -> to_uint32 (lsl 1 y) = 0 - -(** *** Cast to uint64 C type *) - axiom is_uint64_lxor : forall x y:int [to_uint64 (lxor x y)]. - is_uint64 x -> is_uint64 y -> to_uint64 (lxor x y) = lxor x y - - axiom is_uint64_lor : forall x y:int [to_uint64 (lor x y)]. - is_uint64 x -> is_uint64 y -> to_uint64 (lor x y) = lor x y - - axiom is_uint64_land : forall x y:int [to_uint64 (land x y)]. - is_uint64 x -> is_uint64 y -> to_uint64 (land x y) = land x y - - axiom is_uint64_lsr : forall x y:int [to_uint64 (lsr x y)]. - 0<=y -> is_uint64 x -> to_uint64 (lsr x y) = lsr x y - - axiom is_uint64_lsl1_inf : forall y:int [to_uint64 (lsl 1 y)]. - 0<=y<64 -> to_uint64 (lsl 1 y) = lsl 1 y - - axiom is_uint64_lsl1_sup : forall y:int [to_uint64 (lsl 1 y)]. - 64<=y -> to_uint64 (lsl 1 y) = 0 - -(** ** Signed conversions *) - lemma is_sint_lnot: forall n x:int. - is_sint n x -> to_sint n (lnot x) = lnot x - lemma is_sint_lxor: forall n x y:int. - is_sint n x -> is_sint n y -> to_sint n (lxor x y) = lxor x y - lemma is_sint_lor: forall n x y:int. - is_sint n x -> is_sint n y -> to_sint n (lor x y) = lor x y - lemma is_sint_land: forall n x y:int. - is_sint n x -> is_sint n y -> to_sint n (land x y) = land x y - lemma is_sint_lsr: forall n x y:int. - 0<=y -> is_sint n x -> to_sint n (lsr x y) = lsr x y - lemma is_sint_lsl1_inf : forall n y:int. - 0<=y<n -> to_sint n (lsl 1 y) = (lsl 1 y) - lemma is_sint_lsl1_sup : forall n y:int. - 0<=n<y -> to_sint n (lsl 1 y) = 0 - meta "remove_for_" lemma is_sint_lnot - meta "remove_for_" lemma is_sint_lxor - meta "remove_for_" lemma is_sint_lor - meta "remove_for_" lemma is_sint_land - meta "remove_for_" lemma is_sint_lsr - meta "remove_for_" lemma is_sint_lsl1_inf - meta "remove_for_" lemma is_sint_lsl1_sup - -(** *** Cast to sint8 C type *) - axiom is_sint8_lnot: forall x:int [to_sint8 (lnot x)]. - is_sint8 x -> to_sint8 (lnot x) = lnot x - - axiom is_sint8_lxor: forall x y:int [to_sint8 (lxor x y)]. - is_sint8 x -> is_sint8 y -> to_sint8 (lxor x y) = lxor x y - - axiom is_sint8_lor: forall x y:int [to_sint8 (lor x y)]. - is_sint8 x -> is_sint8 y -> to_sint8 (lor x y) = lor x y - - axiom is_sint8_land: forall x y:int [to_sint8 (land x y)]. - is_sint8 x -> is_sint8 y -> to_sint8 (land x y) = land x y - - axiom is_sint8_lsr: forall x y:int [to_sint8 (lsr x y)]. - 0<=y -> is_sint8 x -> to_sint8 (lsr x y) = lsr x y - - axiom is_sint8_lsl1 : - lsl 1 7 = Cint.max_sint8 - - axiom is_sint8_lsl1_inf : forall y:int [to_sint8 (lsl 1 y)]. - 0<=y<7 -> to_sint8 (lsl 1 y) = lsl 1 y - - axiom is_sint8_lsl1_sup : forall y:int [to_sint8 (lsl 1 y)]. - 8<=y -> to_sint8 (lsl 1 y) = 0 - -(** *** Cast to sint16 C type *) - axiom is_sint16_lnot : forall x:int [to_sint16 (lnot x)]. - is_sint16 x -> to_sint16 (lnot x) = lnot x - - axiom is_sint16_lxor : forall x y:int [to_sint16 (lxor x y)]. - is_sint16 x -> is_sint16 y -> to_sint16 (lxor x y) = lxor x y - - axiom is_sint16_lor : forall x y:int [to_sint16 (lor x y)]. - is_sint16 x -> is_sint16 y -> to_sint16 (lor x y) = lor x y - - axiom is_sint16_land : forall x y:int [to_sint16 (land x y)]. - is_sint16 x -> is_sint16 y -> to_sint16 (land x y) = land x y - - axiom is_sint16_lsr : forall x y:int [to_sint16 (lsr x y)]. - 0<=y -> is_sint16 x -> to_sint16 (lsr x y) = lsr x y - - axiom is_sint16_lsl1 : - lsl 1 15 = Cint.max_sint16 - - axiom is_sint16_lsl1_inf : forall y:int [to_sint16 (lsl 1 y)]. - 0<=y<15 -> to_sint16 (lsl 1 y) = (lsl 1 y) - - axiom is_sint16_lsl1_sup : forall y:int [to_sint16 (lsl 1 y)]. - 16<=y -> to_sint16 (lsl 1 y) = 0 - -(** *** Cast to sint32 C type *) - axiom is_sint32_lnot : forall x:int [to_sint32(lnot(x))]. - is_sint32 x -> to_sint32 (lnot x) = lnot x - - axiom is_sint32_lxor : forall x y:int [to_sint32 (lxor x y)]. - is_sint32 x -> is_sint32 y -> to_sint32 (lxor x y) = lxor x y - - axiom is_sint32_lor : forall x y:int [to_sint32(lor x y)]. - is_sint32 x -> is_sint32 y -> to_sint32 (lor x y) = lor x y - - axiom is_sint32_land : forall x y:int [to_sint32 (land x y)]. - is_sint32 x -> is_sint32 y -> to_sint32 (land x y) = land x y - - axiom is_sint32_lsr : forall x y:int [to_sint32 (lsr x y)]. - 0<=y -> is_sint32 x -> to_sint32 (lsr x y) = lsr x y - - axiom is_sint32_lsl1 : - lsl 1 31 = Cint.max_sint32 - - axiom is_sint32_lsl1_inf : forall y:int [to_sint32 (lsl 1 y)]. - 0<=y<31 -> to_sint32 (lsl 1 y) = lsl 1 y - - axiom is_sint32_lsl1_sup : forall y:int [to_sint32 (lsl 1 y)]. - 32<=y -> to_sint32 (lsl 1 y) = 0 - -(** *** Cast to sint64 C type *) - axiom is_sint64_lnot : forall x:int [to_sint64 (lnot x)]. - is_sint64 x -> to_sint64 (lnot x) = lnot x - - axiom is_sint64_lxor : forall x y:int [to_sint64 (lxor x y)]. - is_sint64 x -> is_sint64 y -> to_sint64 (lxor x y) = lxor x y - - axiom is_sint64_lor : forall x y:int [to_sint64(lor x y)]. - is_sint64 x -> is_sint64 y -> to_sint64 (lor x y) = lor x y - - axiom is_sint64_land : forall x y:int [to_sint64 (land x y)]. - is_sint64 x -> is_sint64 y -> to_sint64 (land x y) = land x y - - axiom is_sint64_lsr : forall x y:int [to_sint64 (lsr x y)]. - 0<=y -> is_sint64 x -> to_sint64 (lsr x y) = lsr x y - - axiom is_sint64_lsl1 : - lsl 1 63 = Cint.max_sint64 - - axiom is_sint64_lsl1_inf : forall y:int [to_sint64 (lsl 1 y)]. - 0<=y<63 -> to_sint64 (lsl 1 y) = lsl 1 y - - axiom is_sint64_lsl1_sup : forall y:int [to_sint64 (lsl 1 y)]. - 64<=y -> to_sint64 (lsl 1 y) = 0 - -(** * Range of some bitwise operations *) - lemma uint_land_range : forall x y: int . - 0<=x -> 0 <= land x y <= x - meta "remove_for_" lemma uint_land_range - - lemma uint_lor_inf : forall x y: int . - -1<=x -> 0<=y -> x <= lor x y - meta "remove_for_" lemma uint_lor_inf - - lemma sint_land_inf : forall x y: int . - x<=0 -> y<0 -> land x y <= x - meta "remove_for_" lemma sint_land_inf - - lemma sint_lor_range : forall x y: int . - x<0 -> x <= lor x y < 0 - meta "remove_for_" lemma sint_lor_range - - lemma is_uint_lor_distrib : forall n x y: int . - (is_uint n (lor x y)) <-> ((is_uint n x) && (is_uint n y)) - meta "remove_for_" lemma is_uint_lor_distrib - -(** * Link between bitwise operators and addition *) - axiom lor_addition : forall x y: int [(land x y), (lor x y) ]. - land x y = 0 -> x + y = lor x y - - axiom lxor_addition : forall x y: int [(land x y), (lxor x y) ]. - land x y = 0 -> x + y = lxor x y - -(** * Link between land and cast operator *) - lemma to_uint_land_edge : forall x n: int. - 0<=n -> to_uint n x = land ((lsl 1 n) - 1) x - meta "remove_for_" lemma to_uint_land_edge - -end diff --git a/src/plugins/wp/share/src/cfloat.mlw b/src/plugins/wp/share/src/cfloat.mlw deleted file mode 100644 index 0012f05a9854b10c8ffe0272921904e0ba2b2a24..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/cfloat.mlw +++ /dev/null @@ -1,233 +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). *) -(* *) -(**************************************************************************) - -(* -------------------------------------------------------------------------- *) -(* --- C-Integer Arithmetics for Alt-Ergo --- *) -(* -------------------------------------------------------------------------- *) - -theory Cfloat - - use import bool.Bool - use import real.RealInfix - use import real.Abs - use import real.Square - use import real.FromInt - - (* -------------------------------------------------------------------------- *) - (* --- C-Integer Arithmetics for Alt-Ergo --- *) - (* -------------------------------------------------------------------------- *) - - type f32 (* single precision IEEE *) - type f64 (* double precision IEEE *) - - (* C-Float Conversion *) - - function to_f32 real : f32 - function of_f32 f32 : real - - function to_f64 real : f64 - function of_f64 f64 : real - - axiom to_f32_zero: of_f32 (to_f32 0.0) = 0.0 - axiom to_f32_one: of_f32 (to_f32 1.0) = 1.0 - axiom to_f64_zero: of_f64 (to_f64 0.0) = 0.0 - axiom to_f64_one: of_f64 (to_f64 1.0) = 1.0 - - (* C-Float Rounding Modes *) - - type rounding_mode = Up | Down | ToZero | NearestTiesToAway | NearestTiesToEven - - function round_float rounding_mode real : f32 - function round_double rounding_mode real : f64 - - axiom float_32: - forall x:real [ round_float NearestTiesToEven x ]. - to_f32 x = round_float NearestTiesToEven x - - axiom float_64: - forall x:real [ round_double NearestTiesToEven x ]. - to_f64 x = round_double NearestTiesToEven x - - (* C-Float Classification *) - - type float_kind = Finite | NaN | Inf_pos | Inf_neg - - function classify_f32 f32 : float_kind - function classify_f64 f64 : float_kind - - predicate is_finite_f32 (f:f32) = (classify_f32 f = Finite) - predicate is_finite_f64 (d:f64) = (classify_f64 d = Finite) - - predicate is_NaN_f32 (f:f32) = (classify_f32 f = NaN) - predicate is_NaN_f64 (d:f64) = (classify_f64 d = NaN) - - predicate is_infinite_f32 (f:f32) = (classify_f32 f = Inf_pos || classify_f32 f = Inf_neg) - predicate is_infinite_f64 (d:f64) = (classify_f64 d = Inf_pos || classify_f64 d = Inf_neg) - - predicate is_positive_infinite_f32 (f:f32) = (classify_f32 f = Inf_pos) - predicate is_positive_infinite_f64 (d:f64) = (classify_f64 d = Inf_pos) - - predicate is_negative_infinite_f32 (f:f32) = (classify_f32 f = Inf_neg) - predicate is_negative_infinite_f64 (d:f64) = (classify_f64 d = Inf_neg) - - axiom is_finite_to_float_32 : - forall x:real [is_finite_f32(to_f32 x)]. is_finite_f32 (to_f32 x) - - axiom is_finite_to_float_64 : - forall x:real [is_finite_f64(to_f64 x)]. is_finite_f64 (to_f64 x) - - axiom to_float_is_finite_32 : - forall f:f32 [ to_f32( of_f32 f ) | is_finite_f32(f) ]. is_finite_f32(f) -> to_f32( of_f32 f ) = f - - axiom to_float_is_finite_64 : - forall d:f64 [ to_f64( of_f64 d ) | is_finite_f64(d) ]. is_finite_f64(d) -> to_f64( of_f64 d ) = d - - (* Finite Constants *) - - predicate finite (x:real) = (is_finite_f32 (to_f32 x)) /\ (is_finite_f64 (to_f64 x)) - - constant max_f32 : real = 340282346600000016151267322115014000640.0 - constant max_f64 : real = 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0 - - axiom finite_small_f32 : forall x:real. -. max_f64 <=. x <=. max_f32 -> is_finite_f32(to_f32 x) - axiom finite_small_f64 : forall x:real. -. max_f64 <=. x <=. max_f64 -> is_finite_f64(to_f64 x) - axiom finite_range_f32 : forall f:f32. is_finite_f32(f) <-> -. max_f32 <=. of_f32 f <=. max_f32 - axiom finite_range_f64 : forall d:f64. is_finite_f64(d) <-> -. max_f64 <=. of_f64 d <=. max_f64 - - (* Equal *) - - function eq_f32b (x:f32) (y:f32) : bool - function eq_f64b (x:f64) (y:f64) : bool - predicate eq_f32 (x:f32) (y:f32) = (eq_f32b x y = true) - predicate eq_f64 (x:f64) (y:f64) = (eq_f64b x y = true) - axiom eq_finite_f32 : forall x,y:f32 [eq_f32 x y]. is_finite_f32 x -> is_finite_f32 y -> - eq_f32 x y <-> of_f32 x = of_f32 y - - axiom eq_finite_f64 : forall x,y:f64 [eq_f64 x y]. is_finite_f64 x -> is_finite_f64 y -> - eq_f64 x y <-> of_f64 x = of_f64 y - - (* Not Equal *) - - function ne_f32b (x:f32) (y:f32) : bool - function ne_f64b (x:f64) (y:f64) : bool - predicate ne_f32 (x:f32) (y:f32) = (ne_f32b x y = true) - predicate ne_f64 (x:f64) (y:f64) = (ne_f64b x y = true) - -<<<<<<< HEAD:src/plugins/wp/share/src/cfloat.mlw - use export floating_point.Rounding - use floating_point.Single - use floating_point.Double -||||||| merged common ancestors - use export floating_point.Rounding - use import floating_point.Single - use import floating_point.Double -======= - axiom ne_finite_f32 : forall x,y:f32 [ne_f32 x y]. is_finite_f32 x -> is_finite_f32 y -> - ne_f32 x y <-> of_f32 x <> of_f32 y ->>>>>>> origin/master:src/plugins/wp/share/src/cfloat.why - - axiom ne_finite_f64 : forall x,y:f64 [ne_f64 x y]. is_finite_f64 x -> is_finite_f64 y -> - ne_f64 x y <-> of_f64 x <> of_f64 y - (* Comparison (<=) *) - - function le_f32b (x:f32) (y:f32) : bool - function le_f64b (x:f64) (y:f64) : bool - predicate le_f32 (x:f32) (y:f32) = (le_f32b x y = true) - predicate le_f64 (x:f64) (y:f64) = (le_f64b x y = true) - - axiom le_finite_f32 : forall x,y:f32 [le_f32 x y]. is_finite_f32 x -> is_finite_f32 y -> - le_f32 x y <-> of_f32 x <=. of_f32 y - - axiom le_finite_f64 : forall x,y:f64 [le_f64 x y]. is_finite_f64 x -> is_finite_f64 y -> - le_f64 x y <-> of_f64 x <=. of_f64 y - (* Comparison (<) *) - - function lt_f32b (x:f32) (y:f32) : bool - function lt_f64b (x:f64) (y:f64) : bool - predicate lt_f32 (x:f32) (y:f32) = (lt_f32b x y = true) - predicate lt_f64 (x:f64) (y:f64) = (lt_f64b x y = true) - - axiom lt_finite_f32 : forall x,y:f32 [lt_f32 x y]. is_finite_f32 x -> is_finite_f32 y -> - lt_f32 x y <-> of_f32 x <. of_f32 y - - axiom lt_finite_f64 : forall x,y:f64 [lt_f64 x y]. is_finite_f64 x -> is_finite_f64 y -> - lt_f64 x y <-> of_f64 x <. of_f64 y - - (* Negation *) - - - function neg_f32 (x:f32) : f32 - function neg_f64 (x:f64) : f64 - - axiom neg_finite_f32 : forall x:f32 [neg_f32 x]. is_finite_f32 x -> of_f32 (neg_f32 x) = -. (of_f32 x) - axiom neg_finite_f64 : forall x:f64 [neg_f64 x]. is_finite_f64 x -> of_f64 (neg_f64 x) = -. (of_f64 x) - - (* Addition *) - - function add_f32 (x:f32) (y:f32) : f32 - function add_f64 (x:f64) (y:f64) : f64 - - axiom add_finite_f32 : forall x,y:f32 [add_f32 x y]. is_finite_f32 x -> is_finite_f32 y -> - add_f32 x y = to_f32 (of_f32 x +. of_f32 y) - - axiom add_finite_f64 : forall x,y:f64 [add_f64 x y]. is_finite_f64 x -> is_finite_f64 y -> - add_f64 x y = to_f64 (of_f64 x +. of_f64 y) - (* Multiplication *) - - function mul_f32 (x:f32) (y:f32) : f32 - function mul_f64 (x:f64) (y:f64) : f64 - - axiom mul_finite_f32 : forall x,y:f32 [mul_f32 x y]. is_finite_f32 x -> is_finite_f32 y -> - mul_f32 x y = to_f32 (of_f32 x *. of_f32 y) - - axiom mul_finite_f64 : forall x,y:f64 [mul_f64 x y]. is_finite_f64 x -> is_finite_f64 y -> - mul_f64 x y = to_f64 (of_f64 x *. of_f64 y) - (* Division *) - - function div_f32 (x:f32) (y:f32) : f32 - function div_f64 (x:f64) (y:f64) : f64 - - axiom div_finite_f32 : forall x,y:f32 [div_f32 x y]. is_finite_f32 x -> is_finite_f32 y -> - div_f32 x y = to_f32 (of_f32 x /. of_f32 y) - - axiom div_finite_f64 : forall x,y:f64 [div_f64 x y]. is_finite_f64 x -> is_finite_f64 y -> - div_f64 x y = to_f64 (of_f64 x /. of_f64 y) - - (* Square Root *) - - function sqrt_f32 f32 : f32 - function sqrt_f64 f64 : f64 - - axiom sqrt_finite_f32 : forall x:f32 [sqrt_f32 x]. is_finite_f32 x -> sqrt_f32 x = to_f32 (sqrt (of_f32 x)) - axiom sqrt_finite_f64 : forall x:f64 [sqrt_f64 x]. is_finite_f64 x -> sqrt_f64 x = to_f64 (sqrt (of_f64 x)) - - (* Models *) - - function model_f32 (f:f32) : real - function delta_f32 (f:f32) : real = abs( of_f32 f -. model_f32 f ) - function error_f32 (f:f32) : real = (delta_f32 f) /. (abs (model_f32 f)) - - function model_f64 (f:f64) : real - function delta_f64 (f:f64) : real = abs( of_f64 f -. model_f64 f ) - function error_f64 (f:f64) : real = (delta_f64 f) /. (abs (model_f64 f)) - -end diff --git a/src/plugins/wp/share/src/cint.mlw b/src/plugins/wp/share/src/cint.mlw deleted file mode 100644 index 96f13da534d3856b65f60438b2b6ef893c45fbb0..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/cint.mlw +++ /dev/null @@ -1,196 +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). *) -(* *) -(**************************************************************************) - -(* -------------------------------------------------------------------------- *) -(* --- C-Integer Arithmetics for Why-3 --- *) -(* -------------------------------------------------------------------------- *) - -theory Cint - - use int.Int - use bool.Bool - - (** * C-Integer bounds * **) - - (** ** bounds are inlined into prover files ** **) - - function max_uint8: int = 256 - function max_sint8: int = 128 - function max_uint16: int = 65536 - function max_sint16: int = 32768 - function max_uint32: int = 4294967296 - function max_sint32: int = 2147483648 - function max_uint64: int = 18446744073709551616 - function max_sint64: int = 9223372036854775808 - - (** * C-Integer Ranges * **) - - predicate is_bool(x:int) = x = 0 \/ x = 1 - predicate is_uint8(x:int) = 0 <= x < max_uint8 - predicate is_sint8(x:int) = -max_sint8 <= x < max_sint8 - predicate is_uint16(x:int) = 0 <= x < max_uint16 - predicate is_sint16(x:int) = -max_sint16 <= x < max_sint16 - predicate is_uint32(x:int) = 0 <= x < max_uint32 - predicate is_sint32(x:int) = -max_sint32 <= x < max_sint32 - predicate is_uint64(x:int) = 0 <= x < max_uint64 - predicate is_sint64(x:int) = -max_sint64 <= x < max_sint64 - - lemma is_bool0: is_bool(0) - lemma is_bool1: is_bool(1) - - (* meta "def_into_axiom" predicate is_bool *) - meta "def_into_axiom" predicate is_uint8 - meta "def_into_axiom" predicate is_sint8 - meta "def_into_axiom" predicate is_uint16 - meta "def_into_axiom" predicate is_uint16 - meta "def_into_axiom" predicate is_sint32 - meta "def_into_axiom" predicate is_uint32 - meta "def_into_axiom" predicate is_sint64 - meta "def_into_axiom" predicate is_uint64 - - (** * C-Integer Conversion * **) - - function to_bool ( x : int ) : int = if x = 0 then 0 else 1 - function to_uint8 int : int - function to_sint8 int : int - function to_uint16 int : int - function to_sint16 int : int - function to_uint32 int : int - function to_sint32 int : int - function to_uint64 int : int - function to_sint64 int : int - - function two_power_abs int : int - lemma two_power_abs_is_positive : forall n:int [ two_power_abs n ]. 0 < two_power_abs n - lemma two_power_abs_plus_pos : forall n m:int . 0 <= n -> 0 <= m -> two_power_abs (n+m) = (two_power_abs n) * (two_power_abs m) - lemma two_power_abs_plus_one : forall n:int . 0 <= n -> two_power_abs (n+1) = 2 * (two_power_abs n) - meta "remove_for_" lemma two_power_abs_is_positive - meta "remove_for_" lemma two_power_abs_plus_pos - meta "remove_for_" lemma two_power_abs_plus_one - - predicate is_uint (n:int) (x:int) = 0 <= x < two_power_abs n - - (* * [n] is the number of significant bits (that doesn't include the sign bit). * *) - predicate is_sint (n:int) (x:int) = -(two_power_abs n) <= x < two_power_abs n - - function to_uint int int : int - function to_sint int int : int - - (** * C-Integer Conversions are in-range * **) - - lemma is_to_uint : forall n x:int [ is_uint n (to_uint n x) ]. is_uint n (to_uint n x) - lemma is_to_sint : forall n x:int [ is_sint n (to_sint n x) ]. is_sint n (to_sint n x) - meta "remove_for_" lemma is_to_uint - meta "remove_for_" lemma is_to_sint - - axiom is_to_uint8 : forall x:int [ is_uint8(to_uint8 x) ]. is_uint8 (to_uint8 x) - axiom is_to_sint8 : forall x:int [ is_sint8(to_sint8 x) ]. is_sint8 (to_sint8 x) - axiom is_to_uint16 : forall x:int [ is_uint16(to_uint16 x) ]. is_uint16 (to_uint16 x) - axiom is_to_sint16 : forall x:int [ is_sint16(to_sint16 x) ]. is_sint16 (to_sint16 x) - axiom is_to_uint32 : forall x:int [ is_uint32(to_uint32 x) ]. is_uint32 (to_uint32 x) - axiom is_to_sint32 : forall x:int [ is_sint32(to_sint32 x) ]. is_sint32 (to_sint32 x) - axiom is_to_uint64 : forall x:int [ is_uint64(to_uint64 x) ]. is_uint64 (to_uint64 x) - axiom is_to_sint64 : forall x:int [ is_sint64(to_sint64 x) ]. is_sint64 (to_sint64 x) - - (** * C-Integer Conversions are identity when in-range * **) - - lemma id_uint : forall n x:int [ to_uint n x ]. is_uint n x <-> (to_uint n x) = x - lemma id_sint : forall n x:int [ to_sint n x ]. is_sint n x <-> (to_sint n x) = x - meta "remove_for_" lemma id_uint - meta "remove_for_" lemma id_sint - - axiom id_uint8 : forall x:int [ to_uint8 x ]. is_uint8 x -> (to_uint8 x) = x - axiom id_sint8 : forall x:int [ to_sint8 x ]. is_sint8 x -> (to_sint8 x) = x - axiom id_uint16 : forall x:int [ to_uint16 x ]. is_uint16 x -> (to_uint16 x) = x - axiom id_sint16 : forall x:int [ to_sint16 x ]. is_sint16 x -> (to_sint16 x) = x - axiom id_uint32 : forall x:int [ to_uint32 x ]. is_uint32 x -> (to_uint32 x) = x - axiom id_sint32 : forall x:int [ to_sint32 x ]. is_sint32 x -> (to_sint32 x) = x - axiom id_uint64 : forall x:int [ to_uint64 x ]. is_uint64 x -> (to_uint64 x) = x - axiom id_sint64 : forall x:int [ to_sint64 x ]. is_sint64 x -> (to_sint64 x) = x - - meta "inline_in" predicate is_uint8, axiom id_uint8 - meta "inline_in" predicate is_sint8, axiom id_sint8 - meta "inline_in" predicate is_uint16, axiom id_uint16 - meta "inline_in" predicate is_sint16, axiom id_sint16 - meta "inline_in" predicate is_uint32, axiom id_uint32 - meta "inline_in" predicate is_sint32, axiom id_sint32 - meta "inline_in" predicate is_uint64, axiom id_uint64 - meta "inline_in" predicate is_sint64, axiom id_sint64 - - (** * C-Integer Conversions are projections * **) - - lemma proj_uint : forall n x:int . to_uint n (to_uint n x)= to_uint n x - lemma proj_sint : forall n x:int . to_sint n (to_sint n x)= to_sint n x - meta "remove_for_" lemma proj_uint - meta "remove_for_" lemma proj_sint - - axiom proj_uint8 : forall x:int [ to_uint8(to_uint8 x) ]. to_uint8(to_uint8 x)=to_uint8 x - axiom proj_sint8 : forall x:int [ to_sint8(to_sint8 x) ]. to_sint8(to_sint8 x)=to_sint8 x - axiom proj_uint16 : forall x:int [ to_uint16(to_uint16 x) ]. to_uint16(to_uint16 x)=to_uint16 x - axiom proj_sint16 : forall x:int [ to_sint16(to_sint16 x) ]. to_sint16(to_sint16 x)=to_sint16 x - axiom proj_uint32 : forall x:int [ to_uint32(to_uint32 x) ]. to_uint32(to_uint32 x)=to_uint32 x - axiom proj_sint32 : forall x:int [ to_sint32(to_sint32 x) ]. to_sint32(to_sint32 x)=to_sint32 x - axiom proj_uint64 : forall x:int [ to_uint64(to_uint64 x) ]. to_uint64(to_uint64 x)=to_uint64 x - axiom proj_sint64 : forall x:int [ to_sint64(to_sint64 x) ]. to_sint64(to_sint64 x)=to_sint64 x - - meta "remove_for_" axiom proj_uint8 - meta "remove_for_" axiom proj_sint8 - meta "remove_for_" axiom proj_uint16 - meta "remove_for_" axiom proj_sint16 - meta "remove_for_" axiom proj_uint32 - meta "remove_for_" axiom proj_sint32 - meta "remove_for_" axiom proj_uint64 - meta "remove_for_" axiom proj_sint64 - - (** * Generalization for [to_sint _ (to_uint _ x)] * **) - - lemma proj_su: forall n x:int . to_sint n (to_uint n x) = to_uint n x - lemma incl_su: forall n x:int . is_uint n x -> is_sint n x - meta "remove_for_" lemma proj_su - meta "remove_for_" lemma incl_su - - lemma proj_su_uint: forall n m x:int . 0 <= n -> 0 <= m -> to_sint (m+n) (to_uint n x) = to_uint n x - lemma proj_su_sint: forall n m x:int . 0 <= n -> 0 <= m -> to_sint n (to_uint (m+(n+1)) x) = to_sint n x - meta "remove_for_" lemma proj_su_uint - meta "remove_for_" lemma proj_su_sint - - axiom proj_int8 : forall x:int [ to_sint8(to_uint8 x) ]. to_sint8(to_uint8 x) =to_sint8 x - axiom proj_int16 : forall x:int [ to_sint16(to_uint16 x) ]. to_sint16(to_uint16 x)=to_sint16 x - axiom proj_int32 : forall x:int [ to_sint32(to_uint32 x) ]. to_sint32(to_uint32 x)=to_sint32 x - axiom proj_int64 : forall x:int [ to_sint64(to_uint64 x) ]. to_sint64(to_uint64 x)=to_sint64 x - - (** * Generalization for [to_uint _ (to_sint _ x)] * **) - - lemma proj_us_uint: forall n m x:int . 0 <= n -> 0 <= m -> to_uint (n+1) (to_sint (m+n) x) = to_uint (n+1) x - meta "remove_for_" lemma proj_us_uint - - (** * C-Integer range inclusion * **) - - lemma incl_uint : forall n x i:int . 0 <= n -> 0 <= i -> is_uint n x -> is_uint (n+i) x - lemma incl_sint : forall n x i:int . 0 <= n -> 0 <= i -> is_sint n x -> is_sint (n+i) x - lemma incl_int : forall n x i:int . 0 <= n -> 0 <= i -> is_uint n x -> is_sint (n+i) x - meta "remove_for_" lemma incl_uint - meta "remove_for_" lemma incl_sint - meta "remove_for_" lemma incl_int - - -end diff --git a/src/plugins/wp/share/src/coq-own-realization.drv b/src/plugins/wp/share/src/coq-own-realization.drv deleted file mode 100644 index d01fee2477b141679d26f3445036b556b450c45a..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/coq-own-realization.drv +++ /dev/null @@ -1,13 +0,0 @@ -(**************************************************************************) -(* *) -(* This file is part of Frama-C. *) -(* *) -(* Copyright (C) 2007-2019 *) -(* CEA (Commissariat à l'énergie atomique et aux énergies *) -(* alternatives) *) -(* *) -(* All rights reserved. *) -(* Contact CEA LIST for licensing. *) -(* *) -(**************************************************************************) - diff --git a/src/plugins/wp/share/src/filter_axioms.ml b/src/plugins/wp/share/src/filter_axioms.ml deleted file mode 100644 index 41296827b82f8152bbfaed0118f1cd2b202fbf94..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/filter_axioms.ml +++ /dev/null @@ -1,183 +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 Why3 -open Term -open Decl - -let meta_remove_altergo = - Theory.register_meta "remove_for_altergo" - [Theory.MTprsymbol] - ~desc:"Don't@ translate@ this@ lemma@ for@ altergo." - -let meta_remove_why3 = - Theory.register_meta "remove_for_why3" - [Theory.MTprsymbol] - ~desc:"Don't@ translate@ this@ lemma@ for@ why3." - -let meta_remove_ = - Theory.register_meta "remove_for_" - [Theory.MTprsymbol] - ~desc:"Don't@ translate@ this@ lemma@ for@ why3 and altergo." - - - -let elim_abstract remove_pr d = match d.d_node with - | Dprop (Paxiom,pr,_) when Spr.mem pr remove_pr -> - (* Format.eprintf "Remove %a@." Pretty.print_pr pr; *) - [] - | Dprop (Paxiom,_,_) -> - (* Format.eprintf "Not Remove %a@." Pretty.print_pr pr; *) - [d] - | _ -> - (* Format.eprintf "Not Seen %a@." Pretty.print_decl d; *) - [d] - -let remove_prop meta = - Trans.on_tagged_pr meta - (fun remove_pr -> - Trans.on_tagged_pr meta_remove_ - (fun remove_pr2 -> - Trans.decl (elim_abstract (Spr.union remove_pr remove_pr2)) None)) - -let remove_for_altergo = remove_prop meta_remove_altergo -let remove_for_why3 = remove_prop meta_remove_why3 - - -let () = - Trans.register_transform "remove_for_altergo" - remove_for_altergo - ~desc:"Remove@ tagged@ proposition@ with \"remove_for_altergo\"@ and \ - \"remove_for_\"@ metas." - -let () = - Trans.register_transform "remove_for_why3" - remove_for_why3 - ~desc:"Remove@ tagged@ proposition@ with \"remove_for_why3\"@ and \ - \"remove_for_\" metas." - - -(** inlining *) - -let meta_inline_in = - Theory.register_meta "inline_in" - [Theory.MTlsymbol;Theory.MTprsymbol;] - ~desc:"Inline@ the@ symbol@ in@ the@ proposition." - -let t_unfold defs fs tl ty = - match Mls.find_opt fs defs with - | None -> - assert false (** absurd: it is in mpr so it is in sls so added in defs *) - | Some (vl,e) -> - let add (mt,mv) x y = Ty.ty_match mt x.vs_ty (t_type y), Mvs.add x y mv in - let (mt,mv) = List.fold_left2 add (Ty.Mtv.empty, Mvs.empty) vl tl in - let mt = Ty.oty_match mt e.t_ty ty in - t_ty_subst mt mv e - -(* inline every symbol *) - -let rec t_replace_all defs s t = - let t = t_map (t_replace_all defs s) t in - match t.t_node with - | Tapp (fs,tl) when Sls.mem fs s -> - t_attr_copy t (t_unfold defs fs tl t.t_ty) - | _ -> t - -let fold mpr sls d (defs, task) = - (** replace *) - let d = match d.d_node with - | Dprop (k,pr,f) -> - let s = Mpr.find_def Sls.empty pr mpr in - if Sls.is_empty s then d - else create_prop_decl k pr (t_replace_all defs s f) - | _ -> d - in - (** add to defs if needed *) - match d.d_node with - | Dlogic [ls,ld] when Sls.mem ls sls -> - let vl,e = open_ls_defn ld in - Mls.add ls (vl,e) defs, Task.add_decl task d - | _ -> - defs, Task.add_decl task d - -let fold mpr sls task_hd (defs, task) = - match task_hd.Task.task_decl.Theory.td_node with - | Theory.Decl d -> - fold mpr sls d (defs, task) - | _ -> - defs, Task.add_tdecl task task_hd.Task.task_decl - -let trans = - let add (mpr,sls) = function - | [Theory.MAls ls; Theory.MApr pr] -> - Mpr.change (function None -> Some (Sls.singleton ls) - | Some s -> Some (Sls.add ls s)) pr mpr, - Sls.add ls sls - | _ -> assert false - in - Trans.on_meta meta_inline_in (fun l -> - let mpr, sls = List.fold_left add (Mpr.empty,Sls.empty) l in - Trans.fold_map (fold mpr sls) Mls.empty None) - - -let () = - Trans.register_transform "inline_in" - trans - ~desc:"Inline@ the@ symbol@ in@ the@ proposition(meta@ of@ the@ same@ name)" - -(*** eliminate function *) -let meta_def_into_axiom = - Theory.register_meta "def_into_axiom" - [Theory.MTlsymbol] - ~desc:"Turn the marked function into an axiom" - -let add_ld which (ls,ld) (abst,defn,axl) = - if which ls then - let vl,e = open_ls_defn ld in - let nm = ls.ls_name.Ident.id_string ^ "_def" in - let pr = create_prsymbol (Ident.id_derive nm ls.ls_name) in - let hd = t_app ls (List.map t_var vl) e.t_ty in - let e = TermTF.t_selecti Term.t_equ_simp Term.t_iff_simp hd e in - let ax = t_forall_close vl [[hd]] e in - let ax = create_prop_decl Paxiom pr ax in - let ld = create_param_decl ls in - ld :: abst, defn, ax :: axl - else - abst, (ls,ld) :: defn, axl - -let elim_decl which l = - let abst,defn,axl = List.fold_right (add_ld which) l ([],[],[]) in - let defn = if defn = [] then [] else [create_logic_decl defn] in - abst @ defn @ axl - -let elim which d = match d.d_node with - | Dlogic l -> elim_decl which l - | _ -> [d] - -let def_into_axiom = - Trans.on_tagged_ls meta_def_into_axiom (fun sls -> - Trans.decl (elim (fun ls -> Term.Sls.mem ls sls)) None) - -let () = - Trans.register_transform "def_into_axiom" - def_into_axiom - ~desc:"Turn the marked function into an axiom" diff --git a/src/plugins/wp/share/src/logs/ArcTrigo.altergo.err b/src/plugins/wp/share/src/logs/ArcTrigo.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/ArcTrigo.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/ArcTrigo.coq.err b/src/plugins/wp/share/src/logs/ArcTrigo.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/ArcTrigo.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Cbits.altergo.err b/src/plugins/wp/share/src/logs/Cbits.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Cbits.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Cbits.coq.err b/src/plugins/wp/share/src/logs/Cbits.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Cbits.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Cbits.why3.check.err b/src/plugins/wp/share/src/logs/Cbits.why3.check.err deleted file mode 100644 index f188d6d882213762bb44003a4d1c08ef970ba9c9..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Cbits.why3.check.err +++ /dev/null @@ -1,420 +0,0 @@ -<<<<<<< HEAD -||||||| merged common ancestors -File "../why3/Qed.why", line 42, characters 6-17: -warning: axiom c_euclidian does not contain any local abstract symbol -File "../why3/Qed.why", line 47, characters 6-16: -warning: axiom cdiv_cases does not contain any local abstract symbol -File "../why3/Qed.why", line 57, characters 6-16: -warning: axiom cmod_cases does not contain any local abstract symbol -File "../why3/Qed.why", line 67, characters 6-20: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "../why3/Qed.why", line 79, characters 6-18: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "../why3/Qed.why", line 82, characters 6-14: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "../why3/Cbits.why", line 11, characters 6-18: -warning: axiom bit_test_def does not contain any local abstract symbol -File "../why3/Cbits.why", line 14, characters 6-25: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 18, characters 6-13: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "../why3/Cbits.why", line 20, characters 6-29: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "../why3/Cbits.why", line 23, characters 6-32: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "../why3/Cbits.why", line 26, characters 6-21: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 30, characters 6-21: -warning: axiom land_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 34, characters 6-20: -warning: axiom lor_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 38, characters 6-21: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 42, characters 6-18: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 48, characters 6-24: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 53, characters 6-24: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 57, characters 6-21: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "../why3/Cbits.why", line 61, characters 6-21: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 65, characters 6-29: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 69, characters 6-29: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 73, characters 6-30: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 77, characters 6-30: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 81, characters 6-30: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 85, characters 6-30: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 89, characters 6-30: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 93, characters 6-30: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 97, characters 6-29: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 101, characters 6-29: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 105, characters 6-30: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 109, characters 6-30: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 113, characters 6-30: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 117, characters 6-30: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 121, characters 6-30: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 125, characters 6-30: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 129, characters 6-18: -warning: axiom is_uint_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 132, characters 6-19: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 136, characters 6-18: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 140, characters 6-19: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 144, characters 6-18: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 148, characters 6-23: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 152, characters 6-23: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 155, characters 6-20: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 159, characters 6-19: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 163, characters 6-20: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 167, characters 6-19: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 171, characters 6-24: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 175, characters 6-24: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 178, characters 6-20: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 182, characters 6-19: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 186, characters 6-20: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 190, characters 6-19: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 194, characters 6-24: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 198, characters 6-24: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 201, characters 6-20: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 205, characters 6-19: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 209, characters 6-20: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 213, characters 6-19: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 217, characters 6-24: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 221, characters 6-24: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 224, characters 6-19: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "../why3/Cbits.why", line 227, characters 6-19: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 231, characters 6-18: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 235, characters 6-19: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 239, characters 6-18: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 243, characters 6-19: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 245, characters 6-23: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 249, characters 6-23: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 252, characters 6-20: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "../why3/Cbits.why", line 255, characters 6-20: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 259, characters 6-19: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 263, characters 6-20: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 267, characters 6-19: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 271, characters 6-20: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 273, characters 6-24: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 277, characters 6-24: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 280, characters 6-20: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "../why3/Cbits.why", line 283, characters 6-20: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 287, characters 6-19: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 291, characters 6-20: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 295, characters 6-19: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 299, characters 6-20: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 301, characters 6-24: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 305, characters 6-24: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 308, characters 6-20: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "../why3/Cbits.why", line 311, characters 6-20: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 315, characters 6-19: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 319, characters 6-20: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 323, characters 6-19: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 327, characters 6-20: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 329, characters 6-24: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 333, characters 6-24: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 336, characters 6-18: -warning: axiom lor_addition does not contain any local abstract symbol -File "../why3/Cbits.why", line 339, characters 6-19: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "../why3/Qed.why", line 42, characters 6-17: -warning: axiom c_euclidian does not contain any local abstract symbol -File "../why3/Qed.why", line 47, characters 6-16: -warning: axiom cdiv_cases does not contain any local abstract symbol -File "../why3/Qed.why", line 57, characters 6-16: -warning: axiom cmod_cases does not contain any local abstract symbol -File "../why3/Qed.why", line 67, characters 6-20: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "../why3/Qed.why", line 79, characters 6-18: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "../why3/Qed.why", line 82, characters 6-14: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "../why3/Cint.why", line 61, characters 6-14: -warning: axiom is_bool0 does not contain any local abstract symbol -File "../why3/Cint.why", line 63, characters 6-14: -warning: axiom is_bool1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 11, characters 6-15: -warning: axiom lnot_bool does not contain any local abstract symbol -File "../why3/Cbits.why", line 14, characters 6-16: -warning: axiom land_idemp does not contain any local abstract symbol -File "../why3/Cbits.why", line 16, characters 6-12: -warning: axiom land_0 does not contain any local abstract symbol -File "../why3/Cbits.why", line 18, characters 6-15: -warning: axiom land_0bis does not contain any local abstract symbol -File "../why3/Cbits.why", line 20, characters 6-12: -warning: axiom land_1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 23, characters 6-15: -warning: axiom land_1bis does not contain any local abstract symbol -File "../why3/Cbits.why", line 26, characters 6-15: -warning: axiom lor_idemp does not contain any local abstract symbol -File "../why3/Cbits.why", line 28, characters 6-11: -warning: axiom lor_1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 31, characters 6-14: -warning: axiom lor_1bis does not contain any local abstract symbol -File "../why3/Cbits.why", line 34, characters 6-11: -warning: axiom lor_0 does not contain any local abstract symbol -File "../why3/Cbits.why", line 36, characters 6-14: -warning: axiom lor_0bis does not contain any local abstract symbol -File "../why3/Cbits.why", line 38, characters 6-20: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "../why3/Cbits.why", line 40, characters 6-12: -warning: axiom lxor_1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 43, characters 6-15: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "../why3/Cbits.why", line 46, characters 6-12: -warning: axiom lxor_0 does not contain any local abstract symbol -File "../why3/Cbits.why", line 48, characters 6-15: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "../why3/Cbits.why", line 50, characters 6-18: -warning: axiom bit_test_def does not contain any local abstract symbol -File "../why3/Cbits.why", line 53, characters 6-25: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 57, characters 6-13: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "../why3/Cbits.why", line 59, characters 6-29: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "../why3/Cbits.why", line 62, characters 6-32: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "../why3/Cbits.why", line 65, characters 6-21: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 69, characters 6-21: -warning: axiom land_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 73, characters 6-20: -warning: axiom lor_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 77, characters 6-21: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 81, characters 6-18: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 87, characters 6-24: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 92, characters 6-24: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 96, characters 6-21: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "../why3/Cbits.why", line 100, characters 6-21: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "../why3/Cbits.why", line 104, characters 6-29: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 108, characters 6-29: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 112, characters 6-30: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 116, characters 6-30: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 120, characters 6-30: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 124, characters 6-30: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 128, characters 6-30: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 132, characters 6-30: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 136, characters 6-29: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 140, characters 6-29: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 144, characters 6-30: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 148, characters 6-30: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 152, characters 6-30: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 156, characters 6-30: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 160, characters 6-30: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 164, characters 6-30: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 168, characters 6-18: -warning: axiom is_uint_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 171, characters 6-19: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 175, characters 6-18: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 179, characters 6-19: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 183, characters 6-18: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 187, characters 6-23: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 191, characters 6-23: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 194, characters 6-20: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 198, characters 6-19: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 202, characters 6-20: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 206, characters 6-19: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 210, characters 6-24: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 214, characters 6-24: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 217, characters 6-20: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 221, characters 6-19: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 225, characters 6-20: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 229, characters 6-19: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 233, characters 6-24: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 237, characters 6-24: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 240, characters 6-20: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 244, characters 6-19: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 248, characters 6-20: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 252, characters 6-19: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 256, characters 6-24: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 260, characters 6-24: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 263, characters 6-19: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "../why3/Cbits.why", line 266, characters 6-19: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 270, characters 6-18: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 274, characters 6-19: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 278, characters 6-18: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 282, characters 6-19: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 284, characters 6-23: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 288, characters 6-23: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 291, characters 6-20: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "../why3/Cbits.why", line 294, characters 6-20: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 298, characters 6-19: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 302, characters 6-20: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 306, characters 6-19: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 310, characters 6-20: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 312, characters 6-24: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 316, characters 6-24: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 319, characters 6-20: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "../why3/Cbits.why", line 322, characters 6-20: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 326, characters 6-19: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 330, characters 6-20: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 334, characters 6-19: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 338, characters 6-20: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 340, characters 6-24: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 344, characters 6-24: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 347, characters 6-20: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "../why3/Cbits.why", line 350, characters 6-20: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "../why3/Cbits.why", line 354, characters 6-19: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "../why3/Cbits.why", line 358, characters 6-20: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "../why3/Cbits.why", line 362, characters 6-19: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "../why3/Cbits.why", line 366, characters 6-20: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "../why3/Cbits.why", line 368, characters 6-24: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "../why3/Cbits.why", line 372, characters 6-24: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "../why3/Cbits.why", line 375, characters 6-18: -warning: axiom lor_addition does not contain any local abstract symbol -File "../why3/Cbits.why", line 378, characters 6-19: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Cfloat.altergo.err b/src/plugins/wp/share/src/logs/Cfloat.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Cfloat.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Cfloat.coq.err b/src/plugins/wp/share/src/logs/Cfloat.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Cfloat.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Cint.altergo.err b/src/plugins/wp/share/src/logs/Cint.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Cint.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Cint.coq.err b/src/plugins/wp/share/src/logs/Cint.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Cint.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Cmath.altergo.err b/src/plugins/wp/share/src/logs/Cmath.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Cmath.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Cmath.coq.err b/src/plugins/wp/share/src/logs/Cmath.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Cmath.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/ExpLog.altergo.err b/src/plugins/wp/share/src/logs/ExpLog.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/ExpLog.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/ExpLog.coq.err b/src/plugins/wp/share/src/logs/ExpLog.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/ExpLog.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Memory.altergo.err b/src/plugins/wp/share/src/logs/Memory.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Memory.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Memory.coq.err b/src/plugins/wp/share/src/logs/Memory.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Memory.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Memory.why3.check.err b/src/plugins/wp/share/src/logs/Memory.why3.check.err deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/plugins/wp/share/src/logs/Qed.altergo.err b/src/plugins/wp/share/src/logs/Qed.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Qed.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Qed.coq.err b/src/plugins/wp/share/src/logs/Qed.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Qed.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Qed.why3.check.err b/src/plugins/wp/share/src/logs/Qed.why3.check.err deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/plugins/wp/share/src/logs/Square.altergo.err b/src/plugins/wp/share/src/logs/Square.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Square.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Square.coq.err b/src/plugins/wp/share/src/logs/Square.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Square.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Square.why3.check.err b/src/plugins/wp/share/src/logs/Square.why3.check.err deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/plugins/wp/share/src/logs/Vlist.altergo.err b/src/plugins/wp/share/src/logs/Vlist.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Vlist.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Vlist.coq.err b/src/plugins/wp/share/src/logs/Vlist.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Vlist.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Vset.altergo.err b/src/plugins/wp/share/src/logs/Vset.altergo.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Vset.altergo.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/Vset.coq.err b/src/plugins/wp/share/src/logs/Vset.coq.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/Vset.coq.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/bool.Bool.altergo.stdlib.err b/src/plugins/wp/share/src/logs/bool.Bool.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/bool.Bool.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/for_drivers.ComputerOfEuclideanDivision.altergo.stdlib.err b/src/plugins/wp/share/src/logs/for_drivers.ComputerOfEuclideanDivision.altergo.stdlib.err deleted file mode 100644 index 6d3c6fffce483eb8337cc327dc91a99bb3fad403..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/for_drivers.ComputerOfEuclideanDivision.altergo.stdlib.err +++ /dev/null @@ -1 +0,0 @@ -[Config] reading extra configuration file realization.conf diff --git a/src/plugins/wp/share/src/logs/int.Abs.altergo.stdlib.err b/src/plugins/wp/share/src/logs/int.Abs.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/int.Abs.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/int.ComputerDivision.altergo.stdlib.err b/src/plugins/wp/share/src/logs/int.ComputerDivision.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/int.ComputerDivision.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/int.EuclideanDivision.altergo.stdlib.err b/src/plugins/wp/share/src/logs/int.EuclideanDivision.altergo.stdlib.err deleted file mode 100644 index 6d3c6fffce483eb8337cc327dc91a99bb3fad403..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/int.EuclideanDivision.altergo.stdlib.err +++ /dev/null @@ -1 +0,0 @@ -[Config] reading extra configuration file realization.conf diff --git a/src/plugins/wp/share/src/logs/int.Exponentiation.altergo.stdlib.err b/src/plugins/wp/share/src/logs/int.Exponentiation.altergo.stdlib.err deleted file mode 100644 index 6d3c6fffce483eb8337cc327dc91a99bb3fad403..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/int.Exponentiation.altergo.stdlib.err +++ /dev/null @@ -1 +0,0 @@ -[Config] reading extra configuration file realization.conf diff --git a/src/plugins/wp/share/src/logs/int.Int.altergo.stdlib.err b/src/plugins/wp/share/src/logs/int.Int.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/int.Int.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/int.MinMax.altergo.stdlib.err b/src/plugins/wp/share/src/logs/int.MinMax.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/int.MinMax.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/int.Power.altergo.stdlib.err b/src/plugins/wp/share/src/logs/int.Power.altergo.stdlib.err deleted file mode 100644 index 6d3c6fffce483eb8337cc327dc91a99bb3fad403..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/int.Power.altergo.stdlib.err +++ /dev/null @@ -1 +0,0 @@ -[Config] reading extra configuration file realization.conf diff --git a/src/plugins/wp/share/src/logs/map.Const.altergo.stdlib.err b/src/plugins/wp/share/src/logs/map.Const.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/map.Const.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/map.Map.altergo.stdlib.err b/src/plugins/wp/share/src/logs/map.Map.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/map.Map.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.Abs.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.Abs.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.Abs.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.ExpLog.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.ExpLog.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.ExpLog.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.FromInt.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.FromInt.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.FromInt.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.Hyperbolic.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.Hyperbolic.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.Hyperbolic.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.MinMax.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.MinMax.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.MinMax.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.Polar.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.Polar.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.Polar.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.PowerReal.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.PowerReal.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.PowerReal.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.Real.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.Real.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.Real.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.RealInfix.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.RealInfix.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.RealInfix.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.Square.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.Square.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.Square.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.Trigonometry.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.Trigonometry.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.Trigonometry.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/logs/real.Truncate.altergo.stdlib.err b/src/plugins/wp/share/src/logs/real.Truncate.altergo.stdlib.err deleted file mode 100644 index be50d9d30c5a14115360544ab91bdb8d6c020376..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/logs/real.Truncate.altergo.stdlib.err +++ /dev/null @@ -1,439 +0,0 @@ -[Config] reading extra configuration file realization.conf -<<<<<<< HEAD -||||||| merged common ancestors -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 37, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 65, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 77, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 85, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 90, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 96, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 102, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 108, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 139, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 144, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 155, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 160, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 171, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 176, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 187, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 192, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 219, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 224, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 235, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 240, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 251, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 256, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 267, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 272, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 299, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 329, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 332, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 335, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 338, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 341, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 344, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 348, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 351, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 354, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 357, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 360, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 367, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 370, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 373, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 376, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 379, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 386, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 389, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 392, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 395, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 398, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 428, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 431, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 434, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 437, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 440, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 443, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 446, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 449, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 453, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 456, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 459, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 478, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 481, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 484, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 503, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 506, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 509, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol -======= -File "WP-SHARE/src/./qed.why", line 76, characters 8-19: -warning: axiom c_euclidian does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 91, characters 8-22: -warning: axiom cmod_remainder does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 97, characters 8-20: -warning: axiom cdiv_neutral does not contain any local abstract symbol -File "WP-SHARE/src/./qed.why", line 98, characters 8-16: -warning: axiom cdiv_inv does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 32, characters 8-15: -warning: axiom abs_def does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 43, characters 8-17: -warning: axiom sqrt_lin1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 44, characters 8-17: -warning: axiom sqrt_lin0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 45, characters 8-14: -warning: axiom sqrt_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 46, characters 8-14: -warning: axiom sqrt_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cmath.why", line 55, characters 8-15: -warning: axiom exp_pos does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 36, characters 8-17: -warning: axiom lnot_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 39, characters 8-18: -warning: axiom land_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 40, characters 8-14: -warning: axiom land_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 41, characters 8-17: -warning: axiom land_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 42, characters 8-14: -warning: axiom land_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 43, characters 8-17: -warning: axiom land_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 44, characters 8-17: -warning: axiom land_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 49, characters 8-17: -warning: axiom lor_idemp does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 50, characters 8-13: -warning: axiom lor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 51, characters 8-16: -warning: axiom lor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 52, characters 8-13: -warning: axiom lor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 53, characters 8-16: -warning: axiom lor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 54, characters 8-16: -warning: axiom lor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 59, characters 8-22: -warning: axiom lxor_nilpotent does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 60, characters 8-14: -warning: axiom lxor_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 61, characters 8-17: -warning: axiom lxor_1bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 62, characters 8-14: -warning: axiom lxor_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 63, characters 8-17: -warning: axiom lxor_0bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 64, characters 8-17: -warning: axiom lxor_bool does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 71, characters 8-20: -warning: axiom bit_test_def does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 78, characters 8-27: -warning: axiom bit_test_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 84, characters 8-15: -warning: axiom lsl_1_0 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 86, characters 8-31: -warning: axiom bit_test_extraction_bis does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 88, characters 8-34: -warning: axiom bit_test_extraction_bis_eq does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 93, characters 8-23: -warning: axiom lnot_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 99, characters 8-23: -warning: axiom land_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 105, characters 8-22: -warning: axiom lor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 111, characters 8-23: -warning: axiom lxor_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 119, characters 8-20: -warning: axiom land_1_lsl_1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 124, characters 8-26: -warning: axiom lsl_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 130, characters 8-26: -warning: axiom lsl_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 136, characters 8-23: -warning: axiom lsr_extractionl does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 142, characters 8-23: -warning: axiom lsl1_extraction does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 173, characters 8-31: -warning: axiom to_uint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 178, characters 8-31: -warning: axiom to_uint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 189, characters 8-32: -warning: axiom to_uint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 194, characters 8-32: -warning: axiom to_uint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 205, characters 8-32: -warning: axiom to_uint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 210, characters 8-32: -warning: axiom to_uint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 221, characters 8-32: -warning: axiom to_uint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 226, characters 8-32: -warning: axiom to_uint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 253, characters 8-31: -warning: axiom to_sint8_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 258, characters 8-31: -warning: axiom to_sint8_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 269, characters 8-32: -warning: axiom to_sint16_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 274, characters 8-32: -warning: axiom to_sint16_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 285, characters 8-32: -warning: axiom to_sint32_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 290, characters 8-32: -warning: axiom to_sint32_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 301, characters 8-32: -warning: axiom to_sint64_extraction_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 306, characters 8-32: -warning: axiom to_sint64_extraction_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 333, characters 8-21: -warning: axiom to_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 363, characters 8-21: -warning: axiom is_uint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 366, characters 8-20: -warning: axiom is_uint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 369, characters 8-21: -warning: axiom is_uint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 372, characters 8-20: -warning: axiom is_uint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 375, characters 8-25: -warning: axiom is_uint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 378, characters 8-25: -warning: axiom is_uint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 382, characters 8-22: -warning: axiom is_uint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 385, characters 8-21: -warning: axiom is_uint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 388, characters 8-22: -warning: axiom is_uint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 391, characters 8-21: -warning: axiom is_uint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 394, characters 8-26: -warning: axiom is_uint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 397, characters 8-26: -warning: axiom is_uint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 401, characters 8-22: -warning: axiom is_uint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 404, characters 8-21: -warning: axiom is_uint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 407, characters 8-22: -warning: axiom is_uint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 410, characters 8-21: -warning: axiom is_uint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 413, characters 8-26: -warning: axiom is_uint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 416, characters 8-26: -warning: axiom is_uint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 420, characters 8-22: -warning: axiom is_uint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 423, characters 8-21: -warning: axiom is_uint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 426, characters 8-22: -warning: axiom is_uint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 429, characters 8-21: -warning: axiom is_uint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 432, characters 8-26: -warning: axiom is_uint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 435, characters 8-26: -warning: axiom is_uint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 462, characters 8-21: -warning: axiom is_sint8_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 465, characters 8-21: -warning: axiom is_sint8_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 468, characters 8-20: -warning: axiom is_sint8_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 471, characters 8-21: -warning: axiom is_sint8_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 474, characters 8-20: -warning: axiom is_sint8_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 477, characters 8-21: -warning: axiom is_sint8_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 480, characters 8-25: -warning: axiom is_sint8_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 483, characters 8-25: -warning: axiom is_sint8_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 487, characters 8-22: -warning: axiom is_sint16_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 490, characters 8-22: -warning: axiom is_sint16_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 493, characters 8-21: -warning: axiom is_sint16_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 496, characters 8-22: -warning: axiom is_sint16_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 499, characters 8-21: -warning: axiom is_sint16_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 502, characters 8-22: -warning: axiom is_sint16_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 505, characters 8-26: -warning: axiom is_sint16_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 508, characters 8-26: -warning: axiom is_sint16_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 512, characters 8-22: -warning: axiom is_sint32_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 515, characters 8-22: -warning: axiom is_sint32_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 518, characters 8-21: -warning: axiom is_sint32_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 521, characters 8-22: -warning: axiom is_sint32_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 524, characters 8-21: -warning: axiom is_sint32_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 527, characters 8-22: -warning: axiom is_sint32_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 530, characters 8-26: -warning: axiom is_sint32_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 533, characters 8-26: -warning: axiom is_sint32_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 537, characters 8-22: -warning: axiom is_sint64_lnot does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 540, characters 8-22: -warning: axiom is_sint64_lxor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 543, characters 8-21: -warning: axiom is_sint64_lor does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 546, characters 8-22: -warning: axiom is_sint64_land does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 549, characters 8-21: -warning: axiom is_sint64_lsr does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 552, characters 8-22: -warning: axiom is_sint64_lsl1 does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 555, characters 8-26: -warning: axiom is_sint64_lsl1_inf does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 558, characters 8-26: -warning: axiom is_sint64_lsl1_sup does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 583, characters 8-20: -warning: axiom lor_addition does not contain any local abstract symbol -File "WP-SHARE/src/./cbits.why", line 586, characters 8-21: -warning: axiom lxor_addition does not contain any local abstract symbol ->>>>>>> origin/master diff --git a/src/plugins/wp/share/src/memory.mlw b/src/plugins/wp/share/src/memory.mlw deleted file mode 100644 index 93e48ac116e65019cd39a2c2db0ab221fe982db2..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/memory.mlw +++ /dev/null @@ -1,184 +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). *) -(* *) -(**************************************************************************) - -theory Memory - - use bool.Bool - use int.Int - use map.Map - - type addr = { base : int ; offset : int } - - predicate addr_le addr addr - predicate addr_lt addr addr - function addr_le_bool addr addr : bool - function addr_lt_bool addr addr : bool - - axiom addr_le_def: forall p q :addr [addr_le p q]. - p.base = q.base -> (addr_le p q <-> p.offset <= q.offset) - - axiom addr_lt_def: forall p q :addr [addr_lt p q]. - p.base = q.base -> (addr_lt p q <-> p.offset < q.offset) - - axiom addr_le_bool_def : forall p q : addr [ addr_le_bool p q]. - addr_le p q <-> addr_le_bool p q = True - - axiom addr_lt_bool_def : forall p q : addr [ addr_lt_bool p q]. - addr_lt p q <-> addr_lt_bool p q = True - - constant null : addr = { base = 0 ; offset = 0 } - function global (b:int) : addr = { base = b ; offset = 0 } - meta "inline:no" function null - meta "inline:no" function global - - function shift (p:addr) (k:int) : addr = { p with offset = p.offset + k } - predicate included (p:addr) (a:int) (q:addr) (b:int) = - a > 0 -> ( b >= 0 /\ p.base = q.base - /\ (q.offset <= p.offset) - /\ (p.offset + a <= q.offset + b) ) - - predicate separated (p:addr) (a:int) (q:addr) (b:int) = - a <= 0 \/ b <= 0 - \/ p.base <> q.base - \/ q.offset + b <= p.offset - \/ p.offset + a <= q.offset - - (* Memories *) - - predicate eqmem (m1 m2 : map addr 'a) (p:addr) (a:int) = - forall q:addr [m1[p]|m2[q]]. included q 1 p a -> m1[q] = m2[q] - - function havoc (m0 m1 : map addr 'a) (p:addr) (a:int) : map addr 'a - - predicate valid_rw (m : map int int) (p:addr) (n:int) = - n > 0 -> ( 0 < p.base /\ 0 <= p.offset /\ p.offset + n <= m[p.base] ) - - predicate valid_rd (m : map int int) (p:addr) (n:int) = - n > 0 -> ( 0 <> p.base /\ 0 <= p.offset /\ p.offset + n <= m[p.base] ) - - predicate invalid (m : map int int) (p:addr) (n:int) = - n > 0 -> ( m[p.base] <= p.offset \/ p.offset + n <= 0 ) - - lemma valid_rw_rd : - forall m : map int int. - forall p : addr. - forall n : int. - valid_rw m p n -> valid_rd m p n - - lemma valid_string : - forall m : map int int. - forall p : addr. - p.base < 0 -> - 0 <= p.offset < m[p.base] -> - (valid_rd m p 1 /\ not (valid_rw m p 1)) - - lemma separated_1 : forall p q : addr. forall a b i j : int - [ separated p a q b , { base = p.base ; offset = i } , - { base = q.base ; offset = j } ]. - separated p a q b -> - p.offset <= i < p.offset + a -> - q.offset <= j < q.offset + b -> - { base = p.base ; offset = i } <> - { base = q.base ; offset = j } - - (* Regions *) - - function region int : int - - predicate linked (map int int) - predicate sconst (map addr int) - predicate framed (m : map addr addr) = - forall p:addr [m[p]]. region(m[p].base) <= 0 - - (* Properties *) - - lemma separated_included : - forall p q : addr. - forall a b : int - [ separated p a q b , included p a q b ]. - a > 0 -> b > 0 -> separated p a q b -> included p a q b -> false - - lemma included_trans : - forall p q r : addr. - forall a b c : int - [ included p a q b , included q b r c ]. - included p a q b -> included q b r c -> included p a r c - - lemma separated_trans : - forall p q r : addr. - forall a b c : int - [ included p a q b , separated q b r c ]. - included p a q b -> separated q b r c -> separated p a r c - - lemma separated_sym : - forall p q : addr. - forall a b : int - [ separated p a q b ]. - separated p a q b <-> separated q b p a - - lemma eqmem_included : - forall m1 m2 : map addr 'a. - forall p q : addr. - forall a b : int - [ eqmem m1 m2 p a,eqmem m1 m2 q b ]. - included p a q b -> eqmem m1 m2 q b -> eqmem m1 m2 p a - - lemma eqmem_sym : - forall m1 m2 : map addr 'a. - forall p : addr. - forall a : int. - eqmem m1 m2 p a -> eqmem m2 m1 p a - - lemma havoc_access : - forall m0 m1 : map addr 'a. - forall q p : addr. - forall a : int. - (Map.([]) (havoc m0 m1 p a) (q)) = (if (separated q 1 p a) then (Map.([]) (m1) (q)) else (Map.([]) (m0) (q))) - - (* Physical Address *) - - function int_of_addr addr : int - function addr_of_int int : addr - function base_offset int : int - function base_index int : int - - axiom int_of_addr_bijection : - forall a:int. int_of_addr (addr_of_int a) = a - - axiom addr_of_int_bijection : - forall p:addr. addr_of_int (int_of_addr p) = p - - axiom addr_of_null : - int_of_addr null = 0 - -<<<<<<< HEAD:src/plugins/wp/share/src/memory.mlw -end -||||||| merged common ancestors -end -======= - axiom base_offset_zero : base_offset 0 = 0 - axiom base_offset_inj : forall i :int. base_index (base_offset i) = i - axiom base_offset_monotonic : forall i j :int. - i < j -> base_offset i < base_offset j - -end ->>>>>>> origin/master:src/plugins/wp/share/src/memory.why diff --git a/src/plugins/wp/share/src/qed.mlw b/src/plugins/wp/share/src/qed.mlw deleted file mode 100644 index b8848d47bd13ef372603ea81d3ae426780ac9182..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/qed.mlw +++ /dev/null @@ -1,87 +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). *) -(* *) -(**************************************************************************) - -theory Qed - - use bool.Bool - use int.Int - use real.RealInfix - use real.FromInt - use int.ComputerDivision as CD - - (** to be used only for the ACSL ite generation. - Something is wrong with "wp/share/ergo/bool.Bool.mlw" (coming from why3), - the function match_bool is undefined. - An hack is to give a definition here. *) - function match_bool (x : bool) (y z:'a ) : 'a - axiom match_bool: forall p:bool, x:'a, y:'a [match_bool p x y]. - ( p=True /\ match_bool p x y=x ) || - ( p=False /\ match_bool p x y=y ) - meta "remove_for_why3" axiom match_bool - - (** The definitions are in comment because its not useful for coq - (no if-then-else on formula) and not tested on automatic provers *) - - function eqb (x y : 'a) : bool (*= if x = y then True else False*) - axiom eqb : forall x:'a, y:'a. eqb x y = True <-> x = y - - axiom eqb_false : forall x:'a, y:'a. eqb x y = False <-> x <> y - meta "remove_for_" axiom eqb_false - - function neqb (x y : 'a) : bool(* = if x <> y then True else False*) - axiom neqb : forall x:'a, y:'a. neqb x y = True <-> x <> y - - function zlt (x y : int) : bool(* = if x < y then True else False*) - function zleq (x y : int) : bool(* = if x <= y then True else False*) - - axiom zlt : forall x:int, y:int. zlt x y = True <-> x < y - axiom zleq : forall x:int, y:int. zleq x y = True <-> x <= y - - function rlt (x y : real) : bool(* = if x <. y then True else False*) - function rleq (x y : real) : bool(* = if x <=. y then True else False*) - - axiom rlt : forall x:real, y:real. rlt x y = True <-> x <. y - axiom rleq : forall x:real, y:real. rleq x y = True <-> x <=. y - - function real_of_int (x:int) : real = FromInt.from_int x - meta "inline:no" function real_of_int - - (* -------------------------------------------------------------------------- *) - (* --- Division safe with a prover using computer or euclidean division --- *) - (* -------------------------------------------------------------------------- *) - - (* different than the version for why3 *) - use for_drivers.ComputerOfEuclideanDivision - - lemma c_euclidian : forall n d:int [(CD.div n d),(CD.mod n d)]. - d <> 0 -> n = CD.div n d * d + CD.mod n d - - lemma cmod_remainder : forall n d:int [CD.mod n d]. - ((n >= 0) -> (d > 0) -> 0 <= CD.mod n d < d) /\ - ((n <= 0) -> (d > 0) -> -d < CD.mod n d <= 0) /\ - ((n >= 0) -> (d < 0) -> 0 <= CD.mod n d < -d) /\ - ((n <= 0) -> (d < 0) -> d < CD.mod n d <= 0) - - lemma cdiv_neutral : forall a:int [CD.div a 1]. CD.div a 1 = a - lemma cdiv_inv : forall a:int [CD.div a a]. a<>0 -> CD.div a a = 1 - -end diff --git a/src/plugins/wp/share/src/vlist.mlw b/src/plugins/wp/share/src/vlist.mlw deleted file mode 100644 index ce02585dfa3f0a1e09dbd2de9bc47a40c73fcf54..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/vlist.mlw +++ /dev/null @@ -1,201 +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). *) -(* *) -(**************************************************************************) - -(* ---------------------------------------------------------------------- *) -(* --- Lists for Why-3 --- *) -(* ---------------------------------------------------------------------- *) - -theory Vlist - - use int.Int - use int.ComputerDivision - - (* -------------------------------------------------------------------- *) - (* --- Classical Lists for Alt-Ergo --- *) - (* -------------------------------------------------------------------- *) - - type list 'a - - function nil : list 'a - function cons 'a (list 'a) : list 'a - function concat (list 'a) (list 'a) : list 'a - function repeat (list 'a) int : list 'a - function length (list 'a) : int - function nth (list 'a) int : 'a - - function elt (x:'a) : list 'a = cons x nil - - (* -------------------------------------------------------------------- *) - (* --- length --- *) - (* -------------------------------------------------------------------- *) - - axiom length_pos : forall w:list 'a. (Int.(<=) 0 (length w)) - - axiom length_nil : length (nil: list 'a) = 0 - - axiom length_nil_bis : forall w:list 'a. length w = 0 -> w = nil - - axiom length_cons : - forall x:'a, w:list 'a [length (cons x w)]. - length (cons x w) = (Int.(+) 1 (length w)) - - axiom length_concat : - forall u,v:list 'a [length (concat u v)]. - length (concat u v) = (Int.(+) (length u) (length v)) - - axiom length_repeat : - forall w:list 'a, n:int [length (repeat w n)]. - (Int.(<=) 0 n) -> length (repeat w n) = (Int.( * ) n (length w)) - - (* -------------------------------------------------------------------- *) - (* --- nth --- *) - (* -------------------------------------------------------------------- *) - - axiom nth_cons: - forall k:int, x:'a, w:list 'a [nth (cons x w) k]. - nth (cons x w) k = if k = 0 then x else nth w (k-1) - - axiom nth_concat: - forall u,v:list 'a, k:int [nth (concat u v) k]. - nth (concat u v) k = if k < length u then nth u k - else nth v (Int.(-) k (length u)) - - axiom nth_repeat: - forall n,k:int, w:list 'a [nth (repeat w n) k]. - 0 <= k < (Int.( * ) n (length w)) -> (Int.(<) 0 (length w)) -> - nth (repeat w n) k = nth w (mod k (length w)) - - (* -------------------------------------------------------------------- *) - (* --- equality of Lists --- *) - (* -------------------------------------------------------------------- *) - - predicate vlist_eq (u : list 'a) (v : list 'a) = - length u = length v && - forall i:int. 0 <= i < length u -> nth u i = nth v i - - axiom extensionality: - forall u,v:list 'a. vlist_eq u v -> u = v - - (* -------------------------------------------------------------------- *) - (* --- neutral elements --- *) - (* -------------------------------------------------------------------- *) - - lemma eq_nil_concat: - forall w:list 'a. vlist_eq (concat nil w) w /\ vlist_eq (concat w nil) w - meta "remove_for_" lemma eq_nil_concat - - lemma rw_nil_concat_left: - forall w:list 'a [concat nil w]. concat nil w = w - - lemma rw_nil_concat_right: - forall w:list 'a [concat w nil]. concat w nil = w - - (* -------------------------------------------------------------------- *) - (* --- normalization --- *) - (* -------------------------------------------------------------------- *) - - lemma eq_cons_concat: - forall x:'a, v,w:list 'a [concat (cons x v) w]. - vlist_eq (concat (cons x v) w) (cons x (concat v w)) - meta "remove_for_" lemma eq_cons_concat - - lemma rw_cons_concat: - forall x:'a, v,w:list 'a [concat (cons x v) w]. - (concat (cons x v) w) = (cons x (concat v w)) - meta "remove_for_" lemma rw_cons_concat - - lemma rw_nil_cons_concat: - forall x:'a, w:list 'a [concat (cons x nil) w]. - (concat (cons x nil) w) = (cons x w) - meta "remove_for_" lemma rw_nil_cons_concat - - (* -------------------------------------------------------------------- *) - (* --- associativity --- *) - (* -------------------------------------------------------------------- *) - - lemma eq_assoc_concat: - forall u,v,w:list 'a. - vlist_eq (concat (concat u v) w) (concat u (concat v w)) - meta "remove_for_" lemma eq_assoc_concat - - (* -------------------------------------------------------------------- *) - (* --- repeat --- *) - (* -------------------------------------------------------------------- *) - - lemma rw_nil_repeat: - forall n:int [repeat (nil: list 'a) n]. - n >= 0 -> repeat (nil: list 'a) n = (nil: list 'a) - - lemma rw_repeat_zero: - forall w:list 'a [repeat w 0]. - repeat w 0 = nil - - lemma eq_repeat_one: - forall w:list 'a. vlist_eq (repeat w 1) w - meta "remove_for_" lemma eq_repeat_one - - lemma rw_repeat_one: - forall w:list 'a [repeat w 1]. repeat w 1 = w - - lemma eq_repeat_concat: - forall p,q:int, w:list 'a. - 0 <= p -> 0 <= q -> - vlist_eq (repeat w (Int.(+) p q)) (concat (repeat w p) (repeat w q)) - meta "remove_for_" lemma eq_repeat_concat - - lemma rw_repeat_concat: - forall p,q:int, w:list 'a. - 0 <= p -> 0 <= q -> - repeat w (Int.(+) p q) = concat (repeat w p) (repeat w q) - meta "remove_for_" lemma rw_repeat_concat - - lemma rw_repeat_after: - forall p:int, w:list 'a. - 0 <= p -> concat (repeat w p) w = repeat w (Int.(+) p 1) - meta "remove_for_" lemma rw_repeat_after - - lemma rw_repeat_before: - forall p:int, w:list 'a. - 0 <= p -> concat w (repeat w p) = repeat w (Int.(+) p 1) - meta "remove_for_" lemma rw_repeat_before - -(*--- To avoid exponential blowup of use of repeat_after by alt-ergo ---*) - -function repeat_box (list 'a) int : (list 'a) (* repeat *) - -axiom rw_repeat_box_unfold: - forall w:list 'a, n:int [ repeat_box w n ]. - repeat_box w n = repeat w n - -axiom rw_repeat_plus_box_unfold: - forall w:list 'a, a,b: int [ repeat_box w (Int.(+) a b) ]. - (Int.(<=) 0 a) - -> (Int.(<=) 0 b) - -> repeat_box w (Int.(+) a b) = concat (repeat w a) - (repeat w b) -axiom rw_repeat_plus_one_box_unfold: - forall w:list 'a, n:int [ repeat_box w n ]. - (Int.(<) 0 n) - -> (repeat_box w n = (concat (repeat w (Int.(-) n 1)) w) - && (repeat_box w (Int.(+) n 1) = concat (repeat w n) w)) - -end diff --git a/src/plugins/wp/share/src/vset.mlw b/src/plugins/wp/share/src/vset.mlw deleted file mode 100644 index d69ff5ecda15ad74a9570ed0665d4f88fc79c632..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/src/vset.mlw +++ /dev/null @@ -1,101 +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). *) -(* *) -(**************************************************************************) - -(* -------------------------------------------------------------------------- *) -(* --- Sets for Why-3 --- *) -(* -------------------------------------------------------------------------- *) - -theory Vset - - use bool.Bool - use int.Int - - (* -------------------------------------------------------------------------- *) - (* --- Classical Sets for Alt-Ergo --- *) - (* -------------------------------------------------------------------------- *) - - type set 'a - - function empty : set 'a - function singleton 'a : set 'a - - function union (set 'a) (set 'a) : set 'a - function inter (set 'a) (set 'a) : set 'a - - meta AC function union - meta AC function inter - - predicate member 'a (set 'a) - function member_bool 'a (set 'a) : bool - - function range int int : set int (* [a..b] *) - function range_sup int : set int (* [a..] *) - function range_inf int : set int (* [..b] *) - function range_all : set int (* [..] *) - - predicate eqset (a : set 'a) (b : set 'a) = - forall x : 'a. (member x a) <-> (member x b) - - predicate subset (a : set 'a) (b : set 'a) = - forall x : 'a. (member x a) -> (member x b) - - predicate disjoint (a : set 'a) (b : set 'a) = - forall x : 'a. (member x a) -> (member x b) -> false - - (* -------------------------------------------------------------------------- *) - - axiom member_bool : forall x:'a. forall s:set 'a [member_bool x s]. - if member x s then member_bool x s = True else member_bool x s = False - - axiom member_empty : forall x:'a [member x empty]. - not (member x empty) - - axiom member_singleton : forall x:'a,y:'a [member x (singleton y)]. - member x (singleton y) <-> x=y - - axiom member_union : forall x:'a. forall a:set 'a,b:set 'a [member x (union a b)]. - member x (union a b) <-> (member x a) \/ (member x b) - - axiom member_inter : forall x:'a. forall a:set 'a,b:set 'a [member x (inter a b)]. - member x (inter a b) <-> (member x a) /\ (member x b) - - axiom union_empty : forall a:set 'a [(union a empty)|(union empty a)]. - (union a empty) = a /\ (union empty a) = a - - axiom inter_empty : forall a:set 'a [(inter a empty)|(inter empty a)]. - (inter a empty) = empty /\ (inter empty a) = empty - - axiom member_range : forall x:int,a:int,b:int [member x (range a b)]. - member x (range a b) <-> (a <= x /\ x <= b) - - axiom member_range_sup : forall x:int,a:int [member x (range_sup a)]. - member x (range_sup a) <-> (a <= x) - - axiom member_range_inf : forall x:int,b:int [member x (range_inf b)]. - member x (range_inf b) <-> (x <= b) - - axiom member_range_all : forall x:int [member x range_all]. - member x range_all - - (* -------------------------------------------------------------------------- *) - -end \ No newline at end of file diff --git a/src/plugins/wp/share/why3/ArcTrigo.v b/src/plugins/wp/share/why3/ArcTrigo.v deleted file mode 100644 index 2ac6451eb5ccd811740599f7682d198186559b5e..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/ArcTrigo.v +++ /dev/null @@ -1,57 +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). *) -(* *) -(**************************************************************************) - -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require Reals.R_sqrt. -Require Reals.Rbasic_fun. -Require Reals.Rtrigo_def. -Require Reals.Rtrigo1. -Require Reals.Ratan. -Require BuiltIn. -Require real.Real. -Require real.RealInfix. -Require real.Abs. -Require real.Square. -Require real.Trigonometry. - -(* Why3 goal *) -Definition asin : R -> R. -Admitted. - -(* Why3 goal *) -Definition acos : R -> R. -Admitted. - -(* Why3 goal *) -Lemma Sin_asin : - forall (x:R), (((-1%R)%R <= x)%R /\ (x <= 1%R)%R) -> - ((Reals.Rtrigo_def.sin (asin x)) = x). -Admitted. - -(* Why3 goal *) -Lemma Cos_acos : - forall (x:R), (((-1%R)%R <= x)%R /\ (x <= 1%R)%R) -> - ((Reals.Rtrigo_def.cos (acos x)) = x). -Admitted. - diff --git a/src/plugins/wp/share/why3/ArcTrigo.why b/src/plugins/wp/share/why3/ArcTrigo.why deleted file mode 100644 index bf76b70b1fd9bbae8ffdcb49f748faf8030f2583..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/ArcTrigo.why +++ /dev/null @@ -1,41 +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). *) -(* *) -(**************************************************************************) - -theory ArcTrigo -use real.Real as Real -use real.Abs as Abs -use real.Square as Square -use real.Trigonometry as Trigonometry - -function atan (x:real) : real = Trigonometry.atan x - -function asin real : real - -function acos real : real - -axiom Sin_asin : forall x:real. (Real.(<=) ((Real.(-_) (1.0))) (x)) /\ - (Real.(<=) (x) (1.0)) -> ((Trigonometry.sin (asin x)) = (x)) - -axiom Cos_acos : forall x:real. (Real.(<=) ((Real.(-_) (1.0))) (x)) /\ - (Real.(<=) (x) (1.0)) -> ((Trigonometry.cos (acos x)) = (x)) - -end diff --git a/src/plugins/wp/share/why3/Bits.v b/src/plugins/wp/share/why3/Bits.v deleted file mode 100644 index 624a253f499923ab9206ce27fe7bd78ca4313ce8..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Bits.v +++ /dev/null @@ -1,1347 +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). *) -(* *) -(**************************************************************************) - -(* -------------------------------------------------------------------------- *) -(** * C-Integer Library for Coq *) -(* -------------------------------------------------------------------------- *) - -(** This module provides a theory of bits over [Z] natural integers. - - for natural [n], the [k]-th bit of [2^n] if [(k=n)] ; - - for positive integer [x>=0], it is the union of the bits of its binary - decomposition (hence, natural powers of two) ; - - finally, the bits of a negative integer [x<0] are the reverted ones - of its two's complement [-(x+1)]. - - The realization of the theory proceeds into several stages, - following the Coq definition of type [Z]. We take advantage of the - bitwize representation of positive integers provided by the [positive] - type in Coq. The successive stages are: - - properties of {!trailing:bit-functions} (finally ending by 1-sequence or 0-sequence); - - bits of {!positive:positive} integers [p>0]; - - bits of {!natural:natural} integers [n>=0]; - - bits of {!integer:integers} [n:Z]. - - The {!Zbit:characteristic} function of integers, denoted [Zbit], - have the expected logical properties: - - [(Zbit 0 k)] is [false]; - - [(Zbit (-1) k)] is [true]; - - [(Zbit (2^n) k)] is [(k=n)]; - - [Zbit] is injective, ie: the bit representation of each integer is unique. - -*) - -(** ** Type of characteristic functions of integers *) -Definition Zfc := nat -> bool. - -(** ** Tacticals *) - -Require Import ZArith. -Require Import FunctionalExtensionality. -Require Import Qedlib. - -Close Scope Z_scope. - -(** Induction after a given rank. *) -Remark upper_nat_ind: forall P (n:nat), - P n -> (forall k, (n < k) -> P k) -> (forall k, (n <= k) -> P k). -Proof. - intros. - case (le_lt_eq_dec n k); intuition (subst; auto with arith). -Qed. - -(** Induction over bool with equality. *) -Ltac case_eqb H e := - pattern e; apply Sumbool.bool_eq_ind; intro H. - -(** Find arithmetic contradiction. *) -Ltac arithContradiction := - cut False; [contradiction; try omega|];auto with arith. - -(** Cases [Inf:i<j], [EQ:i=j] and [Sup:i>j]. *) -Ltac nat_compare Inf EQ Sup i j := - destruct (lt_eq_lt_dec i j) as [ TMP | Sup ]; - [ destruct TMP as [ Inf | EQ ]; [ | try rewrite <- EQ ] | ]; - auto with arith. - -(** Cases [Inf:i<j], [EQ:i=j] and [Sup:i>j]. *) -Ltac Z_compare Inf EQ Sup i j := - destruct (Z_dec i j) as [ TMP| EQ ]; - [ destruct TMP as [ Inf | Sup ] | try rewrite <- EQ ]; - auto with zarith. - -(** For proving a symmetrical relation [P], - it is sufficient to prove [P i j] for [i<j] and [P i i]. *) -Lemma symmetrical_ind: forall (P : nat -> nat -> Prop), - (forall i j, P i j -> P j i) -> - (forall i, P i i) -> - (forall i j, i < j -> P i j) -> - (forall i j, P i j). -Proof. - intros P Sym Diag Triangle i j. - nat_compare Inf EQ Sup i j. -Qed. - -(** * remarks about two_power_nat *) -Remark two_power_nat_is_positive: forall n, - (0 < two_power_nat n)%Z. -Proof. - induction n. - (** base *) - + by compute. - (** ind. *) - + rewrite two_power_nat_S. - apply Zmult_lt_0_compat. - by compute. - auto. -Qed. - -Remark two_power_nat_plus: forall n m, - (two_power_nat (n+m) = (two_power_nat n)*(two_power_nat m))%Z. -Proof. - induction m. - (replace (two_power_nat 0) with 1%Z by (compute;forward)). - (replace (n + 0) with n by (auto with zarith)). - ring. - rewrite two_power_nat_S. - replace (n + S m) with (S(n+m)) by (auto with zarith). - rewrite two_power_nat_S. - rewrite IHm. - ring. -Qed. - -Remark two_power_nat_increase: forall n m, - n <= m -> (two_power_nat n <= two_power_nat m)%Z. -Proof. - intros. - rewrite ((le_plus_minus n m) H). - rewrite two_power_nat_plus. - generalize (two_power_nat_is_positive (m - n)). - pose (K:=(two_power_nat (m - n))); fold K; intro. - generalize (two_power_nat_is_positive n); intro. - rewrite <- (Z.mul_1_r (two_power_nat n)) at 1. - apply Zmult_le_compat_l; omega. -Qed. - -Remark two_power_nat_increase_strict: forall n m, - n < m -> (two_power_nat n < two_power_nat m)%Z. -Proof. - intros. - rewrite (le_plus_minus (n+1) m) by omega. - rewrite two_power_nat_plus. - generalize (two_power_nat_is_positive (m - (n+1))). - pose (K:=(two_power_nat (m - (n+1)))); fold K; intro. - rewrite two_power_nat_plus. - replace (two_power_nat 1) with 2%Z by (compute; trivial). - generalize (two_power_nat_is_positive n); intro. - rewrite <- (Z.mul_1_r (two_power_nat n)) at 1. - replace (two_power_nat n * 2 * K)%Z with (two_power_nat n * (2 * K))%Z - by ring. - apply Zmult_gt_0_lt_compat_l; omega. -Qed. - -(** {@trailing:} *) -(** * Eventually constant functions *) -(** The bits representation of [Z] integers are eventually constant - [nat -> bool] functions. Positive integers finally ends with an infinite - sequence of 0-bits, while negative inetegers ends with 1-bits. - - Hence, it is always possible to defined the highest significant sign-bit - of a bit function. This section formalize these properties: predicate [trailing] - defines an eventually constant bit function, and function [last] returns its - highest significant bit. -*) - -(** Function [f] has constant value [b] from rank [k]. *) -Definition trailing f (n:nat) (b:bool) := forall k, n <= k -> f k = b. - -(** Returns the lowest index such than [f n=b], and [n] otherwise. *) -Fixpoint last f n b {struct n} := - match n with - | O => O - | S m => if Bool.eqb (f m) b then last f m b else n - end. - -(** Functions last decreases. *) -Remark last_leq : forall f n b, last f n b <= n. -Proof. - intros f n b. - induction n; auto. - simpl. - destruct (Bool.eqb (f n) b); auto. -Qed. - -(** Trailing of previous position. *) -Remark trailing_step : forall f n b, - f n = b -> trailing f (S n) b -> trailing f n b. -Proof. - intros f n b fn tl. - unfold trailing. - apply upper_nat_ind; auto with arith. -Qed. - -(** Last preserves trailing. *) -Remark trailing_last : forall f n b, trailing f n b -> trailing f (last f n b) b. -Proof. - intros f n b. - induction n; simpl; auto. - intro IHS. - case_eqb H (Bool.eqb (f n) b); auto. - apply IHn. - apply trailing_step; [ apply Bool.eqb_prop | ]; auto. -Qed. - -(** The [last] is null or points to a flip. *) -Remark last_null_or_flip: forall (f: Zfc) (n: nat) (b: bool), - last f n b = O \/ exists k, last f n b = S k /\ f k <> b. -Proof. - intros f n b. induction n; simpl; auto. - case_eqb BIT (Bool.eqb (f n) b). auto. - right. exists n. split; [ auto | apply Bool.eqb_false_iff; auto ]. -Qed. - -(** The [last] of trailing is unique. *) -Lemma last_trail_ext: forall (f: Zfc) (b: bool) (n m: nat), - trailing f n b -> trailing f m b -> last f n b = last f m b. -Proof. - intros f b. - cut (forall n m, - trailing f n b -> trailing f m b -> last f n b < last f m b -> False). - { intros ABSURD n m. - intros Hn Hm. - nat_compare INF EQ SUP (last f n b) (last f m b); auto. - (** INF *) * apply False_ind; apply (ABSURD n m); auto. - (** SUP *) * apply False_ind; apply (ABSURD m n); auto. - } - intros n m Hn Hm. - pose ( i := last f n b ). fold i. - pose ( j := last f m b ). fold j. - intro Leq. - assert (Hi : trailing f i b) by (unfold i; apply trailing_last; auto). - assert (Hj : trailing f j b) by (unfold j; apply trailing_last; auto). - assert (Range : forall k, i <= k <= j -> f k = b) - by (intros k [lo up]; auto with arith). - - generalize (last_null_or_flip f m b). - intros [ Last_null | Last_flip ]. - (** Last is Null *) - + fold j in Last_null. rewrite Last_null in Leq. omega. - (** Last if a flip *) - + destruct Last_flip as [ k [ kj flip ] ]. - fold j in kj. - absurd (f k = b); auto. - apply Range; omega. -Qed. - -(** {@positive:} *) -(** * Bits of positive integers *) - -(** Strictly positive integers are represented in Coq by theirs bits, - with lowest bits as head constructors, and highest bit at tail. - - Conversely, given a finite range of bits ended by a 1-bit, the - reconstruction of a [positive] integer is defined. *) - -(** Position of the highest significant bit of a positive. *) -Fixpoint xHpos (p:positive): nat := - match p with - | xH => O - | xI p => S (xHpos p) - | xO p => S (xHpos p) - end. - -(** [xHpos] increases. *) -Remark xHpos_incr : - forall p a: positive, xHpos p <= xHpos (p + a). -Proof. - induction p; intros; simpl; case a; intros; simpl; try omega; - apply le_n_S; - try rewrite Pplus_one_succ_r; - try (rewrite Pplus_carry_spec; rewrite Pplus_one_succ_r;rewrite<- Pplus_assoc); - try solve [apply (IHp p0) | apply (IHp 1%positive)|apply (IHp (p0+1%positive)%positive)]. -Qed. - -(** Return the value of the [i]-th bit of a positive. *) -Fixpoint P_decomp (x: positive) (i: nat) { struct x } : bool := - match i, x with - | O, xH => true - | O, xI _ => true - | O, xO _ => false - | S m, xH => false - | S m, xI p => P_decomp p m - | S m, xO p => P_decomp p m - end. - -(** Returns the positive of bits [[f i,...,f (i+n-1),1]]. - Remark the [n]-th bit is always 1 ([xH]). *) -Fixpoint P_recomp (n: nat) (f : Zfc) (i: nat) {struct n } := - match n with - | O => xH - | S m => if (f i) then xI (P_recomp m f (S i)) else xO (P_recomp m f (S i)) - end. - -(** ** Properties of decomposition *) - -(** After the highest bits, all bits are false. *) -Remark P_decomp_limit: forall x k, - k > xHpos x -> P_decomp x k = false. -Proof. - induction x; simpl; intros; destruct k. - inversion H. apply IHx. auto with arith. - inversion H. apply IHx. auto with arith. - inversion H. auto with arith. -Qed. - -(** The highest bit is true. *) -Remark P_decomp_xHpos: forall x, - P_decomp x (xHpos x) = true. -Proof. - induction x; simpl; intros; auto. -Qed. - -(** The [P_shift] of [nat -> A] functions. *) -Definition P_shift {A:Type} f i k : A := f (i + k). - -(** bits of a positive with one more 1-bit. *) -Remark P_decomp_shift1: forall p: positive, - P_shift (P_decomp p~1) 1 = P_decomp p. -Proof. - intro p. extensionality k. unfold P_shift. auto. -Qed. - -(** bits of a positive with one more 0-bit. *) -Remark P_decomp_shift0: forall p: positive, - P_shift (P_decomp p~0) 1 = P_decomp p. -Proof. - intro p. extensionality k. unfold P_shift. auto. -Qed. - -(** ** Properties of recomposition *) - -(** Recomposition of shifted bits. *) -Remark P_recomp_shift: forall (f: Zfc) (n i j: nat), - P_recomp n f (i+j) = P_recomp n (P_shift f i) j. -Proof. - intros f n. - induction n; intros i j; simpl; auto. - unfold P_shift at 1. - case_eqb BIT (f (i+j)); f_equal; - (replace (S(i+j)) with (i + S j) by omega); - apply IHn. -Qed. - -(** Highest bits of recomposition. *) -Remark xHpos_P_recomp: forall (n: nat) (f: Zfc) (i: nat), - xHpos (P_recomp n f i) = n. -Proof. - intros n f. - induction n. simpl. auto. - intros. simpl. destruct (f i); simpl; f_equal; apply IHn. -Qed. - -(** ** Involution of decomposition and recomposition *) - -(** Invariance by 1-bit shift. *) -Remark NEXT_I: forall (n: nat) (p: positive), - P_recomp n (P_decomp p~1) 1 = P_recomp n (P_decomp p) 0. -Proof. - intros. - replace 1 with (1+0) by omega. - rewrite P_recomp_shift. - rewrite P_decomp_shift1. - auto. -Qed. - -(** Invariance by 0-bit shift. *) -Remark NEXT_O: forall (n: nat) (p: positive), - P_recomp n (P_decomp p~0) 1 = P_recomp n (P_decomp p) 0. -Proof. - intros. - replace 1 with (1+0) by omega. - rewrite P_recomp_shift. - rewrite P_decomp_shift0. - auto. -Qed. - -(** Recomposition of Decomposition. *) -Lemma P_recomp_decomp: forall (n: nat) (p: positive), - n = xHpos p -> P_recomp n (P_decomp p) O = p. -Proof. - induction n;intros;simpl. - destruct p; inversion H; auto. - destruct p; unfold P_decomp at 1; f_equal. - rewrite NEXT_I. apply IHn. inversion H; auto with arith. - rewrite NEXT_O. apply IHn. inversion H; auto with arith. - inversion H. -Qed. - -(** Decomposition of Recomposition. - The induction scheeme of the proof requires to recompose - an arbitrary shifted function. *) -Lemma P_decomp_recomp: forall (f: Zfc) (n i k: nat), - k < n -> P_decomp (P_recomp n f i) k = f (i+k). -Proof. - intros f n. - induction n. intros. apply False_ind. omega. - intros i k Limit. - simpl. destruct k. - case_eqb Fi (f i); simpl; rewrite <- Fi; f_equal; omega. - destruct (f i); simpl. - rewrite IHn. f_equal. omega. omega. - rewrite IHn. f_equal. omega. omega. -Qed. - -(** Last bits of positive. *) -Remark last_P_decomp: forall (p: positive) (m: nat), - m = xHpos p -> last (P_decomp p) (S m) false = (S m). -Proof. - intros p m Hm. - unfold last; rewrite Hm; rewrite P_decomp_xHpos; simpl; auto. -Qed. - -(** {@natural:} *) -(** * Bits of natural integers *) -(** The section naturally extends bits of [positive] to [N]. - Zero is represented by the infinite sequence of 0-bits. *) - -(** Conversion from [Z] to [N]. *) -Definition Nabs (x:Z): N := - match x with - | Z0 => N0 - | Zpos p => Npos p - | Zneg p => Npos p - end. - -(** Number of significative bits (last 1-bit) of a natural. *) -Definition NxHpos (n:N): nat := - match n with - | N0 => O - | Npos p => S (xHpos p) - end. - -(** NxHpos increases. *) -Remark NxHpos_incr: forall x a: N, NxHpos x <= NxHpos (x + a). -Proof. - destruct x; destruct a; simpl; try (by compute). - cut (xHpos p <= xHpos (p + p0)). omega. - apply xHpos_incr. -Qed. - -(** Arithmetic properties of [NxHpos] *) - -Remark NxHpos_2x_p0: forall n:N, - (0 < n)%N -> NxHpos (2 * n) = S (NxHpos n). -Proof. - destruct n; by simpl. -Qed. - -Remark NxHpos_2x_p1: forall n:N, - NxHpos (2 * n + 1) = S (NxHpos n). -Proof. - destruct n ; by simpl. -Qed. - -Remark NxHpos_div2_p: forall n:N, - (0 < n)%N -> NxHpos (Ndiv2 n) = pred (NxHpos n). -Proof. - destruct n. - (** zero *) - + by compute. - (** positive *) - + by destruct p. -Qed. - -(** Bits of a natural integer *) -Definition N_decomp (x: N): Zfc := - match x with - | N0 => (fun _ => false) - | Npos p => P_decomp p - end. - -(** Recomposition of an integer from a range of [n]-bits *) -Definition N_recomp (n: nat) (f: Zfc): Z := - match last f n false with - | O => Z0 - | S m => Zpos (P_recomp m f 0) - end. - -(** Recomposition result is a positive integer. *) -Remark N_recomp_pos: forall (n: nat) (f: Zfc), - (0 <= N_recomp n f)%Z. -Proof. - intros. unfold N_recomp. - destruct (last f n false); auto with zarith. -Qed. - -(** Zero has a unique representation *) -Remark N_recomp_zero: forall (n: nat) (f: Zfc), - trailing f n false -> (N_recomp n f = 0)%Z -> forall k, f k = false. -Proof. - intros n f Trail. - unfold N_recomp. - destruct (last_null_or_flip f n false) as [ZERO | FLIP]. - rewrite ZERO. intros. - generalize (trailing_last f n false). - intro TLAST. rewrite ZERO in TLAST. - apply TLAST; auto with arith. - destruct FLIP as [k [L F]]. - rewrite L. discriminate. -Qed. - -(** One has a unique representation *) -Remark N_recomp_one: forall (n: nat) (f: Zfc), - trailing f n false -> (N_recomp n f = 1)%Z -> - f O = true /\ forall k, f (S k) = false. -Proof. - intros n f Trail. - unfold N_recomp. - destruct (last_null_or_flip f n false) as [ZERO | FLIP]. - rewrite ZERO. intros. apply False_ind. omega. - destruct (last f n false) eqn:LAST. - intros. apply False_ind. omega. - intro ONE. - assert (XH: P_recomp n0 f 0 = xH). inversion ONE; trivial. - destruct FLIP as [ K1 [ SKN B1not ] ]. - assert (NK : n0 = K1) by ( auto with arith ). rewrite NK in *. - assert (B1 : f K1 = true) by ( destruct (f K1); auto ). - assert (T1 : trailing f (S K1) false). - { rewrite <- LAST. apply trailing_last; auto. } - destruct K1. - + rewrite B1 in *. - split; auto. intro k; destruct k; apply T1; auto with arith. - + simpl in XH. - destruct (f 0). - * apply False_ind. discriminate. - * apply False_ind. discriminate. -Qed. - -(** Involution of Decomposition and Recomposition *) -Lemma N_decomp_recomp: forall (n: nat) (f: Zfc), - trailing f n false -> N_decomp (Nabs (N_recomp n f)) = f. -Proof. - intros n f Trail. - unfold N_recomp. - generalize (last_null_or_flip f n false). - intros [ ZERO | FLIP ]. - (** ZERO *) - + rewrite ZERO. simpl. extensionality k. symmetry. - cut (trailing f 0 false). intro H. apply H. omega. - rewrite <- ZERO. - apply trailing_last. auto. - (** FLIP *) - + destruct FLIP as [k [Last Flip]]. - rewrite Last. simpl. - extensionality i. - nat_compare Inf EQ Sup i k. - (** Inf *) - * apply P_decomp_recomp. auto. - (** Eq *) - * generalize (xHpos_P_recomp i f 0). - pose (x := P_recomp i f 0). - fold x. - intro xHi. - rewrite <- xHi. - rewrite P_decomp_xHpos. - rewrite xHi. rewrite EQ. - case_eqb FK (f k); auto; contradiction. - (** Sup *) - * generalize (xHpos_P_recomp k f 0). - pose (x := P_recomp k f 0). - fold x. - intro xHk. - rewrite (P_decomp_limit x i); [|rewrite xHk;auto]. - cut (trailing f (S k) false). intro H. symmetry. apply H. omega. - rewrite <- Last. apply trailing_last. auto. -Qed. - -(** [NxHpos] of a recomposition *) -Lemma NxHpos_N_recomp_pos: forall (n: nat) (f: Zfc), - NxHpos (Nabs (N_recomp n f)) = last f n false. -Proof. - intros. - unfold N_recomp. - elim (last_null_or_flip f n false). - intro ZERO. rewrite ZERO. auto. - intros [ k [ LAST FLIP ] ]. - rewrite LAST. simpl. rewrite xHpos_P_recomp. trivial. -Qed. - -(** {@integer:} *) -(** * Bits of Integers *) - -Local Open Scope Z_scope. - -(** The bits representation of an integer consists of a bit function, - packed with its trailing property. - - This representation is _not_ unique. However, - the unicity of last significant bits implies an extensionality - equality: if two [bits] records have the same bit function, they represent - the same integer, see [Lemma btest_ext]. -*) - -Record bits: Type := mkbits - { bsize:nat; - bsign: bool; - btest: Zfc; - btrail : trailing btest bsize bsign }. - -(** ** Two's complement and bits inversion *) -(** As specified in the introduction, the extension positive integers [N] to [Z] - is realized by two's complement and bit inversion. *) - -(** Two's complement and related properties. *) - -Definition zlnot x:Z := -(x + 1). - -Remark zlnot_inv: forall x, - zlnot (zlnot x) = x. -Proof. - intros. unfold zlnot. auto with zarith. -Qed. -Remark zlnot_inj: forall x y : Z, - (zlnot x) = (zlnot y) -> x = y. -Proof. - unfold zlnot. intros. omega. -Qed. -Remark zlnot_sym: forall x y : Z, - (zlnot x) = y -> x = (zlnot y). -Proof. - unfold zlnot. intros. omega. -Qed. - -Lemma P_zlnot_sym: forall P (b: Z), - 0 <= b -> ((forall z: Z, -b <= z -> P z) -> (forall z:Z, z < b -> P (zlnot z))). -Proof. - intros P b Bge0 Hyp z H. assert (-b <= zlnot z). unfold zlnot. omega. - apply Hyp. auto. -Qed. - -Lemma P_zlnot_sym_rev: forall P (b: Z), - 0 <= b -> ((forall z:Z, z < b -> P z) -> (forall z:Z, -b <= z -> P (zlnot z))). -Proof. - intros P b Bge0 Hyp z H. assert (zlnot z < b). unfold zlnot. omega. - apply Hyp. auto. -Qed. - -(** Bit inversion and related properties. *) - -Definition fnot (f: Zfc): Zfc := (fun k => negb (f k)). - -Remark fnot_inv: forall f: Zfc, - fnot (fnot f) = f. -Proof. intros. extensionality k. unfold fnot. destruct (f k); auto. -Qed. -Remark fnot_inj: forall f g, fnot f = fnot g -> f = g. -Proof. intros. - generalize (fnot_inv f); intro E; rewrite <- E; clear E. - generalize (fnot_inv g); intro E; rewrite <- E; clear E. - rewrite H. auto. -Qed. -Remark fnot_sym: forall f g: Zfc, - (fnot f) = g -> f = (fnot g). -Proof. intros. - apply (fnot_inj f). rewrite (fnot_inv). auto. -Qed. - -(** Lifting of [fnot] to [trailing] *) -Remark trailing_fnot: forall (f: Zfc) (n: nat) (b: bool), - trailing (fnot f) n (negb b) -> trailing f n b. -Proof. - intros. unfold trailing. intros k Hk. - generalize (H k Hk). - intro E. - rewrite <- (fnot_inv f). - unfold fnot. unfold fnot in E. rewrite E. - rewrite Bool.negb_involutive. trivial. -Qed. - -(** Lifting of [fnot] to [last] *) -Remark last_fnot: forall (f: Zfc) (n: nat) (b: bool), - last (fnot f) n (negb b) = last f n b. -Proof. - intros. induction n. - simpl. trivial. - simpl. case_eqb H (Bool.eqb (f n) b). - (** TRUE *) - + unfold fnot. - destruct (f n); destruct b; simpl in *; (discriminate || apply IHn). - (** FALSE *) - + unfold fnot. - destruct (f n); destruct b; simpl in *; ( discriminate || auto). -Qed. - -(** ** Decomposition and Recomposition of integers *) - -(** Trailing bits of positive integers *) -Remark Zpos_decomp_trail: forall n: N, - trailing (N_decomp n) (NxHpos n) false. -Proof. - intro n. - induction n. - unfold trailing. auto. - unfold trailing. - simpl. - intro k. apply P_decomp_limit. -Qed. - -(** Trailing bits of positive integers *) -Remark Zneg_decomp_trail: forall n: N, - trailing (fnot (N_decomp n)) (NxHpos n) true. -Proof. - intro n. - unfold trailing. - intros. unfold fnot. - by (rewrite Zpos_decomp_trail). -Qed. - -(** Bits decomposition of [Z] integers *) -Program Definition bits_of_Z (x:Z): bits := - if (Zle_bool 0 x) - then let n := Nabs x in - mkbits (NxHpos n) false (N_decomp n) (Zpos_decomp_trail n) - else let n := Nabs (zlnot x) in - mkbits (NxHpos n) true (fnot (N_decomp n)) (Zneg_decomp_trail n). - -(** Recomposition of an integers from its bits *) -Definition Z_of_bits (b: bits): Z := - if bsign b - then zlnot (N_recomp (bsize b) (fnot (btest b))) - else N_recomp (bsize b) (btest b). - -(** ** Extensional unicity of bits representation *) - -(** Same [Zfc] implies equality of signs *) -Remark btest_sign: forall x y: bits, - btest x = btest y -> bsign x = bsign y. -Proof. - destruct x. destruct y. - simpl in * . - pose (k := max bsize0 bsize1). - generalize (btrail0 k). intro H0. - generalize (btrail1 k). intro H1. - intro BEQ. - rewrite <- H0; unfold k; auto with arith. - rewrite <- H1; unfold k; auto with arith. - rewrite BEQ. - auto. -Qed. - -(** Opposite [Zfc] implies opposite signs *) -Remark btest_sign_sym: forall x y: bits, - btest x = fnot (btest y) -> bsign x = negb (bsign y). -Proof. - destruct x. destruct y. - simpl in * . - pose (k := max bsize0 bsize1). - generalize (btrail0 k). intro H0. - generalize (btrail1 k). intro H1. - intro BEQ. - rewrite <- H0; unfold k; auto with arith. - rewrite <- H1; unfold k; auto with arith. - rewrite BEQ. - auto. -Qed. - -(** Same [Zfc] leads to equal represented integers *) -Lemma btest_ext: forall x y: bits, - btest x = btest y -> Z_of_bits x = Z_of_bits y. -Proof. - intros x y BEQ. - assert (bsign x = bsign y) as SEQ. apply btest_sign. auto. - unfold Z_of_bits. rewrite <- BEQ. rewrite <- SEQ. - case_eqb SIGNX (bsign x); [ f_equal | ]; - unfold N_recomp; - rewrite <- (last_trail_ext _ _ (bsize x) (bsize y)); auto. - (** x<0 , trailing ~x |x| false *) - + generalize (btrail x). rewrite SIGNX. - unfold trailing. intros T k R. unfold fnot. rewrite T; auto with arith. - (** x<0 , trailing ~x |y| false *) - + rewrite BEQ. - generalize (btrail y). rewrite SIGNX in SEQ. rewrite <- SEQ. - unfold trailing. intros T k R. unfold fnot. rewrite T; auto with arith. - (** x>0 , trailing x |x| false *) - + generalize (btrail x). rewrite SIGNX. auto. - (** x>0 , trailing x |y| false *) - + generalize (btrail y). rewrite SIGNX in SEQ. rewrite <- SEQ. rewrite <- BEQ. auto. -Qed. - -(** Opposite [Zfc] leads to two's complement represented integers *) -Lemma btest_ext_sym: forall x y: bits, - btest x = fnot (btest y) -> Z_of_bits x = zlnot (Z_of_bits y). -Proof. - intros x y BEQ1. - assert (btest y = fnot (btest x)) as BEQ2 by (apply fnot_sym; symmetry; auto). - assert (bsign x = negb (bsign y)) as SEQ1 by (by apply btest_sign_sym). - assert (bsign y = negb (bsign x)) as SEQ2 by (by apply btest_sign_sym). - unfold Z_of_bits. - rewrite <- BEQ1. rewrite SEQ2. rewrite <- BEQ2. - case_eqb SIGNX (bsign x); - (try replace (negb true) with false by (compute ; forward)); - (try replace (negb false) with true by (compute ; forward)); - (try rewrite zlnot_inv); - [ f_equal | ]; - unfold N_recomp; - rewrite <- (last_trail_ext _ _ (bsize x) (bsize y)); auto. - (** x<0 , trailing ~x |x| false *) - + rewrite BEQ2. - generalize (btrail x). rewrite SIGNX. - unfold trailing. intros T k R. unfold fnot. rewrite T; auto with arith. - (** x<0 , trailing ~x |y| false *) - + rewrite BEQ2. - generalize (btrail y). rewrite <- BEQ2. rewrite SIGNX in SEQ2. rewrite SEQ2. - replace (negb true) with false by auto. - auto. - (** x>0 , trailing x |x| false *) - + generalize (btrail x). rewrite SIGNX. auto. - (** x>0 , trailing x |y| false *) - + generalize (btrail y). rewrite SIGNX in SEQ2. rewrite SEQ2. - replace (negb false) with true by auto. rewrite BEQ1. - unfold trailing. intros T k R. unfold fnot. rewrite T; auto with arith. -Qed. - -(** ** Involution of Decomposition and Recomposition *) -(** These two fundamental lemmas allow reasoning conversely with bits or integers. *) - -(** [Z_of_bits] is the inverse of [bits_of_Z] *) -Lemma Z_recomp_decomp: forall x: Z, - Z_of_bits (bits_of_Z x) = x. -Proof. - intro x. - unfold bits_of_Z. - induction x; simpl. - (** x = 0 *) - + unfold Z_of_bits. simpl. unfold N_recomp. simpl. trivial. - (** x = Zpos p *) - + unfold Z_of_bits. simpl. unfold N_recomp. - rewrite last_P_decomp; auto. - rewrite P_recomp_decomp; auto. - (** x = Zneg p *) - + unfold Z_of_bits. simpl. - rewrite fnot_inv. - pose ( z := zlnot (Zneg p) ). - fold z. - generalize (zlnot_inv (Zneg p)). intro H. rewrite <- H. - f_equal. fold z. - assert (ZDEF: z = Zpos p - 1). - (** ZDEF *) - * unfold z. unfold zlnot. - pose (u := Zneg p). fold u. - pose (v := Zpos p). fold v. - replace u with (-v) by (unfold u; unfold v; simpl; trivial). - omega. - (** cont. *) - * assert (Q : z = 0 \/ exists q, z = Zpos q). - { destruct p. - - simpl in ZDEF. right. exists (p~1%positive - 1)%positive. trivial. - - simpl in ZDEF. right. exists (p~0%positive - 1)%positive. trivial. - - simpl in ZDEF. left. trivial. } - elim Q. - - intro Z; rewrite Z; simpl. - unfold N_recomp. simpl. trivial. - - intros [q Z]. rewrite Z; simpl. - unfold N_recomp. - rewrite last_P_decomp; auto. - rewrite P_recomp_decomp; auto. -Qed. - -(** [bits_of_Z] is the inverse of [Z_of_bits] modulo [btest] *) -Lemma Z_decomp_recomp: forall b: bits, - btest (bits_of_Z (Z_of_bits b)) = btest b. -Proof. - intros. - unfold Z_of_bits. - destruct (bsign b) eqn:BSIGN ; unfold bits_of_Z. - (** NEGATIVE SIGN *) - + pose ( f := fnot (btest b) ). fold f. - assert ( Fnot : btest b = fnot f). unfold f. rewrite fnot_inv. auto. - pose ( x := N_recomp (bsize b) f ). fold x. - assert ( Xpos : 0 <= x ) by ( apply N_recomp_pos; auto with zarith ). - repeat rewrite zlnot_inv. - case_leq 0 (zlnot x); intro SIGN; simpl. - (** 0 <= zlnot x -> contradiction *) - * unfold zlnot in SIGN. - apply False_ind. omega. - (** 0 > zlnot x *) - * apply fnot_inj. rewrite fnot_inv. fold f. unfold x. - apply N_decomp_recomp. - apply trailing_fnot. - simpl. rewrite <- BSIGN. rewrite <- Fnot. - apply (btrail b). - (** POSITIVE SIGN *) - + pose ( f := btest b ). fold f. - pose ( x := N_recomp (bsize b) f ). fold x. - assert ( Xpos : 0 <= x ) by ( apply N_recomp_pos; auto with zarith ). - case_leq 0 x; intro H; try (apply False_ind; omega; fail). - simpl. unfold f. unfold x. - apply N_decomp_recomp. - rewrite <- BSIGN. apply (btrail b). -Qed. - -(** Two's complement symmetry. *) -Lemma Z_decomp_recomp_sym: forall b: bits, - btest (bits_of_Z (zlnot (Z_of_bits b))) = fnot (btest b). -Proof. - intros. unfold Z_of_bits. - destruct (bsign b) eqn:BSIGN; unfold bits_of_Z; - (try rewrite zlnot_inv). - (** POSITIVE SIGN *) - + pose ( f := fnot (btest b)). fold f. - pose ( x := N_recomp (bsize b) f ). fold x. - assert ( Xpos : 0 <= x ) by ( apply N_recomp_pos; auto with zarith ). - case_leq 0 x; intro H; try (apply False_ind; omega; fail). - simpl. unfold f. unfold x. - apply N_decomp_recomp. - apply trailing_fnot. - replace (negb false) with true by auto. - rewrite fnot_inv. - rewrite <- BSIGN. - apply (btrail b). - (** NEGATIVE SIGN *) - + pose ( f := fnot (btest b) ). fold f. - assert ( Fnot : btest b = fnot f). unfold f. rewrite fnot_inv. auto. - pose ( x := N_recomp (bsize b) (btest b) ). fold x. - assert ( Xpos : 0 <= x) by ( apply N_recomp_pos; auto with zarith ). - case_leq 0 (zlnot x); intro SIGN; simpl. - (** 0 <= zlnot x -> contradiction *) - * unfold zlnot in SIGN. - apply False_ind. omega. - (** 0 > zlnot x *) - * unfold f. f_equal. - apply N_decomp_recomp. - rewrite <- BSIGN. - apply (btrail b). -Qed. - -(** [Zfc] can be used to discriminate. *) -Lemma btest_discrimination: forall x y: bits, - btest x <> btest y -> Z_of_bits x <> Z_of_bits y. -Proof. - intros x y. - intro BNEQ; apply contrap with (Q := btest x = btest y); auto; clear BNEQ. - intro. - rewrite <- (Z_decomp_recomp x); rewrite <- (Z_decomp_recomp y). - f_equal; f_equal; auto. -Qed. - -(** Sign can be used to discriminate. *) -Lemma sign_discrimination: forall x y: bits, - bsign x <> bsign y -> Z_of_bits x <> Z_of_bits y. -Proof. - intros x y SNEQ. apply btest_discrimination. - apply contrap with (Q := bsign x = bsign y); auto. - apply btest_sign. -Qed. - -(** Sign encoding *) -Lemma Zsign_encoding: forall z:Z, - bsign (bits_of_Z z) = negb (Zle_bool 0 z). -Proof. - intro z. unfold bits_of_Z. unfold bsign. - case_leq 0 z; auto. -Qed. - -Lemma bsign_encoding: forall b:bits, - bsign b = negb (Zle_bool 0 (Z_of_bits b)). -Proof. - intro b. - rewrite <- Zsign_encoding. - unfold Z_of_bits. - destruct (bsign b) eqn:BSIGN ; unfold bits_of_Z. - (** NEGATIVE SIGN *) - + pose ( f := fnot (btest b) ). fold f. - assert ( Fnot : btest b = fnot f). unfold f. rewrite fnot_inv. auto. - pose ( x := N_recomp (bsize b) f ). fold x. - assert ( Xpos : 0 <= x ) by ( apply N_recomp_pos; auto with zarith ). - repeat rewrite zlnot_inv. - case_leq 0 (zlnot x); intro SIGN; simpl. - (** 0 <= zlnot x -> contradiction *) - * unfold zlnot in SIGN. - apply False_ind. omega. - (** 0 > zlnot x *) - * auto. - (** POSITIVE SIGN *) - + pose ( f := btest b ). fold f. - pose ( x := N_recomp (bsize b) f ). fold x. - assert ( Xpos : 0 <= x ) by ( apply N_recomp_pos; auto with zarith ). - case_leq 0 x; intro H; try (apply False_ind; omega; fail). - simpl. auto. -Qed. - -(** {@Zbit:} *) -(** * Characteristic Function of integers *) - -(** Extracts the [k]-th bit of [x]. *) -Definition Zbit (x : Z): Zfc := btest (bits_of_Z x). - -Definition TRUE : Zfc := fun _ => true. -Definition FALSE : Zfc := fun _ => false. - -Lemma Zbit_of_zero: Zbit 0 = FALSE. -Proof. - unfold Zbit. unfold bits_of_Z. simpl. auto. -Qed. -Lemma Zbit_of_mone: Zbit (-1) = TRUE. -Proof. - unfold Zbit. unfold bits_of_Z. simpl. auto. -Qed. - -(** The expected characteristic of binary decomposition of an integer *) -Theorem Zbit_power: forall n k:nat, - Zbit (two_power_nat n) k = beq_nat n k. -Proof. - unfold two_power_nat. unfold Zbit. unfold bits_of_Z. - simpl. - induction n; intro k. - (** base *) - + simpl; auto. - (** ind. *) - + unfold shift_nat. destruct k; simpl; auto. -Qed. - -(** The extensional unicity of [Zbit] for each integer *) -Theorem Zbit_ext : - forall x y: Z, Zbit x = Zbit y -> x = y. -Proof. - unfold Zbit. - intros. - rewrite <- (Z_recomp_decomp x). - rewrite <- (Z_recomp_decomp y). - apply btest_ext. auto. -Qed. - -(** Two's complement symmetry *) -Theorem Zbit_ext_sym : - forall x y: Z, Zbit x = fnot (Zbit y) -> x = zlnot y. -Proof. - unfold Zbit. - intros. - rewrite <- (Z_recomp_decomp x). - rewrite <- (Z_recomp_decomp y). - apply btest_ext_sym. auto. -Qed. - -(** * Position of the Highest Significant Bit in two's complement representation *) -Definition ZxHpos (z:Z): nat := - if (Zle_bool 0 z) then NxHpos (Nabs z) else NxHpos (Nabs (zlnot z)). - -(** Zero has no significant bit, as minus one *) -Remark ZxHpos_is_zero: ZxHpos 0 = O /\ ZxHpos (-1) = O. -Proof. - split; by compute. -Qed. - -(** [bsize] of a [bits_of_Z] gives the exact position. - The use of the [last] function gives the exact position. *) -Lemma bsize_exact: forall z:Z, - ZxHpos (z) = bsize (bits_of_Z z). -Proof. - intro. unfold bits_of_Z. unfold ZxHpos. - case_leq 0 z; unfold bsize; auto. -Qed. - -(** [bsize] over approximates the exact position. - The use of the [last] function gives the exact position. *) -Lemma bsize_over_approx: forall b:bits, - ZxHpos (Z_of_bits b) = last (btest b) (bsize b) (bsign b). -Proof. - intros. unfold ZxHpos. - unfold Z_of_bits. - destruct (bsign b) eqn:BSIGN. - (** Negative *) - + pose ( f := fnot (btest b)). fold f. - pose ( x := N_recomp (bsize b) f ). fold x. - assert ( Xpos : 0 <= x ) by (apply N_recomp_pos; auto with zarith ). - case_leq 0 (zlnot x); - intro H; - try (unfold zlnot in H; apply False_ind; omega; fail). - rewrite zlnot_inv. - unfold x. unfold f. - rewrite NxHpos_N_recomp_pos. - rewrite <- last_fnot. - rewrite fnot_inv. - by simpl. - (** Positive *) - + case_leq 0 (N_recomp (bsize b) (btest b)); intro N_recomp. - rewrite NxHpos_N_recomp_pos. trivial. - generalize (N_recomp_pos(bsize b) (btest b)). - intros. apply False_ind. omega. -Qed. - -(** Two's complement symmetry *) -Remark ZxHpos_sym: forall z: Z, - ZxHpos (zlnot z) = ZxHpos z. -Proof. - intro. - unfold ZxHpos; try rewrite zlnot_inv; unfold zlnot. - case_leq 0 z; case_leq 0 (-(z+1)). -Qed. - -(** Position of the highest significant bit of [two_power_nat]. *) -Remark ZxHpos_of_two_power_nat: forall n: nat, - (ZxHpos (two_power_nat n) = S n)%nat. -Proof. - intro. unfold ZxHpos. - case_leq 0 (two_power_nat n); intro. - (** 0 <=two_power_nat n *) - + induction n. - (** Base *) - * by simpl. - (** cont. *) - * rewrite two_power_nat_S. - rewrite two_power_nat_S in H. - replace (Nabs (2 * two_power_nat n)) with (2 * Nabs (two_power_nat n))%N - by by compute. - rewrite NxHpos_2x_p0. - by rewrite IHn. - by compute. - (** 0 > two_power_nat n *) - + generalize (two_power_nat_is_positive n). omega. -Qed. - -(** Position of the highest significant bit of the predecessor of [two_power_nat]. *) -Remark ZxHpos_of_two_power_nat_minus_one: forall n: nat, - (ZxHpos ((two_power_nat n) - 1) = n)%nat. -Proof. - intro. unfold ZxHpos. - case_leq 0 ((two_power_nat n) -1); intro. - (** 0 <=(two_power_nat n) - 1 *) - + induction n. - (** Base *) - * by simpl. - (** cont. *) - * rewrite two_power_nat_S. - rewrite two_power_nat_S in H. - assert ((Nabs (2 * two_power_nat n - 1) = 2 * Nabs (two_power_nat n - 1) +1)%N) as EQ. - { generalize (two_power_nat_is_positive n); intro. - assert (0 <= (two_power_nat n - 1)) as A0 by omega. - assert (0 < 2 * (two_power_nat n - 1) + 1) as A1 by omega. - replace (2 * two_power_nat n - 1) with (2 * (two_power_nat n - 1) + 1) by omega. - destruct (two_power_nat n - 1); by auto. } - rewrite EQ. - rewrite NxHpos_2x_p1. - by rewrite IHn. - (** 0 > two_power_nat n *) - + generalize (two_power_nat_is_positive n). omega. -Qed. - -(** [ZxHpos] increases for positive input values *) -Remark ZxHpos_incr_for_positive: forall x a: Z, - 0 <= x -> 0 <= a -> (ZxHpos x <= ZxHpos (x + a))%nat. -Proof. - intros. - unfold ZxHpos. - case_leq 0 x. case_leq 0 (x + a). intros. - destruct x; destruct a; try (by compute). - replace (Nabs (Zpos p + Zpos p0)) with (Npos p + Npos p0)%N by forward. - apply NxHpos_incr. -Qed. - -(** [ZxHpos] decreases for negative input values *) -Remark ZxHpos_decr_for_negative: forall x a: Z, - x <= 0 -> a <= 0 -> (ZxHpos x <= ZxHpos (x + a))%nat. -Proof. - intros. - unfold ZxHpos. unfold zlnot. - case_leq 0 x; case_leq 0 (x + a); - intros; try (replace x with 0 by omega); try (by compute). - case_leq (-1) x; - intros; try (replace x with (-1) by omega); try (by compute). - assert (- (x + 1) >= 0) as X by omega. - assert (- a >= 0) as A by omega. - clear H; clear H0; clear H1; clear H2; clear H3. - replace (-(x+a+1)) with (-(x+1) + -a) by omega. - pose (b := -a); fold b; fold b in A. - pose (y := -(x+1)); fold y; fold y in X. - destruct y; destruct b; try (by compute). - replace (Nabs (Zpos p + Zpos p0)) with (Npos p + Npos p0)%N by forward. - apply NxHpos_incr. -Qed. - -(** [two_power_nat_of (ZxHpos z)] gives an upper bound for [z] *) -Remark two_power_nat_of_ZxHpos: forall z: Z, - z < two_power_nat (ZxHpos z). -Proof. - destruct z. - (** zero *) - + by compute. - (** positive *) - + unfold ZxHpos. - replace (Nabs (Zpos p)) with (Npos p) by forward. - replace (Zpos p) with (Z_of_N (Npos p)) by forward. - induction p. - (** 2p+1 *) - * simpl. simpl in IHp. - replace (Zpos p~1) with (2*(Zpos p) + 1)%Z by (auto with zarith). - rewrite two_power_nat_S. - omega. - (** 2p *) - * simpl. simpl in IHp. - replace (Zpos p~0) with (2*Zpos p)%Z by (auto with zarith). - rewrite two_power_nat_S. - omega. - (** one *) - * by compute. - (** negative *) - + assert (Zneg p < 0)%Z by (by simpl). - generalize (two_power_nat_is_positive (ZxHpos (Zneg p))). - omega. -Qed. - -(** Lower upper [two_power_nat] bound of an integer. *) -Definition ZxHbound (z: Z): Z := two_power_nat (ZxHpos z). - -Remark ZxHbound_of_two_power_nat_minus_one: forall n: nat, - ZxHbound ((two_power_nat n) - 1) = two_power_nat n. -Proof. - intro. unfold ZxHbound. - rewrite ZxHpos_of_two_power_nat_minus_one. auto. -Qed. - -(** [ZxHbound] gives an upper and lower bound. *) -Lemma ZxHrange: forall z: Z, - let bound := ZxHbound z in -bound <= z < bound. -Proof. - intro. unfold ZxHbound. - case_leq 0 z; intro. - (** 0 <= z *) - + generalize (two_power_nat_of_ZxHpos z). split; omega. - (** 0 > z *) - + generalize (two_power_nat_of_ZxHpos (-(z+1))). - rewrite <- (ZxHpos_sym z). - unfold zlnot. - split; omega. -Qed. - -Remark ZxHpos_le: forall x y: Z, - ZxHbound x <= ZxHbound y -> (ZxHpos x <= ZxHpos y)%nat. -Proof. - unfold ZxHbound. - intros x y. - pose (X := ZxHpos x). fold X. - pose (Y := ZxHpos y). fold Y. - generalize X Y. - induction X0; intro. - (** base *) - + generalize (two_power_nat_is_positive Y0). - replace (two_power_nat 0) with 1 by (compute ; forward). - omega. - (** cont. *) - + rewrite two_power_nat_S. - induction Y0. - (** base *) - * generalize (two_power_nat_is_positive X0). - replace (two_power_nat 0) with 1 by (compute ; forward). - omega. - (** cont. *) - * rewrite two_power_nat_S. - cut ((2 * two_power_nat X0) <= (2 * two_power_nat Y0) -> (S X0 <= S Y0)%nat). omega. - generalize (IHX0 Y0). - omega. -Qed. - -Remark ZxHbound_le: forall x y: Z, - (ZxHpos x <= ZxHpos y)%nat -> ZxHbound x <= ZxHbound y. -Proof. - unfold ZxHbound. - intros x y. - pose (X := ZxHpos x). fold X. - pose (Y := ZxHpos y). fold Y. - repeat rewrite two_power_nat_S. - generalize X Y. - induction X0; intro. - (** base *) - + generalize (two_power_nat_is_positive Y0). - replace (two_power_nat 0) with 1 by (compute ; forward). - omega. - (** cont. *) - + rewrite two_power_nat_S. - induction Y0. - (** base *) - * generalize (two_power_nat_is_positive X0). - replace (two_power_nat 0) with 1 by (compute ; forward). - omega. - (** cont. *) - * intro. - rewrite two_power_nat_S. - cut ((2 * two_power_nat X0) <= (2 * two_power_nat Y0)). omega. - apply (IHX0 Y0). - omega. -Qed. - -Remark ZxHbound_lt: forall x y: Z, - (ZxHpos x < ZxHpos y)%nat -> ZxHbound x < ZxHbound y. -Proof. - unfold ZxHbound. - intros x y. - pose (X := ZxHpos x). fold X. - pose (Y := ZxHpos y). fold Y. - repeat rewrite two_power_nat_S. - generalize X Y. - induction X0; intro. - (** base *) - + generalize (two_power_nat_is_positive Y0). - replace (two_power_nat 0) with 1 by (compute ; forward). - induction Y0; repeat rewrite two_power_nat_S; omega. - (** cont. *) - + rewrite two_power_nat_S. - induction Y0. - (** base *) - * generalize (two_power_nat_is_positive X0). - replace (two_power_nat 0) with 1 by (compute;forward). - omega. - (** cont. *) - * intro. - rewrite two_power_nat_S. - apply (IHX0 Y0). - omega. -Qed. - -Lemma ZxHpower: forall (n: nat) (z: Z), - -(two_power_nat n) <= z < two_power_nat n -> ZxHbound z <= two_power_nat n. -Proof. - intros. - rewrite <- ZxHbound_of_two_power_nat_minus_one. - apply ZxHbound_le. - destruct H. - case_leq 0 z; intro. - (** 0 <= z *) - + clear H. - replace (two_power_nat n - 1) with (z + ((two_power_nat n - 1) - z)) by auto with zarith. - pose (d := ((two_power_nat n - 1) - z)); fold d. - assert (0 <= d) as D by (unfold d; omega). - by (apply ZxHpos_incr_for_positive). - (** 0 > z *) - + rewrite <- (ZxHpos_sym z). - unfold zlnot. - replace (two_power_nat n - 1) with (-(z+1) + (z+two_power_nat n)) by auto with zarith. - pose (x := -(z+1)); fold x. - pose (d := (z + two_power_nat n)); fold d. - assert (0 <= d) as D by (unfold d; omega). - apply ZxHpos_incr_for_positive. - unfold x. omega. unfold d. omega. -Qed. - -(** ** Main tactics.*) -Ltac Zbit_ext k := apply Zbit_ext; extensionality k. - -Ltac auto_bits := autorewrite with bits ; auto with zarith. -Hint Rewrite Zbit_of_zero Zbit_of_mone : bits. diff --git a/src/plugins/wp/share/why3/Cbits.v b/src/plugins/wp/share/why3/Cbits.v deleted file mode 100644 index 52a69988a9a130470c49071c138587e26bba7f08..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Cbits.v +++ /dev/null @@ -1,1921 +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). *) -(* *) -(**************************************************************************) - -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require Qed. -Require bool.Bool. -Require int.Int. -Require int.Abs. -Require int.EuclideanDivision. -Require int.ComputerDivision. -Require real.Real. -Require real.RealInfix. -Require real.FromInt. -Require for_drivers.ComputerOfEuclideanDivision. -Require Cint. - -(* Why3 goal *) -Lemma lnot_bool : ((Cint.lnot 0%Z) = (-1%Z)%Z) /\ - ((Cint.lnot (-1%Z)%Z) = 0%Z). -Proof. - split; Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_idemp : forall (x:Z), ((Cint.land x x) = x). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_0 : forall (x:Z), ((Cint.land 0%Z x) = 0%Z). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_0bis : forall (x:Z), ((Cint.land x 0%Z) = 0%Z). -Proof. - intro. - rewrite Zbits.land_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_1 : forall (x:Z), ((Cint.land (-1%Z)%Z x) = x). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_1bis : forall (x:Z), ((Cint.land x (-1%Z)%Z) = x). -Proof. - intros x. - rewrite Zbits.land_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma land_bool : ((Cint.land 0%Z 0%Z) = 0%Z) /\ (((Cint.land 0%Z - 1%Z) = 0%Z) /\ (((Cint.land 1%Z 0%Z) = 0%Z) /\ ((Cint.land 1%Z - 1%Z) = 1%Z))). -Proof. - split;split;split;Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_idemp : forall (x:Z), ((Cint.lor x x) = x). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_1 : forall (x:Z), ((Cint.lor (-1%Z)%Z x) = (-1%Z)%Z). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_1bis : forall (x:Z), ((Cint.lor x (-1%Z)%Z) = (-1%Z)%Z). -Proof. - intros x. - rewrite Zbits.lor_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_0 : forall (x:Z), ((Cint.lor 0%Z x) = x). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_0bis : forall (x:Z), ((Cint.lor x 0%Z) = x). -Proof. - intros x. - rewrite Zbits.lor_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lor_bool : ((Cint.lor 0%Z 0%Z) = 0%Z) /\ (((Cint.lor 0%Z 1%Z) = 1%Z) /\ - (((Cint.lor 1%Z 0%Z) = 1%Z) /\ ((Cint.lor 1%Z 1%Z) = 1%Z))). -Proof. - split;split;split; Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_nilpotent : forall (x:Z), ((Cint.lxor x x) = 0%Z). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_1 : forall (x:Z), ((Cint.lxor (-1%Z)%Z x) = (Cint.lnot x)). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_1bis : forall (x:Z), ((Cint.lxor x (-1%Z)%Z) = (Cint.lnot x)). -Proof. - intros x. - rewrite Zbits.lxor_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_0 : forall (x:Z), ((Cint.lxor 0%Z x) = x). -Proof. - intro. Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_0bis : forall (x:Z), ((Cint.lxor x 0%Z) = x). -Proof. - intros x. - rewrite Zbits.lxor_commut. - Zbits.auto_zbits. -Qed. - -(* Why3 goal *) -Lemma lxor_bool : ((Cint.lxor 0%Z 0%Z) = 0%Z) /\ (((Cint.lxor 0%Z - 1%Z) = 1%Z) /\ (((Cint.lxor 1%Z 0%Z) = 1%Z) /\ ((Cint.lxor 1%Z - 1%Z) = 0%Z))). -Proof. - split; split; split; Zbits.auto_zbits. -Qed. - -Require Import Qedlib. -Local Open Scope Z_scope. -Require Import Zbits. - - -(* Why3 goal *) -Definition bit_testb : Z -> Z -> bool. -exact (bit_testb). -Defined. - -(* Why3 goal *) -Definition bit_test : Z -> Z -> Prop. -exact (fun x i => (bit_testb x i) = true). -Defined. - -(* Why3 goal *) -Definition lnot : Z -> Z. - exact (lnot). -Defined. - -(* Why3 goal *) -Definition land : Z -> Z -> Z. - exact (land). -Defined. - -(* Why3 goal *) -Definition lxor : Z -> Z -> Z. - exact (lxor). -Defined. - -(* Why3 goal *) -Definition lor : Z -> Z -> Z. - exact (lor). -Defined. - -(* Why3 goal *) -Definition lsl : Z -> Z -> Z. - exact (lsl). -Defined. - -(* Why3 goal *) -Definition lsr : Z -> Z -> Z. - exact (lsr). -Defined. - -(** * Bit extraction *) -(** Tacticals *) -Local Ltac omegaContradiction := cut False; [contradiction|omega]. - -Ltac unfold_bit_testb h := - unfold bit_testb; unfold Zbits.bit_testb; - rewrite (Zle_imp_le_bool _ _ h). - -(** Some useful properties *) -Remark Zlt_bool_true_Zlt: forall (b:bool) (x y: Z), - (b = Zlt_bool x y) <-> ((b = true) <-> x < y). -Proof. - intros. - split; case_lt x y; intros; try rewrite H0. - + split; intro G; auto. - + split; intro G; [discriminate G| omega]. - + auto. - + destruct b; try auto. - destruct H0. assert (x < y) by (by (apply H0)). - omegaContradiction. -Qed. - -(** ** Definition of bit_test predicate *) -(* Why3 goal *) -Lemma bit_test_def : - forall (x:Z) (k:Z), ((bit_testb x k) = true) <-> (bit_test x k). -Proof. - intros x k. - unfold bit_test. - reflexivity. -Qed. - -(** * Link between Bit extraction and bitwise operators *) -(** ** Some properties of bit extration *) -(** ** Logical operators *) - -(* Why3 goal *) -Lemma bit_test_extraction : - forall (x:Z) (k:Z), (0%Z <= k)%Z -> - ~ ((land x (lsl 1%Z k)) = 0%Z) <-> (bit_test x k). -Proof. - intros x k h1. - unfold land. - unfold lsl; unfold Zbits.lsl. - rewrite (Zle_imp_le_bool _ _ h1); unfold Zbits.lsl_def. - - unfold bit_test; unfold bit_testb; - unfold_bit_testb h1; unfold Zbits.zbit_test_def. - pose (i:= (Z.abs_nat k)); fold i. - split. - (** 1st impl *) - + intro NEQ. - apply Bool.not_false_is_true. - contradict NEQ. - rewrite Zbits.Zbit_extraction. - assumption. - (** 2sd impl *) - + intro EQ. - contradict EQ. - rewrite Bool.not_true_iff_false. - rewrite <- Zbits.Zbit_extraction. - assumption. -Qed. - -(* Why3 goal *) -Lemma bit_test_extraction_eq : - forall (x:Z) (k:Z), (0%Z <= k)%Z -> - ((land x (lsl 1%Z k)) = (lsl 1%Z k)) <-> (bit_test x k). -Proof. - intros x k h1. - unfold land. - unfold lsl; unfold Zbits.lsl. - rewrite (Zle_imp_le_bool _ _ h1); unfold Zbits.lsl_def. - - unfold bit_test; unfold bit_testb; - unfold_bit_testb h1; unfold Zbits.zbit_test_def. - pose (i:= (Z.abs_nat k)); fold i. - rewrite Zbits.Zbit_extraction_true. - split; auto. -Qed. - -(* Why3 goal *) -Lemma lsl_1_0 : ((lsl 1%Z 0%Z) = 1%Z). -Proof. - compute. auto. -Qed. - -(* Why3 goal *) -Lemma bit_test_extraction_bis : - forall (x:Z), ~ ((land 1%Z x) = 0%Z) -> bit_test x 0%Z. -Proof. - intros x. - rewrite <- lsl_1_0. - intro. - apply bit_test_extraction. - + omega. - + rewrite Zbits.land_commut. - auto. -Qed. - -(* Why3 goal *) -Lemma bit_test_extraction_bis_eq : - forall (x:Z), (bit_test x 0%Z) -> ((land 1%Z x) = 1%Z). -Proof. - intros x h1. - rewrite <- lsl_1_0. - rewrite <- Zbits.land_commut. - apply bit_test_extraction_eq; auto with zarith. -Qed. - -(* Why3 goal *) -Lemma lnot_extraction_bool : - forall (x:Z) (i:Z), (0%Z <= i)%Z -> - ((bit_testb (lnot x) i) = (Init.Datatypes.negb (bit_testb x i))). -Proof. - intros x i h1. unfold_bit_testb h1. - apply Zbits.lnot_extraction. -Qed. - -(* Why3 goal *) -Lemma lnot_extraction : - forall (x:Z) (i:Z), (0%Z <= i)%Z -> - (bit_test (lnot x) i) <-> ~ (bit_test x i). -Proof. - intros x i h1. - unfold bit_test. rewrite lnot_extraction_bool; auto. - pose (xb:=bit_testb x i). fold xb. - destruct xb; simpl; split; intros; auto. - discriminate H. -Qed. - -(* Why3 goal *) -Lemma land_extraction_bool : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - ((bit_testb (land x y) i) = - (Init.Datatypes.andb (bit_testb x i) (bit_testb y i))). -Proof. - intros x y i h1. unfold_bit_testb h1. - apply Zbits.land_extraction. -Qed. - -(* Why3 goal *) -Lemma land_extraction : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - (bit_test (land x y) i) <-> ((bit_test x i) /\ (bit_test y i)). -Proof. - intros x y i h1. - unfold bit_test. rewrite land_extraction_bool; auto. - pose (xb:=bit_testb x i). fold xb. - pose (yb:=bit_testb y i). fold yb. - destruct xb; destruct yb; simpl; split; intros; auto; destruct H; auto. -Qed. - -(* Why3 goal *) -Lemma lor_extraction_bool : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - ((bit_testb (lor x y) i) = - (Init.Datatypes.orb (bit_testb x i) (bit_testb y i))). -Proof. - intros x y i h1. unfold_bit_testb h1. - apply Zbits.lor_extraction. -Qed. - -(* Why3 goal *) -Lemma lor_extraction : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - (bit_test (lor x y) i) <-> ((bit_test x i) \/ (bit_test y i)). -Proof. - intros x y i h1. - unfold bit_test. rewrite lor_extraction_bool; auto. - pose (xb:=bit_testb x i). fold xb. - pose (yb:=bit_testb y i). fold yb. - destruct xb; destruct yb; simpl; split; intros; auto; destruct H; auto. -Qed. - -(* Why3 goal *) -Lemma lxor_extraction_bool : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - ((bit_testb (lxor x y) i) = - (Init.Datatypes.xorb (bit_testb x i) (bit_testb y i))). -Proof. - intros x y i h1. - unfold_bit_testb h1. - apply Zbits.lxor_extraction. -Qed. - -(* Why3 goal *) -Lemma lxor_extraction : - forall (x:Z) (y:Z) (i:Z), (0%Z <= i)%Z -> - (bit_test (lxor x y) i) <-> ((bit_test x i) <-> ~ (bit_test y i)). -Proof. - intros x y i h1. - unfold bit_test. rewrite lxor_extraction_bool; auto. - pose (xb:=bit_testb x i). fold xb. - pose (yb:=bit_testb y i). fold yb. - destruct xb; destruct yb; simpl; repeat (split; intros; auto). - discriminate H. - destruct H; contradiction H; auto. - discriminate H0. - destruct H; apply H0; discriminate. -Qed. - -(** ** Shift operators *) - -(* Why3 goal *) -Lemma lsl_1_two_power : - forall (n:Z), (0%Z <= n)%Z -> ((lsl 1%Z n) = (Cint.two_power_abs n)). -Proof. - intros n h1. - unfold lsl. rewrite Zbits.lsl_pos by auto. - unfold Zbits.lsl_def. rewrite Zbits.lsl_arithmetic_shift. - unfold Zbits.lsl_arithmetic_def. - unfold Cint.two_power_abs. ring. -Qed. - -(* Why3 goal *) -Lemma land_1_lsl_1 : - forall (a:Z) (x:Z) (n:Z), (0%Z <= n)%Z -> (a < (lsl 1%Z n))%Z -> - (((2%Z * a)%Z + (land 1%Z x))%Z < (lsl 1%Z (1%Z + n)%Z))%Z. -Proof. - intros a x n h1. - unfold lsl; unfold Zbits.lsl. - case_leq 0%Z (1 + n)%Z ; intro. - case_leq 0%Z (n)%Z ; intro. - - unfold Zbits.lsl_def. - rewrite Zbits.lsl_arithmetic_shift. - unfold Zbits.lsl_arithmetic_def. - rewrite Zabs2Nat.abs_nat_nonneg by auto. - rewrite Zabs2Nat.abs_nat_nonneg by auto. - rewrite Z2Nat.inj_add by omega. - pose (n0:=Z.to_nat n); fold n0. - - replace ((Z.to_nat 1%Z)%nat) with (1%nat) by auto. - rewrite Bits.two_power_nat_plus. - replace ((two_power_nat 1)%Z) with (2%Z) by auto with zarith. - replace ((1 * two_power_nat n0)%Z) with ((two_power_nat n0)%Z) by auto. - replace ((1 * (2 * two_power_nat n0))%Z) with ((2 * two_power_nat n0)%Z) by ring. - - intro. - cut((land 1 x < 2)%Z) ; auto with zarith. - - case_eq ((land 1 x)%Z) (0%Z); intros. - rewrite bit_test_extraction_bis_eq; [omega|]. - apply bit_test_extraction_bis. - auto. -Qed. - -(** ** Shift operators *) -(* Why3 goal *) -Lemma lsl_extraction_sup_bool : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> (n <= m)%Z -> - ((bit_testb (lsl x n) m) = (bit_testb x (m - n)%Z)). -Proof. - intros x n m h1 h2 h3. - unfold lsl. unfold Zbits.lsl. - unfold_bit_testb h1. - rewrite (Zle_imp_le_bool _ _ h2). - rewrite (Zle_imp_le_bool 0 (m - n)) by omega. - rewrite Zbits.lsl_extraction. - rewrite (Z.abs_eq n); auto. - rewrite (Z.abs_eq m); auto. - case_leq n m. - intros. - reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsl_extraction_sup : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> (n <= m)%Z -> - (bit_test (lsl x n) m) <-> (bit_test x (m - n)%Z). -Proof. - intros x n m h1 h2 h3. - unfold bit_test; rewrite lsl_extraction_sup_bool; auto; reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsl_extraction_inf_bool : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> (m < n)%Z -> - ((bit_testb (lsl x n) m) = false). -Proof. - intros x n m h1 h2 h3. - unfold lsl. unfold Zbits.lsl. - unfold_bit_testb h1. - rewrite (Zle_imp_le_bool _ _ h2). - rewrite Zbits.lsl_extraction. - rewrite (Z.abs_eq n); auto. - rewrite (Z.abs_eq m); auto. - case_leq n m. - intros. - reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsl_extraction_inf : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> (m < n)%Z -> - ~ (bit_test (lsl x n) m). -Proof. - intros x n m h1 h2 h3. - unfold bit_test; rewrite lsl_extraction_inf_bool; auto; reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsr_extraction_bool : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> - ((bit_testb (lsr x n) m) = (bit_testb x (m + n)%Z)). -Proof. - intros x n m h1 h2. - unfold lsr. unfold Zbits.lsr. - unfold_bit_testb h1. - rewrite (Zle_imp_le_bool _ _ h2). - rewrite Zbits.lsr_extraction. - rewrite (Z.abs_eq n); auto. - rewrite (Z.abs_eq m); auto. - case_leq 0 (m+n). - intros. - reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsr_extractionl : - forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> (0%Z <= m)%Z -> - (bit_test (lsr x n) m) <-> (bit_test x (m + n)%Z). -Proof. - intros x n m h1 h2. - unfold bit_test; rewrite lsr_extraction_bool; auto; reflexivity. -Qed. - -(* Why3 goal *) -Lemma lsl1_extraction_bool : - forall (i:Z) (j:Z), (0%Z <= i)%Z -> (0%Z <= j)%Z -> - ((bit_testb (lsl 1%Z i) j) = (Qed.eqb i j)). -Proof. - intros i j h1 h2. - unfold lsl. unfold Zbits.lsl. rewrite (Zle_imp_le_bool _ _ h1). - unfold_bit_testb h2. - unfold Zbits.lsl_def. - - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def. - replace (1 * two_power_nat (Z.abs_nat i)) - with (two_power_nat (Z.abs_nat i)) by ring. - - unfold Zbits.zbit_test_def; rewrite Bits.Zbit_power. - rewrite Zabs2Nat.abs_nat_nonneg; auto. - rewrite Zabs2Nat.abs_nat_nonneg; auto. - - case_eq i j. - (** i = j *) - + intro EQ; rewrite EQ; rewrite <- beq_nat_refl. - symmetry. apply Qed.eqb1 ; auto. - (** i <> j *) - + intro NEQ. - assert (Qed.eqb i j = false) as EQB. - { apply Qed.eqb_false. assumption. } - rewrite EQB. - rewrite -> beq_nat_false_iff. - contradict NEQ. - rewrite Z2Nat.inj_iff in NEQ; auto. -Qed. - -(* Why3 goal *) -Lemma lsl1_extraction : - forall (i:Z) (j:Z), (0%Z <= i)%Z -> (0%Z <= j)%Z -> - (bit_test (lsl 1%Z i) j) <-> (i = j). -Proof. - intros i j h1 h2. - unfold bit_test; rewrite lsl1_extraction_bool; auto. apply Qed.eqb1. -Qed. - -(* Why3 goal *) -Lemma pos_extraction_sup : - forall (x:Z) (i:Z) (j:Z), (0%Z <= x)%Z -> (0%Z <= i)%Z -> - (x < (lsl 1%Z i))%Z -> (i <= j)%Z -> ~ (bit_test x j). -Proof. - intros x i j h1 h2. - unfold lsl ; unfold bit_test. - rewrite Zbits.lsl_pos; auto. - unfold Zbits.lsl_def. - rewrite Zbits.lsl_arithmetic_shift. - unfold Zbits.lsl_arithmetic_def. - replace (1 * two_power_nat (Z.abs_nat i)) with (two_power_nat (Z.abs_nat i)) by ring. - intros. - rewrite Zbits.bit_testb_pos ; auto. - + assert (HB:(Bits.Zbit x (Z.abs_nat j) = false)). - {(apply (Zbits.Zbit_unsigned_trail (Z.abs_nat i) (Z.abs_nat j) x); auto). - apply Zabs_nat_le; omega. } - unfold Zbits.zbit_test_def. - rewrite HB; discriminate. - + omega. -Qed. - -(* Why3 goal *) -Lemma pos_extraction_sup_inv : - forall (x:Z) (i:Z), (0%Z <= i)%Z -> - (forall (j:Z), (i <= j)%Z -> ~ (bit_test x j)) -> - (0%Z <= x)%Z /\ (x < (lsl 1%Z i))%Z. -Proof. - intros x i h1 h2. - unfold lsl. - rewrite Zbits.lsl_pos; auto. - unfold Zbits.lsl_def. - rewrite Zbits.lsl_arithmetic_shift. - unfold Zbits.lsl_arithmetic_def. - replace (1 * two_power_nat (Z.abs_nat i)) with (two_power_nat (Z.abs_nat i)) by ring. - apply Zbits.Zbit_unsigned_trail_inv. - intros k h. - generalize (h2 (Z.of_nat k)); clear h2; intro h2. - unfold bit_test in h2; rewrite Zbits.bit_testb_pos in h2. - + assert (Zbits.zbit_test_def x (Z.of_nat k) <> true) as h3. - { apply h2. clear h2. rewrite <- (Zabs2Nat.id k) in h. - rewrite <- Zabs2Nat.inj_le in h; auto. - apply Zle_0_nat. } - clear h2. - unfold Zbits.zbit_test_def in h3. rewrite Zabs2Nat.id in h3. - destruct (Bits.Zbit x k). - * contradiction h3. auto. - * auto. - + apply Zle_0_nat. -Qed. - -(** * Link between Bit extraction and C type conversions *) -(** ** Unsigned conversions *) - -(* Why3 goal *) -Lemma to_uint_extraction_sup : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= n)%Z /\ (n <= i)%Z) -> - (Cint.is_uint n x) -> ~ (bit_test x i). -Proof. - intros n x i h1 h2. - assert (H:(Bits.Zbit x (Z.abs_nat i) = false)). - { unfold Cint.is_uint in h2. - apply (Zbits.Zbit_unsigned_trail (Z.abs_nat n) (Z.abs_nat i) x). - + apply Zabs_nat_le. omega. - + unfold Cint.two_power_abs in h2. - trivial. } - assert (I:(0 <= i)) by omega; - unfold bit_test; unfold_bit_testb I; unfold Zbits.zbit_test_def. - rewrite H; discriminate. -Qed. - -(* Why3 goal *) -Lemma to_uint_extraction_inf_bool : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < n)%Z) -> - ((bit_testb (Cint.to_uint n x) i) = (bit_testb x i)). -Proof. - intros n x i (h1,h2); unfold_bit_testb h1; unfold Zbits.zbit_test_def. - pose (k:= (Z.abs_nat i)); fold k. - unfold Cint.to_uint; unfold Cint.to_range. - simpl. - replace (x - 0) with x by (auto with zarith). - unfold Cint.two_power_abs. - rewrite Zbits.Zbit_uint_mod_two_power_nat. - rewrite (leb_correct_conv k (Z.abs_nat n)). - + trivial. - + apply Zabs_nat_lt; omega. -Qed. - -(* Why3 goal *) -Lemma to_uint_extraction_inf : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < n)%Z) -> - (bit_test (Cint.to_uint n x) i) <-> (bit_test x i). -Proof. - intros n x i (h1,h2); - unfold bit_test; - rewrite to_uint_extraction_inf_bool by auto; - pose (xb:=bit_testb x i); fold xb; - destruct xb; simpl; split; intro G; auto; destruct G; auto. -Qed. - -(* Why3 goal *) -Lemma is_uint_ext : - forall (n:Z) (x:Z) (y:Z), (0%Z <= n)%Z -> (Cint.is_uint n x) -> - (Cint.is_uint n y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i < n)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros n x y h1 h2 h3 h4. - assert (forall i: int, (0 <= i)%Z -> (bit_test x i <-> bit_test y i)). - { intros. - case_lt i n; intro. - + apply h4; omega. - + assert (~ bit_test x i). - { apply (to_uint_extraction_sup n). omega. auto. } - assert (~ bit_test y i). - { apply (to_uint_extraction_sup n). omega. auto. } - intuition. } - clear h1; clear h2; clear h3; clear h4. - unfold bit_test in H. - unfold bit_testb in H. - apply Zbits.bit_testb_ext; intros. - rewrite <- Zbits.bool2_eq_true. - apply H; auto. -Qed. - -Local Ltac uint_extraction_inf_bool to_uint := - intros; rewrite to_uint; - apply to_uint_extraction_inf_bool; - omega. - -Local Ltac uint_extraction_inf to_uint := - intros; rewrite to_uint; - apply to_uint_extraction_inf; - omega. - -(** *** Cast to uint8 C type *) -(* Why3 goal *) -Lemma to_uint8_extraction_sup : - forall (x:Z) (i:Z), (8%Z <= i)%Z -> (Cint.is_uint8 x) -> ~ (bit_test x i). -Proof. - intros; apply (to_uint_extraction_sup 8); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_uint8_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 8%Z)%Z) -> - ((bit_testb (Cint.to_uint8 x) i) = (bit_testb x i)). -Proof. - uint_extraction_inf_bool Cint.to_uint_8. -Qed. - -(* Why3 goal *) -Lemma to_uint8_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 8%Z)%Z) -> - (bit_test (Cint.to_uint8 x) i) <-> (bit_test x i). -Proof. - uint_extraction_inf Cint.to_uint_8. -Qed. - -(* Why3 goal *) -Lemma is_uint8_ext : - forall (x:Z) (y:Z), (Cint.is_uint8 x) -> (Cint.is_uint8 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i < 8%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros x y h1 h2 h3. - apply (is_uint_ext 8); (auto with zarith). -Qed. - -(** *** Cast to uint16 C type *) -(* Why3 goal *) -Lemma to_uint16_extraction_sup : - forall (x:Z) (i:Z), (16%Z <= i)%Z -> (Cint.is_uint16 x) -> ~ (bit_test x i). -Proof. - intros; apply (to_uint_extraction_sup 16); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_uint16_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 16%Z)%Z) -> - ((bit_testb (Cint.to_uint16 x) i) = (bit_testb x i)). -Proof. - uint_extraction_inf_bool Cint.to_uint_16. -Qed. - -(* Why3 goal *) -Lemma to_uint16_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 16%Z)%Z) -> - (bit_test (Cint.to_uint16 x) i) <-> (bit_test x i). -Proof. - uint_extraction_inf Cint.to_uint_16. -Qed. - -(* Why3 goal *) -Lemma is_uint16_ext : - forall (x:Z) (y:Z), (Cint.is_uint16 x) -> (Cint.is_uint16 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i < 16%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros x y h1 h2 h3. - apply (is_uint_ext 16); (auto with zarith). -Qed. - -(** *** Cast to uint32 C type *) -(* Why3 goal *) -Lemma to_uint32_extraction_sup : - forall (x:Z) (i:Z), (32%Z <= i)%Z -> (Cint.is_uint32 x) -> ~ (bit_test x i). -Proof. - intros; apply (to_uint_extraction_sup 32); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_uint32_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 32%Z)%Z) -> - ((bit_testb (Cint.to_uint32 x) i) = (bit_testb x i)). -Proof. - uint_extraction_inf_bool Cint.to_uint_32. -Qed. - -(* Why3 goal *) -Lemma to_uint32_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 32%Z)%Z) -> - (bit_test (Cint.to_uint32 x) i) <-> (bit_test x i). -Proof. - uint_extraction_inf Cint.to_uint_32. -Qed. - -(* Why3 goal *) -Lemma is_uint32_ext : - forall (x:Z) (y:Z), (Cint.is_uint32 x) -> (Cint.is_uint32 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i < 32%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros x y h1 h2 h3. - apply (is_uint_ext 32); (auto with zarith). -Qed. - -(** *** Cast to uint64 C type *) -(* Why3 goal *) -Lemma to_uint64_extraction_sup : - forall (x:Z) (i:Z), (64%Z <= i)%Z -> (Cint.is_uint64 x) -> ~ (bit_test x i). -Proof. - intros; apply (to_uint_extraction_sup 64); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_uint64_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 64%Z)%Z) -> - ((bit_testb (Cint.to_uint64 x) i) = (bit_testb x i)). -Proof. - uint_extraction_inf_bool Cint.to_uint_64. -Qed. - -(* Why3 goal *) -Lemma to_uint64_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 64%Z)%Z) -> - (bit_test (Cint.to_uint64 x) i) <-> (bit_test x i). -Proof. - uint_extraction_inf Cint.to_uint_64. -Qed. - -(* Why3 goal *) -Lemma is_uint64_ext : - forall (x:Z) (y:Z), (Cint.is_uint64 x) -> (Cint.is_uint64 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i < 64%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros x y h1 h2 h3. - apply (is_uint_ext 64); (auto with zarith). -Qed. - -(** ** Signed conversions *) -(* Why3 goal *) -Lemma to_sint_extraction_sup : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= n)%Z /\ (n <= i)%Z) -> - (Cint.is_sint n x) -> (bit_test x i) <-> (x < 0%Z)%Z. -Proof. - intros n x i h1. - unfold Cint.is_sint. - intro h2; - assert (H:(0 <= i)) by omega; - unfold bit_test; unfold_bit_testb H; unfold Zbits.zbit_test_def. - assert (Z.abs_nat n <= Z.abs_nat i)%nat. - { apply (Zabs_nat_le); omega. } - rewrite <- Zlt_bool_true_Zlt; - apply (Zbits.Zbit_trail (Z.abs_nat n) (Z.abs_nat i) x); auto. -Qed. - -(* Why3 goal *) -Lemma to_sint_extraction_inf_bool : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < n)%Z) -> - ((bit_testb (Cint.to_sint n x) i) = (bit_testb x i)). -Proof. - intros n x i (h1,h2); unfold_bit_testb h1; unfold Zbits.zbit_test_def. - pose (k:= (Z.abs_nat i)); fold k. - unfold Cint.to_sint; unfold Cint.to_range. - rewrite Z.sub_opp_r; rewrite Z.sub_opp_r. - rewrite Z.add_opp_l. - replace (Cint.two_power_abs n + Cint.two_power_abs n) with (2 * Cint.two_power_abs n) by (auto with zarith). - unfold Cint.two_power_abs. - replace n with ((n-i)+i) by (auto with zarith). - rewrite Zabs2Nat.inj_add by omega. - apply Zbits.Zbit_sint_mod_two_power_nat. -Qed. - -(* Why3 goal *) -Lemma to_sint_extraction_inf : - forall (n:Z) (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < n)%Z) -> - (bit_test (Cint.to_sint n x) i) <-> (bit_test x i). -Proof. - intros n x i (h1,h2). - unfold bit_test; - rewrite to_sint_extraction_inf_bool by auto. - pose (xb:=bit_testb x i); fold xb; - destruct xb; simpl; split; intro G; auto; destruct G; auto. -Qed. - -(* Why3 goal *) -Lemma is_sint_ext : - forall (n:Z) (x:Z) (y:Z), (0%Z <= n)%Z -> (Cint.is_sint n x) -> - (Cint.is_sint n y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i <= n)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros n x y h1 h2 h3 h4. - assert (forall i: int, (0 <= i)%Z -> (bit_test x i <-> bit_test y i)). - { intros. - case_leq i n; intro. - + apply h4; omega. - + assert (0<=n<=n) by omega. - specialize ((h4 n) H1). - generalize ((to_sint_extraction_sup n x n) H1 h2). - generalize ((to_sint_extraction_sup n y n) H1 h3). - clear H1; intros. - rewrite h4 in H2. rewrite H2 in H1. clear H2. - assert ((bit_test x i) <-> x < 0). - { apply (to_sint_extraction_sup n); [omega | auto]. } - assert ((bit_test y i) <-> y < 0). - { apply (to_sint_extraction_sup n); [omega | auto]. } - rewrite H2. - rewrite H3. - auto. } - clear h1; clear h2; clear h3; clear h4. - unfold bit_test in H. - unfold bit_testb in H. - apply Zbits.bit_testb_ext; intros. - rewrite <- Zbits.bool2_eq_true. - apply H; auto. -Qed. - -(** Tactical *) -Local Ltac sint_extraction_sup is_sint vn vz := - intros x i h1; - unfold is_sint; - intro h2; - assert (H:(0 <= i)) by omega; - unfold bit_test; unfold_bit_testb H; unfold Zbits.zbit_test_def; - assert (Z.abs_nat vz <= Z.abs_nat i)%nat - by (assert (vn = Z.abs_nat vz)%nat by (auto with arith); - apply Zabs_nat_le; omega); - rewrite <- Zlt_bool_true_Zlt; - apply (Zbits.Zbit_trail vn (Z.abs_nat i) x); auto. - -Local Ltac unfold_hyp h := - match goal with - | h:(?X1) |- _ => unfold X1 in h - | h:(?X1 _ ) |- _ => unfold X1 in h - | h:(?X1 _ _) |- _ => unfold X1 in h - | h:(?X1 _ _ _) |- _ => unfold X1 in h - | h:(?X1 _ _ _ _) |- _ => unfold X1 in h - | _ => idtac - end. - -Local Ltac sint_extraction_inf_bool to_sint := - intros; rewrite to_sint; - apply to_sint_extraction_inf_bool; - omega. - -Local Ltac sint_extraction_inf to_sint := - intros; rewrite to_sint; - apply to_sint_extraction_inf; - omega. - -(** *** Cast to sint8 C type *) -(* Why3 goal *) -Lemma to_sint8_extraction_sup : - forall (x:Z) (i:Z), (7%Z <= i)%Z -> (Cint.is_sint8 x) -> - (bit_test x i) <-> (x < 0%Z)%Z. -Proof. - intros; apply (to_sint_extraction_sup 7); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_sint8_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 7%Z)%Z) -> - ((bit_testb (Cint.to_sint8 x) i) = (bit_testb x i)). -Proof. - sint_extraction_inf_bool Cint.to_sint_8. -Qed. - -(* Why3 goal *) -Lemma to_sint8_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 7%Z)%Z) -> - (bit_test (Cint.to_sint8 x) i) <-> (bit_test x i). -Proof. - sint_extraction_inf Cint.to_sint_8. -Qed. - -(* Why3 goal *) -Lemma is_sint8_ext : - forall (x:Z) (y:Z), (Cint.is_sint8 x) -> (Cint.is_sint8 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i <= 7%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros. apply (is_sint_ext 7) ; (auto with zarith). -Qed. - -(** *** Cast to sint16 C type *) -(* Why3 goal *) -Lemma to_sint16_extraction_sup : - forall (x:Z) (i:Z), (15%Z <= i)%Z -> (Cint.is_sint16 x) -> - (bit_test x i) <-> (x < 0%Z)%Z. -Proof. - intros; apply (to_sint_extraction_sup 15); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_sint16_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 15%Z)%Z) -> - ((bit_testb (Cint.to_sint16 x) i) = (bit_testb x i)). -Proof. - sint_extraction_inf_bool Cint.to_sint_16. -Qed. - -(* Why3 goal *) -Lemma to_sint16_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 15%Z)%Z) -> - (bit_test (Cint.to_sint16 x) i) <-> (bit_test x i). -Proof. - sint_extraction_inf Cint.to_sint_16. -Qed. - -(* Why3 goal *) -Lemma is_sint16_ext : - forall (x:Z) (y:Z), (Cint.is_sint16 x) -> (Cint.is_sint16 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i <= 15%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros. apply (is_sint_ext 15) ; (auto with zarith). -Qed. - -(** *** Cast to uint32 C type *) -(* Why3 goal *) -Lemma to_sint32_extraction_sup : - forall (x:Z) (i:Z), (31%Z <= i)%Z -> (Cint.is_sint32 x) -> - (bit_test x i) <-> (x < 0%Z)%Z. -Proof. - intros; apply (to_sint_extraction_sup 31); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_sint32_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 31%Z)%Z) -> - ((bit_testb (Cint.to_sint32 x) i) = (bit_testb x i)). -Proof. - sint_extraction_inf_bool Cint.to_sint_32. -Qed. - -(* Why3 goal *) -Lemma to_sint32_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 31%Z)%Z) -> - (bit_test (Cint.to_sint32 x) i) <-> (bit_test x i). -Proof. - sint_extraction_inf Cint.to_sint_32. -Qed. - -(* Why3 goal *) -Lemma is_sint32_ext : - forall (x:Z) (y:Z), (Cint.is_sint32 x) -> (Cint.is_sint32 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i <= 31%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros. apply (is_sint_ext 31) ; (auto with zarith). -Qed. - -(** *** Cast to uint64 C type *) -(* Why3 goal *) -Lemma to_sint64_extraction_sup : - forall (x:Z) (i:Z), (63%Z <= i)%Z -> (Cint.is_sint64 x) -> - (bit_test x i) <-> (x < 0%Z)%Z. -Proof. - intros; apply (to_sint_extraction_sup 63); (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma to_sint64_extraction_inf_bool : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 63%Z)%Z) -> - ((bit_testb (Cint.to_sint64 x) i) = (bit_testb x i)). -Proof. - sint_extraction_inf_bool Cint.to_sint_64. -Qed. - -(* Why3 goal *) -Lemma to_sint64_extraction_inf : - forall (x:Z) (i:Z), ((0%Z <= i)%Z /\ (i < 63%Z)%Z) -> - (bit_test (Cint.to_sint64 x) i) <-> (bit_test x i). -Proof. - sint_extraction_inf Cint.to_sint_64. -Qed. - -(* Why3 goal *) -Lemma is_sint64_ext : - forall (x:Z) (y:Z), (Cint.is_sint64 x) -> (Cint.is_sint64 y) -> - (forall (i:Z), ((0%Z <= i)%Z /\ (i <= 63%Z)%Z) -> - (bit_test x i) <-> (bit_test y i)) -> - (x = y). -Proof. - intros; apply (is_sint_ext 63); (auto with zarith). -Qed. - -(** * Some C-Integer Bits Conversions are distributive *) -(** Tacticals *) -Local Ltac is_uint_bitwise f n := - intros x y Rx Ry; unfold_hyp Rx; unfold_hyp Ry; apply Cint.id_to_range; - apply (Zbits.Z_bitwise_in_uint_range f n x y Rx Ry); by compute. - -Local Ltac lsr_in_uint_range n := - intros x y Ry Rx; unfold_hyp Rx; apply Cint.id_to_range; - split; - [ (apply (Zbits.lsr_lower_bound 0 _ _ Ry); omega) - | (apply (Zbits.lsr_upper_bound n _ _ Ry); omega)]. - -(** ** Unsigned conversions *) - -(* Why3 goal *) -Lemma to_uint_lor : - forall (n:Z) (x:Z) (y:Z), - ((Cint.to_uint n (lor x y)) = (lor (Cint.to_uint n x) (Cint.to_uint n y))). -Proof. - intros n x y. - apply Zbits.zbit_test_ext. intro. - rewrite Zbits.lor_extraction. - unfold Cint.to_uint; unfold Cint.to_range; Cint.simplify_to_range_unfolding. - unfold Cint.two_power_abs. - repeat (rewrite Zbits.uint_mod_two_power_extraction). - rewrite Zbits.lor_extraction. - pose (c:=(leb (Z.abs_nat n) (Z.abs_nat n0))); fold c. - destruct c; auto. -Qed. - -(** *** Cast to uint8 C type *) -(* Why3 goal *) -Lemma to_uint8_lor : - forall (x:Z) (y:Z), - ((Cint.to_uint8 (lor x y)) = (lor (Cint.to_uint8 x) (Cint.to_uint 8%Z y))). -Proof. - intros x y; rewrite Cint.to_uint_8; apply to_uint_lor. -Qed. - -(** *** Cast to uint16 C type *) -(* Why3 goal *) -Lemma to_uint16_lor : - forall (x:Z) (y:Z), - ((Cint.to_uint16 (lor x y)) = (lor (Cint.to_uint16 x) (Cint.to_uint16 y))). -Proof. - intros x y; rewrite Cint.to_uint_16; apply to_uint_lor. -Qed. - -(** *** Cast to uint32 C type *) -(* Why3 goal *) -Lemma to_uint32_lor : - forall (x:Z) (y:Z), - ((Cint.to_uint32 (lor x y)) = (lor (Cint.to_uint32 x) (Cint.to_uint32 y))). -Proof. - intros x y; rewrite Cint.to_uint_32; apply to_uint_lor. -Qed. - -(** *** Cast to uint64 C type *) -(* Why3 goal *) -Lemma to_uint64_lor : - forall (x:Z) (y:Z), - ((Cint.to_uint64 (lor x y)) = (lor (Cint.to_uint64 x) (Cint.to_uint64 y))). -Proof. - intros x y; rewrite Cint.to_uint_64; apply to_uint_lor. -Qed. - -(* Why3 goal *) -Lemma is_uint_lxor : - forall (n:Z) (x:Z) (y:Z), (Cint.is_uint n x) -> (Cint.is_uint n y) -> - ((Cint.to_uint n (lxor x y)) = (lxor x y)). -Proof. - intro n; is_uint_bitwise xorb (Zabs_nat n). -Qed. - -(** * Some C-Integer Bits Conversions are identity *) -(** ** Unsigned conversions *) -(* Why3 goal *) -Lemma is_uint_lor : - forall (n:Z) (x:Z) (y:Z), (Cint.is_uint n x) -> (Cint.is_uint n y) -> - ((Cint.to_uint n (lor x y)) = (lor x y)). -Proof. - intro n; is_uint_bitwise orb (Zabs_nat n). -Qed. - -(* Why3 goal *) -Lemma is_uint_land : - forall (n:Z) (x:Z) (y:Z), (Cint.is_uint n x) -> (Cint.is_uint n y) -> - ((Cint.to_uint n (land x y)) = (land x y)). -Proof. - intro n; is_uint_bitwise andb (Zabs_nat n). -Qed. - -(* Why3 goal *) -Lemma is_uint_lsr : - forall (n:Z) (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_uint n x) -> - ((Cint.to_uint n (lsr x y)) = (lsr x y)). -Proof. - intro n; lsr_in_uint_range (Cint.two_power_abs n). -Qed. - -(* Why3 goal *) -Lemma is_uint_lsl1_inf : - forall (n:Z) (y:Z), ((0%Z <= y)%Z /\ (y < n)%Z) -> - ((Cint.to_uint n (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros n y (h1,h2); - (assert (0 <= y) as Ry by omega); - unfold lsl; unfold Zbits.lsl; rewrite (Zle_imp_le_bool _ _ Ry); - unfold Zbits.lsl_def; - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def. - (replace (1 * two_power_nat (Z.abs_nat y)) - with (two_power_nat (Z.abs_nat y)) by (auto with zarith)); - clear Ry. - - assert (Z.abs_nat y < (Z.abs_nat n))%nat as A by - (apply Zabs_nat_lt; omega); - clear h1; clear h2; - pose (M := Z.abs_nat y); fold M; fold M in A. - - unfold Cint.to_uint; unfold Cint.to_range; Cint.simplify_to_range_unfolding. - rewrite Zmod_small; trivial. - unfold Cint.two_power_abs; pose (N:=(Z.abs_nat n)); fold N; fold N in A. - generalize (Bits.two_power_nat_is_positive M); intro Pos. - generalize (Bits.two_power_nat_increase_strict M N A) ; intro. - omega. -Qed. - -(* Why3 goal *) -Lemma is_uint_lsl1_sup : - forall (n:Z) (y:Z), ((0%Z <= n)%Z /\ (n <= y)%Z) -> - ((Cint.to_uint n (lsl 1%Z y)) = 0%Z). -Proof. - intros n y h1. - (assert (0 <= y) as Ry by omega); - unfold lsl; unfold Zbits.lsl; rewrite (Zle_imp_le_bool _ _ Ry); - unfold Zbits.lsl_def; - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def. - (replace (1 * two_power_nat (Z.abs_nat y)) - with (two_power_nat (Z.abs_nat y)) by (auto with zarith)); - clear Ry. - - assert (Z.abs_nat n <= (Z.abs_nat y))%nat as A by - (apply Zabs_nat_le; omega); - clear h1; - pose (M := Z.abs_nat y); fold M; fold M in A. - unfold Cint.to_uint; unfold Cint.to_range; Cint.simplify_to_range_unfolding. - - rewrite (le_plus_minus (Z.abs_nat n) M A). - replace (Z.abs_nat n + (M - Z.abs_nat n))%nat with ((M - Z.abs_nat n) + Z.abs_nat n)%nat by (auto with zarith). - rewrite Bits.two_power_nat_plus. - - apply Z_mod_mult. -Qed. - -(** *** Cast to uint8 C type *) -(* Why3 goal *) -Lemma is_uint8_lxor : - forall (x:Z) (y:Z), (Cint.is_uint8 x) -> (Cint.is_uint8 y) -> - ((Cint.to_uint8 (lxor x y)) = (lxor x y)). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_lxor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint8_lor : - forall (x:Z) (y:Z), (Cint.is_uint8 x) -> (Cint.is_uint8 y) -> - ((Cint.to_uint8 (lor x y)) = (lor x y)). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_lor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint8_land : - forall (x:Z) (y:Z), (Cint.is_uint8 x) -> (Cint.is_uint8 y) -> - ((Cint.to_uint8 (land x y)) = (land x y)). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_land; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint8_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_uint8 x) -> - ((Cint.to_uint8 (lsr x y)) = (lsr x y)). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_lsr; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint8_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 8%Z)%Z) -> - ((Cint.to_uint8 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_lsl1_inf; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint8_lsl1_sup : - forall (y:Z), (8%Z <= y)%Z -> ((Cint.to_uint8 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_uint_8; apply is_uint_lsl1_sup; omega. -Qed. - -(** *** Cast to uint16 C type *) -(* Why3 goal *) -Lemma is_uint16_lxor : - forall (x:Z) (y:Z), (Cint.is_uint16 x) -> (Cint.is_uint16 y) -> - ((Cint.to_uint16 (lxor x y)) = (lxor x y)). -Proof. - intros; rewrite Cint.to_uint_16; apply is_uint_lxor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint16_lor : - forall (x:Z) (y:Z), (Cint.is_uint16 x) -> (Cint.is_uint16 y) -> - ((Cint.to_uint16 (lor x y)) = (lor x y)). -Proof. - intros; rewrite Cint.to_uint_16; apply is_uint_lor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint16_land : - forall (x:Z) (y:Z), (Cint.is_uint16 x) -> (Cint.is_uint16 y) -> - ((Cint.to_uint16 (land x y)) = (land x y)). -Proof. - intros; rewrite Cint.to_uint_16; apply is_uint_land; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint16_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_uint16 x) -> - ((Cint.to_uint16 (lsr x y)) = (lsr x y)). -Proof. - intros; rewrite Cint.to_uint_16; apply is_uint_lsr; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint16_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 16%Z)%Z) -> - ((Cint.to_uint16 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_uint_16. apply is_uint_lsl1_inf; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint16_lsl1_sup : - forall (y:Z), (16%Z <= y)%Z -> ((Cint.to_uint16 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_uint_16; apply is_uint_lsl1_sup; omega. -Qed. - -(** *** Cast to uint32 C type *) -(* Why3 goal *) -Lemma is_uint32_lxor : - forall (x:Z) (y:Z), (Cint.is_uint32 x) -> (Cint.is_uint32 y) -> - ((Cint.to_uint32 (lxor x y)) = (lxor x y)). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_lxor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint32_lor : - forall (x:Z) (y:Z), (Cint.is_uint32 x) -> (Cint.is_uint32 y) -> - ((Cint.to_uint32 (lor x y)) = (lor x y)). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_lor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint32_land : - forall (x:Z) (y:Z), (Cint.is_uint32 x) -> (Cint.is_uint32 y) -> - ((Cint.to_uint32 (land x y)) = (land x y)). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_land; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint32_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_uint32 x) -> - ((Cint.to_uint32 (lsr x y)) = (lsr x y)). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_lsr; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint32_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 32%Z)%Z) -> - ((Cint.to_uint32 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_lsl1_inf; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint32_lsl1_sup : - forall (y:Z), (32%Z <= y)%Z -> ((Cint.to_uint32 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_uint_32; apply is_uint_lsl1_sup; omega. -Qed. - -(** *** Cast to uint64 C type *) -(* Why3 goal *) -Lemma is_uint64_lxor : - forall (x:Z) (y:Z), (Cint.is_uint64 x) -> (Cint.is_uint64 y) -> - ((Cint.to_uint64 (lxor x y)) = (lxor x y)). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_lxor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint64_lor : - forall (x:Z) (y:Z), (Cint.is_uint64 x) -> (Cint.is_uint64 y) -> - ((Cint.to_uint64 (lor x y)) = (lor x y)). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_lor; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint64_land : - forall (x:Z) (y:Z), (Cint.is_uint64 x) -> (Cint.is_uint64 y) -> - ((Cint.to_uint64 (land x y)) = (land x y)). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_land; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint64_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_uint64 x) -> - ((Cint.to_uint64 (lsr x y)) = (lsr x y)). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_lsr; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint64_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 64%Z)%Z) -> - ((Cint.to_uint64 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_lsl1_inf; trivial. -Qed. - -(* Why3 goal *) -Lemma is_uint64_lsl1_sup : - forall (y:Z), (64%Z <= y)%Z -> ((Cint.to_uint64 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_uint_64; apply is_uint_lsl1_sup; omega. -Qed. - -(** ** Signed conversions *) -(** Tacticals *) -Local Ltac is_sint_lnot b := - intros x Rx; unfold_hyp Rx; apply Cint.id_to_range; - apply (Zbits.lnot_in_range (-b) b x Rx); omega. - -Local Ltac is_sint_bitwise f n := - intros x y Rx Ry; unfold_hyp Rx; unfold_hyp Ry; apply Cint.id_to_range; - apply (Zbits.Z_bitwise_in_sint_range f n x y Rx Ry); by compute. - -Local Ltac lsr_in_sint_range n := - intros x y Ry Rx; unfold_hyp Rx; apply Cint.id_to_range; - split; - [ (apply (Zbits.lsr_lower_bound (-n) _ _ Ry); omega) - | (apply (Zbits.lsr_upper_bound n _ _ Ry); omega)]. - -(* Why3 goal *) -Lemma is_sint_lnot : - forall (n:Z) (x:Z), (Cint.is_sint n x) -> - ((Cint.to_sint n (lnot x)) = (lnot x)). -Proof. - intros n; is_sint_lnot (Cint.two_power_abs n). -Qed. - -(* Why3 goal *) -Lemma is_sint_lxor : - forall (n:Z) (x:Z) (y:Z), (Cint.is_sint n x) -> (Cint.is_sint n y) -> - ((Cint.to_sint n (lxor x y)) = (lxor x y)). -Proof. - intro n; is_sint_bitwise xorb (Zabs_nat n). -Qed. - -(* Why3 goal *) -Lemma is_sint_lor : - forall (n:Z) (x:Z) (y:Z), (Cint.is_sint n x) -> (Cint.is_sint n y) -> - ((Cint.to_sint n (lor x y)) = (lor x y)). -Proof. - intro n; is_sint_bitwise orb (Zabs_nat n). -Qed. - -(* Why3 goal *) -Lemma is_sint_land : - forall (n:Z) (x:Z) (y:Z), (Cint.is_sint n x) -> (Cint.is_sint n y) -> - ((Cint.to_sint n (land x y)) = (land x y)). -Proof. - intro n; is_sint_bitwise andb (Zabs_nat n). -Qed. - -(* Why3 goal *) -Lemma is_sint_lsr : - forall (n:Z) (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_sint n x) -> - ((Cint.to_sint n (lsr x y)) = (lsr x y)). -Proof. - intro n; lsr_in_sint_range (Cint.two_power_abs n). -Qed. - -(* Why3 goal *) -Lemma is_sint_lsl1_inf : - forall (n:Z) (y:Z), ((0%Z <= y)%Z /\ (y < n)%Z) -> - ((Cint.to_sint n (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros n y (h1,h2). - apply Cint.id_sint. - unfold lsl; unfold Zbits.lsl; rewrite (Zle_imp_le_bool _ _ h1); - unfold Zbits.lsl_def; - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def; - (replace (1 * two_power_nat (Z.abs_nat y)) - with (two_power_nat (Z.abs_nat y)) by (auto with zarith)). - unfold Cint.is_sint. - generalize (Cint.two_power_abs_is_positive y); - generalize (Cint.two_power_abs_is_positive n); - unfold Cint.two_power_abs; intros. - split; [omega|]. - apply Bits.two_power_nat_increase_strict. - apply Zabs_nat_lt; omega. -Qed. - -(* Why3 goal *) -Lemma is_sint_lsl1_sup : - forall (n:Z) (y:Z), ((0%Z <= n)%Z /\ (n < y)%Z) -> - ((Cint.to_sint n (lsl 1%Z y)) = 0%Z). -Proof. - intros n y h1. - assert (0 <= y) as Ry by omega; - unfold lsl; unfold Zbits.lsl; rewrite (Zle_imp_le_bool _ _ Ry); - unfold Zbits.lsl_def; - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def; - (replace (1 * two_power_nat (Z.abs_nat y)) - with (two_power_nat (Z.abs_nat y)) by (auto with zarith)). - pose (M := two_power_nat (Z.abs_nat y)); fold M. - unfold Cint.to_sint; unfold Cint.to_range; Cint.simplify_to_range_unfolding. - pose (N:=(Cint.two_power_abs n)); fold N. - - rewrite <- (Z.mod_unique_pos (M + N) (N + N) - (Cint.two_power_abs (y - (n + 1))) - N). - + auto with zarith. - + generalize (Cint.two_power_abs_is_positive n); fold N; omega. - + rewrite Z.add_cancel_r. - replace (N + N) with (2 * N) by (auto with zarith); unfold N. - rewrite <- Cint.two_power_abs_plus_one by omega. - rewrite <- Cint.two_power_abs_plus_pos by omega. - replace (n + 1 + (y - (n + 1))) with y by ring. - auto. -Qed. - -(** *** Cast to sint8 C type *) -(* Why3 goal *) -Lemma is_sint8_lnot : - forall (x:Z), (Cint.is_sint8 x) -> ((Cint.to_sint8 (lnot x)) = (lnot x)). -Proof. - is_sint_lnot 128. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lxor : - forall (x:Z) (y:Z), (Cint.is_sint8 x) -> (Cint.is_sint8 y) -> - ((Cint.to_sint8 (lxor x y)) = (lxor x y)). -Proof. - is_sint_bitwise xorb 7%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lor : - forall (x:Z) (y:Z), (Cint.is_sint8 x) -> (Cint.is_sint8 y) -> - ((Cint.to_sint8 (lor x y)) = (lor x y)). -Proof. - is_sint_bitwise orb 7%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint8_land : - forall (x:Z) (y:Z), (Cint.is_sint8 x) -> (Cint.is_sint8 y) -> - ((Cint.to_sint8 (land x y)) = (land x y)). -Proof. - is_sint_bitwise andb 7%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_sint8 x) -> - ((Cint.to_sint8 (lsr x y)) = (lsr x y)). -Proof. - lsr_in_sint_range 128. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lsl1 : ((lsl 1%Z 7%Z) = 128%Z). -Proof. - compute. auto. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 7%Z)%Z) -> - ((Cint.to_sint8 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_sint_8; apply is_sint_lsl1_inf; omega. -Qed. - -(* Why3 goal *) -Lemma is_sint8_lsl1_sup : - forall (y:Z), (8%Z <= y)%Z -> ((Cint.to_sint8 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_sint_8; apply is_sint_lsl1_sup; omega. -Qed. - -(** *** Cast to sint16 C type *) -(* Why3 goal *) -Lemma is_sint16_lnot : - forall (x:Z), (Cint.is_sint16 x) -> ((Cint.to_sint16 (lnot x)) = (lnot x)). -Proof. - is_sint_lnot 32768. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lxor : - forall (x:Z) (y:Z), (Cint.is_sint16 x) -> (Cint.is_sint16 y) -> - ((Cint.to_sint16 (lxor x y)) = (lxor x y)). -Proof. - is_sint_bitwise xorb 15%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lor : - forall (x:Z) (y:Z), (Cint.is_sint16 x) -> (Cint.is_sint16 y) -> - ((Cint.to_sint16 (lor x y)) = (lor x y)). -Proof. - is_sint_bitwise orb 15%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint16_land : - forall (x:Z) (y:Z), (Cint.is_sint16 x) -> (Cint.is_sint16 y) -> - ((Cint.to_sint16 (land x y)) = (land x y)). -Proof. - is_sint_bitwise andb 15%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_sint16 x) -> - ((Cint.to_sint16 (lsr x y)) = (lsr x y)). -Proof. - lsr_in_sint_range 32768. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lsl1 : ((lsl 1%Z 15%Z) = 32768%Z). -Proof. - compute. auto. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 15%Z)%Z) -> - ((Cint.to_sint16 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_sint_16; apply is_sint_lsl1_inf; omega. -Qed. - -(* Why3 goal *) -Lemma is_sint16_lsl1_sup : - forall (y:Z), (16%Z <= y)%Z -> ((Cint.to_sint16 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_sint_16; apply is_sint_lsl1_sup; omega. -Qed. - -(** *** Cast to sint32 C type *) -(* Why3 goal *) -Lemma is_sint32_lnot : - forall (x:Z), (Cint.is_sint32 x) -> ((Cint.to_sint32 (lnot x)) = (lnot x)). -Proof. - is_sint_lnot 2147483648. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lxor : - forall (x:Z) (y:Z), (Cint.is_sint32 x) -> (Cint.is_sint32 y) -> - ((Cint.to_sint32 (lxor x y)) = (lxor x y)). -Proof. - is_sint_bitwise xorb 31%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lor : - forall (x:Z) (y:Z), (Cint.is_sint32 x) -> (Cint.is_sint32 y) -> - ((Cint.to_sint32 (lor x y)) = (lor x y)). -Proof. - is_sint_bitwise orb 31%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint32_land : - forall (x:Z) (y:Z), (Cint.is_sint32 x) -> (Cint.is_sint32 y) -> - ((Cint.to_sint32 (land x y)) = (land x y)). -Proof. - is_sint_bitwise andb 31%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_sint32 x) -> - ((Cint.to_sint32 (lsr x y)) = (lsr x y)). -Proof. - lsr_in_sint_range 2147483648. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lsl1 : ((lsl 1%Z 31%Z) = 2147483648%Z). -Proof. - compute. auto. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 31%Z)%Z) -> - ((Cint.to_sint32 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_sint_32; apply is_sint_lsl1_inf; omega. -Qed. - -(* Why3 goal *) -Lemma is_sint32_lsl1_sup : - forall (y:Z), (32%Z <= y)%Z -> ((Cint.to_sint32 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_sint_32; apply is_sint_lsl1_sup; omega. -Qed. - -(** *** Cast to sint64 C type *) -(* Why3 goal *) -Lemma is_sint64_lnot : - forall (x:Z), (Cint.is_sint64 x) -> ((Cint.to_sint64 (lnot x)) = (lnot x)). -Proof. - is_sint_lnot 9223372036854775808. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lxor : - forall (x:Z) (y:Z), (Cint.is_sint64 x) -> (Cint.is_sint64 y) -> - ((Cint.to_sint64 (lxor x y)) = (lxor x y)). -Proof. - is_sint_bitwise xorb 63%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lor : - forall (x:Z) (y:Z), (Cint.is_sint64 x) -> (Cint.is_sint64 y) -> - ((Cint.to_sint64 (lor x y)) = (lor x y)). -Proof. - is_sint_bitwise orb 63%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint64_land : - forall (x:Z) (y:Z), (Cint.is_sint64 x) -> (Cint.is_sint64 y) -> - ((Cint.to_sint64 (land x y)) = (land x y)). -Proof. - is_sint_bitwise andb 63%nat. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lsr : - forall (x:Z) (y:Z), (0%Z <= y)%Z -> (Cint.is_sint64 x) -> - ((Cint.to_sint64 (lsr x y)) = (lsr x y)). -Proof. - lsr_in_sint_range 9223372036854775808. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lsl1 : ((lsl 1%Z 63%Z) = 9223372036854775808%Z). -Proof. - compute. auto. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lsl1_inf : - forall (y:Z), ((0%Z <= y)%Z /\ (y < 63%Z)%Z) -> - ((Cint.to_sint64 (lsl 1%Z y)) = (lsl 1%Z y)). -Proof. - intros; rewrite Cint.to_sint_64; apply is_sint_lsl1_inf; omega. -Qed. - -(* Why3 goal *) -Lemma is_sint64_lsl1_sup : - forall (y:Z), (64%Z <= y)%Z -> ((Cint.to_sint64 (lsl 1%Z y)) = 0%Z). -Proof. - intros; rewrite Cint.to_sint_64; apply is_sint_lsl1_sup; omega. -Qed. - -(** * Range of some bitwise operations *) -(* Why3 goal *) -Lemma uint_land_range : - forall (x:Z) (y:Z), (0%Z <= x)%Z -> - (0%Z <= (land x y))%Z /\ ((land x y) <= x)%Z. -Proof. - intros x y h1. - apply Zbits.uint_land_range; trivial. -Qed. - -(* Why3 goal *) -Lemma uint_lor_inf : - forall (x:Z) (y:Z), ((-1%Z)%Z <= x)%Z -> (0%Z <= y)%Z -> (x <= (lor x y))%Z. -Proof. - intros x y h1 h2. - case_leq 0 x; intro. - + apply Zbits.uint_lor_inf; trivial. - + replace x with (-1). - { rewrite Zbits.lor_1; omega. } - omega. -Qed. - -(* Why3 goal *) -Lemma sint_land_inf : - forall (x:Z) (y:Z), (x <= 0%Z)%Z -> (y < 0%Z)%Z -> ((land x y) <= x)%Z. -Proof. - intros x y h1 h2. - cut (-(x+1) <= -((land x y)+1)). - { omega. } - fold (Bits.zlnot x). - fold (Bits.zlnot (land x y)). - repeat (rewrite <- Zbits.lnot_zlnot_equiv). - rewrite Zbits.lnot_land_de_morgan. - repeat (rewrite Zbits.lnot_zlnot_equiv). - apply (uint_lor_inf (Bits.zlnot x)); unfold Bits.zlnot; try omega. -Qed. - -(* Why3 goal *) -Lemma sint_lor_range : - forall (x:Z) (y:Z), (x < 0%Z)%Z -> - (x <= (lor x y))%Z /\ ((lor x y) < 0%Z)%Z. -Proof. - intros x y h1. - cut (0 <= -((lor x y)+1) <= -(x+1)). - { omega. } - fold (Bits.zlnot x). - fold (Bits.zlnot (lor x y)). - rewrite <- Zbits.lnot_zlnot_equiv. - rewrite Zbits.lnot_lor_de_morgan. - rewrite Zbits.lnot_zlnot_equiv. - apply (uint_land_range (Bits.zlnot x)). - unfold Bits.zlnot; omega. -Qed. - -(* Why3 goal *) -Lemma is_uint_lor_distrib : - forall (n:Z) (x:Z) (y:Z), - (Cint.is_uint n (lor x y)) <-> ((Cint.is_uint n x) /\ (Cint.is_uint n y)). -Proof. - intros n x y; split. - + unfold Cint.is_uint ; intros. - destruct H. - rewrite <- Zbits.lor_sign in H. - destruct H. - generalize H0; clear H0. - assert (h1:((-1) <= x)) by omega. - generalize (uint_lor_inf x y h1 H1). - rewrite Zbits.lor_commut. - assert (h2:((-1) <= y)) by omega. - generalize (uint_lor_inf y x h2 H). - unfold lor; - pose (z:=(Zbits.lor y x)); fold z; intros. - omega. - + intro H; destruct H. - rewrite <- (is_uint_lor n) by trivial. - apply Cint.is_to_uint. -Qed. - -(** * Link between bitwise operators and addition *) - -(* Why3 goal *) -Lemma lor_addition : - forall (x:Z) (y:Z), ((land x y) = 0%Z) -> ((x + y)%Z = (lor x y)). -Proof. - intros x y h1. - apply Zbits.lor_addition; trivial. -Qed. - -(* Why3 goal *) -Lemma lxor_addition : - forall (x:Z) (y:Z), ((land x y) = 0%Z) -> ((x + y)%Z = (lxor x y)). -Proof. - intros x y h1. - apply Zbits.lxor_addition; trivial. -Qed. - -(** * Link between land and cast operator *) -(* Why3 goal *) -Lemma to_uint_land_edge : - forall (x:Z) (n:Z), (0%Z <= n)%Z -> - ((Cint.to_uint n x) = (land ((lsl 1%Z n) - 1%Z)%Z x)). -Proof. - intros x n h1. - unfold Cint.to_uint; unfold Cint.to_range; Cint.simplify_to_range_unfolding. - unfold Cint.two_power_abs. - rewrite Zbits.pos_mod_two_power_nat_land_edge. - unfold land; f_equal. - unfold lsl; rewrite Zbits.lsl_pos by omega; unfold Zbits.lsl_def. - rewrite Zbits.lsl_arithmetic_shift; unfold Zbits.lsl_arithmetic_def. - auto with zarith. -Qed. - diff --git a/src/plugins/wp/share/why3/Cbits.why b/src/plugins/wp/share/why3/Cbits.why deleted file mode 100644 index 28641d4d40546e4ee840f359cb862d02aa73efc2..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Cbits.why +++ /dev/null @@ -1,403 +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). *) -(* *) -(**************************************************************************) - -theory Cbits -use Qed.Qed as Qed -use bool.Bool as Bool -use int.Int as Int -use int.Abs as Abs -use int.ComputerDivision as ComputerDivision -use real.Real as Real -use real.FromInt as FromInt -use Cint.Cint as Cint - -lemma lnot_bool : ((Cint.lnot 0) = ((Int.(-_) (1)))) /\ ((Cint.lnot - (Int.(-_) (1))) = (0)) - -lemma land_idemp : forall x:int [Cint.land x x]. ((Cint.land x x) = (x)) - -lemma land_0 : forall x:int [Cint.land 0 x]. ((Cint.land 0 x) = (0)) - -lemma land_0bis : forall x:int [Cint.land x 0]. ((Cint.land x 0) = (0)) - -lemma land_1 : forall x:int [Cint.land (Int.(-_) (1)) x]. ((Cint.land - (Int.(-_) (1)) x) = (x)) - -lemma land_1bis : forall x:int [Cint.land x (Int.(-_) (1))]. ((Cint.land x - (Int.(-_) (1))) = (x)) - -lemma lor_idemp : forall x:int [Cint.lor x x]. ((Cint.lor x x) = (x)) - -lemma lor_1 : forall x:int [Cint.lor (Int.(-_) (1)) x]. ((Cint.lor - (Int.(-_) (1)) x) = ((Int.(-_) (1)))) - -lemma lor_1bis : forall x:int [Cint.lor x (Int.(-_) (1))]. ((Cint.lor x - (Int.(-_) (1))) = ((Int.(-_) (1)))) - -lemma lor_0 : forall x:int [Cint.lor 0 x]. ((Cint.lor 0 x) = (x)) - -lemma lor_0bis : forall x:int [Cint.lor x 0]. ((Cint.lor x 0) = (x)) - -lemma lxor_nilpotent : forall x:int [Cint.lxor x x]. ((Cint.lxor x x) = (0)) - -lemma lxor_1 : forall x:int [Cint.lxor (Int.(-_) (1)) x]. ((Cint.lxor - (Int.(-_) (1)) x) = (Cint.lnot x)) - -lemma lxor_1bis : forall x:int [Cint.lxor x (Int.(-_) (1))]. ((Cint.lxor x - (Int.(-_) (1))) = (Cint.lnot x)) - -lemma lxor_0 : forall x:int [Cint.lxor 0 x]. ((Cint.lxor 0 x) = (x)) - -lemma lxor_0bis : forall x:int [Cint.lxor x 0]. ((Cint.lxor x 0) = (x)) - -lemma bit_test_def : forall x:int, k:int [Cint.bit_testb x k]. - ((Cint.bit_testb x k) = (Bool.True)) <-> Cint.bit_test x k - -lemma bit_test_extraction : forall x:int, k:int [Cint.land x (Cint.lsl 1 k)| - Cint.land (Cint.lsl 1 k) x]. (Int.(<=) (0) (k)) -> not ((Cint.land x - (Cint.lsl 1 k)) = (0)) <-> Cint.bit_test x k - -lemma lsl_1_0 : ((Cint.lsl 1 0) = (1)) - -lemma bit_test_extraction_bis : forall x:int [Cint.land x 1| Cint.land 1 x]. - not ((Cint.land 1 x) = (0)) -> Cint.bit_test x 0 - -lemma bit_test_extraction_bis_eq : forall x:int [Cint.land x 1| Cint.land 1 - x]. Cint.bit_test x 0 -> ((Cint.land 1 x) = (1)) - -lemma lnot_extraction : forall x:int, i:int [Cint.bit_test (Cint.lnot x) i]. - (Int.(<=) (0) (i)) -> Cint.bit_test (Cint.lnot x) i <-> not Cint.bit_test x - i - -lemma land_extraction : forall x:int, y:int, i:int [Cint.bit_test (Cint.land - x y) i]. (Int.(<=) (0) (i)) -> Cint.bit_test (Cint.land x y) i <-> - Cint.bit_test x i /\ Cint.bit_test y i - -lemma lor_extraction : forall x:int, y:int, i:int [Cint.bit_test (Cint.lor x - y) i]. (Int.(<=) (0) (i)) -> Cint.bit_test (Cint.lor x y) i <-> - Cint.bit_test x i \/ Cint.bit_test y i - -lemma lxor_extraction : forall x:int, y:int, i:int [Cint.bit_test (Cint.lxor - x y) i]. (Int.(<=) (0) (i)) -> Cint.bit_test (Cint.lxor x y) i <-> - Cint.bit_test x i <-> not Cint.bit_test y i - -lemma land_1_lsl_1 : forall a:int, x:int, n:int [Cint.lsl 1 - (Int.(+) (1) (n)), Cint.lsl 1 n, (Int.(+) ((Int.(*) (2) (a))) (Cint.land 1 - x))]. (Int.(<=) (0) (n)) -> (Int.(<) (a) (Cint.lsl 1 n)) -> - (Int.(<) ((Int.(+) ((Int.(*) (2) (a))) (Cint.land 1 x))) (Cint.lsl 1 - (Int.(+) (1) (n)))) - -lemma lsl_extraction_sup : forall x:int, n:int, m:int [Cint.bit_test - (Cint.lsl x n) m]. (Int.(<=) (0) (n)) -> (Int.(<=) (0) (m)) -> - (Int.(>=) (m) (n)) -> Cint.bit_test (Cint.lsl x n) m <-> Cint.bit_test x - (Int.(-) (m) (n)) - -lemma lsl_extraction_inf : forall x:int, n:int, m:int [Cint.bit_test - (Cint.lsl x n) m]. (Int.(<=) (0) (n)) -> (Int.(<=) (0) (m)) -> - (Int.(<) (m) (n)) -> not Cint.bit_test (Cint.lsl x n) m - -lemma lsr_extractionl : forall x:int, n:int, m:int [Cint.bit_test (Cint.lsr x - n) m]. (Int.(<=) (0) (n)) -> (Int.(<=) (0) (m)) -> Cint.bit_test (Cint.lsr - x n) m <-> Cint.bit_test x (Int.(+) (m) (n)) - -lemma lsl1_extraction : forall i:int, j:int [Cint.bit_test (Cint.lsl 1 i) j]. - (Int.(<=) (0) (i)) -> (Int.(<=) (0) (j)) -> Cint.bit_test (Cint.lsl 1 i) - j <-> ((i) = (j)) - -lemma to_uint8_extraction_sup : forall x:int, i:int [Cint.is_uint8 x, - Cint.bit_test x i]. (Int.(<=) (8) (i)) -> Cint.is_uint8 x -> - not Cint.bit_test x i - -lemma to_uint8_extraction_inf : forall x:int, i:int [Cint.bit_test - (Cint.to_uint8 x) i]. (Int.(<=) (0) (i)) /\ (Int.(<) (i) (8)) -> - Cint.bit_test (Cint.to_uint8 x) i <-> Cint.bit_test x i - -lemma to_uint16_extraction_sup : forall x:int, i:int [Cint.is_uint16 x, - Cint.bit_test x i]. (Int.(<=) (16) (i)) -> Cint.is_uint16 x -> - not Cint.bit_test x i - -lemma to_uint16_extraction_inf : forall x:int, i:int [Cint.bit_test - (Cint.to_uint16 x) i]. (Int.(<=) (0) (i)) /\ (Int.(<) (i) (16)) -> - Cint.bit_test (Cint.to_uint16 x) i <-> Cint.bit_test x i - -lemma to_uint32_extraction_sup : forall x:int, i:int [Cint.is_uint32 x, - Cint.bit_test x i]. (Int.(<=) (32) (i)) -> Cint.is_uint32 x -> - not Cint.bit_test x i - -lemma to_uint32_extraction_inf : forall x:int, i:int [Cint.bit_test - (Cint.to_uint32 x) i]. (Int.(<=) (0) (i)) /\ (Int.(<) (i) (32)) -> - Cint.bit_test (Cint.to_uint32 x) i <-> Cint.bit_test x i - -lemma to_uint64_extraction_sup : forall x:int, i:int [Cint.is_uint64 x, - Cint.bit_test x i]. (Int.(<=) (64) (i)) -> Cint.is_uint64 x -> - not Cint.bit_test x i - -lemma to_uint64_extraction_inf : forall x:int, i:int [Cint.bit_test - (Cint.to_uint64 x) i]. (Int.(<=) (0) (i)) /\ (Int.(<) (i) (64)) -> - Cint.bit_test (Cint.to_uint64 x) i <-> Cint.bit_test x i - -lemma to_sint8_extraction_sup : forall x:int, i:int [Cint.is_sint8 x, - Cint.bit_test x i]. (Int.(<=) (7) (i)) -> Cint.is_sint8 x -> Cint.bit_test - x i <-> (Int.(<) (x) (0)) - -lemma to_sint8_extraction_inf : forall x:int, i:int [Cint.bit_test - (Cint.to_sint8 x) i]. (Int.(<=) (0) (i)) /\ (Int.(<) (i) (7)) -> - Cint.bit_test (Cint.to_sint8 x) i <-> Cint.bit_test x i - -lemma to_sint16_extraction_sup : forall x:int, i:int [Cint.is_sint16 x, - Cint.bit_test x i]. (Int.(<=) (15) (i)) -> Cint.is_sint16 x -> - Cint.bit_test x i <-> (Int.(<) (x) (0)) - -lemma to_sint16_extraction_inf : forall x:int, i:int [Cint.bit_test - (Cint.to_sint16 x) i]. (Int.(<=) (0) (i)) /\ (Int.(<) (i) (15)) -> - Cint.bit_test (Cint.to_sint16 x) i <-> Cint.bit_test x i - -lemma to_sint32_extraction_sup : forall x:int, i:int [Cint.is_sint32 x, - Cint.bit_test x i]. (Int.(<=) (31) (i)) -> Cint.is_sint32 x -> - Cint.bit_test x i <-> (Int.(<) (x) (0)) - -lemma to_sint32_extraction_inf : forall x:int, i:int [Cint.bit_test - (Cint.to_sint32 x) i]. (Int.(<=) (0) (i)) /\ (Int.(<) (i) (31)) -> - Cint.bit_test (Cint.to_sint32 x) i <-> Cint.bit_test x i - -lemma to_sint64_extraction_sup : forall x:int, i:int [Cint.is_sint64 x, - Cint.bit_test x i]. (Int.(<=) (63) (i)) -> Cint.is_sint64 x -> - Cint.bit_test x i <-> (Int.(<) (x) (0)) - -lemma to_sint64_extraction_inf : forall x:int, i:int [Cint.bit_test - (Cint.to_sint64 x) i]. (Int.(<=) (0) (i)) /\ (Int.(<) (i) (63)) -> - Cint.bit_test (Cint.to_sint64 x) i <-> Cint.bit_test x i - -lemma is_uint_lxor : forall n:int, x:int, y:int. Cint.is_uint n x -> - Cint.is_uint n y -> ((Cint.to_uint n (Cint.lxor x y)) = (Cint.lxor x y)) - -lemma is_uint8_lxor : forall x:int, y:int [Cint.to_uint8 (Cint.lxor x y)]. - Cint.is_uint8 x -> Cint.is_uint8 y -> ((Cint.to_uint8 (Cint.lxor x - y)) = (Cint.lxor x y)) - -lemma is_uint8_lor : forall x:int, y:int [Cint.to_uint8 (Cint.lor x y)]. - Cint.is_uint8 x -> Cint.is_uint8 y -> ((Cint.to_uint8 (Cint.lor x - y)) = (Cint.lor x y)) - -lemma is_uint8_land : forall x:int, y:int [Cint.to_uint8 (Cint.land x y)]. - Cint.is_uint8 x -> Cint.is_uint8 y -> ((Cint.to_uint8 (Cint.land x - y)) = (Cint.land x y)) - -lemma is_uint8_lsr : forall x:int, y:int [Cint.to_uint8 (Cint.lsr x y)]. - (Int.(<=) (0) (y)) -> Cint.is_uint8 x -> ((Cint.to_uint8 (Cint.lsr x - y)) = (Cint.lsr x y)) - -lemma is_uint8_lsl1_inf : forall y:int [Cint.to_uint8 (Cint.lsl 1 y)]. - (Int.(<=) (0) (y)) /\ (Int.(<) (y) (8)) -> ((Cint.to_uint8 (Cint.lsl 1 - y)) = (Cint.lsl 1 y)) - -lemma is_uint8_lsl1_sup : forall y:int [Cint.to_uint8 (Cint.lsl 1 y)]. - (Int.(<=) (8) (y)) -> ((Cint.to_uint8 (Cint.lsl 1 y)) = (0)) - -lemma is_uint16_lxor : forall x:int, y:int [Cint.to_uint16 (Cint.lxor x y)]. - Cint.is_uint16 x -> Cint.is_uint16 y -> ((Cint.to_uint16 (Cint.lxor x - y)) = (Cint.lxor x y)) - -lemma is_uint16_lor : forall x:int, y:int [Cint.to_uint16 (Cint.lor x y)]. - Cint.is_uint16 x -> Cint.is_uint16 y -> ((Cint.to_uint16 (Cint.lor x - y)) = (Cint.lor x y)) - -lemma is_uint16_land : forall x:int, y:int [Cint.to_uint16 (Cint.land x y)]. - Cint.is_uint16 x -> Cint.is_uint16 y -> ((Cint.to_uint16 (Cint.land x - y)) = (Cint.land x y)) - -lemma is_uint16_lsr : forall x:int, y:int [Cint.to_uint16 (Cint.lsr x y)]. - (Int.(<=) (0) (y)) -> Cint.is_uint16 x -> ((Cint.to_uint16 (Cint.lsr x - y)) = (Cint.lsr x y)) - -lemma is_uint16_lsl1_inf : forall y:int [Cint.to_uint16 (Cint.lsl 1 y)]. - (Int.(<=) (0) (y)) /\ (Int.(<) (y) (16)) -> ((Cint.to_uint16 (Cint.lsl 1 - y)) = (Cint.lsl 1 y)) - -lemma is_uint16_lsl1_sup : forall y:int [Cint.to_uint16 (Cint.lsl 1 y)]. - (Int.(<=) (16) (y)) -> ((Cint.to_uint16 (Cint.lsl 1 y)) = (0)) - -lemma is_uint32_lxor : forall x:int, y:int [Cint.to_uint32 (Cint.lxor x y)]. - Cint.is_uint32 x -> Cint.is_uint32 y -> ((Cint.to_uint32 (Cint.lxor x - y)) = (Cint.lxor x y)) - -lemma is_uint32_lor : forall x:int, y:int [Cint.to_uint32 (Cint.lor x y)]. - Cint.is_uint32 x -> Cint.is_uint32 y -> ((Cint.to_uint32 (Cint.lor x - y)) = (Cint.lor x y)) - -lemma is_uint32_land : forall x:int, y:int [Cint.to_uint32 (Cint.land x y)]. - Cint.is_uint32 x -> Cint.is_uint32 y -> ((Cint.to_uint32 (Cint.land x - y)) = (Cint.land x y)) - -lemma is_uint32_lsr : forall x:int, y:int [Cint.to_uint32 (Cint.lsr x y)]. - (Int.(<=) (0) (y)) -> Cint.is_uint32 x -> ((Cint.to_uint32 (Cint.lsr x - y)) = (Cint.lsr x y)) - -lemma is_uint32_lsl1_inf : forall y:int [Cint.to_uint32 (Cint.lsl 1 y)]. - (Int.(<=) (0) (y)) /\ (Int.(<) (y) (32)) -> ((Cint.to_uint32 (Cint.lsl 1 - y)) = (Cint.lsl 1 y)) - -lemma is_uint32_lsl1_sup : forall y:int [Cint.to_uint32 (Cint.lsl 1 y)]. - (Int.(<=) (32) (y)) -> ((Cint.to_uint32 (Cint.lsl 1 y)) = (0)) - -lemma is_uint64_lxor : forall x:int, y:int [Cint.to_uint64 (Cint.lxor x y)]. - Cint.is_uint64 x -> Cint.is_uint64 y -> ((Cint.to_uint64 (Cint.lxor x - y)) = (Cint.lxor x y)) - -lemma is_uint64_lor : forall x:int, y:int [Cint.to_uint64 (Cint.lor x y)]. - Cint.is_uint64 x -> Cint.is_uint64 y -> ((Cint.to_uint64 (Cint.lor x - y)) = (Cint.lor x y)) - -lemma is_uint64_land : forall x:int, y:int [Cint.to_uint64 (Cint.land x y)]. - Cint.is_uint64 x -> Cint.is_uint64 y -> ((Cint.to_uint64 (Cint.land x - y)) = (Cint.land x y)) - -lemma is_uint64_lsr : forall x:int, y:int [Cint.to_uint64 (Cint.lsr x y)]. - (Int.(<=) (0) (y)) -> Cint.is_uint64 x -> ((Cint.to_uint64 (Cint.lsr x - y)) = (Cint.lsr x y)) - -lemma is_uint64_lsl1_inf : forall y:int [Cint.to_uint64 (Cint.lsl 1 y)]. - (Int.(<=) (0) (y)) /\ (Int.(<) (y) (64)) -> ((Cint.to_uint64 (Cint.lsl 1 - y)) = (Cint.lsl 1 y)) - -lemma is_uint64_lsl1_sup : forall y:int [Cint.to_uint64 (Cint.lsl 1 y)]. - (Int.(<=) (64) (y)) -> ((Cint.to_uint64 (Cint.lsl 1 y)) = (0)) - -lemma is_sint8_lnot : forall x:int [Cint.to_sint8 (Cint.lnot x)]. - Cint.is_sint8 x -> ((Cint.to_sint8 (Cint.lnot x)) = (Cint.lnot x)) - -lemma is_sint8_lxor : forall x:int, y:int [Cint.to_sint8 (Cint.lxor x y)]. - Cint.is_sint8 x -> Cint.is_sint8 y -> ((Cint.to_sint8 (Cint.lxor x - y)) = (Cint.lxor x y)) - -lemma is_sint8_lor : forall x:int, y:int [Cint.to_sint8 (Cint.lor x y)]. - Cint.is_sint8 x -> Cint.is_sint8 y -> ((Cint.to_sint8 (Cint.lor x - y)) = (Cint.lor x y)) - -lemma is_sint8_land : forall x:int, y:int [Cint.to_sint8 (Cint.land x y)]. - Cint.is_sint8 x -> Cint.is_sint8 y -> ((Cint.to_sint8 (Cint.land x - y)) = (Cint.land x y)) - -lemma is_sint8_lsr : forall x:int, y:int [Cint.to_sint8 (Cint.lsr x y)]. - (Int.(<=) (0) (y)) -> Cint.is_sint8 x -> ((Cint.to_sint8 (Cint.lsr x - y)) = (Cint.lsr x y)) - -lemma is_sint8_lsl1 : ((Cint.lsl 1 7) = (Cint.max_sint8)) - -lemma is_sint8_lsl1_inf : forall y:int [Cint.to_sint8 (Cint.lsl 1 y)]. - (Int.(<=) (0) (y)) /\ (Int.(<) (y) (7)) -> ((Cint.to_sint8 (Cint.lsl 1 - y)) = (Cint.lsl 1 y)) - -lemma is_sint8_lsl1_sup : forall y:int [Cint.to_sint8 (Cint.lsl 1 y)]. - (Int.(<=) (8) (y)) -> ((Cint.to_sint8 (Cint.lsl 1 y)) = (0)) - -lemma is_sint16_lnot : forall x:int [Cint.to_sint16 (Cint.lnot x)]. - Cint.is_sint16 x -> ((Cint.to_sint16 (Cint.lnot x)) = (Cint.lnot x)) - -lemma is_sint16_lxor : forall x:int, y:int [Cint.to_sint16 (Cint.lxor x y)]. - Cint.is_sint16 x -> Cint.is_sint16 y -> ((Cint.to_sint16 (Cint.lxor x - y)) = (Cint.lxor x y)) - -lemma is_sint16_lor : forall x:int, y:int [Cint.to_sint16 (Cint.lor x y)]. - Cint.is_sint16 x -> Cint.is_sint16 y -> ((Cint.to_sint16 (Cint.lor x - y)) = (Cint.lor x y)) - -lemma is_sint16_land : forall x:int, y:int [Cint.to_sint16 (Cint.land x y)]. - Cint.is_sint16 x -> Cint.is_sint16 y -> ((Cint.to_sint16 (Cint.land x - y)) = (Cint.land x y)) - -lemma is_sint16_lsr : forall x:int, y:int [Cint.to_sint16 (Cint.lsr x y)]. - (Int.(<=) (0) (y)) -> Cint.is_sint16 x -> ((Cint.to_sint16 (Cint.lsr x - y)) = (Cint.lsr x y)) - -lemma is_sint16_lsl1 : ((Cint.lsl 1 15) = (Cint.max_sint16)) - -lemma is_sint16_lsl1_inf : forall y:int [Cint.to_sint16 (Cint.lsl 1 y)]. - (Int.(<=) (0) (y)) /\ (Int.(<) (y) (15)) -> ((Cint.to_sint16 (Cint.lsl 1 - y)) = (Cint.lsl 1 y)) - -lemma is_sint16_lsl1_sup : forall y:int [Cint.to_sint16 (Cint.lsl 1 y)]. - (Int.(<=) (16) (y)) -> ((Cint.to_sint16 (Cint.lsl 1 y)) = (0)) - -lemma is_sint32_lnot : forall x:int [Cint.to_sint32 (Cint.lnot x)]. - Cint.is_sint32 x -> ((Cint.to_sint32 (Cint.lnot x)) = (Cint.lnot x)) - -lemma is_sint32_lxor : forall x:int, y:int [Cint.to_sint32 (Cint.lxor x y)]. - Cint.is_sint32 x -> Cint.is_sint32 y -> ((Cint.to_sint32 (Cint.lxor x - y)) = (Cint.lxor x y)) - -lemma is_sint32_lor : forall x:int, y:int [Cint.to_sint32 (Cint.lor x y)]. - Cint.is_sint32 x -> Cint.is_sint32 y -> ((Cint.to_sint32 (Cint.lor x - y)) = (Cint.lor x y)) - -lemma is_sint32_land : forall x:int, y:int [Cint.to_sint32 (Cint.land x y)]. - Cint.is_sint32 x -> Cint.is_sint32 y -> ((Cint.to_sint32 (Cint.land x - y)) = (Cint.land x y)) - -lemma is_sint32_lsr : forall x:int, y:int [Cint.to_sint32 (Cint.lsr x y)]. - (Int.(<=) (0) (y)) -> Cint.is_sint32 x -> ((Cint.to_sint32 (Cint.lsr x - y)) = (Cint.lsr x y)) - -lemma is_sint32_lsl1 : ((Cint.lsl 1 31) = (Cint.max_sint32)) - -lemma is_sint32_lsl1_inf : forall y:int [Cint.to_sint32 (Cint.lsl 1 y)]. - (Int.(<=) (0) (y)) /\ (Int.(<) (y) (31)) -> ((Cint.to_sint32 (Cint.lsl 1 - y)) = (Cint.lsl 1 y)) - -lemma is_sint32_lsl1_sup : forall y:int [Cint.to_sint32 (Cint.lsl 1 y)]. - (Int.(<=) (32) (y)) -> ((Cint.to_sint32 (Cint.lsl 1 y)) = (0)) - -lemma is_sint64_lnot : forall x:int [Cint.to_sint64 (Cint.lnot x)]. - Cint.is_sint64 x -> ((Cint.to_sint64 (Cint.lnot x)) = (Cint.lnot x)) - -lemma is_sint64_lxor : forall x:int, y:int [Cint.to_sint64 (Cint.lxor x y)]. - Cint.is_sint64 x -> Cint.is_sint64 y -> ((Cint.to_sint64 (Cint.lxor x - y)) = (Cint.lxor x y)) - -lemma is_sint64_lor : forall x:int, y:int [Cint.to_sint64 (Cint.lor x y)]. - Cint.is_sint64 x -> Cint.is_sint64 y -> ((Cint.to_sint64 (Cint.lor x - y)) = (Cint.lor x y)) - -lemma is_sint64_land : forall x:int, y:int [Cint.to_sint64 (Cint.land x y)]. - Cint.is_sint64 x -> Cint.is_sint64 y -> ((Cint.to_sint64 (Cint.land x - y)) = (Cint.land x y)) - -lemma is_sint64_lsr : forall x:int, y:int [Cint.to_sint64 (Cint.lsr x y)]. - (Int.(<=) (0) (y)) -> Cint.is_sint64 x -> ((Cint.to_sint64 (Cint.lsr x - y)) = (Cint.lsr x y)) - -lemma is_sint64_lsl1 : ((Cint.lsl 1 63) = (Cint.max_sint64)) - -lemma is_sint64_lsl1_inf : forall y:int [Cint.to_sint64 (Cint.lsl 1 y)]. - (Int.(<=) (0) (y)) /\ (Int.(<) (y) (63)) -> ((Cint.to_sint64 (Cint.lsl 1 - y)) = (Cint.lsl 1 y)) - -lemma is_sint64_lsl1_sup : forall y:int [Cint.to_sint64 (Cint.lsl 1 y)]. - (Int.(<=) (64) (y)) -> ((Cint.to_sint64 (Cint.lsl 1 y)) = (0)) - -lemma lor_addition : forall x:int, y:int [Cint.land x y, Cint.lor x y]. - ((Cint.land x y) = (0)) -> (((Int.(+) (x) (y))) = (Cint.lor x y)) - -lemma lxor_addition : forall x:int, y:int [Cint.land x y, Cint.lxor x y]. - ((Cint.land x y) = (0)) -> (((Int.(+) (x) (y))) = (Cint.lxor x y)) - -end diff --git a/src/plugins/wp/share/why3/Cfloat.v b/src/plugins/wp/share/why3/Cfloat.v deleted file mode 100644 index f25c72b7027de53cfb3377ab0f3d139ac51f6538..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Cfloat.v +++ /dev/null @@ -1,421 +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). *) -(* *) -(**************************************************************************) - -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require Reals.Rbasic_fun. -Require Reals.R_sqrt. -Require BuiltIn. -Require bool.Bool. -Require int.Int. -Require real.Real. -Require real.RealInfix. -Require real.Abs. -Require real.FromInt. -Require real.Square. - -(* Why3 goal *) -Definition f32 : Type. -Admitted. - -(* Why3 goal *) -Definition f64 : Type. -Admitted. - -(* Why3 goal *) -Definition to_f32: R -> f32. -Admitted. - -(* Why3 goal *) -Definition of_f32: f32 -> R. -Admitted. - -(* Why3 goal *) -Definition to_f64: R -> f64. -Admitted. - -(* Why3 goal *) -Definition of_f64: f64 -> R. -Admitted. - -(* Why3 goal *) -Lemma to_f32_zero : ((of_f32 (to_f32 0%R)) = 0%R). -Admitted. - -(* Why3 goal *) -Lemma to_f32_one : ((of_f32 (to_f32 1%R)) = 1%R). -Admitted. - -(* Why3 goal *) -Lemma to_f64_zero : ((of_f64 (to_f64 0%R)) = 0%R). -Admitted. - -(* Why3 goal *) -Lemma to_f64_one : ((of_f64 (to_f64 1%R)) = 1%R). -Admitted. - -(* Why3 assumption *) -Inductive rounding_mode := - | Up : rounding_mode - | Down : rounding_mode - | ToZero : rounding_mode - | NearestTiesToAway : rounding_mode - | NearestTiesToEven : rounding_mode. -Axiom rounding_mode_WhyType : WhyType rounding_mode. -Existing Instance rounding_mode_WhyType. - -(* Why3 goal *) -Definition round_float: rounding_mode -> R -> f32. -Admitted. - -(* Why3 goal *) -Definition round_double: rounding_mode -> R -> f64. -Admitted. - -(* Why3 goal *) -Lemma float_32 : forall (x:R), ((to_f32 x) = (round_float NearestTiesToEven - x)). -Admitted. - -(* Why3 goal *) -Lemma float_64 : forall (x:R), ((to_f64 x) = (round_double NearestTiesToEven - x)). -Admitted. - -(* Why3 assumption *) -Inductive float_kind := - | Finite : float_kind - | NaN : float_kind - | Inf_pos : float_kind - | Inf_neg : float_kind. -Axiom float_kind_WhyType : WhyType float_kind. -Existing Instance float_kind_WhyType. - -(* Why3 goal *) -Definition classify_f32: f32 -> float_kind. -Admitted. - -(* Why3 goal *) -Definition classify_f64: f64 -> float_kind. -Admitted. - -(* Why3 assumption *) -Definition is_finite_f32 (f:f32): Prop := ((classify_f32 f) = Finite). - -(* Why3 assumption *) -Definition is_finite_f64 (d:f64): Prop := ((classify_f64 d) = Finite). - -(* Why3 assumption *) -Definition is_NaN_f32 (f:f32): Prop := ((classify_f32 f) = NaN). - -(* Why3 assumption *) -Definition is_NaN_f64 (d:f64): Prop := ((classify_f64 d) = NaN). - -(* Why3 assumption *) -Definition is_infinite_f32 (f:f32): Prop := ((classify_f32 f) = Inf_pos) \/ - ((classify_f32 f) = Inf_neg). - -(* Why3 assumption *) -Definition is_infinite_f64 (d:f64): Prop := ((classify_f64 d) = Inf_pos) \/ - ((classify_f64 d) = Inf_neg). - -(* Why3 assumption *) -Definition is_positive_infinite_f32 (f:f32): Prop := - ((classify_f32 f) = Inf_pos). - -(* Why3 assumption *) -Definition is_positive_infinite_f64 (d:f64): Prop := - ((classify_f64 d) = Inf_pos). - -(* Why3 assumption *) -Definition is_negative_infinite_f32 (f:f32): Prop := - ((classify_f32 f) = Inf_neg). - -(* Why3 assumption *) -Definition is_negative_infinite_f64 (d:f64): Prop := - ((classify_f64 d) = Inf_neg). - -(* Why3 goal *) -Lemma is_finite_to_float_32 : forall (x:R), (is_finite_f32 (to_f32 x)). -Admitted. - -(* Why3 goal *) -Lemma is_finite_to_float_64 : forall (x:R), (is_finite_f64 (to_f64 x)). -Admitted. - -(* Why3 goal *) -Lemma to_float_is_finite_32 : forall (f:f32), (is_finite_f32 f) -> - ((to_f32 (of_f32 f)) = f). -Admitted. - -(* Why3 goal *) -Lemma to_float_is_finite_64 : forall (d:f64), (is_finite_f64 d) -> - ((to_f64 (of_f64 d)) = d). -Admitted. - -(* Why3 assumption *) -Definition finite (x:R): Prop := (is_finite_f32 (to_f32 x)) /\ (is_finite_f64 - (to_f64 x)). - -(* Why3 goal *) -Lemma finite_small_f32 : forall (x:R), - (((-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368%R)%R <= x)%R /\ - (x <= 340282346600000016151267322115014000640%R)%R) -> (is_finite_f32 - (to_f32 x)). -Admitted. - -(* Why3 goal *) -Lemma finite_small_f64 : forall (x:R), - (((-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368%R)%R <= x)%R /\ - (x <= 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368%R)%R) -> - (is_finite_f64 (to_f64 x)). -Admitted. - -(* Why3 goal *) -Lemma finite_range_f32 : forall (f:f32), (is_finite_f32 f) <-> - (((-340282346600000016151267322115014000640%R)%R <= (of_f32 f))%R /\ - ((of_f32 f) <= 340282346600000016151267322115014000640%R)%R). -Admitted. - -(* Why3 goal *) -Lemma finite_range_f64 : forall (d:f64), (is_finite_f64 d) <-> - (((-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368%R)%R <= (of_f64 d))%R /\ - ((of_f64 d) <= 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368%R)%R). -Admitted. - -(* Why3 goal *) -Definition eq_f32b: f32 -> f32 -> bool. -Admitted. - -(* Why3 goal *) -Definition eq_f64b: f64 -> f64 -> bool. -Admitted. - -(* Why3 assumption *) -Definition eq_f32 (x:f32) (y:f32): Prop := ((eq_f32b x y) = true). - -(* Why3 assumption *) -Definition eq_f64 (x:f64) (y:f64): Prop := ((eq_f64b x y) = true). - -(* Why3 goal *) -Lemma eq_finite_f32 : forall (x:f32) (y:f32), (is_finite_f32 x) -> - ((is_finite_f32 y) -> ((eq_f32 x y) <-> ((of_f32 x) = (of_f32 y)))). -Admitted. - -(* Why3 goal *) -Lemma eq_finite_f64 : forall (x:f64) (y:f64), (is_finite_f64 x) -> - ((is_finite_f64 y) -> ((eq_f64 x y) <-> ((of_f64 x) = (of_f64 y)))). -Admitted. - -(* Why3 goal *) -Definition ne_f32b: f32 -> f32 -> bool. -Admitted. - -(* Why3 goal *) -Definition ne_f64b: f64 -> f64 -> bool. -Admitted. - -(* Why3 assumption *) -Definition ne_f32 (x:f32) (y:f32): Prop := ((ne_f32b x y) = true). - -(* Why3 assumption *) -Definition ne_f64 (x:f64) (y:f64): Prop := ((ne_f64b x y) = true). - -(* Why3 goal *) -Lemma ne_finite_f32 : forall (x:f32) (y:f32), (is_finite_f32 x) -> - ((is_finite_f32 y) -> ((ne_f32 x y) <-> ~ ((of_f32 x) = (of_f32 y)))). -Admitted. - -(* Why3 goal *) -Lemma ne_finite_f64 : forall (x:f64) (y:f64), (is_finite_f64 x) -> - ((is_finite_f64 y) -> ((ne_f64 x y) <-> ~ ((of_f64 x) = (of_f64 y)))). -Admitted. - -(* Why3 goal *) -Definition le_f32b: f32 -> f32 -> bool. -Admitted. - -(* Why3 goal *) -Definition le_f64b: f64 -> f64 -> bool. -Admitted. - -(* Why3 assumption *) -Definition le_f32 (x:f32) (y:f32): Prop := ((le_f32b x y) = true). - -(* Why3 assumption *) -Definition le_f64 (x:f64) (y:f64): Prop := ((le_f64b x y) = true). - -(* Why3 goal *) -Lemma le_finite_f32 : forall (x:f32) (y:f32), (is_finite_f32 x) -> - ((is_finite_f32 y) -> ((le_f32 x y) <-> ((of_f32 x) <= (of_f32 y))%R)). -Admitted. - -(* Why3 goal *) -Lemma le_finite_f64 : forall (x:f64) (y:f64), (is_finite_f64 x) -> - ((is_finite_f64 y) -> ((le_f64 x y) <-> ((of_f64 x) <= (of_f64 y))%R)). -Admitted. - -(* Why3 goal *) -Definition lt_f32b: f32 -> f32 -> bool. -Admitted. - -(* Why3 goal *) -Definition lt_f64b: f64 -> f64 -> bool. -Admitted. - -(* Why3 assumption *) -Definition lt_f32 (x:f32) (y:f32): Prop := ((lt_f32b x y) = true). - -(* Why3 assumption *) -Definition lt_f64 (x:f64) (y:f64): Prop := ((lt_f64b x y) = true). - -(* Why3 goal *) -Lemma lt_finite_f32 : forall (x:f32) (y:f32), (is_finite_f32 x) -> - ((is_finite_f32 y) -> ((lt_f32 x y) <-> ((of_f32 x) < (of_f32 y))%R)). -Admitted. - -(* Why3 goal *) -Lemma lt_finite_f64 : forall (x:f64) (y:f64), (is_finite_f64 x) -> - ((is_finite_f64 y) -> ((lt_f64 x y) <-> ((of_f64 x) < (of_f64 y))%R)). -Admitted. - -(* Why3 goal *) -Definition neg_f32: f32 -> f32. -Admitted. - -(* Why3 goal *) -Definition neg_f64: f64 -> f64. -Admitted. - -(* Why3 goal *) -Lemma neg_finite_f32 : forall (x:f32), (is_finite_f32 x) -> - ((of_f32 (neg_f32 x)) = (-(of_f32 x))%R). -Admitted. - -(* Why3 goal *) -Lemma neg_finite_f64 : forall (x:f64), (is_finite_f64 x) -> - ((of_f64 (neg_f64 x)) = (-(of_f64 x))%R). -Admitted. - -(* Why3 goal *) -Definition add_f32: f32 -> f32 -> f32. -Admitted. - -(* Why3 goal *) -Definition add_f64: f64 -> f64 -> f64. -Admitted. - -(* Why3 goal *) -Lemma add_finite_f32 : forall (x:f32) (y:f32), (is_finite_f32 x) -> - ((is_finite_f32 y) -> ((add_f32 x - y) = (to_f32 ((of_f32 x) + (of_f32 y))%R))). -Admitted. - -(* Why3 goal *) -Lemma add_finite_f64 : forall (x:f64) (y:f64), (is_finite_f64 x) -> - ((is_finite_f64 y) -> ((add_f64 x - y) = (to_f64 ((of_f64 x) + (of_f64 y))%R))). -Admitted. - -(* Why3 goal *) -Definition mul_f32: f32 -> f32 -> f32. -Admitted. - -(* Why3 goal *) -Definition mul_f64: f64 -> f64 -> f64. -Admitted. - -(* Why3 goal *) -Lemma mul_finite_f32 : forall (x:f32) (y:f32), (is_finite_f32 x) -> - ((is_finite_f32 y) -> ((mul_f32 x - y) = (to_f32 ((of_f32 x) * (of_f32 y))%R))). -Admitted. - -(* Why3 goal *) -Lemma mul_finite_f64 : forall (x:f64) (y:f64), (is_finite_f64 x) -> - ((is_finite_f64 y) -> ((mul_f64 x - y) = (to_f64 ((of_f64 x) * (of_f64 y))%R))). -Admitted. - -(* Why3 goal *) -Definition div_f32: f32 -> f32 -> f32. -Admitted. - -(* Why3 goal *) -Definition div_f64: f64 -> f64 -> f64. -Admitted. - -(* Why3 goal *) -Lemma div_finite_f32 : forall (x:f32) (y:f32), (is_finite_f32 x) -> - ((is_finite_f32 y) -> ((div_f32 x - y) = (to_f32 ((of_f32 x) / (of_f32 y))%R))). -Admitted. - -(* Why3 goal *) -Lemma div_finite_f64 : forall (x:f64) (y:f64), (is_finite_f64 x) -> - ((is_finite_f64 y) -> ((div_f64 x - y) = (to_f64 ((of_f64 x) / (of_f64 y))%R))). -Admitted. - -(* Why3 goal *) -Definition sqrt_f32: f32 -> f32. -Admitted. - -(* Why3 goal *) -Definition sqrt_f64: f64 -> f64. -Admitted. - -(* Why3 goal *) -Lemma sqrt_finite_f32 : forall (x:f32), (is_finite_f32 x) -> - ((sqrt_f32 x) = (to_f32 (Reals.R_sqrt.sqrt (of_f32 x)))). -Admitted. - -(* Why3 goal *) -Lemma sqrt_finite_f64 : forall (x:f64), (is_finite_f64 x) -> - ((sqrt_f64 x) = (to_f64 (Reals.R_sqrt.sqrt (of_f64 x)))). -Admitted. - -(* Why3 goal *) -Definition model_f32: f32 -> R. -Admitted. - -(* Why3 assumption *) -Definition delta_f32 (f:f32): R := - (Reals.Rbasic_fun.Rabs ((of_f32 f) - (model_f32 f))%R). - -(* Why3 assumption *) -Definition error_f32 (f:f32): R := - ((delta_f32 f) / (Reals.Rbasic_fun.Rabs (model_f32 f)))%R. - -(* Why3 goal *) -Definition model_f64: f64 -> R. -Admitted. - -(* Why3 assumption *) -Definition delta_f64 (f:f64): R := - (Reals.Rbasic_fun.Rabs ((of_f64 f) - (model_f64 f))%R). - -(* Why3 assumption *) -Definition error_f64 (f:f64): R := - ((delta_f64 f) / (Reals.Rbasic_fun.Rabs (model_f64 f)))%R. - diff --git a/src/plugins/wp/share/why3/Cfloat.why b/src/plugins/wp/share/why3/Cfloat.why deleted file mode 100644 index 8d17a607ed538c9f71c5d55e4ee54368dc25eda7..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Cfloat.why +++ /dev/null @@ -1,262 +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). *) -(* *) -(**************************************************************************) - -theory Cfloat -use bool.Bool as Bool -use int.Int as Int -use real.Real as Real -use real.Abs as Abs -use real.FromInt as FromInt -use real.Square as Square - -type f32 - -type f64 - -function to_f32 real : f32 - -function of_f32 f32 : real - -function to_f64 real : f64 - -function of_f64 f64 : real - -axiom to_f32_zero : ((of_f32 (to_f32 0.0)) = (0.0)) - -axiom to_f32_one : ((of_f32 (to_f32 1.0)) = (1.0)) - -axiom to_f64_zero : ((of_f64 (to_f64 0.0)) = (0.0)) - -axiom to_f64_one : ((of_f64 (to_f64 1.0)) = (1.0)) - -type rounding_mode = - | Up - | Down - | ToZero - | NearestTiesToAway - | NearestTiesToEven - -function round_float rounding_mode real : f32 - -function round_double rounding_mode real : f64 - -axiom float_32 : forall x:real [round_float NearestTiesToEven x]. ((to_f32 - x) = (round_float NearestTiesToEven x)) - -axiom float_64 : forall x:real [round_double NearestTiesToEven x]. ((to_f64 - x) = (round_double NearestTiesToEven x)) - -type float_kind = - | Finite - | NaN - | Inf_pos - | Inf_neg - -function classify_f32 f32 : float_kind - -function classify_f64 f64 : float_kind - -predicate is_finite_f32 (f:f32) = ((classify_f32 f) = (Finite)) - -predicate is_finite_f64 (d:f64) = ((classify_f64 d) = (Finite)) - -predicate is_NaN_f32 (f:f32) = ((classify_f32 f) = (NaN)) - -predicate is_NaN_f64 (d:f64) = ((classify_f64 d) = (NaN)) - -predicate is_infinite_f32 (f:f32) = ((classify_f32 f) = (Inf_pos)) || ((classify_f32 f) = (Inf_neg)) - -predicate is_infinite_f64 (d:f64) = ((classify_f64 d) = (Inf_pos)) || ((classify_f64 d) = (Inf_neg)) - -predicate is_positive_infinite_f32 (f:f32) = ((classify_f32 f) = (Inf_pos)) - -predicate is_positive_infinite_f64 (d:f64) = ((classify_f64 d) = (Inf_pos)) - -predicate is_negative_infinite_f32 (f:f32) = ((classify_f32 f) = (Inf_neg)) - -predicate is_negative_infinite_f64 (d:f64) = ((classify_f64 d) = (Inf_neg)) - -axiom is_finite_to_float_32 : forall x:real [is_finite_f32 (to_f32 x)]. - is_finite_f32 (to_f32 x) - -axiom is_finite_to_float_64 : forall x:real [is_finite_f64 (to_f64 x)]. - is_finite_f64 (to_f64 x) - -axiom to_float_is_finite_32 : forall f:f32 [to_f32 (of_f32 f)| is_finite_f32 - f]. is_finite_f32 f -> ((to_f32 (of_f32 f)) = (f)) - -axiom to_float_is_finite_64 : forall d:f64 [to_f64 (of_f64 d)| is_finite_f64 - d]. is_finite_f64 d -> ((to_f64 (of_f64 d)) = (d)) - -predicate finite (x:real) = is_finite_f32 (to_f32 x) /\ is_finite_f64 (to_f64 - x) - -function max_f32 : real = 340282346600000016151267322115014000640.0 - -function max_f64 : real = - 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0 - -axiom finite_small_f32 : forall x:real. - (Real.(<=) ((Real.(-_) (max_f64))) (x)) /\ (Real.(<=) (x) (max_f32)) -> - is_finite_f32 (to_f32 x) - -axiom finite_small_f64 : forall x:real. - (Real.(<=) ((Real.(-_) (max_f64))) (x)) /\ (Real.(<=) (x) (max_f64)) -> - is_finite_f64 (to_f64 x) - -axiom finite_range_f32 : forall f:f32. is_finite_f32 f <-> - (Real.(<=) ((Real.(-_) (max_f32))) (of_f32 f)) /\ (Real.(<=) (of_f32 - f) (max_f32)) - -axiom finite_range_f64 : forall d:f64. is_finite_f64 d <-> - (Real.(<=) ((Real.(-_) (max_f64))) (of_f64 d)) /\ (Real.(<=) (of_f64 - d) (max_f64)) - -function eq_f32b f32 f32 : Bool.bool - -function eq_f64b f64 f64 : Bool.bool - -predicate eq_f32 (x:f32) (y:f32) = ((eq_f32b x y) = (Bool.True)) - -predicate eq_f64 (x:f64) (y:f64) = ((eq_f64b x y) = (Bool.True)) - -axiom eq_finite_f32 : forall x:f32, y:f32 [eq_f32 x y]. is_finite_f32 x -> - is_finite_f32 y -> eq_f32 x y <-> ((of_f32 x) = (of_f32 y)) - -axiom eq_finite_f64 : forall x:f64, y:f64 [eq_f64 x y]. is_finite_f64 x -> - is_finite_f64 y -> eq_f64 x y <-> ((of_f64 x) = (of_f64 y)) - -function ne_f32b f32 f32 : Bool.bool - -function ne_f64b f64 f64 : Bool.bool - -predicate ne_f32 (x:f32) (y:f32) = ((ne_f32b x y) = (Bool.True)) - -predicate ne_f64 (x:f64) (y:f64) = ((ne_f64b x y) = (Bool.True)) - -axiom ne_finite_f32 : forall x:f32, y:f32 [ne_f32 x y]. is_finite_f32 x -> - is_finite_f32 y -> ne_f32 x y <-> not ((of_f32 x) = (of_f32 y)) - -axiom ne_finite_f64 : forall x:f64, y:f64 [ne_f64 x y]. is_finite_f64 x -> - is_finite_f64 y -> ne_f64 x y <-> not ((of_f64 x) = (of_f64 y)) - -function le_f32b f32 f32 : Bool.bool - -function le_f64b f64 f64 : Bool.bool - -predicate le_f32 (x:f32) (y:f32) = ((le_f32b x y) = (Bool.True)) - -predicate le_f64 (x:f64) (y:f64) = ((le_f64b x y) = (Bool.True)) - -axiom le_finite_f32 : forall x:f32, y:f32 [le_f32 x y]. is_finite_f32 x -> - is_finite_f32 y -> le_f32 x y <-> (Real.(<=) (of_f32 x) (of_f32 y)) - -axiom le_finite_f64 : forall x:f64, y:f64 [le_f64 x y]. is_finite_f64 x -> - is_finite_f64 y -> le_f64 x y <-> (Real.(<=) (of_f64 x) (of_f64 y)) - -function lt_f32b f32 f32 : Bool.bool - -function lt_f64b f64 f64 : Bool.bool - -predicate lt_f32 (x:f32) (y:f32) = ((lt_f32b x y) = (Bool.True)) - -predicate lt_f64 (x:f64) (y:f64) = ((lt_f64b x y) = (Bool.True)) - -axiom lt_finite_f32 : forall x:f32, y:f32 [lt_f32 x y]. is_finite_f32 x -> - is_finite_f32 y -> lt_f32 x y <-> (Real.(<) (of_f32 x) (of_f32 y)) - -axiom lt_finite_f64 : forall x:f64, y:f64 [lt_f64 x y]. is_finite_f64 x -> - is_finite_f64 y -> lt_f64 x y <-> (Real.(<) (of_f64 x) (of_f64 y)) - -function neg_f32 f32 : f32 - -function neg_f64 f64 : f64 - -axiom neg_finite_f32 : forall x:f32 [neg_f32 x]. is_finite_f32 x -> ((of_f32 - (neg_f32 x)) = ((Real.(-_) (of_f32 x)))) - -axiom neg_finite_f64 : forall x:f64 [neg_f64 x]. is_finite_f64 x -> ((of_f64 - (neg_f64 x)) = ((Real.(-_) (of_f64 x)))) - -function add_f32 f32 f32 : f32 - -function add_f64 f64 f64 : f64 - -axiom add_finite_f32 : forall x:f32, y:f32 [add_f32 x y]. is_finite_f32 x -> - is_finite_f32 y -> ((add_f32 x y) = (to_f32 (Real.(+) (of_f32 x) (of_f32 - y)))) - -axiom add_finite_f64 : forall x:f64, y:f64 [add_f64 x y]. is_finite_f64 x -> - is_finite_f64 y -> ((add_f64 x y) = (to_f64 (Real.(+) (of_f64 x) (of_f64 - y)))) - -function mul_f32 f32 f32 : f32 - -function mul_f64 f64 f64 : f64 - -axiom mul_finite_f32 : forall x:f32, y:f32 [mul_f32 x y]. is_finite_f32 x -> - is_finite_f32 y -> ((mul_f32 x y) = (to_f32 (Real.(*) (of_f32 x) (of_f32 - y)))) - -axiom mul_finite_f64 : forall x:f64, y:f64 [mul_f64 x y]. is_finite_f64 x -> - is_finite_f64 y -> ((mul_f64 x y) = (to_f64 (Real.(*) (of_f64 x) (of_f64 - y)))) - -function div_f32 f32 f32 : f32 - -function div_f64 f64 f64 : f64 - -axiom div_finite_f32 : forall x:f32, y:f32 [div_f32 x y]. is_finite_f32 x -> - is_finite_f32 y -> ((div_f32 x y) = (to_f32 (Real.(/) (of_f32 x) (of_f32 - y)))) - -axiom div_finite_f64 : forall x:f64, y:f64 [div_f64 x y]. is_finite_f64 x -> - is_finite_f64 y -> ((div_f64 x y) = (to_f64 (Real.(/) (of_f64 x) (of_f64 - y)))) - -function sqrt_f32 f32 : f32 - -function sqrt_f64 f64 : f64 - -axiom sqrt_finite_f32 : forall x:f32 [sqrt_f32 x]. is_finite_f32 x -> - ((sqrt_f32 x) = (to_f32 (Square.sqrt (of_f32 x)))) - -axiom sqrt_finite_f64 : forall x:f64 [sqrt_f64 x]. is_finite_f64 x -> - ((sqrt_f64 x) = (to_f64 (Square.sqrt (of_f64 x)))) - -function model_f32 f32 : real - -function delta_f32 (f:f32) : real = Abs.abs (Real.(-) (of_f32 f) (model_f32 - f)) - -function error_f32 (f:f32) : real = (Real.(/) (delta_f32 f) (Abs.abs - (model_f32 f))) - -function model_f64 f64 : real - -function delta_f64 (f:f64) : real = Abs.abs (Real.(-) (of_f64 f) (model_f64 - f)) - -function error_f64 (f:f64) : real = (Real.(/) (delta_f64 f) (Abs.abs - (model_f64 f))) - -end diff --git a/src/plugins/wp/share/why3/Cint.v b/src/plugins/wp/share/why3/Cint.v deleted file mode 100644 index 1f80f9e6d3254d795bbfa37f0ff06dfb57d97db2..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Cint.v +++ /dev/null @@ -1,874 +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). *) -(* *) -(**************************************************************************) - -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require bool.Bool. -Require int.Int. - -(* Why3 assumption *) -Definition is_bool (x:Z): Prop := (x = 0%Z) \/ (x = 1%Z). - -Require Import Qedlib. - -(** * remarks about two_power_nat *) -Remark two_power_nat_is_positive: forall n, - (0 < two_power_nat n)%Z. -Proof. - induction n. - (** base *) - + compute. auto. - (** ind. *) - + rewrite two_power_nat_S. - apply Zmult_lt_0_compat. - omega. - auto. -Qed. - -Remark two_power_nat_plus: forall n m, - (two_power_nat (n+m) = (two_power_nat n)*(two_power_nat m))%Z. -Proof. - induction m. - (replace (two_power_nat 0) with 1%Z by (compute;forward)). - (replace (n + 0)%nat with n by (auto with zarith)). - ring. - rewrite two_power_nat_S. - replace (n + S m)%nat with (S(n+m)) by (auto with zarith). - rewrite two_power_nat_S. - rewrite IHm. - ring. -Qed. - -(** * C-Integer bounds * **) - -(** ** bounds are inlined into prover files ** **) - -(** * C-Integer Ranges *) - -(* Why3 assumption *) -Definition is_uint8 (x:Z): Prop := (0%Z <= x)%Z /\ (x < 256%Z)%Z. - -(* Why3 assumption *) -Definition is_sint8 (x:Z): Prop := ((-128%Z)%Z <= x)%Z /\ (x < 128%Z)%Z. - -(* Why3 assumption *) -Definition is_uint16 (x:Z): Prop := (0%Z <= x)%Z /\ (x < 65536%Z)%Z. - -(* Why3 assumption *) -Definition is_sint16 (x:Z): Prop := ((-32768%Z)%Z <= x)%Z /\ (x < 32768%Z)%Z. - -(* Why3 assumption *) -Definition is_uint32 (x:Z): Prop := (0%Z <= x)%Z /\ (x < 4294967296%Z)%Z. - -(* Why3 assumption *) -Definition is_sint32 (x:Z): Prop := ((-2147483648%Z)%Z <= x)%Z /\ - (x < 2147483648%Z)%Z. - -(* Why3 assumption *) -Definition is_uint64 (x:Z): Prop := (0%Z <= x)%Z /\ - (x < 18446744073709551616%Z)%Z. - -(* Why3 assumption *) -Definition is_sint64 (x:Z): Prop := ((-9223372036854775808%Z)%Z <= x)%Z /\ - (x < 9223372036854775808%Z)%Z. - -(* Why3 goal *) -Lemma is_bool0 : (is_bool 0%Z). -Proof. - unfold is_bool. auto. -Qed. - -(* Why3 goal *) -Lemma is_bool1 : (is_bool 1%Z). -Proof. - unfold is_bool. auto. -Qed. - -(* Why3 goal *) -Definition to_bool: Z -> Z. -exact (fun x => if ( x =? 0 ) then 0 else 1). -Defined. - -(* Why3 goal *) -Lemma to_bool_def : forall (x:Z), ((x = 0%Z) -> ((to_bool x) = 0%Z)) /\ - ((~ (x = 0%Z)) -> ((to_bool x) = 1%Z)). -Proof. -intros x. unfold to_bool. induction (Z.eqb_spec x 0%Z) ; intuition. -Qed. - -Local Open Scope Z_scope. - -Definition to_range a b z := a + (z-a) mod (b-a). - -Ltac simplify_to_range_unfolding := - repeat (rewrite Z.sub_0_r); repeat (rewrite Z.add_0_l); repeat (rewrite Z.sub_opp_r). - -Lemma is_to_range: forall a b z, a<b -> a <= to_range a b z < b. -Proof. - intros. - unfold to_range. - assert (Q : b-a > 0) ; auto with zarith. - generalize (Z_mod_lt (z-a) (b-a) Q). - intro R. - auto with zarith. -Qed. - - -(* Why3 goal *) -Definition to_uint8: Z -> Z. -exact (to_range 0 256). -Defined. - -(* Why3 goal *) -Definition to_sint8: Z -> Z. -exact (to_range (-128) 128). -Defined. - -(* Why3 goal *) -Definition to_uint16: Z -> Z. -exact (to_range 0 65536). -Defined. - -(* Why3 goal *) -Definition to_sint16: Z -> Z. -exact (to_range (-32768) 32768). -Defined. - -(* Why3 goal *) -Definition to_uint32: Z -> Z. -exact (to_range 0 4294967296). -Defined. - -(* Why3 goal *) -Definition to_sint32: Z -> Z. -exact (to_range (-2147483648) 2147483648). -Defined. - -(* Why3 goal *) -Definition to_uint64: Z -> Z. -exact (to_range 0 18446744073709551616). -Defined. - -(* Why3 goal *) -Definition to_sint64: Z -> Z. -exact (to_range (-9223372036854775808) 9223372036854775808). -Defined. - -(* Why3 goal *) -Definition two_power_abs: Z -> Z. -exact (fun n => two_power_nat (Z.abs_nat n)). -Defined. - -(* Why3 goal *) -Lemma two_power_abs_is_positive : forall (n:Z), (0%Z < (two_power_abs n))%Z. -Proof. - intros n. - unfold two_power_abs. - apply two_power_nat_is_positive. -Qed. - -(* Why3 goal *) -Lemma two_power_abs_plus_pos : forall (n:Z) (m:Z), (0%Z <= n)%Z -> - ((0%Z <= m)%Z -> - ((two_power_abs (n + m)%Z) = ((two_power_abs n) * (two_power_abs m))%Z)). -Proof. - intros n m h1 h2. - unfold two_power_abs. - replace (Z.abs_nat (n + m)) with ((Z.abs_nat n) + (Z.abs_nat m))%nat. - + rewrite two_power_nat_plus. trivial. - + rewrite Zabs2Nat.inj_add by omega. trivial. -Qed. - -(* Why3 goal *) -Lemma two_power_abs_plus_one : forall (n:Z), (0%Z <= n)%Z -> - ((two_power_abs (n + 1%Z)%Z) = (2%Z * (two_power_abs n))%Z). -Proof. - intros n h1. - rewrite two_power_abs_plus_pos by omega. - replace (two_power_abs 1) with 2%Z. - + ring. - + unfold two_power_abs. - compute. trivial. -Qed. - -(* Why3 assumption *) -Definition is_uint (n:Z) (x:Z): Prop := (0%Z <= x)%Z /\ - (x < (two_power_abs n))%Z. - -(* Why3 assumption *) -Definition is_sint (n:Z) (x:Z): Prop := ((-(two_power_abs n))%Z <= x)%Z /\ - (x < (two_power_abs n))%Z. - -(* Why3 goal *) -Definition to_uint: Z -> Z -> Z. -exact (fun n => to_range 0 (two_power_abs n)). -Defined. - -Ltac to_uint to_uintN := unfold to_uint; unfold to_uintN; f_equal. - -Remark to_uint_8 : to_uint8 = to_uint 8%Z. -Proof. to_uint to_uint8. -Qed. - -Remark to_uint_16 : to_uint16 = to_uint 16%Z. -Proof. to_uint to_uint16. -Qed. - -Remark to_uint_32 : to_uint32 = to_uint 32%Z. -Proof. to_uint to_uint32. -Qed. - -Remark to_uint_64 : to_uint64 = to_uint 64%Z. -Proof. to_uint to_uint64. -Qed. - -(* Why3 goal *) -Definition to_sint: Z -> Z -> Z. -exact (fun n => to_range (-two_power_abs n) (two_power_abs n)). -Defined. - -Ltac to_sint to_sintN := unfold to_sint; unfold to_sintN; f_equal. - -Remark to_sint_8 : to_sint8 = to_sint 7%Z. -Proof. to_sint to_sint8. -Qed. - -Remark to_sint_16 : to_sint16 = to_sint 15%Z. -Proof. to_sint to_sint16. -Qed. - -Remark to_sint_32 : to_sint32 = to_sint 31%Z. -Proof. to_sint to_sint32. -Qed. - -Remark to_sint_64 : to_sint64 = to_sint 63%Z. -Proof. to_sint to_sint64. -Qed. - -(* Why3 goal *) -Lemma is_to_uint : forall (n:Z) (x:Z), (is_uint n (to_uint n x)). -Proof. - intros n x. - apply is_to_range. - apply two_power_abs_is_positive. -Qed. - -(* Why3 goal *) -Lemma is_to_sint : forall (n:Z) (x:Z), (is_sint n (to_sint n x)). -Proof. - intros n x. - apply is_to_range. - generalize (two_power_abs_is_positive n); intro. - omega. -Qed. - -(** * C-Integer Conversions are in-range *) - -Local Ltac to_range := intro x ; apply is_to_range ; omega. - -(* Why3 goal *) -Lemma is_to_uint8 : forall (x:Z), (is_uint8 (to_uint8 x)). -Proof. to_range. -Qed. - -(* Why3 goal *) -Lemma is_to_sint8 : forall (x:Z), (is_sint8 (to_sint8 x)). -Proof. to_range. -Qed. - -(* Why3 goal *) -Lemma is_to_uint16 : forall (x:Z), (is_uint16 (to_uint16 x)). -Proof. to_range. -Qed. - -(* Why3 goal *) -Lemma is_to_sint16 : forall (x:Z), (is_sint16 (to_sint16 x)). -Proof. to_range. -Qed. - -(* Why3 goal *) -Lemma is_to_uint32 : forall (x:Z), (is_uint32 (to_uint32 x)). -Proof. to_range. -Qed. - -(* Why3 goal *) -Lemma is_to_sint32 : forall (x:Z), (is_sint32 (to_sint32 x)). -Proof. to_range. -Qed. - -(* Why3 goal *) -Lemma is_to_uint64 : forall (x:Z), (is_uint64 (to_uint64 x)). -Proof. to_range. -Qed. - -(* Why3 goal *) -Lemma is_to_sint64 : forall (x:Z), (is_sint64 (to_sint64 x)). -Proof. to_range. -Qed. - -(** * C-Integer Conversions are identity when in-range *) - -Remark mod_kn_mod_n: forall (k:Z) (n:Z) (x:Z), k>0 -> n>0 -> (x mod (k*n)) mod n = x mod n. -Proof. - intros. - rewrite (Zmod_eq_full x (k*n)). - + rewrite <- Z.add_opp_r. rewrite Zopp_mult_distr_l. - replace (- (x/(k*n)) * (k*n)) with (((-(x/(k*n))) * k) * n) by ring. - apply Z_mod_plus_full. - + assert (k*n > 0). - { apply Zmult_gt_0_compat; trivial. } - omega. -Qed. - -Lemma id_to_range : forall a b x, a <= x < b -> to_range a b x = x. -Proof. - intros a b x Range. unfold to_range. - assert (Q : b-a > 0) ; auto with zarith. - cut ((x-a) mod (b-a) = (x-a)). omega. - apply Zmod_small. omega. -Qed. - -Local Ltac id_range := intro x ; apply id_to_range ; omega. - -(* Why3 goal *) -Lemma id_uint : forall (n:Z) (x:Z), (is_uint n x) <-> ((to_uint n x) = x). -Proof. - intros n x; split. - + apply id_to_range. - + intro H; rewrite <- H. apply is_to_uint. -Qed. - -(* Why3 goal *) -Lemma id_sint : forall (n:Z) (x:Z), (is_sint n x) <-> ((to_sint n x) = x). -Proof. - intros n x; split. - + apply id_to_range. - + intro H; rewrite <- H. apply is_to_sint. -Qed. - -(* Why3 goal *) -Lemma id_uint8 : forall (x:Z), (is_uint8 x) -> ((to_uint8 x) = x). -Proof. id_range. -Qed. - -(* Why3 goal *) -Lemma id_sint8 : forall (x:Z), (is_sint8 x) -> ((to_sint8 x) = x). -Proof. id_range. -Qed. - -(* Why3 goal *) -Lemma id_uint16 : forall (x:Z), (is_uint16 x) -> ((to_uint16 x) = x). -Proof. id_range. -Qed. - -(* Why3 goal *) -Lemma id_sint16 : forall (x:Z), (is_sint16 x) -> ((to_sint16 x) = x). -Proof. id_range. -Qed. - -(* Why3 goal *) -Lemma id_uint32 : forall (x:Z), (is_uint32 x) -> ((to_uint32 x) = x). -Proof. id_range. -Qed. - -(* Why3 goal *) -Lemma id_sint32 : forall (x:Z), (is_sint32 x) -> ((to_sint32 x) = x). -Proof. id_range. -Qed. - -(* Why3 goal *) -Lemma id_uint64 : forall (x:Z), (is_uint64 x) -> ((to_uint64 x) = x). -Proof. id_range. -Qed. - -(* Why3 goal *) -Lemma id_sint64 : forall (x:Z), (is_sint64 x) -> ((to_sint64 x) = x). -Proof. id_range. -Qed. - -(** * C-Integer Conversions are projections *) - -Local Ltac proj := intro x ; apply id_to_range ; apply is_to_range ; omega. - -(* Why3 goal *) -Lemma proj_uint : forall (n:Z) (x:Z), ((to_uint n (to_uint n x)) = (to_uint n - x)). -Proof. - intros n x. apply id_to_range. - unfold to_uint. apply is_to_range. apply two_power_abs_is_positive. -Qed. - -(* Why3 goal *) -Lemma proj_sint : forall (n:Z) (x:Z), ((to_sint n (to_sint n x)) = (to_sint n - x)). -Proof. - intros n x. apply id_to_range. - unfold to_sint. apply is_to_range. - assert (0 < two_power_abs n). - { apply two_power_abs_is_positive. } - omega. -Qed. - -(* Why3 goal *) -Lemma proj_uint8 : forall (x:Z), ((to_uint8 (to_uint8 x)) = (to_uint8 x)). -Proof. proj. -Qed. - -(* Why3 goal *) -Lemma proj_sint8 : forall (x:Z), ((to_sint8 (to_sint8 x)) = (to_sint8 x)). -Proof. proj. -Qed. - -(* Why3 goal *) -Lemma proj_uint16 : forall (x:Z), - ((to_uint16 (to_uint16 x)) = (to_uint16 x)). -Proof. proj. -Qed. - -(* Why3 goal *) -Lemma proj_sint16 : forall (x:Z), - ((to_sint16 (to_sint16 x)) = (to_sint16 x)). -Proof. proj. -Qed. - -(* Why3 goal *) -Lemma proj_uint32 : forall (x:Z), - ((to_uint32 (to_uint32 x)) = (to_uint32 x)). -Proof. proj. -Qed. - -(* Why3 goal *) -Lemma proj_sint32 : forall (x:Z), - ((to_sint32 (to_sint32 x)) = (to_sint32 x)). -Proof. proj. -Qed. - -(* Why3 goal *) -Lemma proj_uint64 : forall (x:Z), - ((to_uint64 (to_uint64 x)) = (to_uint64 x)). -Proof. proj. -Qed. - -(* Why3 goal *) -Lemma proj_sint64 : forall (x:Z), - ((to_sint64 (to_sint64 x)) = (to_sint64 x)). -Proof. proj. -Qed. - -(* Why3 goal *) -Lemma proj_su : forall (n:Z) (x:Z), ((to_sint n (to_uint n x)) = (to_uint n - x)). -Proof. - intros n x; unfold to_uint; unfold to_sint; unfold to_range; simplify_to_range_unfolding. - generalize (two_power_abs_is_positive n). - pose (n2:=(two_power_abs n)); fold n2. - intros. - replace (n2 + n2) with (2*n2) by (auto with zarith). - replace ((x mod n2 + n2) mod (2 * n2)) with (x mod n2 + n2). - + replace (- n2 + (x mod n2 + n2)) with (x mod n2) by ring. - trivial. - + symmetry. apply Zmod_small. - assert (0 <= x mod n2 < n2). - { apply Z_mod_lt; omega. } - omega. -Qed. - -(* Why3 goal *) -Lemma incl_su : forall (n:Z) (x:Z), (is_uint n x) -> (is_sint n x). -Proof. - intros n x. - rewrite id_uint; intro H; rewrite <- H. - rewrite id_sint; apply proj_su. -Qed. - -(* Why3 goal *) -Lemma proj_su_uint : forall (n:Z) (m:Z) (x:Z), (0%Z <= n)%Z -> - ((0%Z <= m)%Z -> ((to_sint (m + n)%Z (to_uint n x)) = (to_uint n x))). -Proof. - intros n m x Posn POSm; unfold to_uint; unfold to_sint; unfold to_range. - repeat (rewrite Z.sub_0_r); rewrite Z.add_0_l; repeat (rewrite Z.sub_opp_r). - generalize (two_power_abs_is_positive n). - generalize (two_power_abs_is_positive m). - generalize (two_power_abs_is_positive (m+n)). - - rewrite two_power_abs_plus_pos by omega. - pose (n2:=(two_power_abs n)); fold n2. - pose (m2:=(two_power_abs m)); fold m2. - intros. - - replace (m2*n2 + m2*n2) with (2*(m2*n2)) by (auto with zarith). - replace ((x mod n2 + (m2*n2)) mod (2*(m2*n2))) with (x mod n2 + (m2*n2)). - + omega. - + symmetry. apply Zmod_small. - pose (r:=(x mod n2)); fold r. - assert (0 <= r < n2). - { apply Z_mod_lt; omega. } - split. - * omega. - * replace (2*(m2*n2)) with (m2*n2 + m2*n2) by (auto with zarith). - rewrite <- Z.add_lt_mono_r. - pose (mn:=(m2 * n2)); fold mn. - assert (n2 <= mn). - { replace n2 with (1*n2) by auto with zarith. - unfold mn. - apply Int.CompatOrderMult; omega. } - destruct H2. omega. -Qed. - -(* Why3 goal *) -Lemma proj_su_sint : forall (n:Z) (m:Z) (x:Z), (0%Z <= n)%Z -> - ((0%Z <= m)%Z -> ((to_sint n (to_uint (m + (n + 1%Z)%Z)%Z x)) = (to_sint n - x))). -Proof. - intros n m x POSn POSm; unfold to_uint; unfold to_sint; unfold to_range. - repeat (rewrite Z.sub_0_r); rewrite Z.add_0_l; repeat (rewrite Z.sub_opp_r). - generalize (two_power_abs_is_positive n). - generalize (two_power_abs_is_positive m). - generalize (two_power_abs_is_positive (m + (n + 1))). - - rewrite two_power_abs_plus_pos by omega. - rewrite two_power_abs_plus_one by omega. - pose (n2:=(two_power_abs n)); fold n2. - pose (m2:=(two_power_abs m)); fold m2. - intros. - - replace (n2 + n2) with (2*n2) by (auto with zarith). - symmetry. - rewrite <- (mod_kn_mod_n m2 ) by omega. - rewrite <- Z.add_mod_idemp_l by omega. - rewrite mod_kn_mod_n by omega. - trivial. -Qed. - -(* Why3 goal *) -Lemma proj_int8 : forall (x:Z), ((to_sint8 (to_uint8 x)) = (to_sint8 x)). -Proof. - intros x. - rewrite to_sint_8. rewrite to_uint_8. - replace 8 with (0+(7+1)) by (auto with zarith). - apply proj_su_sint; (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma proj_int16 : forall (x:Z), ((to_sint16 (to_uint16 x)) = (to_sint16 x)). -Proof. - intros x. - rewrite to_sint_16. rewrite to_uint_16. - replace 16 with (0+(15+1)) by (auto with zarith). - apply proj_su_sint; (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma proj_int32 : forall (x:Z), ((to_sint32 (to_uint32 x)) = (to_sint32 x)). -Proof. - intros x. - rewrite to_sint_32. rewrite to_uint_32. - replace 32 with (0+(31+1)) by (auto with zarith). - apply proj_su_sint; (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma proj_int64 : forall (x:Z), ((to_sint64 (to_uint64 x)) = (to_sint64 x)). -Proof. - intros x. - rewrite to_sint_64. rewrite to_uint_64. - replace 64 with (0+(63+1)) by (auto with zarith). - apply proj_su_sint; (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma proj_us_uint : forall (n:Z) (m:Z) (x:Z), (0%Z <= n)%Z -> - ((0%Z <= m)%Z -> ((to_uint (n + 1%Z)%Z (to_sint (m + n)%Z - x)) = (to_uint (n + 1%Z)%Z x))). -Proof. - intros n m x POSn POSm; unfold to_uint; unfold to_sint; unfold to_range. - repeat (rewrite Z.sub_0_r); repeat (rewrite Z.add_0_l); repeat (rewrite Z.sub_opp_r). - generalize (two_power_abs_is_positive n). - generalize (two_power_abs_is_positive m). - rewrite two_power_abs_plus_one by omega. - rewrite two_power_abs_plus_pos by omega. - pose (n2:=(two_power_abs n)); fold n2. - pose (m2:=(two_power_abs m)); fold m2. - intros. - replace (m2*n2 + m2*n2) with (2*(m2*n2)) by (auto with zarith). - rewrite Z.add_opp_l. - symmetry. - rewrite <- (mod_kn_mod_n m2) by omega. - replace (m2 * (2 * n2)) with (2 * (m2 * n2)) by ring. - pose (mn:=(m2*n2)); fold mn. - replace x with ((x+mn)-mn) by (auto with zarith). - replace (x + mn - mn + mn) with (x + mn) by (auto with zarith). - rewrite <- Zminus_mod_idemp_l. - unfold mn. - replace (2 * (m2 * n2)) with (m2 * (2 * n2)) by ring. - rewrite mod_kn_mod_n by omega. - trivial. -Qed. - -Remark two_power_abs_increase: forall (n:Z), 0 <= n -> two_power_abs n < two_power_abs (n +1). -Proof. - intros. - generalize (two_power_abs_is_positive n); intro h. - rewrite two_power_abs_plus_one; omega. -Qed. - -Require Import Qedlib. -(* Why3 goal *) -Lemma incl_uint : forall (n:Z) (x:Z) (i:Z), (0%Z <= n)%Z -> ((0%Z <= i)%Z -> - ((is_uint n x) -> (is_uint (n + i)%Z x))). -Proof. - intros n x i h1 h2 h3. - apply Qedlib.Z_induction_rank with (m:=0) (n := i) ; auto with zarith. - { replace (n + 0) with n by ring; auto. } - intro; unfold is_uint; intros h10 h11. - split. - + omega. - + replace (n + (n0 + 1)) with ((n + n0) + 1) by ring. - pose (m :=(n + n0)); fold m; fold m in h11. - assert (two_power_abs m < two_power_abs (m + 1)). - { assert (0 <= m) by (unfold m; omega). - clear h11 h2 x h3 i h1 h10. - apply two_power_abs_increase; auto. - } - omega. -Qed. - -(* Why3 goal *) -Lemma incl_sint : forall (n:Z) (x:Z) (i:Z), (0%Z <= n)%Z -> ((0%Z <= i)%Z -> - ((is_sint n x) -> (is_sint (n + i)%Z x))). -Proof. - intros n x i h1 h2 h3. - apply Qedlib.Z_induction_rank with (m:=0) (n := i) ; auto with zarith. - { replace (n + 0) with n by ring; auto. } - intro; unfold is_sint; intros h10 h11. - replace (n + (n0 + 1)) with ((n + n0) + 1) by ring. - pose (m :=(n + n0)); fold m; fold m in h11. - assert (0 <= m). - { unfold m; omega. } - generalize (two_power_abs_increase m); intro. - omega. -Qed. - -(* Why3 goal *) -Lemma incl_int : forall (n:Z) (x:Z) (i:Z), (0%Z <= n)%Z -> ((0%Z <= i)%Z -> - ((is_uint n x) -> (is_sint (n + i)%Z x))). -Proof. - intros n x i h1 h2 h3. - unfold is_sint; unfold is_uint in h3. - apply Qedlib.Z_induction_rank with (m:=0) (n := i) ; auto with zarith. - { replace (n + 0) with n by ring; omega. } - intro. - replace (n + (n0 + 1)) with ((n + n0) + 1) by ring. - pose (m :=(n + n0)); fold m; intros. - assert (0 <= m). - { unfold m; omega. } - generalize (two_power_abs_increase m); intro. - omega. -Qed. - -Require Import Zbits. - -(* Why3 goal *) -Definition lnot: Z -> Z. - exact (lnot). -Defined. - -(* Why3 goal *) -Definition land: Z -> Z -> Z. - exact (land). -Defined. - -(* Why3 goal *) -Definition lxor: Z -> Z -> Z. - exact (lxor). -Defined. - -(* Why3 goal *) -Definition lor: Z -> Z -> Z. - exact (lor). -Defined. - -(* Why3 goal *) -Definition lsl: Z -> Z -> Z. - exact (lsl). -Defined. - -(* Why3 goal *) -Definition lsr: Z -> Z -> Z. - exact (lsr). -Defined. - -(* Why3 goal *) -Definition bit_testb: Z -> Z -> bool. -exact (bit_testb). -Defined. - -(* Why3 goal *) -Definition bit_test: Z -> Z -> Prop. -exact (fun x i => (bit_testb x i) = true). -Defined. - -(* Unused content named is_uint8_pos -intros x h. -red in h. -intuition. -Qed. - *) -(* Unused content named is_uint16_pos -intros x h. -red in h. -intuition. -Qed. - *) -(* Unused content named is_uint32_pos -intros x h. -red in h. -intuition. -Qed. - *) -(* Unused content named is_uint64_pos -intros x h. -red in h. -intuition. -Qed. - *) -(** * Tacticals. *) -Require Import Qedlib. - -Fixpoint Cst_nat n := - match n with O => true | S c => Cst_nat c - end. -Fixpoint Cst_pos p := - match p with xH => true | xI c | xO c => Cst_pos c - end. -Fixpoint Cst_N n := - match n with N0 => true | Npos c => Cst_pos c - end. -Definition Cst_Z x := - match x with Z0 => true | Zpos c | Zneg c => Cst_pos c - end. -Ltac COMPUTE e := - let R := fresh in pose (R := e); fold R; compute in R; unfold R; clear R. -Ltac COMPUTE_HYP h e := - let R := fresh in pose (R := e); fold R in h; compute in R; unfold R in h; clear R. -Ltac GUARD cst e := - let E := fresh in pose (E := cst e); compute in E; - match goal with - | [ E:=true |- _] => clear E - end. -Ltac COMPUTE1 f cst := - match goal with - | [ |- context[f ?e] ] => GUARD cst e; COMPUTE (f e) - | [ H:=context[f ?e] |- _ ] => GUARD cst e; COMPUTE_HYP H (f e) - | [ H: context[f ?e] |- _ ] => GUARD cst e; COMPUTE_HYP H (f e) - end. -Ltac COMPUTE2 f cst1 cst2 := - match goal with - | [ |- context[f ?e1 ?e2] ] => GUARD cst1 e1; GUARD cst2 e2; COMPUTE (f e1 e2) - | [ H:=context[f ?e1 ?e2] |- _] => GUARD cst1 e1; GUARD cst2 e2; COMPUTE_HYP H (f e1 e2) - | [ H: context[f ?e1 ?e2] |- _] => GUARD cst1 e1; GUARD cst2 e2; COMPUTE_HYP H (f e1 e2) - end. -Ltac COMPUTE2AC f cst tac := - match goal with - | [ |- context[f ?e1 (f ?e2 ?e3) ]] => GUARD cst e1; - first [ (GUARD cst e2; (replace (f e1 (f e2 e3)) with (f e3 (f e1 e2)) by (tac ; forward)); COMPUTE (f e1 e2)) - | (GUARD cst e3; (replace (f e1 (f e2 e3)) with (f e2 (f e1 e3)) by (tac ; forward)); COMPUTE (f e1 e3))] - | [ |- context[f (f ?e3 ?e2) ?e1 ]] => GUARD cst e1; - first [ (GUARD cst e2; (replace (f (f e3 e2) e1) with (f e3 (f e2 e1)) by (tac ; forward)); COMPUTE (f e2 e1)) - | (GUARD cst e3; (replace (f (f e3 e2) e1) with (f e2 (f e3 e1)) by (tac ; forward)); COMPUTE (f e3 e1))] - | [ H:=context[f ?e1 (f ?e2 ?e3) ] |- _] => GUARD cst e1; - first [ (GUARD cst e2; (replace (f e1 (f e2 e3)) with (f e3 (f e1 e2)) in H by (tac ; forward)); COMPUTE_HYP H (f e1 e2)) - | (GUARD cst e3; (replace (f e1 (f e2 e3)) with (f e2 (f e1 e3)) in H by (tac ; forward)); COMPUTE_HYP H (f e1 e3))] - | [ H:=context[f (f ?e3 ?e2) ?e1 ] |- _] => GUARD cst e1; - first [ (GUARD cst e2; (replace (f (f e3 e2) e1) with (f e3 (f e2 e1)) in H by (tac ; forward)); COMPUTE_HYP H (f e2 e1)) - | (GUARD cst e3; (replace (f (f e3 e2) e1) with (f e2 (f e3 e1)) in H by (tac ; forward)); COMPUTE_HYP H (f e3 e1))] - | [ H: context[f ?e1 (f ?e2 ?e3) ] |- _] => GUARD cst e1; - first [ (GUARD cst e2; (replace (f e1 (f e2 e3)) with (f e3 (f e1 e2)) in H by (tac ; forward)); COMPUTE (f e1 e2)) - | (GUARD cst e3; (replace (f e1 (f e2 e3)) with (f e2 (f e1 e3)) in H by (tac ; forward)); COMPUTE_HYP H (f e1 e3))] - | [ H: context[f (f ?e3 ?e2) ?e1 ] |- _] => GUARD cst e1; - first [ (GUARD cst e2; (replace (f (f e3 e2) e1) with (f e3 (f e2 e1)) in H by (tac ; forward)); COMPUTE_HYP H (f e2 e1)) - | (GUARD cst e3; (replace (f (f e3 e2) e1) with (f e2 (f e3 e1)) in H by (tac ; forward)); COMPUTE_HYP H (f e3 e1))] - end. -Ltac COMPUTE3 f cst1 cst2 cst3 := - match goal with - | [ |- context[f ?e1 ?e2 ?e3] ] => GUARD cst1 e1; GUARD cst2 e2; GUARD cst3 e3; COMPUTE (f e1 e2 e3) - | [ H:=context[f ?e1 ?e2 ?e3] |- _ ] => GUARD cst1 e1; GUARD cst2 e2; GUARD cst3 e3; COMPUTE_HYP H (f e1 e2 e3) - | [ H: context[f ?e1 ?e2 ?e3] |- _ ] => GUARD cst1 e1; GUARD cst2 e2; GUARD cst3 e3; COMPUTE_HYP H (f e1 e2 e3) - end. - -(* - -Require Import Bits. - -Ltac ring_tactic := ring. - -Ltac rewrite_cst := - first [ COMPUTE Zopp Cst_Z - | COMPUTE Zsucc Cst_Z - | COMPUTE Zpred Cst_Z - | COMPUTE Zdouble_plus_one Cst_Z - | COMPUTE Zdouble_minus_one Cst_Z - | COMPUTE Zdouble Cst_Z - | COMPUTE Zabs Cst_Z - - | COMPUTE Zabs_N Cst_Z - | COMPUTE Zabs_nat Cst_Z - - | COMPUTE Z_of_N Cst_N - | COMPUTE Z_of_nat Cst_nat - | COMPUTE two_power_nat Cst_nat - - | COMPUTE2 Zminus Cst_Z Cst_Z - | COMPUTE2 Zplus Cst_Z Cst_Z - | COMPUTE2 Zmult Cst_Z Cst_Z - - | COMPUTE2AC Zplus Cst_Z ring_tactic - | COMPUTE2AC Zmult Cst_Z ring_tactic - - | COMPUTE to_uint8 Cst_Z - | COMPUTE to_sint8 Cst_Z - | COMPUTE to_uint16 Cst_Z - | COMPUTE to_sint16 Cst_Z - | COMPUTE to_uint32 Cst_Z - | COMPUTE to_sint32 Cst_Z - | COMPUTE to_uint64 Cst_Z - | COMPUTE to_sint64 Cst_Z - | COMPUTE3 to_range Cst_Z Cst_Z Cst_Z - | COMPUTE1 zlnot Cst_Z - | COMPUTE1 ZxHpos Cst_Z - | COMPUTE1 ZxHpower Cst_Z - ]. - -Remark rewrite_cst_example_1: forall x y, 1 + ((2 * x) * 3 + 2) = (3 * (2 * y)+ 2) + 1 -> 1 + (2 + (x * 2) * 3 ) = (2 + 3 * (y* 2)) + 1. -Proof. - intros. repeat rewrite_cst. auto. -Qed. - -Remark rewrite_cst_example_2: forall x: Z, - x + zlnot (zlnot (0)) = x + Z_of_nat (ZxHpos 0). -Proof. - rewrite_cst. intro. auto. -Qed. - -*) diff --git a/src/plugins/wp/share/why3/Cint.why b/src/plugins/wp/share/why3/Cint.why deleted file mode 100644 index 0522aebf1c30162f2143e7310c6e85b12b71ce10..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Cint.why +++ /dev/null @@ -1,197 +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). *) -(* *) -(**************************************************************************) - -theory Cint -use bool.Bool as Bool -use int.Int as Int - -function max_uint8 : int = 256 - -function max_sint8 : int = 128 - -function max_uint16 : int = 65536 - -function max_sint16 : int = 32768 - -function max_uint32 : int = 4294967296 - -function max_sint32 : int = 2147483648 - -function max_uint64 : int = 18446744073709551616 - -function max_sint64 : int = 9223372036854775808 - -predicate is_bool (x:int) = ((x) = (0)) \/ ((x) = (1)) - -predicate is_uint8 int - -axiom is_uint8_def : forall x:int [is_uint8 x]. is_uint8 x <-> - (Int.(<=) (0) (x)) /\ (Int.(<) (x) (max_uint8)) - -predicate is_sint8 int - -axiom is_sint8_def : forall x:int [is_sint8 x]. is_sint8 x <-> - (Int.(<=) ((Int.(-_) (max_sint8))) (x)) /\ (Int.(<) (x) (max_sint8)) - -predicate is_uint16 int - -axiom is_uint16_def : forall x:int [is_uint16 x]. is_uint16 x <-> - (Int.(<=) (0) (x)) /\ (Int.(<) (x) (max_uint16)) - -predicate is_sint16 (x:int) = (Int.(<=) ((Int.(-_) (max_sint16))) (x)) /\ - (Int.(<) (x) (max_sint16)) - -predicate is_uint32 int - -axiom is_uint32_def : forall x:int [is_uint32 x]. is_uint32 x <-> - (Int.(<=) (0) (x)) /\ (Int.(<) (x) (max_uint32)) - -predicate is_sint32 int - -axiom is_sint32_def : forall x:int [is_sint32 x]. is_sint32 x <-> - (Int.(<=) ((Int.(-_) (max_sint32))) (x)) /\ (Int.(<) (x) (max_sint32)) - -predicate is_uint64 int - -axiom is_uint64_def : forall x:int [is_uint64 x]. is_uint64 x <-> - (Int.(<=) (0) (x)) /\ (Int.(<) (x) (max_uint64)) - -predicate is_sint64 int - -axiom is_sint64_def : forall x:int [is_sint64 x]. is_sint64 x <-> - (Int.(<=) ((Int.(-_) (max_sint64))) (x)) /\ (Int.(<) (x) (max_sint64)) - -lemma is_bool0 : is_bool 0 - -lemma is_bool1 : is_bool 1 - -function to_bool (x:int) : int = if ((x) = (0)) then 0 else 1 - -function to_uint8 int : int - -function to_sint8 int : int - -function to_uint16 int : int - -function to_sint16 int : int - -function to_uint32 int : int - -function to_sint32 int : int - -function to_uint64 int : int - -function to_sint64 int : int - -function two_power_abs int : int - -predicate is_uint (n:int) (x:int) = (Int.(<=) (0) (x)) /\ - (Int.(<) (x) (two_power_abs n)) - -predicate is_sint (n:int) (x:int) = (Int.(<=) ((Int.(-_) (two_power_abs - n))) (x)) /\ (Int.(<) (x) (two_power_abs n)) - -function to_uint int int : int - -function to_sint int int : int - -axiom is_to_uint8 : forall x:int [is_uint8 (to_uint8 x)]. is_uint8 (to_uint8 - x) - -axiom is_to_sint8 : forall x:int [is_sint8 (to_sint8 x)]. is_sint8 (to_sint8 - x) - -axiom is_to_uint16 : forall x:int [is_uint16 (to_uint16 x)]. is_uint16 - (to_uint16 x) - -axiom is_to_sint16 : forall x:int [is_sint16 (to_sint16 x)]. is_sint16 - (to_sint16 x) - -axiom is_to_uint32 : forall x:int [is_uint32 (to_uint32 x)]. is_uint32 - (to_uint32 x) - -axiom is_to_sint32 : forall x:int [is_sint32 (to_sint32 x)]. is_sint32 - (to_sint32 x) - -axiom is_to_uint64 : forall x:int [is_uint64 (to_uint64 x)]. is_uint64 - (to_uint64 x) - -axiom is_to_sint64 : forall x:int [is_sint64 (to_sint64 x)]. is_sint64 - (to_sint64 x) - -axiom id_uint8 : forall x:int [to_uint8 x]. (Int.(<=) (0) (x)) /\ - (Int.(<) (x) (max_uint8)) -> ((to_uint8 x) = (x)) - -axiom id_sint8 : forall x:int [to_sint8 x]. - (Int.(<=) ((Int.(-_) (max_sint8))) (x)) /\ (Int.(<) (x) (max_sint8)) -> - ((to_sint8 x) = (x)) - -axiom id_uint16 : forall x:int [to_uint16 x]. (Int.(<=) (0) (x)) /\ - (Int.(<) (x) (max_uint16)) -> ((to_uint16 x) = (x)) - -axiom id_sint16 : forall x:int [to_sint16 x]. - (Int.(<=) ((Int.(-_) (max_sint16))) (x)) /\ (Int.(<) (x) (max_sint16)) -> - ((to_sint16 x) = (x)) - -axiom id_uint32 : forall x:int [to_uint32 x]. (Int.(<=) (0) (x)) /\ - (Int.(<) (x) (max_uint32)) -> ((to_uint32 x) = (x)) - -axiom id_sint32 : forall x:int [to_sint32 x]. - (Int.(<=) ((Int.(-_) (max_sint32))) (x)) /\ (Int.(<) (x) (max_sint32)) -> - ((to_sint32 x) = (x)) - -axiom id_uint64 : forall x:int [to_uint64 x]. (Int.(<=) (0) (x)) /\ - (Int.(<) (x) (max_uint64)) -> ((to_uint64 x) = (x)) - -axiom id_sint64 : forall x:int [to_sint64 x]. - (Int.(<=) ((Int.(-_) (max_sint64))) (x)) /\ (Int.(<) (x) (max_sint64)) -> - ((to_sint64 x) = (x)) - -axiom proj_int8 : forall x:int [to_sint8 (to_uint8 x)]. ((to_sint8 (to_uint8 - x)) = (to_sint8 x)) - -axiom proj_int16 : forall x:int [to_sint16 (to_uint16 x)]. ((to_sint16 - (to_uint16 x)) = (to_sint16 x)) - -axiom proj_int32 : forall x:int [to_sint32 (to_uint32 x)]. ((to_sint32 - (to_uint32 x)) = (to_sint32 x)) - -axiom proj_int64 : forall x:int [to_sint64 (to_uint64 x)]. ((to_sint64 - (to_uint64 x)) = (to_sint64 x)) - -function lnot int : int - -function land int int : int - -function lxor int int : int - -function lor int int : int - -function lsl int int : int - -function lsr int int : int - -function bit_testb int int : Bool.bool - -predicate bit_test int int - -end diff --git a/src/plugins/wp/share/why3/Cmath.v b/src/plugins/wp/share/why3/Cmath.v deleted file mode 100644 index aada736b6875b2d5a7ac6d56ad67d89f0c3f3c9c..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Cmath.v +++ /dev/null @@ -1,42 +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). *) -(* *) -(**************************************************************************) - -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require int.Int. -Require int.Abs. -Require real.Real. -Require real.RealInfix. - -Require Import RIneq. - -(* Why3 goal *) -Lemma abs_def : - forall (x:Z), - ((0%Z <= x)%Z -> ((ZArith.BinInt.Z.abs x) = x)) /\ - (~ (0%Z <= x)%Z -> ((ZArith.BinInt.Z.abs x) = (-x)%Z)). -Proof. -exact int.Abs.abs_def. -Qed. - diff --git a/src/plugins/wp/share/why3/Memory.v b/src/plugins/wp/share/why3/Memory.v deleted file mode 100644 index 26866826a4970da8a246ebd15a4e03e8a6309a83..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Memory.v +++ /dev/null @@ -1,384 +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). *) -(* *) -(**************************************************************************) - -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require HighOrd. -Require bool.Bool. -Require int.Int. -Require map.Map. - -Require Import ZArith. -Require Import Qedlib. - -(* Why3 assumption *) -Inductive addr := - | mk_addr : Z -> Z -> addr. -Axiom addr_WhyType : WhyType addr. -Existing Instance addr_WhyType. - -(* Why3 assumption *) -Definition offset (v:addr) : Z := match v with - | mk_addr x x1 => x1 - end. - -(* Why3 assumption *) -Definition base (v:addr) : Z := match v with - | mk_addr x x1 => x - end. - -(* Why3 goal *) -Definition addr_le : addr -> addr -> Prop. - exact (fun (p q : addr) => ((base p = base q) /\ (offset p <= offset q)%Z)). -Defined. - -(* Why3 goal *) -Definition addr_lt : addr -> addr -> Prop. - exact (fun (p q : addr) => (base p = base q) /\ (offset p < offset q)%Z). -Defined. - -(* Why3 goal *) -Definition addr_le_bool : addr -> addr -> bool. - exact (fun (p q : addr) => - andb (Zeq_bool (base p) (base q)) (Zle_bool (offset p) (offset q))). -Defined. - -(* Why3 goal *) -Definition addr_lt_bool : addr -> addr -> bool. - exact (fun (p q : addr) => - andb (Zeq_bool (base p) (base q)) (Zlt_bool (offset p) (offset q))). -Defined. - -(* Why3 goal *) -Lemma addr_le_def : - forall (p:addr) (q:addr), ((base p) = (base q)) -> - (addr_le p q) <-> ((offset p) <= (offset q))%Z. -Proof. - unfold addr_le. - intuition. -Qed. - -(* Why3 goal *) -Lemma addr_lt_def : - forall (p:addr) (q:addr), ((base p) = (base q)) -> - (addr_lt p q) <-> ((offset p) < (offset q))%Z. -Proof. - unfold addr_lt. - intuition. -Qed. - -(* Why3 goal *) -Lemma addr_le_bool_def : - forall (p:addr) (q:addr), (addr_le p q) <-> ((addr_le_bool p q) = true). -Proof. - unfold addr_le. unfold addr_le_bool. - intros. split; intro H. - destruct H as [H0 H1]. - rewrite Zeq_is_eq_bool in H0. - apply Zle_imp_le_bool in H1. - rewrite H0. rewrite H1. - compute;reflexivity. - symmetry in H. - apply Bool.andb_true_eq in H. - destruct H as [H1 H2]. - split;[apply Zeq_bool_eq|apply Zle_bool_imp_le];symmetry; assumption. -Qed. - -(* Why3 goal *) -Lemma addr_lt_bool_def : - forall (p:addr) (q:addr), (addr_lt p q) <-> ((addr_lt_bool p q) = true). -Proof. - unfold addr_lt. unfold addr_lt_bool. - intros. split; intro H. - destruct H as [H0 H1]. - rewrite Zeq_is_eq_bool in H0. - rewrite Zlt_is_lt_bool in H1. - rewrite H0. rewrite H1. - compute;reflexivity. - symmetry in H. - apply Bool.andb_true_eq in H. - destruct H as [H1 H2]. - split;[apply Zeq_bool_eq|rewrite Zlt_is_lt_bool];symmetry; assumption. -Qed. - -(* Why3 assumption *) -Definition null : addr := mk_addr 0%Z 0%Z. - -(* Why3 assumption *) -Definition global (b:Z) : addr := mk_addr b 0%Z. - -(* Why3 assumption *) -Definition shift (p:addr) (k:Z) : addr := - mk_addr (base p) ((offset p) + k)%Z. - -(* Why3 assumption *) -Definition included (p:addr) (a:Z) (q:addr) (b:Z) : Prop := - (0%Z < a)%Z -> - (0%Z <= b)%Z /\ - (((base p) = (base q)) /\ - (((offset q) <= (offset p))%Z /\ - (((offset p) + a)%Z <= ((offset q) + b)%Z)%Z)). - -(* Why3 assumption *) -Definition separated (p:addr) (a:Z) (q:addr) (b:Z) : Prop := - (a <= 0%Z)%Z \/ - ((b <= 0%Z)%Z \/ - (~ ((base p) = (base q)) \/ - ((((offset q) + b)%Z <= (offset p))%Z \/ - (((offset p) + a)%Z <= (offset q))%Z))). - -(* Why3 assumption *) -Definition eqmem {a:Type} {a_WT:WhyType a} (m1:addr -> a) (m2:addr -> a) - (p:addr) (a1:Z) : Prop := - forall (q:addr), (included q 1%Z p a1) -> ((m1 q) = (m2 q)). - -(* Why3 goal *) -Variable havoc: forall {a:Type} {a_WT:WhyType a}, (addr -> a) -> - (addr -> a) -> addr -> Z -> addr -> a. - -Definition fhavoc {A : Type} - (m : farray addr A) - (w : farray addr A) (p:addr) (n:Z) : (farray addr A) := - {| whytype1 := whytype1 m; - whytype2 := whytype2 m; - access := @havoc _ (whytype2 m) (access m) (access w) p n |}. - -(* Why3 assumption *) -Definition valid_rw (m:Z -> Z) (p:addr) (n:Z) : Prop := - (0%Z < n)%Z -> - (0%Z < (base p))%Z /\ - ((0%Z <= (offset p))%Z /\ (((offset p) + n)%Z <= (m (base p)))%Z). - -(* Why3 assumption *) -Definition valid_rd (m:Z -> Z) (p:addr) (n:Z) : Prop := - (0%Z < n)%Z -> - ~ (0%Z = (base p)) /\ - ((0%Z <= (offset p))%Z /\ (((offset p) + n)%Z <= (m (base p)))%Z). - -(* Why3 assumption *) -Definition invalid (m:Z -> Z) (p:addr) (n:Z) : Prop := - (0%Z < n)%Z -> - ((m (base p)) <= (offset p))%Z \/ (((offset p) + n)%Z <= 0%Z)%Z. - -(* Why3 goal *) -Lemma valid_rw_rd : - forall (m:Z -> Z), forall (p:addr), forall (n:Z), (valid_rw m p n) -> - valid_rd m p n. -Proof. - intros m p n. - unfold valid_rw. unfold valid_rd. - intuition (auto with zarith). -Qed. - -(* Why3 goal *) -Lemma valid_string : - forall (m:Z -> Z), forall (p:addr), ((base p) < 0%Z)%Z -> - ((0%Z <= (offset p))%Z /\ ((offset p) < (m (base p)))%Z) -> - (valid_rd m p 1%Z) /\ ~ (valid_rw m p 1%Z). -Proof. - intros m p. - unfold valid_rd. unfold valid_rw. - intuition (auto with zarith). -Qed. - -Lemma separated_neq : forall p a q b p' q', - separated p a q b -> - included p' 1 p a -> - included q' 1 q b -> - p' <> q'. -Proof. - intros p a q b p' q' SEP InP InQ EQ. - unfold separated in SEP. - unfold included in InP,InQ. - case_lt 0%Z a. - case_lt 0%Z b. - intros BPOS APOS. - generalize InP ; clear InP. - intro H ; elim H ; clear H ; auto with zarith. - intro H. clear H. - intro H ; elim H ; clear H. - intro BaseP. - intro H ; elim H ; clear H. - intros InP1 InP2. - generalize InQ ; clear InQ. - intro H ; elim H ; clear H ; auto with zarith. - intro H. clear H. - intro H ; elim H ; clear H. - intro BaseQ. - intro H ; elim H ; clear H. - intros InQ1 InQ2. - generalize SEP ; clear SEP. - intro H ; elim H ; clear H ; auto with zarith. - intro H ; elim H ; clear H ; auto with zarith. - intro H ; elim H ; clear H ; auto with zarith. - rewrite <- EQ in BaseQ. - rewrite BaseP in BaseQ. - contradiction. - rewrite <- EQ in InQ1,InQ2. - omega. -Qed. - -(* Why3 goal *) -Lemma separated_1 : - forall (p:addr) (q:addr), forall (a:Z) (b:Z) (i:Z) (j:Z), - (separated p a q b) -> - (((offset p) <= i)%Z /\ (i < ((offset p) + a)%Z)%Z) -> - (((offset q) <= j)%Z /\ (j < ((offset q) + b)%Z)%Z) -> - ~ ((mk_addr (base p) i) = (mk_addr (base q) j)). -Admitted. - -(* Why3 goal *) -Definition region : Z -> Z. -Admitted. - -(* Why3 goal *) -Definition linked : (Z -> Z) -> Prop. -Admitted. - -(* Why3 goal *) -Definition sconst : (addr -> Z) -> Prop. -Admitted. - -(* Why3 assumption *) -Definition framed (m:addr -> addr) : Prop := - forall (p:addr), ((region (base (m p))) <= 0%Z)%Z. - -(* Why3 goal *) -Lemma separated_included : - forall (p:addr) (q:addr), forall (a:Z) (b:Z), (0%Z < a)%Z -> (0%Z < b)%Z -> - (separated p a q b) -> ~ (included p a q b). -Proof. -intros p q a b h1 h2 h3. - unfold separated. unfold included. unfold not. - intuition. -Admitted. - -(* -Lemma separated_region : forall p a q b, - region (base p) <> region (base q) -> separated p a q b. -Proof. - intros p a q b RDIFF. - unfold separated. - right. right. left. - intuition. - apply RDIFF. rewrite H. auto. -Qed. -*) - -(* Why3 goal *) -Lemma included_trans : - forall (p:addr) (q:addr) (r:addr), forall (a:Z) (b:Z) (c:Z), - (included p a q b) -> (included q b r c) -> included p a r c. -Proof. - intros p a q b r c. - unfold included. intuition. -Qed. - -(* Why3 goal *) -Lemma separated_trans : - forall (p:addr) (q:addr) (r:addr), forall (a:Z) (b:Z) (c:Z), - (included p a q b) -> (separated q b r c) -> separated p a r c. -Proof. - intros p a q b r c. -Admitted. - -(* Why3 goal *) -Lemma separated_sym : - forall (p:addr) (q:addr), forall (a:Z) (b:Z), - (separated p a q b) <-> (separated q b p a). -Proof. - intros p q a b. - unfold separated. intuition. -Qed. - -(* Why3 goal *) -Lemma eqmem_included {a:Type} {a_WT:WhyType a} : - forall (m1:addr -> a) (m2:addr -> a), forall (p:addr) (q:addr), - forall (a1:Z) (b:Z), (included p a1 q b) -> (eqmem m1 m2 q b) -> - eqmem m1 m2 p a1. -Proof. - intros m1 m2 p q a1 b h1 h2. -Admitted. - -(* Why3 goal *) -Lemma eqmem_sym {a:Type} {a_WT:WhyType a} : - forall (m1:addr -> a) (m2:addr -> a), forall (p:addr), forall (a1:Z), - (eqmem m1 m2 p a1) -> eqmem m2 m1 p a1. -Proof. - intros m1 m2 p a1. unfold eqmem. -Admitted. - -(* Why3 goal *) -Lemma havoc_access {a:Type} {a_WT:WhyType a} : - forall (m0:addr -> a) (m1:addr -> a), forall (q:addr) (p:addr), - forall (a1:Z), - ((separated q 1%Z p a1) -> (((havoc m0 m1 p a1) q) = (m1 q))) /\ - (~ (separated q 1%Z p a1) -> (((havoc m0 m1 p a1) q) = (m0 q))). -Proof. - intros m0 m1 q p a1. -Admitted. - -(* Why3 goal *) -Definition int_of_addr : addr -> Z. -Admitted. - -(* Why3 goal *) -Definition addr_of_int : Z -> addr. -Admitted. - -(* Why3 goal *) -Definition base_offset: Z -> Z. -Admitted. - -(* Why3 goal *) -Definition base_index: Z -> Z. -Admitted. - -(* Why3 goal *) -Lemma int_of_addr_bijection : forall (a:Z), - ((int_of_addr (addr_of_int a)) = a). -Admitted. - -(* Why3 goal *) -Lemma addr_of_int_bijection : - forall (p:addr), ((addr_of_int (int_of_addr p)) = p). -Admitted. - -(* Why3 goal *) -Lemma addr_of_null : ((int_of_addr null) = 0%Z). -Admitted. - -(* Why3 goal *) -Lemma base_offset_zero : ((base_offset 0%Z) = 0%Z). -Admitted. - -(* Why3 goal *) -Lemma base_offset_inj : forall (i:Z), ((base_index (base_offset i)) = i). -Admitted. - -(* Why3 goal *) -Lemma base_offset_monotonic : forall (i:Z) (j:Z), (i < j)%Z -> - ((base_offset i) < (base_offset j))%Z. -Admitted. - diff --git a/src/plugins/wp/share/why3/Memory.why b/src/plugins/wp/share/why3/Memory.why deleted file mode 100644 index 8496fc9cc19ebb20e7828dae1df523a33e4cbb1a..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Memory.why +++ /dev/null @@ -1,157 +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). *) -(* *) -(**************************************************************************) - -theory Memory -use bool.Bool as Bool -use int.Int as Int -use map.Map as Map - -type addr = - | Mk_addr (base:int) (offset:int) - -predicate addr_le addr addr - -predicate addr_lt addr addr - -function addr_le_bool addr addr : Bool.bool - -function addr_lt_bool addr addr : Bool.bool - -axiom addr_le_def : forall p:addr, q:addr [addr_le p q]. ((base p) = (base - q)) -> addr_le p q <-> (Int.(<=) (offset p) (offset q)) - -axiom addr_lt_def : forall p:addr, q:addr [addr_lt p q]. ((base p) = (base - q)) -> addr_lt p q <-> (Int.(<) (offset p) (offset q)) - -axiom addr_le_bool_def : forall p:addr, q:addr [addr_le_bool p q]. addr_le p - q <-> ((addr_le_bool p q) = (Bool.True)) - -axiom addr_lt_bool_def : forall p:addr, q:addr [addr_lt_bool p q]. addr_lt p - q <-> ((addr_lt_bool p q) = (Bool.True)) - -function null : addr = Mk_addr 0 0 - -function global (b:int) : addr = Mk_addr b 0 - -function shift (p:addr) (k:int) : addr = Mk_addr (base p) (Int.(+) (offset - p) (k)) - -predicate included (p:addr) (a:int) (q:addr) (b:int) = (Int.(>) (a) (0)) -> - (Int.(>=) (b) (0)) /\ ((base p) = (base q)) /\ (Int.(<=) (offset q) (offset - p)) /\ (Int.(<=) ((Int.(+) (offset p) (a))) ((Int.(+) (offset q) (b)))) - -predicate separated (p:addr) (a:int) (q:addr) (b:int) = (Int.(<=) (a) (0)) \/ - (Int.(<=) (b) (0)) \/ not ((base p) = (base q)) \/ - (Int.(<=) ((Int.(+) (offset q) (b))) (offset p)) \/ - (Int.(<=) ((Int.(+) (offset p) (a))) (offset q)) - -predicate eqmem (m1:Map.map addr 'a) (m2:Map.map addr 'a) (p:addr) (a:int) = - forall q:addr [(Map.([]) (m1) (p))| (Map.([]) (m2) (q))]. included q 1 p - a -> (((Map.([]) (m1) (q))) = ((Map.([]) (m2) (q)))) - -function havoc (Map.map addr 'a) (Map.map addr 'a) addr int : Map.map addr 'a - -predicate valid_rw (m:Map.map int int) (p:addr) (n:int) = - (Int.(>) (n) (0)) -> (Int.(<) (0) (base p)) /\ (Int.(<=) (0) (offset p)) /\ - (Int.(<=) ((Int.(+) (offset p) (n))) ((Map.([]) (m) (base p)))) - -predicate valid_rd (m:Map.map int int) (p:addr) (n:int) = - (Int.(>) (n) (0)) -> not ((0) = (base p)) /\ (Int.(<=) (0) (offset p)) /\ - (Int.(<=) ((Int.(+) (offset p) (n))) ((Map.([]) (m) (base p)))) - -predicate invalid (m:Map.map int int) (p:addr) (n:int) = (Int.(>) (n) (0)) -> - (Int.(<=) ((Map.([]) (m) (base p))) (offset p)) \/ - (Int.(<=) ((Int.(+) (offset p) (n))) (0)) - -lemma valid_rw_rd : forall m:Map.map int int. forall p:addr. forall n:int. - valid_rw m p n -> valid_rd m p n - -lemma valid_string : forall m:Map.map int int. forall p:addr. (Int.(<) (base - p) (0)) -> (Int.(<=) (0) (offset p)) /\ (Int.(<) (offset - p) ((Map.([]) (m) (base p)))) -> valid_rd m p 1 /\ not valid_rw m p 1 - -lemma separated_1 : forall p:addr, q:addr. forall a:int, b:int, i:int, j:int - [separated p a q b, Mk_addr (base p) i, Mk_addr (base q) j]. separated p a - q b -> (Int.(<=) (offset p) (i)) /\ (Int.(<) (i) ((Int.(+) (offset - p) (a)))) -> (Int.(<=) (offset q) (j)) /\ (Int.(<) (j) ((Int.(+) (offset - q) (b)))) -> not ((Mk_addr (base p) i) = (Mk_addr (base q) j)) - -function region int : int - -predicate linked (Map.map int int) - -predicate sconst (Map.map addr int) - -predicate framed (m:Map.map addr addr) = forall p:addr [(Map.([]) (m) (p))]. - (Int.(<=) (region (base (Map.([]) (m) (p)))) (0)) - -lemma separated_included : forall p:addr, q:addr. forall a:int, b:int - [separated p a q b, included p a q b]. (Int.(>) (a) (0)) -> - (Int.(>) (b) (0)) -> separated p a q b -> included p a q b -> false - -lemma included_trans : forall p:addr, q:addr, r:addr. forall a:int, b:int, c: - int [included p a q b, included q b r c]. included p a q b -> included q b - r c -> included p a r c - -lemma separated_trans : forall p:addr, q:addr, r:addr. forall a:int, b:int, - c:int [included p a q b, separated q b r c]. included p a q b -> separated - q b r c -> separated p a r c - -lemma separated_sym : forall p:addr, q:addr. forall a:int, b:int [separated p - a q b]. separated p a q b <-> separated q b p a - -lemma eqmem_included : forall m1:Map.map addr 'a, m2:Map.map addr 'a. - forall p:addr, q:addr. forall a:int, b:int [eqmem m1 m2 p a, eqmem m1 m2 q - b]. included p a q b -> eqmem m1 m2 q b -> eqmem m1 m2 p a - -lemma eqmem_sym : forall m1:Map.map addr 'a, m2:Map.map addr 'a. forall p: - addr. forall a:int. eqmem m1 m2 p a -> eqmem m2 m1 p a - -lemma havoc_access : forall m0:Map.map addr 'a, m1:Map.map addr 'a. forall q: - addr, p:addr. forall a:int. (((Map.([]) (havoc m0 m1 p - a) (q))) = (if separated q 1 p a then (Map.([]) (m1) (q)) - else (Map.([]) (m0) (q)))) - -function int_of_addr addr : int - -function addr_of_int int : addr - -function base_offset int : int - -function base_index int : int - -lemma int_of_addr_bijection : forall a:int. ((int_of_addr (addr_of_int - a)) = (a)) - -lemma addr_of_int_bijection : forall p:addr. ((addr_of_int (int_of_addr - p)) = (p)) - -lemma addr_of_null : ((int_of_addr null) = (0)) - -lemma base_offset_zero : ((base_offset 0) = (0)) - -lemma base_offset_inj : forall i:int. ((base_index (base_offset i)) = (i)) - -lemma base_offset_monotonic : forall i:int, j:int. (Int.(<) (i) (j)) -> - (Int.(<) (base_offset i) (base_offset j)) - -end diff --git a/src/plugins/wp/share/why3/Qed.v b/src/plugins/wp/share/why3/Qed.v deleted file mode 100644 index a33a18a82068891fb8c8204e0383ce5f9b1267fc..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Qed.v +++ /dev/null @@ -1,206 +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). *) -(* *) -(**************************************************************************) - -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require bool.Bool. -Require int.Int. -Require int.Abs. -Require int.EuclideanDivision. -Require int.ComputerDivision. -Require real.Real. -Require real.RealInfix. -Require real.FromInt. -Require for_drivers.ComputerOfEuclideanDivision. - -(* Why3 goal *) -Definition match_bool {a:Type} {a_WT:WhyType a} : bool -> a -> a -> a. -exact (fun b x y => if b then x else y). -Defined. - -(* Why3 goal *) -Lemma match_bool1 {a:Type} {a_WT:WhyType a} : - forall (p:bool) (x:a) (y:a), - ((p = true) /\ ((match_bool p x y) = x)) \/ - ((p = false) /\ ((match_bool p x y) = y)). -Proof. - intros p x y. - destruct p; intuition. -Qed. - -(* Why3 goal *) -Definition eqb {a:Type} {a_WT:WhyType a} : a -> a -> bool. -exact (fun x y => if why_decidable_eq x y then true else false). -Defined. - -(* Why3 goal *) -Lemma eqb1 {a:Type} {a_WT:WhyType a} : - forall (x:a) (y:a), ((eqb x y) = true) <-> (x = y). -Proof. - intros x y. - destruct a_WT. - compute;destruct (why_decidable_eq x y);intuition discriminate. -Qed. - -(* Why3 goal *) -Lemma eqb_false {a:Type} {a_WT:WhyType a} : - forall (x:a) (y:a), ((eqb x y) = false) <-> ~ (x = y). -Proof. - intros x y. - destruct a_WT. - compute;destruct (why_decidable_eq x y);intuition discriminate. -Qed. - -(* Why3 goal *) -Definition neqb {a:Type} {a_WT:WhyType a} : a -> a -> bool. -exact (fun x y => if why_decidable_eq x y then false else true). -Defined. - -(* Why3 goal *) -Lemma neqb1 {a:Type} {a_WT:WhyType a} : - forall (x:a) (y:a), ((neqb x y) = true) <-> ~ (x = y). -Proof. - intros x y. - destruct a_WT. - compute;destruct (why_decidable_eq x y);intuition discriminate. -Qed. - -(* Why3 goal *) -Definition zlt : Z -> Z -> bool. -exact(Zlt_bool). -Defined. - -(* Why3 goal *) -Definition zleq : Z -> Z -> bool. -exact(Zle_bool). -Defined. - -(* Why3 goal *) -Lemma zlt1 : forall (x:Z) (y:Z), ((zlt x y) = true) <-> (x < y)%Z. -Proof. - intros x y. - assert (T:= Zlt_is_lt_bool x y). - tauto. -Qed. - -(* Why3 goal *) -Lemma zleq1 : forall (x:Z) (y:Z), ((zleq x y) = true) <-> (x <= y)%Z. -Proof. - intros x y. - assert (T:= Zle_is_le_bool x y). - tauto. -Qed. - -(* Why3 goal *) -Definition rlt : R -> R -> bool. -exact (fun x y => if Rlt_dec x y then true else false). -Defined. - -(* Why3 goal *) -Definition rleq : R -> R -> bool. -exact (fun x y => if Rle_dec x y then true else false). -Defined. - -(* Why3 goal *) -Lemma rlt1 : forall (x:R) (y:R), ((rlt x y) = true) <-> (x < y)%R. -Proof. - intros x y. - compute;destruct (Rlt_dec x y); intuition discriminate. -Qed. - -(* Why3 goal *) -Lemma rleq1 : forall (x:R) (y:R), ((rleq x y) = true) <-> (x <= y)%R. -Proof. - intros x y. - compute;destruct (Rle_dec x y);intuition;discriminate. -Qed. - -(* Why3 assumption *) -Definition real_of_int (x:Z) : R := (BuiltIn.IZR x). - -Lemma lt_is_not_eqb1: forall x y, (x < y -> Z.eqb x y = false)%Z. -Proof. - intros. - rewrite Z.eqb_compare. - rewrite H. - reflexivity. -Qed. - -Lemma lt_is_not_eqb2: forall x y, (y < x -> Z.eqb x y = false)%Z. -Proof. - intros. - rewrite Z.eqb_compare. - rewrite (Z.lt_gt _ _ H). - reflexivity. -Qed. - -(* Why3 goal *) -Lemma c_euclidian : - forall (n:Z) (d:Z), ~ (d = 0%Z) -> - (n = (((ZArith.BinInt.Z.quot n d) * d)%Z + (ZArith.BinInt.Z.rem n d))%Z). -Proof. - intros n d. - intros H. - rewrite Int.Comm1. - exact (ComputerDivision.Div_mod n d H). -Qed. - -(* Why3 goal *) -Lemma cmod_remainder : - forall (n:Z) (d:Z), - ((0%Z <= n)%Z -> (0%Z < d)%Z -> - (0%Z <= (ZArith.BinInt.Z.rem n d))%Z /\ ((ZArith.BinInt.Z.rem n d) < d)%Z) /\ - (((n <= 0%Z)%Z -> (0%Z < d)%Z -> - ((-d)%Z < (ZArith.BinInt.Z.rem n d))%Z /\ - ((ZArith.BinInt.Z.rem n d) <= 0%Z)%Z) /\ - (((0%Z <= n)%Z -> (d < 0%Z)%Z -> - (0%Z <= (ZArith.BinInt.Z.rem n d))%Z /\ - ((ZArith.BinInt.Z.rem n d) < (-d)%Z)%Z) /\ - ((n <= 0%Z)%Z -> (d < 0%Z)%Z -> - (d < (ZArith.BinInt.Z.rem n d))%Z /\ - ((ZArith.BinInt.Z.rem n d) <= 0%Z)%Z))). -Proof. - intros n d. - (split;[|split;[|split]]);intros; - [exact (Zquot.Zrem_lt_pos_pos _ _ H H0)| - exact (Zquot.Zrem_lt_neg_pos _ _ H H0)| - exact (Zquot.Zrem_lt_pos_neg _ _ H H0)| - exact (Zquot.Zrem_lt_neg_neg _ _ H H0)]. -Qed. - -(* Why3 goal *) -Lemma cdiv_neutral : forall (a:Z), ((ZArith.BinInt.Z.quot a 1%Z) = a). -Proof. - intro a. - exact (Z.quot_1_r a). -Qed. - -(* Why3 goal *) -Lemma cdiv_inv : - forall (a:Z), ~ (a = 0%Z) -> ((ZArith.BinInt.Z.quot a a) = 1%Z). -Proof. - intros a h1. - exact (Z.quot_same a h1). -Qed. - diff --git a/src/plugins/wp/share/why3/Qed.why b/src/plugins/wp/share/why3/Qed.why deleted file mode 100644 index 6e1692ec952d9c5dc9dd1b47d806098e66c136e1..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Qed.why +++ /dev/null @@ -1,107 +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). *) -(* *) -(**************************************************************************) - -theory Qed -use bool.Bool as Bool -use int.Int as Int -use int.Abs as Abs -use int.ComputerDivision as ComputerDivision -use real.Real as Real -use real.FromInt as FromInt - -function match_bool Bool.bool 'a 'a : 'a - -function eqb 'a 'a : Bool.bool - -axiom eqb1 : forall x:'a, y:'a. ((eqb x y) = (Bool.True)) <-> ((x) = (y)) - -function neqb 'a 'a : Bool.bool - -axiom neqb1 : forall x:'a, y:'a. ((neqb x y) = (Bool.True)) <-> - not ((x) = (y)) - -function zlt int int : Bool.bool - -function zleq int int : Bool.bool - -axiom zlt1 : forall x:int, y:int. ((zlt x y) = (Bool.True)) <-> - (Int.(<) (x) (y)) - -axiom zleq1 : forall x:int, y:int. ((zleq x y) = (Bool.True)) <-> - (Int.(<=) (x) (y)) - -function rlt real real : Bool.bool - -function rleq real real : Bool.bool - -axiom rlt1 : forall x:real, y:real. ((rlt x y) = (Bool.True)) <-> - (Real.(<) (x) (y)) - -axiom rleq1 : forall x:real, y:real. ((rleq x y) = (Bool.True)) <-> - (Real.(<=) (x) (y)) - -function real_of_int (x:int) : real = FromInt.from_int x - -lemma c_euclidian : forall n:int, d:int [ComputerDivision.div n d, - ComputerDivision.mod n d]. not ((d) = (0)) -> - ((n) = ((Int.(+) ((Int.(*) (ComputerDivision.div n - d) (d))) (ComputerDivision.mod n d)))) - -lemma cdiv_cases : forall n:int, d:int [ComputerDivision.div n d]. - ((Int.(>=) (n) (0)) -> (Int.(>) (d) (0)) -> ((ComputerDivision.div n - d) = ((ComputerDivision.div n d)))) /\ ((Int.(<=) (n) (0)) -> - (Int.(>) (d) (0)) -> ((ComputerDivision.div n - d) = ((Int.(-_) ((ComputerDivision.div (Int.(-_) (n)) d)))))) /\ - ((Int.(>=) (n) (0)) -> (Int.(<) (d) (0)) -> ((ComputerDivision.div n - d) = ((Int.(-_) ((ComputerDivision.div n (Int.(-_) (d)))))))) /\ - ((Int.(<=) (n) (0)) -> (Int.(<) (d) (0)) -> ((ComputerDivision.div n - d) = ((ComputerDivision.div (Int.(-_) (n)) (Int.(-_) (d)))))) - -lemma cmod_cases : forall n:int, d:int [ComputerDivision.mod n d]. - ((Int.(>=) (n) (0)) -> (Int.(>) (d) (0)) -> ((ComputerDivision.mod n - d) = ((ComputerDivision.mod n d)))) /\ ((Int.(<=) (n) (0)) -> - (Int.(>) (d) (0)) -> ((ComputerDivision.mod n - d) = ((Int.(-_) ((ComputerDivision.mod (Int.(-_) (n)) d)))))) /\ - ((Int.(>=) (n) (0)) -> (Int.(<) (d) (0)) -> ((ComputerDivision.mod n - d) = ((ComputerDivision.mod n (Int.(-_) (d)))))) /\ ((Int.(<=) (n) (0)) -> - (Int.(<) (d) (0)) -> ((ComputerDivision.mod n - d) = ((Int.(-_) ((ComputerDivision.mod (Int.(-_) (n)) (Int.(-_) (d)))))))) - -lemma cmod_remainder : forall n:int, d:int [ComputerDivision.mod n d]. - ((Int.(>=) (n) (0)) -> (Int.(>) (d) (0)) -> - (Int.(<=) (0) (ComputerDivision.mod n d)) /\ (Int.(<) (ComputerDivision.mod - n d) (d))) /\ ((Int.(<=) (n) (0)) -> (Int.(>) (d) (0)) -> - (Int.(<) ((Int.(-_) (d))) (ComputerDivision.mod n d)) /\ - (Int.(<=) (ComputerDivision.mod n d) (0))) /\ ((Int.(>=) (n) (0)) -> - (Int.(<) (d) (0)) -> (Int.(<=) (0) (ComputerDivision.mod n d)) /\ - (Int.(<) (ComputerDivision.mod n d) ((Int.(-_) (d))))) /\ - ((Int.(<=) (n) (0)) -> (Int.(<) (d) (0)) -> - (Int.(<) (d) (ComputerDivision.mod n d)) /\ (Int.(<=) (ComputerDivision.mod - n d) (0))) - -lemma cdiv_neutral : forall a:int [ComputerDivision.div a 1]. - ((ComputerDivision.div a 1) = (a)) - -lemma cdiv_inv : forall a:int [ComputerDivision.div a a]. not ((a) = (0)) -> - ((ComputerDivision.div a a) = (1)) - -end diff --git a/src/plugins/wp/share/why3/Qedlib.v b/src/plugins/wp/share/why3/Qedlib.v deleted file mode 100644 index f251ad0495661c8771d7d3bcb45fb58df0304899..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Qedlib.v +++ /dev/null @@ -1,347 +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). *) -(* *) -(**************************************************************************) - -Require Import Bool. -Require Import ZArith. -Require Import Reals. - -Require BuiltIn. -Require map.Map. - -Open Scope Z_scope. - -Set Implicit Arguments. - -(** ** Tactical *) - -Ltac forward := - repeat (first [ split | intros ]) ; - try discriminate ; - try contradiction ; - try tauto ; - try constructor ; - try (apply False_ind ; omega ; fail) ; - try (apply False_ind ; auto with zarith ; fail) ; - auto with zarith. - -Ltac finish := forward ; fail. - -Tactic Notation "by" tactic(A) := A ; finish. - -(** ** Conditional Property *) - -Inductive branch (A B C : Prop) : Prop := - | Then: A -> B -> branch A B C - | Else: not A -> C -> branch A B C -. - -Definition itep (A B C : Prop) := (A -> B) /\ (~A -> C). - -Lemma ite_then : forall A B C : Prop, itep A B C -> A -> B. -Proof. by (unfold itep). Qed. - -Lemma ite_else : forall A B C : Prop, itep A B C -> ~A -> C. -Proof. by (unfold itep). Qed. - -Lemma ite_both : forall A B C : Prop, itep A B C -> (B \/ C). -Proof. by (unfold itep). Qed. - -Remark contrap: forall P Q : Prop, - (P -> Q) -> ~Q -> ~P. -Proof. intuition. Qed. - -(** ** Booleans *) - -Inductive reflect (P:Prop) : bool -> Prop := - | R_true : P -> reflect P true - | R_false : ~P -> reflect P false. - -Definition boolean {A : Set} - (f : A -> A -> bool) - (p : A -> A -> Prop) : Prop := forall x y, reflect (p x y) (f x y). - -(* - forall x y, (f x y = true <-> p x y) /\ - (f x y = false <-> ~(p x y)). -*) - -Ltac case_leq x y := - generalize (Zle_cases x y) ; induction (Zle_bool x y) ; try omega. - -Ltac case_lt x y := - generalize (Zlt_cases x y) ; induction (Zlt_bool x y) ; try omega. - -Ltac case_eq x y := - generalize (Zeq_bool_if x y) ; induction (Zeq_bool x y) ; try omega. - -Lemma Zneq_cases : forall x y, if Zneq_bool x y then x <> y else x = y. -Proof. - intros x y. - generalize (Zeq_bool_if x y). - unfold Zeq_bool. - unfold Zneq_bool. - induction (x ?= y) ; auto. -Qed. - -Ltac case_neq x y := - generalize (Zneq_cases x y) ; induction (Zneq_bool x y) ; try omega. - -Inductive Zcases (x y : Z) := - | Case_lt : (x < y) -> Zcases x y - | Case_eq : (x = y) -> Zcases x y - | Case_gt : (x > y) -> Zcases x y. - -Program Definition Zcompare x y : Zcases x y. -Proof. - intros. - case_leq x y. - case_lt x y. intros H _. exact (Case_lt H). - intros H1 H2. assert (H : x=y) by omega. exact (Case_eq H). - intro H. exact (Case_gt H). -Qed. - -Theorem Zeq_boolean : boolean Zeq_bool (fun x y => (x=y)). -Proof. - unfold boolean. intros x y. by (case_eq x y). -Qed. - - -Theorem Zneq_boolean : boolean Zneq_bool (fun x y => (x <> y)). -Proof. - unfold boolean. intros x y. by (case_neq x y). -Qed. - -Theorem Zlt_boolean : boolean Zlt_bool Zlt. -Proof. - unfold boolean. intros x y. by (case_lt x y). -Qed. - -Theorem Zle_boolean : boolean Zle_bool Zle. -Proof. - unfold boolean. intros x y. by (case_leq x y). -Qed. - -Parameter Req_bool : R -> R -> bool. -Parameter Rlt_bool : R -> R -> bool. -Parameter Rle_bool : R -> R -> bool. -Parameter Rneq_bool : R -> R -> bool. -Hypothesis Rlt_boolean : boolean Rlt_bool Rlt. -Hypothesis Rle_boolean : boolean Rle_bool Rle. -Hypothesis Req_boolean : boolean Req_bool (fun x y => (x=y)). -Hypothesis Rneq_boolean : boolean Rneq_bool (fun x y => (x<>y)). - -Parameter Aeq_bool : forall A : Set, A -> A -> bool. -Hypothesis Aeq_boolean : forall A : Set, boolean (@Aeq_bool A) (fun x y => x=y). -Definition Aneq_bool {A : Set} (x y : A) := negb (Aeq_bool x y). -Hypothesis Aneq_boolean : forall A : Set, boolean (@Aneq_bool A) (fun x y => x<>y). - -(** ** Integer Induction (after a given rank) *) - -Theorem Z_induction(m : Z)(P : Z -> Prop) : - (forall n, n <= m -> P n ) -> - (forall n, n >= m -> P n -> P (n+1)) -> - (forall n, P n). -Proof. - intros. - induction (Z_le_dec n m) ; auto with zarith. - apply Z.le_ind with (n := m) ; auto with zarith. - unfold Morphisms.Proper. - unfold Morphisms.respectful. - intros. rewrite H1. intuition. - intros. apply H0; auto with zarith. -Qed. - -Theorem Z_induction_rank(m : Z)(P : Z -> Prop) : - P m -> - (forall n, m <= n -> P n -> P (n+1)) -> - (forall n, m <= n -> P n). -Proof. - intros h0 h1 n. - apply Z_induction with (m := m) (n := n). - + intros. - apply Z.le_ind with (n := m) ; auto with zarith. - unfold Morphisms.Proper. - unfold Morphisms.respectful. - intros. rewrite H1. intuition. - + intros. auto with zarith. -Qed. - -(** ** Real Constants *) - -(** signed power *) - -Definition real_base e a n := - match n with - | 0 => a - | Zpos n => (a * pow e (Pos.to_nat n))%R - | Zneg n => (a / pow e (Pos.to_nat n))%R - end. - -(** an integer multiplied by a (signed) power of 10. *) -Definition real_dec := real_base 10%R. - -(** an integer multiplied by a (signed) power of 2. *) -Definition real_hex := real_base 2%R. - -(** ** Arrays *) - -Record farray (A B : Type) := { whytype1 : BuiltIn.WhyType A ; - whytype2 : BuiltIn.WhyType B ; - access :> @Map.map A B }. -Definition array (A : Type) := farray Z A. -Hypothesis extensionality: forall (A B : Type) (f g : A -> B), - (forall x, f x = g x) -> f = g. - - -Definition select {A B : Type} - (m : farray A B) (k : A) : B := (access m) k. - -Lemma farray_eq : forall A B (m1 m2 : farray A B), - whytype1 m1 = whytype1 m2 -> whytype2 m1 = whytype2 m2 -> - (forall k, select m1 k = select m2 k) -> m1 = m2. -Proof. - intros A B m1 m2. - destruct m1. destruct m2. simpl. - intros H1 H2; rewrite H1; rewrite H2 ; clear H1 H2. - intro K. - rewrite (extensionality _ _ K). - reflexivity. -Qed. - -Definition update {A B : Type} - (m : farray A B) (k : A) (v : B) : (farray A B) := - {| whytype1 := whytype1 m; whytype2 := whytype2 m; access := @Map.set A (whytype1 m) B (whytype2 m) (access m) k v|}. - -Notation " a .[ k ] " := (select a k) (at level 60). -Notation " a .[ k <- v ] " := (update a k v) (at level 60). - -Lemma access_update : - forall (A B : Type) (m : farray A B) k v, - m.[k <- v].[k] = v. -Proof. - intros. - apply (proj1 (Map.set_def (access m) k v k)). - reflexivity. -Qed. - -Lemma access_update_neq : - forall (A B : Type) (m : farray A B) i j v, - i <> j -> m.[ i <- v ].[j] = m.[j]. -Proof. - intros. - apply (proj2 (Map.set_def (access m) i v j)). - auto. -Qed. - -(** ** Division on Z *) - -Definition Cdiv (n d : Z) : Z := - match n , d with - | 0 , _ | _ , 0 => 0 - | Zpos a , Zpos b - | Zneg a , Zneg b => (Zpos a/Zpos b) - | Zpos a , Zneg b - | Zneg a , Zpos b => (-(Zpos a/Zpos b)) - end. - -Definition Cmod (n d : Z) : Z := - match n , d with - | 0 , _ | _ , 0 => 0 - | Zpos a , Zpos b - | Zpos a , Zneg b => ( (Zpos a) mod (Zpos b) ) - | Zneg a , Zpos b - | Zneg a , Zneg b => (-( (Zpos a) mod (Zpos b) )) - end. - -Lemma Cdiv_cases : forall n d, - ((n >= 0) -> (d > 0) -> Cdiv n d = n/d) /\ - ((n <= 0) -> (d > 0) -> Cdiv n d = -((-n)/d)) /\ - ((n >= 0) -> (d < 0) -> Cdiv n d = -(n/(-d))) /\ - ((n <= 0) -> (d < 0) -> Cdiv n d = (-n)/(-d)). -Proof. - intros. - destruct n as [|a|a] ; - destruct d as [|b|b] ; - intuition ; - by auto with zarith. -Qed. - -Lemma Cmod_cases : forall n d, - ((n >= 0) -> (d > 0) -> Cmod n d = n mod d) /\ - ((n <= 0) -> (d > 0) -> Cmod n d = -((-n) mod d)) /\ - ((n >= 0) -> (d < 0) -> Cmod n d = (n mod (-d))) /\ - ((n <= 0) -> (d < 0) -> Cmod n d = -((-n) mod (-d))). -Proof. - intros. - destruct n as [|a|a] ; - destruct d as [|b|b] ; - intuition ; - by auto with zarith. -Qed. - -Theorem Cdiv_enclidian : - forall (n d : Z), - d <> 0 -> - let q := Cdiv n d in let r := Cmod n d in - (q * d + r = n). -Proof. - intros n d NEQ q r. - assert (OPP: forall p, (- (Zneg p) = Zpos p)) by auto with zarith. - assert (NEG: forall p, (Zneg p = - (Zpos p))) by auto with zarith. - destruct n as [|a|a] ; - destruct d as [|b|b] ; auto with zarith ; - unfold Cdiv in q ; unfold Cmod in r ; - unfold q ; unfold r ; - repeat rewrite OPP ; repeat rewrite NEG ; - rewrite (Zmod_eq_full (Zpos a) (Zpos b)) ; try discriminate ; - try ring. -Qed. - -Lemma Cmod_less : forall n d, - ((n >= 0) -> (d > 0) -> 0 <= Cmod n d < d) /\ - ((n <= 0) -> (d > 0) -> -d < Cmod n d <= 0) /\ - ((n >= 0) -> (d < 0) -> 0 <= Cmod n d < -d) /\ - ((n <= 0) -> (d < 0) -> d < Cmod n d <= 0). -Proof. - intros. - destruct n as [|a|a] ; - destruct d as [|b|b] ; - intuition ; simpl ; forward ; - generalize (Z_mod_lt (Zpos a) (Zpos b) (Zgt_pos_0 b)) ; - repeat (replace (Zneg b) with (- Zpos b) by auto with zarith) ; - intuition (auto with zarith). -Qed. - -Lemma Zdiv_less : - forall (n d : Z), (n > 0) -> (d > 0) -> (d * (n/d) <= n). -Proof. - intros n d Npos Dpos. - generalize (Zmod_eq n d). - pose (x := (n/d)). - fold x. intro H. generalize (H Dpos). clear H. - pose (r := (n mod d)). - fold r. intro H. - generalize (Z_mod_lt n d). - intro R. generalize (R Dpos). clear R. fold r. - replace (d*x) with (x*d) by ring. - omega. -Qed. diff --git a/src/plugins/wp/share/why3/Square.v b/src/plugins/wp/share/why3/Square.v deleted file mode 100644 index a260523508899f4c24ed908657e4f25913175f7d..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Square.v +++ /dev/null @@ -1,60 +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). *) -(* *) -(**************************************************************************) - -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require Reals.R_sqrt. -Require BuiltIn. -Require real.Real. -Require real.RealInfix. -Require real.Square. - -(* Why3 goal *) -Lemma sqrt_lin1 : forall (x:R), (1%R < x)%R -> ((Reals.R_sqrt.sqrt x) < x)%R. -Proof. - intros x h1. - refine (Reals.R_sqrt.sqrt_less _ _ h1). - apply (Rle_trans 0 1 x Rle_0_1)%R. - exact (Rlt_le _ _ h1). -Qed. - -(* Why3 goal *) -Lemma sqrt_lin0 : - forall (x:R), ((0%R < x)%R /\ (x < 1%R)%R) -> (x < (Reals.R_sqrt.sqrt x))%R. -Proof. - intros x (h1,h2). - exact (Reals.R_sqrt.sqrt_more x h1 h2). -Qed. - -(* Why3 goal *) -Lemma sqrt_0 : ((Reals.R_sqrt.sqrt 0%R) = 0%R). -Proof. - exact Reals.R_sqrt.sqrt_0. -Qed. - -(* Why3 goal *) -Lemma sqrt_1 : ((Reals.R_sqrt.sqrt 1%R) = 1%R). -Proof. - exact Reals.R_sqrt.sqrt_1. -Qed. - diff --git a/src/plugins/wp/share/why3/Vlist.v b/src/plugins/wp/share/why3/Vlist.v deleted file mode 100644 index e4f1f454f3701d5971d3a63f8dde040dc91548da..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Vlist.v +++ /dev/null @@ -1,471 +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). *) -(* *) -(**************************************************************************) - -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require int.Int. -Require int.Abs. -Require int.ComputerDivision. - -(* ---------------------------------------------------------------------- *) -(* --- Lists for Why-3 --- *) -(* ---------------------------------------------------------------------- *) - -Require List. -Ltac seq := autorewrite with list ; auto with zarith. -Hint Rewrite List.app_assoc List.app_nil_l List.app_nil_r : list. - - (* -------------------------------------------------------------------- *) - (* --- Classical Lists for Alt-Ergo --- *) - (* -------------------------------------------------------------------- *) -Require Import Qedlib. - -(* Why3 goal *) -Definition list : forall (a:Type), Type. - exact(List.list). -Defined. - -(* Why3 goal *) -Definition nil {a:Type} {a_WT:WhyType a} : list a. - generalize a. - exact(@List.nil). -Defined. - -(* Why3 goal *) -Definition cons {a:Type} {a_WT:WhyType a} : a -> (list a) -> list a. - generalize a. - exact(@List.cons). -Defined. - -(* Why3 goal *) -Definition concat {a:Type} {a_WT:WhyType a} : (list a) -> (list a) -> list a. - Local Open Scope list_scope. - exact(fun u v => u ++ v). -Defined. - -Fixpoint repeat_nat (a:Type) (w: list a) (n: nat) {struct n} := - match n with - | O => w - | S m => w ++ (repeat_nat a w m) - end. - - -(* Why3 goal *) -Definition repeat {a:Type} {a_WT:WhyType a} : (list a) -> Z -> list a. - exact(fun w n => match n with - | Z0 => nil - | Zneg _ => nil - | other => repeat_nat a w (Zabs_nat (n-1)) - end). -Defined. - -(* Why3 goal *) -Definition length {a:Type} {a_WT:WhyType a} : (list a) -> Z. - exact(fun w => Z.of_nat (List.length w)). -Defined. - -(* Why3 goal *) -Definition nth {a:Type} {a_WT:WhyType a} : (list a) -> Z -> a. - exact(fun w n => match n with - | Zneg _ => (@why_inhabitant a a_WT) - | other => List.nth (Zabs_nat n) w (@why_inhabitant a a_WT) - end). -Defined. - - (* -------------------------------------------------------------------- *) - (* --- length --- *) - (* -------------------------------------------------------------------- *) - -(* Why3 goal *) -Lemma length_pos {a:Type} {a_WT:WhyType a} : - forall (w:list a), (0%Z <= (length w))%Z. -Proof. - intros. - unfold length. - apply Zle_0_nat. -Qed. - -(* Why3 goal *) -Lemma length_nil {a:Type} {a_WT:WhyType a} : ((length (nil : list a)) = 0%Z). -Proof. - intros. - unfold length. unfold nil. - by seq. -Qed. - -(* Why3 goal *) -Lemma length_nil_bis {a:Type} {a_WT:WhyType a} : - forall (w:list a), ((length w) = 0%Z) -> (w = (nil : list a)). -Proof. - intros w. - unfold length. unfold nil. - destruct w. - + by seq. - + Import List.ListNotations. - assert (0 < Z.of_nat (Datatypes.length (a0 :: w))). - { replace (Datatypes.length (a0 :: w)) with (1 + Datatypes.length (w))%nat - by( (replace (a0 :: w) with ([a0] ++ w) by seq); rewrite List.app_length; by seq). - assert (0 <= Z.of_nat (Datatypes.length w)) by apply Zle_0_nat. - replace (Z.of_nat (1 + Datatypes.length w)) with (1 + Z.of_nat (Datatypes.length w)). - { omega. } - rewrite Nat2Z.inj_add. - auto with zarith. - } - intro. - cut False; [contradiction|omega]. -Qed. - -(* Why3 goal *) -Lemma length_cons {a:Type} {a_WT:WhyType a} : - forall (x:a) (w:list a), ((length (cons x w)) = (1%Z + (length w))%Z). -Proof. - intros. unfold length. - replace (Datatypes.length (cons x w)) with (1 + (Datatypes.length w))%nat. - apply Nat2Z.inj_add. simpl. auto. -Qed. - -(* Why3 goal *) -Hypothesis length_concat : - forall {a:Type} {a_WT:WhyType a}, - forall (u:list a) (v:list a), - ((length (concat u v)) = ((length u) + (length v))%Z). - -(* Why3 goal *) -Hypothesis length_repeat : - forall {a:Type} {a_WT:WhyType a}, - forall (w:list a) (n:Z), (0%Z <= n)%Z -> - ((length (repeat w n)) = (n * (length w))%Z). - - (* -------------------------------------------------------------------- *) - (* --- nth --- *) - (* -------------------------------------------------------------------- *) - -(* Why3 goal *) -Hypothesis nth_cons : - forall {a:Type} {a_WT:WhyType a}, - forall (k:Z) (x:a) (w:list a), - ((k = 0%Z) -> ((nth (cons x w) k) = x)) /\ - (~ (k = 0%Z) -> ((nth (cons x w) k) = (nth w (k - 1%Z)%Z))). - -(* Why3 goal *) -Hypothesis nth_concat : - forall {a:Type} {a_WT:WhyType a}, - forall (u:list a) (v:list a) (k:Z), - ((k < (length u))%Z -> ((nth (concat u v) k) = (nth u k))) /\ - (~ (k < (length u))%Z -> - ((nth (concat u v) k) = (nth v (k - (length u))%Z))). - -(* Why3 goal *) -Hypothesis nth_repeat : - forall {a:Type} {a_WT:WhyType a}, - forall (n:Z) (k:Z) (w:list a), - ((0%Z <= k)%Z /\ (k < (n * (length w))%Z)%Z) -> (0%Z < (length w))%Z -> - ((nth (repeat w n) k) = (nth w (ZArith.BinInt.Z.rem k (length w)))). - -(* Why3 assumption *) -Definition vlist_eq {a:Type} {a_WT:WhyType a} (u:list a) (v:list a) : Prop := - ((length u) = (length v)) /\ - forall (i:Z), ((0%Z <= i)%Z /\ (i < (length u))%Z) -> - ((nth u i) = (nth v i)). - - (* -------------------------------------------------------------------- *) - (* --- equality of Lists --- *) - (* -------------------------------------------------------------------- *) - -(* Why3 goal *) -Hypothesis extensionality : - forall {a:Type} {a_WT:WhyType a}, - forall (u:list a) (v:list a), (vlist_eq u v) -> (u = v). - - (* -------------------------------------------------------------------- *) - (* --- neutral elements --- *) - (* -------------------------------------------------------------------- *) - -(* Why3 goal *) -Lemma eq_nil_concat {a:Type} {a_WT:WhyType a} : - forall (w:list a), - (vlist_eq (concat (nil : list a) w) w) /\ - (vlist_eq (concat w (nil : list a)) w). -Proof. - intros. - split ; unfold vlist_eq ; rewrite length_concat; rewrite length_nil; split; auto with zarith; intros. - (* + generalize (nth_concat nil w i); rewrite length_nil; intro G; destruct G. - rewrite H1. - * replace (i - 0)%Z with i by (auto with zarith). auto. - * omega. *) - + generalize (nth_concat w nil i). intro G; destruct G. - rewrite H0. - * auto. - * omega. -Qed. - -(* Why3 goal *) -Lemma rw_nil_concat_left {a:Type} {a_WT:WhyType a} : - forall (w:list a), ((concat (nil : list a) w) = w). -Proof. - intros. - apply extensionality. - generalize (eq_nil_concat w). intro G; destruct G. - apply H. -Qed. - -(* Why3 goal *) -Lemma rw_nil_concat_right {a:Type} {a_WT:WhyType a} : - forall (w:list a), ((concat w (nil : list a)) = w). - intros. - apply extensionality. - generalize (eq_nil_concat w). intro G; destruct G. - apply H0. -Qed. - -(* Why3 goal *) -Lemma eq_cons_concat {a:Type} {a_WT:WhyType a} : - forall (x:a) (v:list a) (w:list a), - vlist_eq (concat (cons x v) w) (cons x (concat v w)). -Proof. - intros. - unfold vlist_eq ; rewrite length_concat. repeat (rewrite length_cons). - split. - + rewrite length_concat. ring. - + intros. - generalize (nth_cons i x (concat v w)); intro G; destruct G. - case_eq i 0%Z; intro Position_0. - * clear H1; rewrite H0; clear H0; auto. - generalize (nth_concat (cons x v) w i); rewrite length_cons; intro G; destruct G. - generalize (length_pos v); intro Positive. - clear H1; rewrite H0 by omega; clear H0. - generalize (nth_cons i x v); intro G; destruct G. - clear H1; rewrite H0; clear H0; auto. - * clear H0; rewrite H1; clear H1; auto. - generalize (nth_concat (cons x v) w i); rewrite length_cons; intro G; destruct G. - case_lt i (1+ length v)%Z; intros. - - clear H1; rewrite H0 by auto; clear H0. - generalize (nth_cons i x v); intro G; destruct G. - clear H0; rewrite H1 by auto; clear H1. - generalize (nth_concat v w (i -1)); intro G; destruct G. - clear H1; rewrite H0 by auto with zarith; clear H0. - auto. - - clear H0; rewrite H1 by auto; clear H1. - generalize (nth_concat v w (i -1)); intro G; destruct G. - clear H0; rewrite H1 by auto with zarith. - replace (i - (1 + length v))%Z with (i - 1 - length v)%Z by auto with zarith. - auto. -Qed. - -(* Why3 goal *) -Lemma rw_cons_concat {a:Type} {a_WT:WhyType a} : - forall (x:a) (v:list a) (w:list a), - ((concat (cons x v) w) = (cons x (concat v w))). -Proof. - intros. - apply extensionality. - apply eq_cons_concat. -Qed. - -(* Why3 goal *) -Lemma rw_nil_cons_concat {a:Type} {a_WT:WhyType a} : - forall (x:a) (w:list a), ((concat (cons x (nil : list a)) w) = (cons x w)). -Proof. - intros. - rewrite rw_cons_concat. - rewrite rw_nil_concat_left. - auto. -Qed. - - (* -------------------------------------------------------------------- *) - (* --- associativity --- *) - (* -------------------------------------------------------------------- *) - -(* Why3 goal *) -Lemma eq_assoc_concat {a:Type} {a_WT:WhyType a} : - forall (u:list a) (v:list a) (w:list a), - vlist_eq (concat (concat u v) w) (concat u (concat v w)). -Proof. - intros. - unfold vlist_eq. repeat (rewrite length_concat). split. - - ring. - - intros. - generalize (length_pos u); generalize (length_pos v); intros uPos vPos. - case_lt i (length u); intro inU; - generalize (nth_concat u (concat v w) i) ; intro G; destruct G. - + clear H1; rewrite H0 by auto; clear H0. - generalize (nth_concat (concat u v) w i) ; rewrite length_concat ; intro G; destruct G. - clear H1; rewrite H0 by omega; clear H0. - generalize (nth_concat u v i) ; intro G; destruct G. - clear H1; rewrite H0 by auto; clear H0. - auto. - + clear H0; rewrite H1 by auto; clear H1. - case_lt i ((length u) + (length v)); intro inV; - generalize (nth_concat (concat u v) w i) ; rewrite length_concat ; intro G; destruct G. - * clear H1; rewrite H0 by omega; clear H0. - generalize (nth_concat u v i) ; intro G; destruct G. - clear H0; rewrite H1 by auto; clear H1. - generalize (nth_concat v w (i - length u)) ; intro G; destruct G. - clear H1; rewrite H0 by omega; clear H0. - auto. - * clear H0; rewrite H1 by omega; clear H1. - generalize (nth_concat v w (i - length u)) ; intro G; destruct G. - clear H0; rewrite H1 by omega; clear H1. - replace (i - (length u + length v)) with (i - length u - length v) by auto with zarith. - auto. -Qed. - -(* Why3 goal *) -Lemma rw_nil_repeat {a:Type} {a_WT:WhyType a} : - forall (n:Z), (0%Z <= n)%Z -> ((repeat (nil : list a) n) = (nil : list a)). -Proof. -intros n h1. -induction n ; simpl ; auto. -assert (R : forall n, repeat_nat a nil n = nil). - * intro n. induction n ; simpl ; auto. - * apply R. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_zero {a:Type} {a_WT:WhyType a} : - forall (w:list a), ((repeat w 0%Z) = (nil : list a)). -Proof. -intros w. simpl. auto. -Qed. - -(* Why3 goal *) -Lemma eq_repeat_one {a:Type} {a_WT:WhyType a} : - forall (w:list a), vlist_eq (repeat w 1%Z) w. -intros w. simpl. unfold vlist_eq. auto. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_one {a:Type} {a_WT:WhyType a} : - forall (w:list a), ((repeat w 1%Z) = w). -Proof. -intros w. simpl. auto. -Qed. - -(* Why3 goal *) -Lemma eq_repeat_concat {a:Type} {a_WT:WhyType a} : - forall (p:Z) (q:Z) (w:list a), (0%Z <= p)%Z -> (0%Z <= q)%Z -> - vlist_eq (repeat w (p + q)%Z) (concat (repeat w p) (repeat w q)). -Proof. -intros p q w h1 h2. unfold vlist_eq ; simpl ; split ; auto with zarith. - + repeat rewrite length_concat. - repeat rewrite length_repeat ; auto with zarith. - + rewrite length_repeat ; auto with zarith. - intros. - induction w. - * replace ([]) with (@nil a a_WT) ; auto. - repeat rewrite rw_nil_repeat ; auto with zarith. - * pose (A := (a0 :: w)). fold A. fold A in H. - assert (L : 0 < length A). - { unfold A. - replace (a0 :: w) with (cons a0 w) by auto. - rewrite length_cons. - assert (0 <= length w). - apply length_pos. - auto with zarith. } - rewrite nth_repeat ; auto with zarith. - generalize (nth_concat (repeat A p) (repeat A q) i). - intros [ POS NEG ]. - induction (Z_lt_le_dec i (length (repeat A p))). - rewrite length_repeat in a1; auto with zarith. - - rewrite POS ; auto with zarith. - rewrite nth_repeat ; auto with zarith. - rewrite length_repeat ; auto with zarith. - - rewrite length_repeat in b ; auto with zarith. - assert ( I_pos: 0 <= i ) ; auto with zarith. - rewrite Int.Mul_distr_r in H. - rewrite NEG ; auto with zarith. - rewrite nth_repeat ; auto with zarith ; - rewrite length_repeat ; auto with zarith. - replace (i - p * length A) with (i + (-p) * length A). - rewrite Z.rem_add ; auto with zarith. - apply Z.mul_nonneg_nonneg ; auto with zarith. - replace (i + -p * length A) with (i - p * length A) ; auto with zarith. - rewrite Z.mul_opp_l. rewrite Z.add_opp_r. auto. - rewrite Z.mul_opp_l. rewrite Z.add_opp_r. auto. - rewrite length_repeat ; auto with zarith. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_concat {a:Type} {a_WT:WhyType a} : - forall (p:Z) (q:Z) (w:list a), (0%Z <= p)%Z -> (0%Z <= q)%Z -> - ((repeat w (p + q)%Z) = (concat (repeat w p) (repeat w q))). -intros p q w h1 h2. -apply extensionality. -apply eq_repeat_concat ; auto with zarith. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_after {a:Type} {a_WT:WhyType a} : - forall (p:Z) (w:list a), (0%Z <= p)%Z -> - ((concat (repeat w p) w) = (repeat w (p + 1%Z)%Z)). -Proof. - intros p w h1. - rewrite (rw_repeat_concat p 1 w) ; auto with zarith. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_before {a:Type} {a_WT:WhyType a} : - forall (p:Z) (w:list a), (0%Z <= p)%Z -> - ((concat w (repeat w p)) = (repeat w (p + 1%Z)%Z)). -Proof. - intros p w h1. - replace (p+1) with (1+p) ; auto with zarith. - rewrite (rw_repeat_concat 1 p w) ; auto with zarith. -Qed. - -(* Why3 goal *) -Definition repeat_box {a:Type} {a_WT:WhyType a} : (list a) -> Z -> list a. -intros l n. -exact (repeat l n). -Defined. - -(* Why3 goal *) -Lemma rw_repeat_box_unfold {a:Type} {a_WT:WhyType a} : - forall (w:list a) (n:Z), ((repeat_box w n) = (repeat w n)). -Proof. -intros. -unfold repeat_box. auto. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_plus_box_unfold {a:Type} {a_WT:WhyType a} : - forall (w:list a) (a1:Z) (b:Z), (0%Z <= a1)%Z -> (0%Z <= b)%Z -> - ((repeat_box w (a1 + b)%Z) = (concat (repeat w a1) (repeat w b))). -Proof. -intros. -unfold repeat_box. rewrite rw_repeat_concat ; auto. -Qed. - -(* Why3 goal *) -Lemma rw_repeat_plus_one_box_unfold {a:Type} {a_WT:WhyType a} : - forall (w:list a) (n:Z), (0%Z < n)%Z -> - ((repeat_box w n) = (concat (repeat w (n - 1%Z)%Z) w)) /\ - ((repeat_box w (n + 1%Z)%Z) = (concat (repeat w n) w)). -Proof. - intros. split. - + generalize (rw_repeat_concat (n-1) 1 w). - replace (n-1+1) with n ; auto with zarith. - + rewrite (rw_repeat_concat n 1 w) ; auto with zarith. -Qed. - diff --git a/src/plugins/wp/share/why3/Vlist.why b/src/plugins/wp/share/why3/Vlist.why deleted file mode 100644 index df55f756bbdc96150fdf5f54896ce5e0efc33a75..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Vlist.why +++ /dev/null @@ -1,105 +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). *) -(* *) -(**************************************************************************) - -theory Vlist -use int.Int as Int -use int.Abs as Abs -use int.ComputerDivision as ComputerDivision - -type list 'a - -function nil : list 'a - -function cons 'a (list 'a) : list 'a - -function concat (list 'a) (list 'a) : list 'a - -function repeat (list 'a) int : list 'a - -function length (list 'a) : int - -function nth (list 'a) int : 'a - -axiom length_pos : forall w:list 'a. (Int.(<=) (0) (length w)) - -axiom length_nil : ((length (nil:list 'a)) = (0)) - -axiom length_nil_bis : forall w:list 'a. ((length w) = (0)) -> - ((w) = (nil:list 'a)) - -axiom length_cons : forall x:'a, w:list 'a [length (cons x w)]. ((length - (cons x w)) = ((Int.(+) (1) (length w)))) - -axiom length_concat : forall u:list 'a, v:list 'a [length (concat u v)]. - ((length (concat u v)) = ((Int.(+) (length u) (length v)))) - -axiom length_repeat : forall w:list 'a, n:int [length (repeat w n)]. - (Int.(<=) (0) (n)) -> ((length (repeat w n)) = ((Int.(*) (n) (length w)))) - -axiom nth_cons : forall k:int, x:'a, w:list 'a [nth (cons x w) k]. ((nth - (cons x w) k) = (if ((k) = (0)) then x else nth w (Int.(-) (k) (1)))) - -axiom nth_concat : forall u:list 'a, v:list 'a, k:int [nth (concat u v) k]. - ((nth (concat u v) k) = (if (Int.(<) (k) (length u)) then nth u k else nth - v (Int.(-) (k) (length u)))) - -axiom nth_repeat : forall n:int, k:int, w:list 'a [nth (repeat w n) k]. - (Int.(<=) (0) (k)) /\ (Int.(<) (k) ((Int.(*) (n) (length w)))) -> - (Int.(<) (0) (length w)) -> ((nth (repeat w n) k) = (nth w - (ComputerDivision.mod k (length w)))) - -predicate vlist_eq (u:list 'a) (v:list 'a) = ((length - u) = (length v)) && (forall i:int. (Int.(<=) (0) (i)) /\ - (Int.(<) (i) (length u)) -> ((nth u i) = (nth v i))) - -axiom extensionality : forall u:list 'a, v:list 'a. vlist_eq u v -> - ((u) = (v)) - -axiom rw_nil_concat_left : forall w:list 'a [concat (nil:list 'a) w]. - ((concat (nil:list 'a) w) = (w)) - -axiom rw_nil_concat_right : forall w:list 'a [concat w (nil:list 'a)]. - ((concat w (nil:list 'a)) = (w)) - -axiom rw_nil_repeat : forall n:int [repeat (nil:list 'a) n]. - (Int.(>=) (n) (0)) -> ((repeat (nil:list 'a) n) = (nil:list 'a)) - -axiom rw_repeat_zero : forall w:list 'a [repeat w 0]. ((repeat w - 0) = (nil:list 'a)) - -axiom rw_repeat_one : forall w:list 'a [repeat w 1]. ((repeat w 1) = (w)) - -function repeat_box (list 'a) int : list 'a - -axiom rw_repeat_box_unfold : forall w:list 'a, n:int [repeat_box w n]. - ((repeat_box w n) = (repeat w n)) - -axiom rw_repeat_plus_box_unfold : forall w:list 'a, a:int, b:int [repeat_box - w (Int.(+) (a) (b))]. (Int.(<=) (0) (a)) -> (Int.(<=) (0) (b)) -> - ((repeat_box w (Int.(+) (a) (b))) = (concat (repeat w a) (repeat w b))) - -axiom rw_repeat_plus_one_box_unfold : forall w:list 'a, n:int [repeat_box w - n]. (Int.(<) (0) (n)) -> ((repeat_box w n) = (concat (repeat - w (Int.(-) (n) (1))) w)) && ((repeat_box w (Int.(+) (n) (1))) = (concat - (repeat w n) w)) - -end diff --git a/src/plugins/wp/share/why3/Vset.v b/src/plugins/wp/share/why3/Vset.v deleted file mode 100644 index d362587c8dabd2c12908c4975f5c5a4eea4a5882..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Vset.v +++ /dev/null @@ -1,180 +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). *) -(* *) -(**************************************************************************) - -(* This file is generated by Why3's Coq-realize driver *) -(* Beware! Only edit allowed sections below *) -Require Import BuiltIn. -Require BuiltIn. -Require bool.Bool. -Require int.Int. - -(* Why3 goal *) -Definition set : forall (a:Type), Type. -Admitted. - -(* Why3 goal *) -Definition empty {a:Type} {a_WT:WhyType a} : set a. -Admitted. - -(* Why3 goal *) -Definition singleton {a:Type} {a_WT:WhyType a} : a -> set a. -Admitted. - -(* Why3 goal *) -Definition union {a:Type} {a_WT:WhyType a} : (set a) -> (set a) -> set a. -Admitted. - -(* Why3 goal *) -Definition inter {a:Type} {a_WT:WhyType a} : (set a) -> (set a) -> set a. -Admitted. - -(* Why3 goal *) -Definition member {a:Type} {a_WT:WhyType a} : a -> (set a) -> Prop. -Admitted. - -(* Why3 goal *) -Definition member_bool {a:Type} {a_WT:WhyType a} : a -> (set a) -> bool. -Admitted. - -(* Why3 goal *) -Definition range : Z -> Z -> set Z. -Admitted. - -(* Why3 goal *) -Definition range_sup : Z -> set Z. -Admitted. - -(* Why3 goal *) -Definition range_inf : Z -> set Z. -Admitted. - -(* Why3 goal *) -Definition range_all : set Z. -Admitted. - -(* Why3 assumption *) -Definition eqset {a:Type} {a_WT:WhyType a} (a1:set a) (b:set a) : Prop := - forall (x:a), (member x a1) <-> (member x b). - -(* Why3 assumption *) -Definition subset {a:Type} {a_WT:WhyType a} (a1:set a) (b:set a) : Prop := - forall (x:a), (member x a1) -> member x b. - -(* Why3 assumption *) -Definition disjoint {a:Type} {a_WT:WhyType a} (a1:set a) (b:set a) : Prop := - forall (x:a), (member x a1) -> ~ (member x b). - -(* Why3 goal *) -Lemma member_bool1 {a:Type} {a_WT:WhyType a} : - forall (x:a), forall (s:set a), - ((member x s) -> ((member_bool x s) = true)) /\ - (~ (member x s) -> ((member_bool x s) = false)). -Proof. -intros x s. - -Admitted. - -(* Why3 goal *) -Lemma member_empty {a:Type} {a_WT:WhyType a} : - forall (x:a), ~ (member x (empty : set a)). -Proof. -intros x. - -Admitted. - -(* Why3 goal *) -Lemma member_singleton {a:Type} {a_WT:WhyType a} : - forall (x:a) (y:a), (member x (singleton y)) <-> (x = y). -Proof. -intros x y. - -Admitted. - -(* Why3 goal *) -Lemma member_union {a:Type} {a_WT:WhyType a} : - forall (x:a), forall (a1:set a) (b:set a), - (member x (union a1 b)) <-> ((member x a1) \/ (member x b)). -Proof. -intros x a1 b. - -Admitted. - -(* Why3 goal *) -Lemma member_inter {a:Type} {a_WT:WhyType a} : - forall (x:a), forall (a1:set a) (b:set a), - (member x (inter a1 b)) <-> ((member x a1) /\ (member x b)). -Proof. -intros x a1 b. - -Admitted. - -(* Why3 goal *) -Lemma union_empty {a:Type} {a_WT:WhyType a} : - forall (a1:set a), - ((union a1 (empty : set a)) = a1) /\ ((union (empty : set a) a1) = a1). -Proof. -intros a1. - -Admitted. - -(* Why3 goal *) -Lemma inter_empty {a:Type} {a_WT:WhyType a} : - forall (a1:set a), - ((inter a1 (empty : set a)) = (empty : set a)) /\ - ((inter (empty : set a) a1) = (empty : set a)). -Proof. -intros a1. - -Admitted. - -(* Why3 goal *) -Lemma member_range : - forall (x:Z) (a:Z) (b:Z), - (member x (range a b)) <-> ((a <= x)%Z /\ (x <= b)%Z). -Proof. -intros x a b. - -Admitted. - -(* Why3 goal *) -Lemma member_range_sup : - forall (x:Z) (a:Z), (member x (range_sup a)) <-> (a <= x)%Z. -Proof. -intros x a. - -Admitted. - -(* Why3 goal *) -Lemma member_range_inf : - forall (x:Z) (b:Z), (member x (range_inf b)) <-> (x <= b)%Z. -Proof. -intros x b. - -Admitted. - -(* Why3 goal *) -Lemma member_range_all : forall (x:Z), member x range_all. -Proof. -intros x. - -Admitted. - diff --git a/src/plugins/wp/share/why3/Vset.why b/src/plugins/wp/share/why3/Vset.why deleted file mode 100644 index d0664f99585e45b7cbd6640c465bf25b120aabf4..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Vset.why +++ /dev/null @@ -1,94 +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). *) -(* *) -(**************************************************************************) - -theory Vset -use bool.Bool as Bool -use int.Int as Int - -type set 'a - -function empty : set 'a - -function singleton 'a : set 'a - -function union (set 'a) (set 'a) : set 'a - -function inter (set 'a) (set 'a) : set 'a - -predicate member 'a (set 'a) - -function member_bool 'a (set 'a) : Bool.bool - -function range int int : set int - -function range_sup int : set int - -function range_inf int : set int - -function range_all : set int - -predicate eqset (a:set 'a) (b:set 'a) = forall x:'a. member x a <-> member x - b - -predicate subset (a:set 'a) (b:set 'a) = forall x:'a. member x a -> member x - b - -predicate disjoint (a:set 'a) (b:set 'a) = forall x:'a. member x a -> member - x b -> false - -axiom member_bool1 : forall x:'a. forall s:set 'a [member_bool x s]. - if member x s then ((member_bool x s) = (Bool.True)) else ((member_bool x - s) = (Bool.False)) - -axiom member_empty : forall x:'a [member x (empty:set 'a)]. not member x - (empty:set 'a) - -axiom member_singleton : forall x:'a, y:'a [member x (singleton y)]. member x - (singleton y) <-> ((x) = (y)) - -axiom member_union : forall x:'a. forall a:set 'a, b:set 'a [member x (union - a b)]. member x (union a b) <-> member x a \/ member x b - -axiom member_inter : forall x:'a. forall a:set 'a, b:set 'a [member x (inter - a b)]. member x (inter a b) <-> member x a /\ member x b - -axiom union_empty : forall a:set 'a [union a (empty:set 'a)| union (empty:set - 'a) a]. ((union a (empty:set 'a)) = (a)) /\ ((union (empty:set 'a) - a) = (a)) - -axiom inter_empty : forall a:set 'a [inter a (empty:set 'a)| inter (empty:set - 'a) a]. ((inter a (empty:set 'a)) = (empty:set 'a)) /\ ((inter (empty:set - 'a) a) = (empty:set 'a)) - -axiom member_range : forall x:int, a:int, b:int [member x (range a b)]. - member x (range a b) <-> (Int.(<=) (a) (x)) /\ (Int.(<=) (x) (b)) - -axiom member_range_sup : forall x:int, a:int [member x (range_sup a)]. member - x (range_sup a) <-> (Int.(<=) (a) (x)) - -axiom member_range_inf : forall x:int, b:int [member x (range_inf b)]. member - x (range_inf b) <-> (Int.(<=) (x) (b)) - -axiom member_range_all : forall x:int [member x range_all]. member x - range_all - -end diff --git a/src/plugins/wp/share/why3/Zbits.v b/src/plugins/wp/share/why3/Zbits.v deleted file mode 100644 index 0c02116df5e35bf4555528819a49b1a7a504b4fa..0000000000000000000000000000000000000000 --- a/src/plugins/wp/share/why3/Zbits.v +++ /dev/null @@ -1,2380 +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). *) -(* *) -(**************************************************************************) - -(* -------------------------------------------------------------------------- *) -(** * ACSL Logical and Bitwise Operators *) -(* -------------------------------------------------------------------------- *) - -(** - The characteristic function of integers have {!arith:arithmetic} properties - and allows to define logical operators over [Z]. Logical [land], - [lor], [lxor] and [lnot] are defined as the lifting over bits of - the associated boolean operators. As a corollary, the consistency - of bitwise [lnot] definition and two's complements [zlnot] is - assessed. - - These definitions are provided in two stages: - - {!bitwise:bitwise} definitions of logical operators - - {!ACSL:ACSL} operators definitions - -*) - -(** ** Tacticals *) - -Require Import ZArith. -Require Import FunctionalExtensionality. -Require Import Qedlib. -Require Import Bits. -Require Import Psatz. - -Local Open Scope Z_scope. - -Local Ltac omegaContradiction := cut False; [contradiction|omega]. - -Local Ltac caseEq name := - generalize (refl_equal name); pattern name at -1 in |- *; case name. - -Local Ltac unfold_hyp h := - match goal with - | h:(?X1) |- _ => unfold X1 in h - | h:(?X1 _ ) |- _ => unfold X1 in h - | h:(?X1 _ _) |- _ => unfold X1 in h - | h:(?X1 _ _ _) |- _ => unfold X1 in h - | h:(?X1 _ _ _ _) |- _ => unfold X1 in h - | _ => idtac - end. - -Lemma bool3_eq : forall b1 b2: bool, (forall b: bool, b1=b <-> b2=b) <-> b1=b2. -Proof. - intros. - intuition. - rewrite H; auto. - rewrite <- H; auto. - rewrite H; auto. -Qed. - -Lemma bool2_eq_true : forall b1 b2:bool, (b1=true <-> b2=true) <-> b1=b2. -Proof. - intros. - destruct b1. - destruct b2. - intuition. - intuition. - destruct b2. - intuition. - intuition. -Qed. - -Lemma split_range: forall a x b: Z, - a <= x -> x < b -> a <= x < b. -Proof. - intros. omega. -Qed. - -(** Some remarks about absolute value *) - -Remark zabs_gt: forall n m: Z, - Zabs m < Zabs n -> (Zabs_nat m < Zabs_nat n)%nat. -Proof. - intros. apply (inj_lt_rev (Zabs_nat m) (Zabs_nat n)). - rewrite (inj_Zabs_nat n). rewrite (inj_Zabs_nat m). omega. -Qed. - -Remark zabs_le: forall n m: Z, - Zabs n <= Zabs m -> (Zabs_nat n <= Zabs_nat m)%nat. -Proof. - intros. apply (inj_le_rev (Zabs_nat n) (Zabs_nat m)). - rewrite (inj_Zabs_nat n). rewrite (inj_Zabs_nat m). omega. -Qed. - -Remark zabs_le_plus: forall (n m:Z) (k: nat), - Zabs n <= Zabs m -> (Zabs_nat n <= k + Zabs_nat m)%nat. -Proof. - intros. - apply (inj_le_rev (Zabs_nat n) (k + Zabs_nat m)%nat). - rewrite (inj_Zabs_nat n). rewrite inj_plus. rewrite (inj_Zabs_nat m). - omega. -Qed. - -Remark zabs_nat_zabs: forall n: Z, - Zabs_nat (Zabs n) = Zabs_nat n. -Proof. - intro. - rewrite <- (inj_Zabs_nat n). rewrite Zabs_nat_Z_of_nat. auto. -Qed. - -Remark zabs_minus: forall n m: Z, - Zabs n <= Zabs m -> (Zabs_nat m - Zabs_nat n)%nat = Zabs_nat (Zabs m - Zabs n). -Proof. - intros. - rewrite Zabs_nat_Zminus by (generalize (Zabs_pos n); omega). - repeat rewrite zabs_nat_zabs. - auto. -Qed. - -Remark zabs_plus: forall n m: Z, - (Zabs_nat m + Zabs_nat n)%nat = Zabs_nat (Zabs m + Zabs n). -Proof. - intros. - rewrite Zabs_nat_Zplus. - (** cont. *) repeat rewrite zabs_nat_zabs; auto. - (** hyp 1 *) generalize (Zabs_pos m); omega. - (** hyp 2 *) generalize (Zabs_pos n); omega. -Qed. - -(** Some remarks about Zle_bool and Zlt_bool *) - -Remark Zle_2x: forall x:Z, - Zle_bool 0 (2*x) = Zle_bool 0 x. -Proof. - induction x; auto. -Qed. - -Remark Zle_div2: forall x:Z, - Zle_bool 0 (x/2) = Zle_bool 0 x. -Proof. - intro x. - case_leq 0 (x/2); case_leq 0 x; try auto; intros; apply False_ind. - (** 0>x *) - + assert (x/2 < 0); [ apply Zdiv_lt_upper_bound | ]; omega. - (** 0<=x *) - + assert (0 <= (x/2)); [ apply Z_div_pos | ]; omega. -Qed. - -Remark Zlt_div2_neg: forall x:Z, - Zlt_bool (x/2) 0 = Zlt_bool x 0. -Proof. - intro x. - case_lt (x/2) 0; case_lt x 0; intros; try auto. - (** x>=0 *) - + assert (x/2 >= 0) by (apply Z_div_ge0 ; omega). - omegaContradiction. - (** x<0 *) - + apply False_ind. - assert (x/2 < 0) by (apply Zdiv_lt_upper_bound; omega). - omegaContradiction. - Qed. - -(** Some useful properties *) - -Remark upper_positive_mult_positive: forall p x: Z, - 0 <= x -> 0 < p -> x <= x * p. -Proof. - intros. - rewrite <- Zmult_1_r at 1. - apply Zmult_le_compat_l; omega. -Qed. - -Remark lower_negative_mult_positive: forall p x: Z, - x <= 0 -> 0 < p -> x * p <= x. -Proof. - intros. - cut (-x <= -(x * p)). - omega. - rewrite Zopp_mult_distr_l. - apply upper_positive_mult_positive; omega. -Qed. - -Theorem Z2_induction(P: Z -> Prop) : - P 0 -> - (forall (c:bool) (z:Z), 0 <= z -> P z -> P (2*z + if c then 1 else 0))-> - (forall z:Z, 0 <= z -> P z). -Proof. - intros. - induction z. - + auto. - + induction p. - * assert ((Z.pos p~1) =(2*Z.pos p + 1)) by (auto with zarith). - rewrite H2 in *. - apply (H0 true ((Z.pos p))); auto with zarith. - * assert ((Z.pos p~0) =(2*Z.pos p)) by (auto with zarith). - rewrite H2 in *. - apply (H0 false ((Z.pos p))); auto with zarith. - * apply (H0 true 0); auto with zarith. - + generalize (Pos2Z.neg_is_neg p); intro; omegaContradiction. -Qed. - -(** Some useful properties about modulus *) - -Remark mod2_case : forall z:Z, z mod 2 = 0 \/ z mod 2 = 1. -Proof. - intros. rewrite Zmod_odd. - case (Z.odd z); intuition. -Qed. - -Ltac case_mod2 z := induction (mod2_case z) as [EVEN|ODD]. - -Remark mod2_lt: forall z:Z, 0 <= z mod 2 < 2. -Proof. - intro; apply Z_mod_lt; auto with zarith. -Qed. - -Remark div2_mod2_eq: forall z:Z, z = 2*(z/2) + z mod 2. -Proof. - intro; apply Z_div_mod_eq; auto with zarith. -Qed. - -Remark div2_odd_eq: forall z:Z, z = 2*(z/2) + (if (Z.odd z) then 1 else 0). -Proof. - intro. rewrite <- Zmod_odd. apply div2_mod2_eq. -Qed. - -Remark odd_mod2: forall (x:Z), - Z.odd (x mod 2) = Z.odd x. -Proof. - destruct x. - (** 0 *) - + compute; auto. - (** positive *) - + destruct p. - (** 2p+1 *) - * rewrite <- (Z.mod_unique (Z.pos p~1) 2 (Z.pos p) 1) ; - [ | omega | (auto with zarith)]. - (replace (Z.pos p~1) with ( 1 + 2*Z.pos p) by forward). - rewrite Z.odd_add_mul_2; auto. - (** 2p+0 *) - * rewrite <- (Z.mod_unique (Z.pos p~0) 2 (Z.pos p) 0); - [ | omega | (auto with zarith)]. - (replace (Z.pos p~0) with ( 0 + 2*Z.pos p) by forward). - rewrite Z.odd_add_mul_2; auto. - (** 1 *) - * compute; auto. - (** negative *) - + destruct p. - (** 2p+1 *) - * rewrite <- (Z.mod_unique (Z.neg p~1) 2 ((Z.neg p)-1) 1); - [ | omega - | rewrite Zmult_minus_distr_l; rewrite Pos2Z.neg_xI; - ring]. - (replace (Z.neg p~1) with ( (-1) + 2*(Z.neg p)) by (simpl; auto)). - rewrite Z.odd_add_mul_2; auto. - (** 2p+0 *) - * rewrite <- (Z.mod_unique (Z.neg p~0) 2 (Z.neg p) 0); - [ | omega | simpl; auto]. - (replace (Z.neg p~0) with ( 0 + 2*Z.neg p) by (simpl; auto)). - rewrite Z.odd_add_mul_2; simpl; auto. - (** 1 *) - * compute; auto. -Qed. - -Remark uint_div2_mod_two_power_nat: forall (m:nat) (x:Z), - (x mod two_power_nat (S m)) / 2 = (x/2) mod two_power_nat m. -Proof. - intros. - rewrite two_power_nat_S. - rewrite Z.rem_mul_r ; [ | discriminate | apply two_power_nat_is_positive]. - pose (z:=((x/2) mod two_power_nat m)); fold z. - rewrite <- (Zdiv_unique (x mod 2 + 2*z) 2 z (x mod 2)); - [auto | apply mod2_lt | auto with zarith]. -Qed. - -Remark sint_div2_mod_two_power_nat_pos: forall (m:nat) (x:Z), - ((x + two_power_nat (S m)) mod (2*two_power_nat (S m))) / 2 = ((x/2) + two_power_nat m) mod two_power_nat (S m). -Proof. - intros. - rewrite <- two_power_nat_S. - rewrite (uint_div2_mod_two_power_nat (S m) (x + two_power_nat (S m))). - rewrite two_power_nat_S. - (replace (2*two_power_nat m) with ((two_power_nat m) *2) by ring). - rewrite Z_div_plus. - auto. - compute; auto. -Qed. - -Remark sint_div2_mod_two_power_nat: forall (m:nat) (x:Z), - (((x + two_power_nat (S m)) mod (2*two_power_nat (S m))) - two_power_nat (S m)) / 2 = - (((x/2) + two_power_nat m) mod two_power_nat (S m)) - two_power_nat m. -Proof. - intros. - rewrite <- two_power_nat_S. - rewrite <- sint_div2_mod_two_power_nat_pos. - rewrite two_power_nat_S. rewrite two_power_nat_S. rewrite two_power_nat_S. - pose (z:= (two_power_nat m)); fold z. - pose (a:= ((x + 2*z) mod (2*(2*z)))); fold a. - (replace (a - 2*z) with (a + ((- z) * 2)) by ring). - rewrite Z.div_add. - ring. - discriminate. -Qed. - - -(* -------------------------------------------------------------------------- *) -(** {@arith:} *) -(** * Arithmetic Properties of the Characteristic Function of integers *) -(* -------------------------------------------------------------------------- *) - -Remark Zbit_2x_0: forall x: Z, - Zbit (2*x) O = false. -Proof. - unfold Zbit. unfold bits_of_Z. intro. - case_leq 0 (2*x); intro; unfold btest. - (** case 0 <= 2*x *) - + unfold Nabs. unfold N_decomp. unfold P_decomp. - destruct x; auto. - (** case 0 > 2*x *) - + unfold zlnot. - destruct x; auto. - destruct p; simpl; auto. -Qed. - -Remark Zbit_2x_p: forall (n:nat) (x:Z), - Zbit (2*x) (S n) = Zbit x n. -Proof. - intros. - unfold Zbit; unfold bits_of_Z; rewrite Zle_2x. - case_leq 0 x; intro; unfold btest. - (** case 0<=x *) - + unfold Nabs; unfold N_decomp; unfold P_decomp; destruct x; auto. - (** case 0>x *) - + unfold zlnot; destruct x; - [ compute in H; discriminate H - | discriminate H - | destruct p; simpl; auto]. -Qed. - -Remark Zbit_s2x_0: forall x: Z, - Zbit ((2*x) + 1) O = true. -Proof. - unfold Zbit. unfold bits_of_Z. intro. - case_leq 0 (2*x); intro; unfold btest. - (** case 0 <= 2*x *) - + unfold Nabs. unfold N_decomp. unfold P_decomp. - destruct x; auto. - (** case 0 > 2*x *) - + unfold zlnot. - destruct x; auto. - destruct p; simpl; auto. -Qed. - -Remark Zbit_s2x_p: forall (n:nat) (x:Z), - Zbit ((2*x) + 1) (S n) = Zbit x n. -Proof. - intros. - unfold Zbit; unfold bits_of_Z. - case_leq 0 x; intro; unfold btest. - (** case 0<=x *) - + case_leq 0 (2*x + 1) ; intro. - unfold Nabs. unfold N_decomp. unfold P_decomp. destruct x; auto. - assert (Z.neg p < 0) by apply (Zlt_neg_0 p); omegaContradiction. - (** case 0<=x *) - + case_leq 0 (2*x + 1) ; intro. - unfold zlnot; destruct x; - [ discriminate H - | assert (Z.pos p > 0) by apply (Zgt_pos_0 p); omegaContradiction - |]. - destruct p; simpl; auto. -Qed. - -Lemma Zbit_succ: forall (c:bool) (n:nat) (x:Z), - Zbit ((2*x) + if c then 1 else 0) (S n) = Zbit x n. -Proof. - intros. - destruct c. - + rewrite Zbit_s2x_p; auto. - + replace (2*x + 0) with (2*x) by (auto with zarith). - rewrite Zbit_2x_p; auto. -Qed. - -Remark Zbit_pos0: forall x: Z, - 0 <= x -> Zbit x O = Z.odd x. -Proof. - intros x POS. - destruct x. - (** 0 *) - + compute; auto. - (** Positive *) - + unfold Zbit; unfold bits_of_Z. - rewrite Zodd_mod. - destruct p; unfold P_decomp; simpl. - (** 2p+1 *) - * rewrite <- (Z.mod_unique (Z.pos p~1) 2 (Z.pos p) 1); - [ auto | | auto]. - clear POS ; omega. - (** 2p *) - * rewrite <- (Z.mod_unique (Z.pos p~0) 2 (Z.pos p) 0); - [ auto | | auto]. - clear POS ; omega. - (** 1 *) - * compute ; auto. - (** Negative *) - + assert ( Z.neg p < 0) by apply Zlt_neg_0. - omegaContradiction. -Qed. - -Lemma Zbit_0: forall x: Z, - Zbit x O = Z.odd x. -Proof. - intro. - destruct x. - (** 0 *) - + compute; auto. - (** Positive *) - + apply Zbit_pos0. - apply Zle_0_pos. - (** Negative *) - + destruct p. - (** 2p+1 *) - * unfold Zbit; unfold bits_of_Z. simpl. - unfold fnot. compute; auto. - (** 2p *) - * (replace (Z.neg p~0) with (2*Z.neg p) by (auto with zarith)). - rewrite Zbit_2x_0. - simpl; auto. - (** 1 *) - * compute; auto. -Qed. - -Remark Zbit_div2: forall (n:nat) (x:Z), - Zbit (x/2) n = Zbit x (S n). -Proof. - intros. - unfold Zbit; unfold bits_of_Z; rewrite Zle_div2. - case_leq 0 x; intro; unfold btest; - unfold Nabs; unfold N_decomp; unfold P_decomp. - (** case 0<=x *) - + destruct x; [by compute | | (apply False_ind; compute in H; auto) ]. - destruct p. - (** 2p+1 *) - * rewrite <- (Zdiv_unique (Zpos (xI (p)) ) 2 (Zpos p) 1); - by compute. - (** 2p *) - * rewrite <- (Zdiv_unique (Zpos (xO (p)) ) 2 (Zpos p) 0); - by compute. - (** one *) - * by compute. - (** case 0>x *) - + unfold zlnot. - destruct x; [ by compute | (compute in H; discriminate H) | ]. - destruct p. - (** -(2p+1) *) - * rewrite <- (Zdiv_unique (Zneg (xI (p)) ) 2 (Zneg p - 1) 1); - [ (replace (Zneg p - 1 + 1) with (Zneg p) by omega); - (replace (-Zneg p) with (Zpos p) by (compute;forward)); - (replace (-(Zneg (xI (p)) + 1)) with (Zpos (xO(p))) by (compute;forward)) - | - | (replace (2*(Zneg p - 1) + 1) with (2*Zneg p - 1) by omega) - ]; by compute. - (** -2p *) - * rewrite <- (Zdiv_unique (Zneg (xO (p)) ) 2 (Zneg p) 0); - [ | by compute | by compute]. - (repeat (rewrite Z.opp_add_distr)). - (repeat (rewrite Z.add_opp_r)). - (repeat (rewrite Pos2Z.opp_neg)). - destruct p; - [ (** -2(2p+1) *) - (replace (Zpos (xI(p)) -1) with (Zpos (xO(p))) by (compute;forward)); - (replace (Zpos (xO(xI(p))) -1) with (Zpos (xI(xO(p)))) by (compute;forward)) - | (** -2(2p) *) - | (** -2 *) - ]; by compute. - (** minus one *) - * by compute. -Qed. - -Theorem Zbit_le : - forall x y: Z, 0 <= y -> (forall k: nat, Zbit x k = true -> Zbit y k = true) -> x <= y. -Proof. - intros x y POS. revert x. - apply Z2_induction with (z:=y); auto; intros. - + replace x with 0. - * auto with zarith. - * apply Zbit_ext. - extensionality k. - generalize (H k); clear H. - destruct (Zbit x k); intuition. - + generalize (div2_mod2_eq x); intro Euc. - rewrite Euc. - case_mod2 x; destruct c as [] eqn:Carry. - * rewrite EVEN in *. - cut ((x/2)<=z). { intro; omega. } - generalize (H0 (x/2)); clear H0; intro h0. - apply h0; clear h0; intro. - generalize (H1 (S k)); clear H1; intro h1. - rewrite Zbit_s2x_p in h1. - intro. apply h1. rewrite <- Zbit_div2; auto. - * rewrite EVEN in *. - cut ((x/2)<=z). { intro; omega. } - generalize (H0 (x/2)); clear H0; intro h0. - apply h0; clear h0; intro. - generalize (H1 (S k)); clear H1; intro h1. - replace (2*z + 0) with (2*z) in h1 by (auto with zarith). - rewrite Zbit_2x_p in h1. - intro. apply h1. rewrite <- Zbit_div2; auto. - * rewrite ODD. - cut ((x/2)<=z). { intro; omega. } - generalize (H0 (x/2)); clear H0; intro h0. - apply h0; clear h0; intro. - generalize (H1 (S k)); clear H1; intro h1. - rewrite Zbit_s2x_p in h1. - intro. apply h1. rewrite <- Zbit_div2; auto. - * rewrite ODD. - replace (2*z + 0) with (2*z) in * by (auto with zarith). - assert ((Zbit x O) = true). - { rewrite Zbit_0. rewrite Zmod_odd in ODD. - destruct (Z.odd x); intuition. } - assert (Zbit (2*z) O=true). - { apply (H1 O); auto. } - rewrite (Zbit_2x_0) in H3. - discriminate H3. -Qed. - -(** Recursive definition of Zbit *) -Theorem Zbit_rec: forall (x:Z) (n:nat), - Zbit x n = if leb n 0 %nat then Z.odd x else Zbit (x/2) (pred n). -Proof. - intro x. - destruct n. - (** Base *) - + simpl. - apply Zbit_0. - (** Ind. *) - + simpl. - rewrite Zbit_div2. - auto. -Qed. - -Lemma Zbit_shift_l: forall (n m:nat) (x:Z), - Zbit (x * (two_power_nat n)) m = if leb n m then Zbit x (m - n)%nat else false. -Proof. - induction n; intros. - (** base *) - + rewrite (leb_correct O m) by omega. - unfold two_power_nat. unfold shift_nat. rewrite <- (minus_n_O m). - f_equal. simpl. omega. - (** ind. *) - + rewrite two_power_nat_S. - (replace (x * (2*two_power_nat n)) with ((2*x) * two_power_nat n) by ring). - rewrite (IHn m (2*x)). - nat_compare Inf EQ Sup n m. - (** n<m *) - * rewrite (leb_correct n m) by omega. - rewrite (leb_correct (S n) m) by omega. - rewrite <-(Zbit_2x_p (m - S n) x). - f_equal. - rewrite (minus_Sn_m) by omega. - by simpl. - (** n=m *) - * rewrite (leb_correct n n) by omega. - rewrite (leb_correct_conv n (S n)) by omega. - rewrite <- minus_n_n. - apply Zbit_2x_0. - (** n>m *) - * rewrite (leb_correct_conv m n) by omega. - rewrite (leb_correct_conv m (S n)) by omega. - auto. -Qed. - -Lemma Znat_ind: forall (P: Z -> Prop), - P 0 -> (forall (x:Z), 0 <= x -> P x -> P (2*x)) - -> (forall (x:Z), 0 <= x -> P x -> P (2*x+1)) - -> (forall (x:Z), 0 <= x -> P x). -Proof. - intros. - destruct x. - (* 0 *) - auto. - (* Pos *) - induction p. - (* 2p+1 *) - (replace (Z.pos p~1) with (2 * Z.pos p + 1) by (auto with zarith)); auto. - (* 2p *) - (replace (Z.pos p~0) with (2 * Z.pos p) by (auto with zarith)); auto. - (* 1 *) - (replace (1) with (2 * 0 + 1) by (auto with zarith)). - apply H1. omega. auto. - (* Neg *) - compute in H2. - intuition congruence. -Qed. - -Lemma Zbit_shift_r: forall (n m:nat) (x:Z), - Zbit (x / (two_power_nat n)) m = Zbit x (n + m)%nat. -Proof. - induction n; intros. - (** base *) - + unfold two_power_nat. unfold shift_nat. - f_equal. simpl. apply Zdiv_1_r. - (** ind. *) - + rewrite two_power_nat_S. - (replace (2*two_power_nat n) with ((two_power_nat n)*2) by ring). - rewrite <- Zdiv_Zdiv; - [ | generalize (two_power_nat_is_positive n); omega | omega]. - rewrite (plus_Snm_nSm n m). - rewrite <- (IHn (S m) x). - apply Zbit_div2. -Qed. - -Theorem Zbit_uint_mod_two_power_nat: forall (n m:nat) (x:Z), - Zbit (x mod (two_power_nat n)) m = if leb n m then false else Zbit x m. -Proof. - induction n. - (** base *) simpl. - + intros. (replace (two_power_nat 0) with 1 by forward). - rewrite Z.mod_1_r. - auto_bits. - + induction m. - (** base *) - * intros. - (replace (n + 0)%nat with n by (simpl; auto)). - rewrite two_power_nat_S. - rewrite Zbit_0; rewrite Zbit_0. - rewrite Z.rem_mul_r; [ | discriminate | apply two_power_nat_is_positive]. - rewrite Z.odd_add_mul_2. - rewrite odd_mod2; auto. - (** ind. *) - * intros. - rewrite <- Zbit_div2; rewrite <- Zbit_div2. - rewrite uint_div2_mod_two_power_nat. - rewrite (IHn m (x/2)). - nat_compare Inf EQ Sup n m. -Qed. - -Theorem Zbit_sint_mod_two_power_nat: forall (n m:nat) (x:Z), - Zbit (((x + two_power_nat (n+m)) mod (2*two_power_nat (n+m))) - two_power_nat (n+m)) m = Zbit x m. -Proof. - induction n. - (** base *) - + induction m; intros. - (** base *) - * rewrite plus_O_n. - (replace (two_power_nat O) with 1 by forward). - (replace (2*1) with 2 by forward). - rewrite Zbit_0; rewrite Zbit_0. - rewrite Z.odd_sub. - rewrite odd_mod2. - rewrite Z.odd_add. - (replace (Z.odd 1) with true by forward). - rewrite Bool.xorb_true_r; rewrite Bool.xorb_true_r. - rewrite (Bool.negb_involutive). - auto. - (** ind. *) - * rewrite plus_O_n. - rewrite <- Zbit_div2; rewrite <- Zbit_div2. - rewrite <- (IHm (x/2)). - rewrite sint_div2_mod_two_power_nat. - rewrite plus_O_n. - rewrite <- two_power_nat_S. - auto. - (** ind. *) - + induction m. - (** base *) - * intros. - (replace (S n + 0)%nat with (S n) by (simpl; auto)). - rewrite two_power_nat_S. - rewrite Zbit_0; rewrite Zbit_0. - rewrite Z.rem_mul_r; - [ | discriminate - | (rewrite <- two_power_nat_S ; apply two_power_nat_is_positive)]. - rewrite <- Z.add_sub_assoc. - rewrite <- Zmult_minus_distr_l. - rewrite Z.odd_add_mul_2. - rewrite odd_mod2. - rewrite Z.odd_add_mul_2. - auto. - (** ind. *) - * intros. - (replace (S n + S m)%nat with (S ((S n) + m))%nat by (simpl; auto)). - rewrite <- Zbit_div2; rewrite <- Zbit_div2. - rewrite <- (IHm (x/2)). - rewrite sint_div2_mod_two_power_nat. - rewrite <- two_power_nat_S. - auto. -Qed. - -Lemma Zbit_sign: forall (n: nat) (z: Z), - let b := two_power_nat n - in -b <= z < b -> (Zbit z n = Zlt_bool z 0). -Proof. - intro n. - induction n; intro z; intro b; unfold b. - (** base *) - + (replace (two_power_nat 0) with 1 by forward). - case_lt z 0; intros. - (** z<0 *) (replace z with (-1) by (omega);forward). - (** z>=0*) (replace z with 0 by omega); by forward. - (** ind. *) - + rewrite two_power_nat_S; intro. - rewrite <-Zbit_div2. - assert ((- two_power_nat n) <= z/2 < two_power_nat n) by - (split ; [apply Zdiv_le_lower_bound | apply Zdiv_lt_upper_bound] ; omega). - assert (Zbit (z/2) n = ((z/2) <? 0)) by (by apply (IHn (z/2))). - rewrite H1; apply Zlt_div2_neg. -Qed. - -Lemma Zbit_trail_plus: forall (n i: nat) (z: Z), - let b := two_power_nat n - in -b <= z < b -> (Zbit z (n+i)%nat = Zlt_bool z 0). -Proof. - intro n. induction i; intros z b; unfold b. - (** base *) - + rewrite plus_0_r. - apply Zbit_sign. - (** ind. *) - + intro. - rewrite <- plus_n_Sm. - rewrite <-Zbit_div2. - assert ((- two_power_nat n) <= z/2 < two_power_nat n) by - (split ; [apply Zdiv_le_lower_bound | apply Zdiv_lt_upper_bound] ; omega). - assert (Zbit (z/2) (n + i)%nat = (z/2 <? 0)) by (by apply (IHi (z/2))). - rewrite H1; apply Zlt_div2_neg. -Qed. - -Lemma Zbit_trail: forall (n i: nat) (z: Z), - let b := two_power_nat n - in (n <= i)%nat -> -b <= z < b -> (Zbit z i = Zlt_bool z 0). -Proof. - intros. - generalize (Zbit_trail_plus n (i - n)%nat z). - rewrite <- le_plus_minus by auto. - auto. -Qed. - -Lemma Zbit_unsigned_trail: forall (n i: nat) (z: Z), - (n <= i)%nat -> 0 <= z < two_power_nat n -> (Zbit z i = false). -Proof. - intros n i z h1. - (* work around a problem with "try omega" inside case_lt *) - pose (b:=two_power_nat n); fold b. - intro h2. - (replace false with (Zlt_bool z 0) by (case_lt z 0; auto)). - apply (Zbit_trail n); auto. - fold b. - omega. -Qed. - -Lemma Zbit_trail_plus_inv: forall (n: nat) (z: Z), - let b := two_power_nat n - in (forall (i: nat), (Zbit z (n+i)%nat = Zlt_bool z 0)) -> -b <= z < b. -Proof. - intro n. induction n; intro z; intro b; unfold b. - (** base *) - + (replace (two_power_nat 0) with 1 by (auto with zarith)). - case_lt z 0; intros h h0. - (** z<0 *) - * replace z with (-1); - [| symmetry; apply Zbit_ext; extensionality k; unfold TRUE; apply h0]. - omega. - (** z>=0*) - * replace z with 0; - [| symmetry; apply Zbit_ext; extensionality k; unfold FALSE; apply h0]. - omega. - (** ind. *) - + intro. - generalize (div2_mod2_eq z); intro Euc. - generalize (mod2_lt z); intro Mod. - pose (x := z / 2); fold x in Euc. - pose (r := z mod 2); fold r in Euc,Mod. - - assert (Ind: -(two_power_nat n) <= x < (two_power_nat n)). - { apply IHn; intro; unfold x; rewrite Zlt_div2_neg. - case_mod2 z. - + fold r in EVEN. - rewrite <-Zbit_2x_p. - replace (S (n+i)) with (S n + i)%nat ; [ | auto with arith ]. - replace (2*(z/2)) with z. - * apply H. - * fold x; auto with zarith. - + fold r in ODD. - rewrite <-Zbit_s2x_p. - replace (S (n+i)) with (S n + i)%nat ; [ | auto with arith ]. - replace (2*(z/2) + 1) with z. - * apply H. - * fold x; auto with zarith. - } - rewrite two_power_nat_S. - auto with zarith. -Qed. - -Lemma Zbit_unsigned_trail_plus_inv: forall (n: nat) (z: Z), - let b := two_power_nat n - in (forall (i: nat), (Zbit z (n+i)%nat = false)) -> 0 <= z < b. -Proof. - intro n. induction n; intro z; intro b; unfold b. - (** base *) - + (replace (two_power_nat 0) with 1 by (auto with zarith)). - intro h0. - replace z with 0; - [| symmetry; apply Zbit_ext; extensionality k; unfold FALSE; apply h0]. - omega. - (** ind. *) - + intro. - generalize (div2_mod2_eq z); intro Euc. - generalize (mod2_lt z); intro Mod. - pose (x := z / 2); fold x in Euc. - pose (r := z mod 2); fold r in Euc,Mod. - - assert (Ind: 0 <= x < (two_power_nat n)). - { apply IHn; intro; unfold x. - case_mod2 z. - + fold r in EVEN. - rewrite <-Zbit_2x_p. - replace (S (n+i)) with (S n + i)%nat ; [ | auto with arith ]. - replace (2*(z/2)) with z. - * apply H. - * fold x; auto with zarith. - + fold r in ODD. - rewrite <-Zbit_s2x_p. - replace (S (n+i)) with (S n + i)%nat ; [ | auto with arith ]. - replace (2*(z/2) + 1) with z. - * apply H. - * fold x; auto with zarith. - } - rewrite two_power_nat_S. - auto with zarith. -Qed. - -Lemma Zbit_trail_inv: forall (n: nat) (z: Z), - let b := two_power_nat n - in (forall (i: nat), (n <= i)%nat -> (Zbit z i = Zlt_bool z 0)) -> -b <= z < b. -Proof. - intros n z b h1. - generalize (Zbit_trail_plus_inv n z); intro h2. - apply h2; intro. - generalize (h1 (n + i)%nat); intro h3. - apply h3. - auto with zarith. -Qed. - -Lemma Zbit_unsigned_trail_inv: forall (n: nat) (z: Z), - (forall (i: nat), (n <= i)%nat -> (Zbit z i = false)) -> 0 <= z < (two_power_nat n). -Proof. - intros n z h1. - generalize (Zbit_unsigned_trail_plus_inv n z); intro h2. - apply h2; intro. - generalize (h1 (n + i)%nat); intro h3. - apply h3. - auto with zarith. -Qed. - -(** {@bitwise:} *) -(** * Bitwise Shifting Operators *) - -Program Definition bitwise_lsl (x: bits) (n:nat): bits := - let sign := (bsign x) in - let btest := (fun i: nat => if leb n i %nat then btest x (i - n)%nat - else false) in - let last := last btest ((bsize x) + n) sign in - mkbits last sign btest _ . -Next Obligation. - apply trailing_last. - generalize (btrail x). - unfold trailing. - intro Tx. intro k. - nat_compare Inf EQ Sup n k. - (** n < k *) - + rewrite (leb_correct n k) by omega. - intros. rewrite (Tx (k - n)%nat) by omega. - auto. - (** n = k *) - + rewrite (leb_correct n n) by omega. - intros. rewrite (Tx (n - n)%nat) by omega. - auto. - (** n > k *) - + intro. - omegaContradiction. -Qed. - -Program Definition bitwise_lsr (x: bits) (n:nat): bits := - let sign := (bsign x) in - let btest := (fun i: nat => btest x (i + n)%nat) in - let last := last btest (bsize x) sign in - mkbits last sign btest _ . -Next Obligation. - apply trailing_last. - generalize (btrail x). - unfold trailing. - intro Tx. intros. - rewrite (Tx (k + n)%nat); auto with arith. -Qed. - -Definition lsl_shift_def (x:Z) (n:nat): Z := - Z_of_bits (bitwise_lsl (bits_of_Z x) n). - -Definition lsr_shift_def (x:Z) (n:nat): Z := - Z_of_bits (bitwise_lsr (bits_of_Z x) n). - -(** ** Link between bitwise shifting operators and arithmetics *) - -Definition lsl_arithmetic_def (x:Z) (n:nat): Z := - x * (two_power_nat n). - -Lemma lsl_arithmetic_shift: - lsl_shift_def = lsl_arithmetic_def. -Proof. - extensionality x; extensionality n; Zbit_ext k. - (** right term *) - unfold lsl_arithmetic_def; rewrite (Zbit_shift_l n k x). - (** left term *) - unfold lsl_shift_def; unfold Zbit; rewrite Z_decomp_recomp; - unfold bitwise_lsl; unfold btest. - auto. -Qed. - -Definition lsr_arithmetic_def (x:Z) (n:nat): Z := - x / (two_power_nat n). - -(** Note: [lsr_arithmetic_def x n] and [Cdiv x (two_power_nat n)] differs for negative [x]. *) -Remark lsr_differs_to_Cdiv: lsr_arithmetic_def (-1) 1%nat <> Cdiv (-1) (two_power_nat 1). -Proof. - by compute. -Qed. - -Lemma lsr_arithmetic_shift: - lsr_shift_def = lsr_arithmetic_def. -Proof. - extensionality x; extensionality n; Zbit_ext k. - (** right term *) - unfold lsr_arithmetic_def; rewrite (Zbit_shift_r n k x); - (replace (n+k)%nat with (k+n)%nat by omega). - (** left term *) - unfold lsr_shift_def; unfold Zbit; rewrite Z_decomp_recomp; - unfold bitwise_lsr; unfold btest. - auto. -Qed. - -(** * Bitwise Logical Operators *) - -Program Definition bitwise (f: bool -> bool -> bool) (x y: bits): bits := - let sign := f (bsign x) (bsign y) in - let btest := (fun i: nat => f (btest x i) (btest y i)) in - let last := last btest (max (bsize x) (bsize y)) sign in - mkbits last sign btest _ . -Next Obligation. - apply trailing_last. - generalize (btrail x). - generalize (btrail y). - unfold trailing. - intros Ty Tx k Max. - rewrite Tx. rewrite Ty. trivial. - generalize (Max.max_lub_r (bsize x) (bsize y) k). omega. - generalize (Max.max_lub_l (bsize x) (bsize y) k). omega. -Qed. - -Definition Z_bitwise (f: bool -> bool -> bool) (x y: Z): Z := - Z_of_bits (bitwise f (bits_of_Z x) (bits_of_Z y)). - -(** ** Properties of Bitwise Logical Operators *) - -Lemma Zbit_bitwise: forall (f: bool -> bool -> bool) (x y: Z) (k: nat), - Zbit (Z_bitwise f x y) k = f (Zbit x k) (Zbit y k). -Proof. - intros. unfold Zbit. unfold Z_bitwise. - rewrite Z_decomp_recomp. auto. -Qed. - -(** Tactical. *) -Ltac Zbit_bitwise k := Zbit_ext k; repeat rewrite Zbit_bitwise. - -(** Range of bitwise operators *) -Lemma Z_bitwise_ZxHpos: forall (f: bool -> bool -> bool) (x y: Z), - (ZxHpos (Z_bitwise f x y) <= max (ZxHpos x) (ZxHpos y))%nat. -Proof. - intros f x y. - unfold Z_bitwise. rewrite (bsize_over_approx). unfold bitwise. - unfold btest at 1; unfold bsize at 1; unfold bsign at 3; - apply Max.max_case_strong; - rewrite <- (bsize_exact x); rewrite <- (bsize_exact y); intro CASE. - (** (ZxHpos y <= ZxHpos x) *) - + rewrite Max.max_l by auto. - generalize (last_leq (fun i: nat => f (btest (bits_of_Z x) i) (btest (bits_of_Z y) i)) - (ZxHpos x) (f (bsign (bits_of_Z x)) (bsign (bits_of_Z y)))); intro. - generalize (last_leq (fun i : nat => f (btest (bits_of_Z x) i) (btest (bits_of_Z y) i)) - (last (fun i : nat => f (btest (bits_of_Z x) i) (btest (bits_of_Z y) i)) - (ZxHpos x) (f (bsign (bits_of_Z x)) (bsign (bits_of_Z y)))) - (f (bsign (bits_of_Z x)) (bsign (bits_of_Z y)))); intro. - omega. - (** cont. (ZxHpos x <= ZxHpos y) *) - + rewrite Max.max_r by auto. - generalize (last_leq (fun i: nat => f (btest (bits_of_Z x) i) (btest (bits_of_Z y) i)) - (ZxHpos y) (f (bsign (bits_of_Z x)) (bsign (bits_of_Z y)))); intro. - generalize (last_leq (fun i: nat => f (btest (bits_of_Z x) i) (btest (bits_of_Z y) i)) - (last (fun i: nat => f (btest (bits_of_Z x) i) (btest (bits_of_Z y) i)) - (ZxHpos y) (f (bsign (bits_of_Z x)) (bsign (bits_of_Z y)))) - (f (bsign (bits_of_Z x)) (bsign (bits_of_Z y)))); intro. - omega. -Qed. - -Lemma Z_bitwise_ZxHbound: forall (f: bool -> bool -> bool) (x y: Z), - ZxHbound (Z_bitwise f x y) <= Zmax (ZxHbound x) (ZxHbound y). -Proof. - intros f x y. - generalize (Z_bitwise_ZxHpos f x y). - apply Z.max_case_strong; intro. - (** ZxHbound y <= ZxHbound x *) - + assert (ZxHpos y <= ZxHpos x)%nat by by (apply ZxHpos_le). - rewrite max_l; by try (intro; apply ZxHbound_le). - (** ZxHbound x <= ZxHbound y *) - + assert (ZxHpos x <= ZxHpos y)%nat by by (apply ZxHpos_le). - rewrite max_r; by try (intro; apply ZxHbound_le). -Qed. - -Theorem Z_bitwise_in_sint_range: forall (f: bool -> bool -> bool) (n: nat) (x y: Z), - let b := two_power_nat n - in -b <= x < b -> -b <= y < b -> -b <= (Z_bitwise f x y) < b. -Proof. - intros f n x y b Rx Ry. - assert (ZxHbound x <= b) as Bx. - { unfold b. unfold b in Rx. - apply (ZxHpower n x). - omega. } - assert (ZxHbound y <= b) as By. - { unfold b. unfold b in Ry. - apply (ZxHpower n y). - omega. } - generalize (Z_bitwise_ZxHbound f x y). - pose (zxy := Z_bitwise f x y); fold zxy. - generalize (ZxHrange zxy). - apply Zmax_case_strong. - (** ZxHbound y <= ZxHbound x *) - + intros Ryx Rzxy. - destruct Rzxy as [ bound_neg bound_pos ]. - lia. - (** ZxHbound x <= ZxHbound y *) - + intros Ryx Rzxy. - destruct Rzxy as [ bound_neg bound_pos ]. - lia. -Qed. - -Theorem Z_bitwise_sign: forall (f: bool -> bool -> bool) (x y: Z), - Zle_bool 0 (Z_bitwise f x y) = negb (f (negb (Zle_bool 0 x)) (negb (Zle_bool 0 y))). -Proof. - intros f x y. - case_leq 0 (Z_bitwise f x y); - unfold Z_bitwise; unfold Z_of_bits; unfold bitwise; simpl; - repeat (rewrite Zsign_encoding); - destruct (f (negb (Zle_bool 0 x)) (negb (Zle_bool 0 y))); intuition. - + unfold zlnot in H; - generalize (N_recomp_pos (last (fun i : nat => f (btest (bits_of_Z x) i) (btest (bits_of_Z y) i)) - (max (bsize (bits_of_Z x)) (bsize (bits_of_Z y))) true) - (fnot (fun i : nat => f (btest (bits_of_Z x) i) (btest (bits_of_Z y) i)))); intro; - omegaContradiction. - + generalize (N_recomp_pos (last (fun i : nat => f (btest (bits_of_Z x) i) (btest (bits_of_Z y) i)) - (max (bsize (bits_of_Z x)) (bsize (bits_of_Z y))) false) - (fun i : nat => f (btest (bits_of_Z x) i) (btest (bits_of_Z y) i))); intro; - omegaContradiction. -Qed. - -Theorem Z_bitwise_is_uint: forall (f: bool -> bool -> bool) (x y: Z), - 0 <= x -> 0 <= y -> (f false false = false) -> 0 <= (Z_bitwise f x y). -Proof. - intros f x y Rx Ry Fsign. - generalize (Z_bitwise_sign f x y). - case_leq 0 x; case_leq 0 y; replace (negb true) with false by intuition; intros. - rewrite Fsign in H1. - replace (negb false) with true in H1 by intuition. - case_leq 0 (Z_bitwise f x y). - discriminate H1. -Qed. - -Theorem Z_bitwise_is_uint1: forall (f: bool -> bool -> bool) (x y: Z), - 0 <= x -> (forall b:bool, f false b = false) -> 0 <= (Z_bitwise f x y). -Proof. - intros f x y Rx Fsign. - generalize (Z_bitwise_sign f x y). - case_leq 0 x; replace (negb true) with false by intuition; intros. - rewrite (Fsign (negb (0 <=? y))) in H0. - replace (negb false) with true in H0 by intuition. - case_leq 0 (Z_bitwise f x y). - discriminate H0. -Qed. - -Theorem Z_bitwise_is_uint2: forall (f: bool -> bool -> bool) (x y: Z), - 0 <= y -> (forall b: bool, f b false = false) -> 0 <= (Z_bitwise f x y). -Proof. - intros f x y Rx Fsign. - generalize (Z_bitwise_sign f x y). - case_leq 0 y; replace (negb true) with false by intuition; intros. - rewrite (Fsign (negb (0 <=? x))) in H0. - replace (negb false) with true in H0 by intuition. - case_leq 0 (Z_bitwise f x y). - discriminate H0. -Qed. - -Theorem Z_bitwise_in_uint_range: forall (f: bool -> bool -> bool) (n: nat) (x y: Z), - let b := two_power_nat n - in 0 <= x < b -> 0 <= y < b -> f false false = false -> 0 <= (Z_bitwise f x y) < b. -Proof. - intros f n x y b Rx Ry. - assert (ZxHbound x <= b) as Bx. - { unfold b. unfold b in Rx. - apply (ZxHpower n x). - omega. } - assert (ZxHbound y <= b) as By. - { unfold b. unfold b in Ry. - apply (ZxHpower n y). - omega. } - intro Fsign. - assert (0 <= (Z_bitwise f x y)) as Bz. - { apply (Z_bitwise_is_uint f x y); auto; omega. } - generalize (Z_bitwise_ZxHbound f x y). - pose (zxy := Z_bitwise f x y); fold zxy; fold zxy in Bz. - generalize (ZxHrange zxy). - apply Zmax_case_strong. - (** ZxHbound y <= ZxHbound x *) - + intros Ryx Rzxy. - destruct Rzxy as [ Bneg Bpos ]. - lia. - (** ZxHbound x <= ZxHbound y *) - + intros Ryx Rzxy. - destruct Rzxy as [ Bneg Bpos ]. - lia. -Qed. - -(** Commutative bitwise operators *) - -Definition commutative {A B: Type} (f: A -> A -> B) := - forall x y: A, f x y = f y x. - -Lemma Z_bitwise_commut: forall (f: bool -> bool -> bool), - commutative f -> commutative (Z_bitwise f). -Proof. - unfold commutative. intros. apply btest_ext. simpl. - extensionality k. - apply H. -Qed. - -(** Associative bitwise operators *) - -Definition associative {A: Type} (f: A -> A -> A) := - forall x y z: A, f (f x y) z = f x (f y z). - -Lemma Z_bitwise_assoc: forall (f: bool -> bool -> bool), - associative f -> associative (Z_bitwise f). -Proof. - unfold associative. intros. apply btest_ext. simpl. - extensionality k. unfold Z_bitwise. - repeat rewrite Z_decomp_recomp. simpl. apply H. -Qed. - -(** Idempotent bitwise operators *) - -Definition idempotent {A: Type} (f: A -> A -> A) := - forall x: A, f x x = x. - -Lemma Z_bitwise_idempotent: forall (f: bool -> bool -> bool), - idempotent f -> idempotent (Z_bitwise f). -Proof. - unfold idempotent. intros. Zbit_bitwise k. auto. -Qed. - -(** Distributive bitwise operators *) - -Definition distributive_l {A: Type} (f : A -> A -> A) (g : A -> A -> A) := - forall x y z: A, f x (g y z) = g (f x y) (f x z). - -Definition distributive_r {A: Type} (f : A -> A -> A) (g : A -> A -> A) := - forall x y z: A, f (g x y) z = g (f x z) (f y z). - -Lemma Z_bitwise_distrib_l: forall (f g: bool -> bool -> bool), - distributive_l f g -> distributive_l (Z_bitwise f) (Z_bitwise g) . -Proof. - unfold distributive_l. intros. Zbit_bitwise k. auto. -Qed. - -Lemma Z_bitwise_distrib_r: forall (f g: bool -> bool -> bool), - distributive_r f g -> distributive_r (Z_bitwise f) (Z_bitwise g) . -Proof. - unfold distributive_r. intros. Zbit_bitwise k. auto. -Qed. - -(** Neutral elements of bitwise operators *) - -Definition neutral {A: Type} (e: A) (f: A -> A -> A) := - forall x: A, f e x = x. - -Lemma Z_bitwise_neutral (e:bool): forall (f: bool -> bool -> bool), - neutral e f -> neutral (if e then (-1) else 0) (Z_bitwise f). -Proof. - unfold neutral. intros. Zbit_bitwise k. - destruct e; simpl; rewrite H; auto. -Qed. - -(** Absorbant element of bitwise operators *) - -Definition absorbant {A: Type} (a: A) (f: A -> A -> A) := - forall x: A, f a x = a. - -Lemma Z_bitwise_absorbant (a:bool) : - forall f, absorbant a f -> absorbant (if a then (-1) else 0) (Z_bitwise f). -Proof. - unfold absorbant. intros. Zbit_bitwise k. - destruct a; simpl; rewrite H; auto. -Qed. - -(** {@ACSL:} *) - -(** * ACSL shifting operators *) - -Parameter lsl_undef: Z -> Z -> Z. - -Definition lsl_def (x:Z) (n:Z): Z := - lsl_shift_def x (Zabs_nat n). - -Definition lsl (x : Z) (y : Z) : Z := - if Zle_bool 0 y then lsl_def x y - else lsl_undef x y. - -Theorem lsl_pos: forall x n: Z, - 0<=n -> lsl x n = lsl_def x n. -Proof. - intros. - unfold lsl. - case_leq 0 n. -Qed. - -(* Lemma test_compute: lsl 2 1 = 4. *) -(* Proof. *) -(* compute; reflexivity. *) -(* Qed. *) - -Parameter lsr_undef: Z -> Z -> Z. - -Definition lsr_def (x:Z) (n:Z): Z := - lsr_shift_def x (Zabs_nat n). - -Definition lsr (x : Z) (y : Z) : Z := - if Zle_bool 0 y then lsr_def x y - else lsr_undef x y. - -Theorem lsr_pos: forall x n: Z, - 0<=n -> lsr x n = lsr_def x n. -Proof. - intros. - unfold lsr. - case_leq 0 n. -Qed. - -(** ** Properties of shifting operators *) - -Theorem Zbit_lsl: forall (x n: Z) (k: nat), - Zbit (lsl_def x n) k = if (Zle_bool (Zabs n) (Z_of_nat k)) then Zbit x (Zabs_nat ((Z_of_nat k) - (Zabs n))) else false. -Proof. - intros. unfold lsl_def. - rewrite lsl_arithmetic_shift. unfold lsl_arithmetic_def. - rewrite Zbit_shift_l. - case_leq (Zabs n) (Z_of_nat k). - (** case |n| <= k *) - + intro LEQ. - cut (leb (Zabs_nat n) k= true). - { intro LEB. rewrite LEB. f_equal. - rewrite Zabs_nat_Zminus; try split; try apply Zabs_pos; auto. - rewrite Zabs_nat_Z_of_nat. - rewrite zabs_nat_zabs; auto. } - apply leb_correct. rewrite <- Zabs_nat_Z_of_nat. - apply zabs_le. - rewrite <- (inj_Zabs_nat (Z_of_nat k)). rewrite Zabs_nat_Z_of_nat. - auto. - (** case |n| > k *) - + intro GT. - cut (leb (Zabs_nat n) k = false). - intro GTB. rewrite GTB. auto. - apply leb_correct_conv. - rewrite <- (Zabs_nat_Z_of_nat k). - apply zabs_gt. - rewrite <- (inj_Zabs_nat (Z_of_nat k)). rewrite Zabs_nat_Z_of_nat. - omega. -Qed. - -Theorem Zbit_lsr: forall (x n: Z) (k: nat), - Zbit (lsr_def x n) k = Zbit x (k + (Zabs_nat n))%nat. -Proof. - intros. - (** left term *) - unfold lsr_def. unfold lsr_shift_def. - unfold Zbit. rewrite Z_decomp_recomp. - unfold bitwise_lsr. unfold btest at 1. - auto. -Qed. - -Lemma lsl_of_lsl: forall (n m: Z) (x:Z), - lsl_def (lsl_def x n) m = lsl_def x (Zabs n + Zabs m). -Proof. - intros. unfold lsl_def. - rewrite <- zabs_plus. - rewrite lsl_arithmetic_shift. - unfold lsl_arithmetic_def. - (replace (x * two_power_nat (Zabs_nat n) * two_power_nat (Zabs_nat m)) - with (x *(two_power_nat (Zabs_nat n) * two_power_nat (Zabs_nat m))) by ring). - f_equal. - repeat rewrite two_power_nat_correct. - rewrite Zpower_nat_is_exp. - auto. -Qed. - -Lemma lsr_of_lsr: forall (n m: Z) (x:Z), - lsr_def (lsr_def x n) m = lsr_def x (Zabs n + Zabs m). -Proof. - intros. unfold lsr_def. - rewrite <- zabs_plus. - unfold lsr_shift_def at 3. unfold lsr_shift_def at 1. - unfold bitwise_lsr. - apply btest_ext. - unfold btest at 1. unfold btest at 2. - extensionality k. - unfold lsr_shift_def. - rewrite Z_decomp_recomp. - unfold bitwise_lsr. unfold btest at 1. - f_equal. - omega. -Qed. - - -Lemma lsr_of_lsl: forall (n m: Z) (x:Z), - Zabs n <= Zabs m -> lsr_def (lsl_def x n) m = lsr_def x (Zabs m - Zabs n). -Proof. - intros. unfold lsr_def. - rewrite <- zabs_minus by auto. - unfold lsr_shift_def. unfold bitwise_lsr. - apply btest_ext. - unfold btest at 1. unfold btest at 2. - extensionality k. - unfold lsl_def. unfold lsl_shift_def. - rewrite Z_decomp_recomp. - unfold bitwise_lsl. unfold btest at 1. - rewrite (leb_correct (Zabs_nat n) (k + Zabs_nat m)). - f_equal. - (** arg 1 *) - + rewrite (inj_eq_rev (k + Zabs_nat m - Zabs_nat n) (k + (Zabs_nat m - Zabs_nat n))). - auto. - rewrite inj_minus1 by (apply zabs_le_plus; omega). - repeat rewrite inj_plus. - rewrite inj_minus1 at 1 by (apply zabs_le; auto). - omega. - (** arg 2 *) - + apply zabs_le_plus. - omega. -Qed. - -(** * ACSL bitwise operators *) - -Definition limpl (x y: Z): Z := - Z_bitwise implb x y. -Definition land (x y: Z): Z := - Z_bitwise andb x y. -Definition lor (x y: Z): Z := - Z_bitwise orb x y. -Definition lxor (x y: Z): Z := - Z_bitwise xorb x y. -Definition lnot (x: Z): Z := - lxor (-1) x. - -(** ** Bounds of land and lor terms *) - -Theorem uint_land_range: forall (x y: Z), 0 <= x -> 0 <= land x y <= x. -Proof. - intros. - split. - + apply (Z_bitwise_is_uint1 andb). - * auto. - * intro. destruct b; intuition. - + apply Zbit_le. - * auto. - * intro. - unfold land; rewrite Zbit_bitwise. - destruct (Zbit x k); intuition. -Qed. - -Theorem land_sign: forall (x y: Z), (0 <= x \/ 0 <= y) <-> 0 <= land x y. -Proof. - intros x y. - unfold land; unfold Z_bitwise. - pose (bz := (bitwise andb (bits_of_Z x) (bits_of_Z y))). fold bz. - assert ((0 <= Z_of_bits bz) <-> (bsign bz = false)). - { rewrite Bits.bsign_encoding. - case_leq 0 (Z_of_bits bz); intros; split; intros; auto. - * omegaContradiction. - * discriminate H0. } - rewrite H. - unfold bz. unfold bitwise. simpl. - rewrite (bsign_encoding (bits_of_Z x)). - rewrite bsign_encoding. - rewrite (Z_recomp_decomp x). rewrite Z_recomp_decomp. - split; case_leq 0 x; intro; try omegaContradiction; - case_leq 0 y; intros; try omegaContradiction; auto. - discriminate H2. -Qed. - -Theorem lor_sign: forall (x y: Z), (0 <= x /\ 0 <= y) <-> 0 <= lor x y. -Proof. - intros x y. - unfold lor; unfold Z_bitwise. - pose (bz := (bitwise orb (bits_of_Z x) (bits_of_Z y))). fold bz. - assert ((0 <= Z_of_bits bz) <-> (bsign bz = false)). - { rewrite Bits.bsign_encoding. - case_leq 0 (Z_of_bits bz); intros; split; intros; auto. - * omegaContradiction. - * discriminate H0. } - rewrite H. - unfold bz. unfold bitwise. simpl. - rewrite (bsign_encoding (bits_of_Z x)). - rewrite bsign_encoding. - rewrite (Z_recomp_decomp x). rewrite Z_recomp_decomp. - split; case_leq 0 x; intro; try omegaContradiction; - case_leq 0 y; split; intros; try omegaContradiction; - discriminate H2. -Qed. - -Theorem uint_lor_inf: forall (x y: Z), 0 <= x -> 0 <= y -> x <= lor x y. -Proof. - intros. - apply Zbit_le. - + unfold lor. - unfold Z_bitwise. - pose (bz := (bitwise orb (bits_of_Z x) (bits_of_Z y))). fold bz. - unfold Z_of_bits. - destruct (bsign bz) eqn:BSIGN. - (** negative sign *) - * assert (bsign bz = false) as OPP. - unfold bz. unfold bitwise. unfold bsign. - unfold bits_of_Z. unfold bsign. - case_leq 0 x; intro; try omegaContradiction. - case_leq 0 y; intros; try omegaContradiction. - auto. - rewrite BSIGN in OPP. - discriminate. - (** positive sign *) - * apply (N_recomp_pos). - + intro. - unfold lor; rewrite Zbit_bitwise. - destruct (Zbit x k); intuition. -Qed. - -(** Zbit extraction *) -Theorem Zbit_extraction : -forall (x:Z) (i:nat), - (land x (lsl_shift_def 1 i) = 0 <-> (Zbit x i) = false). -Proof. - intros. - rewrite lsl_arithmetic_shift; unfold lsl_arithmetic_def. - replace (1 * two_power_nat i) with (two_power_nat i) by ring. - unfold land. - split. - (** 1st impl *) - + intro H. - assert (Zbit (Z_bitwise andb x (two_power_nat i)) i = Zbit 0 i). - { rewrite H; reflexivity. } - rewrite Zbit_bitwise in H0. - rewrite Zbit_power in H0. - unfold FALSE in H0. - rewrite <- beq_nat_refl in H0. - rewrite Bool.andb_true_r in H0. - assumption. - (** 2sd impl *) - + intro. - Zbit_ext k. - rewrite Zbit_bitwise; rewrite Zbit_power. - unfold FALSE. - (** proof by case *) - case (lt_eq_lt_dec i k); intro cas. destruct cas. - (** i<k *) - * rewrite Bool.andb_false_intro2; auto. - apply beq_nat_false_iff; omega. - (** k=i *) - * rewrite <- e. - rewrite Bool.andb_false_intro1; auto. - (** k<i *) - * rewrite Bool.andb_false_intro2; auto. - apply beq_nat_false_iff; omega. -Qed. - -Theorem Zbit_extraction_true : -forall (x:Z) (i:nat), - (land x (lsl_shift_def 1 i) = (lsl_shift_def 1 i) <-> (Zbit x i) = true). -Proof. - intros. - rewrite lsl_arithmetic_shift; unfold lsl_arithmetic_def. - replace (1 * two_power_nat i) with (two_power_nat i) by ring. - unfold land. - split. - (** 1st impl *) - + intro H. - assert (Zbit (Z_bitwise andb x (two_power_nat i)) i = Zbit (two_power_nat i) i). - { rewrite H; reflexivity. } - rewrite Zbit_bitwise in H0. - rewrite Zbit_power in H0. - rewrite <- beq_nat_refl in H0. - rewrite Bool.andb_true_r in H0. - assumption. - (** 2sd impl *) - + intro. - Zbit_ext k. - rewrite Zbit_bitwise; rewrite Zbit_power. - (** proof by case *) - case (lt_eq_lt_dec i k); intro cas. destruct cas. - (** i<k *) - * rewrite Bool.andb_false_intro2; auto; - [symmetry| ]; - apply beq_nat_false_iff; omega. - (** k=i *) - * rewrite <- e. - rewrite H. - rewrite Bool.andb_true_l. - reflexivity. - (** k<i *) - * rewrite Bool.andb_false_intro2; auto; - [symmetry| ]; - apply beq_nat_false_iff; omega. -Qed. - -(** ** Properties of lnot operator *) - -(** lnot x equals -(x+1) *) -Theorem lnot_zlnot_equiv: forall x: Z, - lnot x = zlnot x. -Proof. - intro x. unfold lnot. unfold lxor. Zbit_bitwise k. - rewrite Bool.xorb_true_l. - (** Now to prove that zlnot negates bits *) - unfold Zbit. unfold bits_of_Z. - pose (y := zlnot x). fold y. - case_leq 0 x; case_leq 0 y; intros Y X; - try ( unfold y in Y; unfold zlnot in Y; apply False_ind; omega); - simpl. - (** Negative *) - + unfold y. rewrite zlnot_inv. unfold fnot. trivial. - (** Positive *) - + unfold fnot. rewrite Bool.negb_involutive. trivial. -Qed. - -(** Tactical *) -Local Ltac lnot_with_omega := - repeat rewrite lnot_zlnot_equiv; unfold zlnot; omega. - -Theorem lnot_0: lnot 0 = -1. -Proof. - auto with arith. -Qed. - -Theorem lnot_1: lnot (-1) = 0. -Proof. - auto with arith. -Qed. - -(** Involution of the double negation *) -Theorem lnot_inv: forall x: Z, - lnot (lnot x) = x. -Proof. - intros x. lnot_with_omega. -Qed. - -Theorem lnot_sym: forall x y: Z, - lnot x = y -> lnot y = x. -Proof. - intros x y. lnot_with_omega. -Qed. - -Theorem lnot_inj: forall x y: Z, - lnot x = lnot y -> y = x. -Proof. - intros x y. lnot_with_omega. -Qed. - -(** ** Associative and commutative bitwise operators *) - -(** land is AC *) -Theorem land_assoc: associative land. -Proof. - apply (Z_bitwise_assoc andb). - unfold associative. intros. symmetry. apply Bool.andb_assoc. -Qed. -Theorem land_commut: commutative land. -Proof. - apply (Z_bitwise_commut andb Bool.andb_comm). -Qed. - -(** lor is AC *) -Theorem lor_assoc: associative lor. -Proof. - apply (Z_bitwise_assoc orb). - unfold associative. intros. symmetry. apply Bool.orb_assoc. -Qed. -Theorem lor_commut: commutative lor. -Proof. - apply (Z_bitwise_commut orb Bool.orb_comm). -Qed. - -(** lxor is AC *) -Theorem lxor_assoc: associative lxor. -Proof. - apply (Z_bitwise_assoc xorb Bool.xorb_assoc). -Qed. -Theorem lxor_commut: commutative lxor. -Proof. - apply (Z_bitwise_commut xorb Bool.xorb_comm). -Qed. - -(** ** Idempotent bitwise operators *) - -(** land is idempotent *) -Theorem land_idemp: idempotent land. -Proof. - apply (Z_bitwise_idempotent andb). - unfold idempotent. intro. destruct x; auto. -Qed. - -(** lor is idempotent *) -Theorem lor_idemp: idempotent lor. -Proof. - apply (Z_bitwise_idempotent orb). - unfold idempotent. intro. destruct x; auto. -Qed. - -(** ** Neutral elements of bitwise operators *) - -(** Zero is the neutral element of lor *) -Theorem lor_0: neutral 0 lor. -Proof. - apply (Z_bitwise_neutral false orb). - unfold neutral. auto. -Qed. - -(** Zero is the neutral element of lxor *) -Theorem lxor_0: neutral 0 lxor. -Proof. - apply (Z_bitwise_neutral false xorb). - unfold neutral. apply Bool.orb_false_r. -Qed. - -(** Minus one is the neutral element of land *) -Theorem land_1: neutral (-1) land. -Proof. - apply (Z_bitwise_neutral true andb). - unfold neutral. auto. -Qed. - -(** ** Absorbant elements of bitwise operators *) - -(** Zero is the absorbant element of land *) -Theorem land_0: absorbant 0 land. -Proof. - apply (Z_bitwise_absorbant false andb). - unfold absorbant. auto. -Qed. - -(** Minus one is the absorbant element of lor *) -Theorem lor_1: absorbant (-1) lor. -Proof. - apply (Z_bitwise_absorbant true orb). - unfold absorbant. auto. -Qed. - -(** ** De Morgan laws of bitwise operators *) - -Theorem lnot_land_de_morgan: forall x y: Z, - lnot (land x y) = lor (lnot x) (lnot y). -Proof. - intros. unfold lnot. unfold lxor. - Zbit_bitwise k. rewrite Bool.xorb_true_l. - unfold land. rewrite Zbit_bitwise. - unfold lor. rewrite Zbit_bitwise. unfold Zbit. unfold Z_bitwise. - rewrite Z_decomp_recomp. rewrite Z_decomp_recomp. unfold bitwise. simpl. - pose (xb:= btest (bits_of_Z x) k). fold xb. - pose (yb:= btest (bits_of_Z y) k). fold yb. - destruct xb; destruct yb; simpl; auto. -Qed. - -Theorem lnot_lor_de_morgan: forall x y: Z, - lnot (lor x y) = land (lnot x) (lnot y). -Proof. - intros. unfold lnot. unfold lxor. Zbit_bitwise k. - rewrite Bool.xorb_true_l. - unfold land. rewrite Zbit_bitwise. - unfold lor. rewrite Zbit_bitwise. unfold Zbit. unfold Z_bitwise. - rewrite Z_decomp_recomp. rewrite Z_decomp_recomp. unfold bitwise. simpl. - pose (xb:= btest (bits_of_Z x) k). fold xb. - pose (yb:= btest (bits_of_Z y) k). fold yb. - destruct xb; destruct yb; simpl; auto. -Qed. - -(** ** Distributivity of bitwise operators *) - -(** Distributive lor land *) -Theorem lor_land_distrib_l: distributive_l lor land. -Proof. - apply (Z_bitwise_distrib_l orb andb). - unfold distributive_l. - destruct x; destruct y; destruct z; auto. -Qed. -Theorem lor_land_distrib_r: distributive_r lor land. -Proof. - apply (Z_bitwise_distrib_r orb andb). - unfold distributive_r. - destruct x; destruct y; destruct z; auto. -Qed. - -(** Distributive land lor *) -Theorem land_lor_distrib_l: distributive_l land lor. -Proof. - apply (Z_bitwise_distrib_l andb orb). - unfold distributive_l. - destruct x; destruct y; destruct z; auto. -Qed. -Theorem land_lor_distrib_r: distributive_r land lor. -Proof. - apply (Z_bitwise_distrib_r andb orb). - unfold distributive_r. - destruct x; destruct y; destruct z; auto. -Qed. - -(** Distributive land lxor *) -Theorem land_lxor_distrib_l: distributive_l land lxor. -Proof. - apply (Z_bitwise_distrib_l andb xorb). - unfold distributive_l. - destruct x; destruct y; destruct z; auto. -Qed. -Theorem land_lxor_distrib_r: distributive_r land lxor. -Proof. - apply (Z_bitwise_distrib_r andb xorb). - unfold distributive_r. - destruct x; destruct y; destruct z; auto. -Qed. - -(** ** Properties of lxor operator *) - -Theorem lxor_nilpotent: forall x: Z, - lxor x x = 0. -Proof. - intro. unfold lxor. Zbit_bitwise k. - rewrite Bool.xorb_nilpotent. auto. -Qed. - -Theorem lxor_1: forall x: Z, - lxor (-1) x = lnot x. -Proof. - trivial. -Qed. - -(** ** Others properties of lnot operator *) - -Theorem lxor_lnot: forall x y: Z, - lxor (lnot x) y = lnot (lxor x y). -Proof. - intros. unfold lnot. apply (lxor_assoc (-1) x y). -Qed. - -Theorem land_lnot_nilpotent: forall x: Z, - land (lnot x) x = 0. -Proof. - intro. - rewrite <- lxor_1. - rewrite land_lxor_distrib_r. - rewrite land_1. - rewrite land_idemp. - apply lxor_nilpotent. -Qed. - -Theorem lor_lnot_1: forall x: Z, - lor (lnot x) x = (-1). -Proof. - intro. - apply lnot_inj. - rewrite lnot_lor_de_morgan. - rewrite lnot_inv. - rewrite land_commut. - rewrite land_lnot_nilpotent. - apply lnot_1. -Qed. - -(** ** Link between shifting and bitwise operators *) -Local Ltac lsl_distrib_r lop z := - unfold distributive_r; - let k := fresh in - intros; unfold lop; Zbit_bitwise k; - repeat rewrite Zbit_lsl; rewrite Zbit_bitwise; - case_leq (Zabs z) (Z_of_nat k); - [ (intro; trivial) | trivial ]. - -(** Distributive lsl lor *) -Lemma lsl_lor_distrib_r: distributive_r lsl_def lor. -Proof. - lsl_distrib_r lor z. -Qed. - -(** Distributive lsl land *) -Lemma lsl_land_distrib_r: distributive_r lsl_def land. -Proof. - lsl_distrib_r land z. -Qed. - -(** Distributive lsl lxor *) -Lemma lsl_lxor_distrib_r: distributive_r lsl_def lxor. -Proof. - lsl_distrib_r lxor z. -Qed. - -Local Ltac lsr_distrib_r lop := - unfold distributive_r; - intros; Zbit_ext fresh; - unfold lop; rewrite Zbit_bitwise; - repeat rewrite Zbit_lsr; rewrite Zbit_bitwise; - trivial. - -(** Distributive lsr lor *) -Lemma lsr_lor_distrib_r: distributive_r lsr_def lor. -Proof. - lsr_distrib_r lor. -Qed. - -(** Distributive lsr land *) -Lemma lsr_land_distrib_r: distributive_r lsr_def land. -Proof. - lsr_distrib_r land. -Qed. - -(** Distributive lsr lxor *) -Lemma lsr_lxor_distrib_r: distributive_r lsr_def lxor. -Proof. - lsr_distrib_r lxor. -Qed. - -(** lsr lnot *) -Lemma lsr_lnot: forall x y: Z, - lnot (lsr_def x y) = lsr_def (lnot x) y . -Proof. - unfold lnot. - lsr_distrib_r lxor. -Qed. - -(** ** Some properties of equations of bitwise operators *) - -Local Ltac f_equal_hyp h f k := - match goal with - | [ h:(?X1 = ?X2) |- _ ] => - let H := fresh in assert (H : f X1 k = f X2 k) by (f_equal; auto); clear h; - assert (h: f X1 k = f X2 k) by auto; clear H - end. - -Local Ltac linear2 := - intros x y; (try split); intros H; (try split); - let k := fresh "k" in - Zbit_ext k; - try (destruct H as [H H0] ; f_equal_hyp H0 Zbit k; generalize H0; clear H0) ; - f_equal_hyp H Zbit k; generalize H; clear H; - (try unfold limpl); (try unfold lnot); - (try unfold land); (try unfold lor); (try unfold lxor); - repeat (replace (Zbit (-1) k) with true by simpl); - repeat (replace (Zbit 0 k) with false by simpl); - repeat rewrite Zbit_bitwise; - destruct (Zbit x k); destruct (Zbit y k); simpl; auto. - -Lemma linear_land: forall x y: Z, - limpl x y = -1 <-> land x y = x. -Proof. - linear2. -Qed. - -Lemma linear_lor: forall x y: Z, - lor x y = x <-> limpl y x = -1. -Proof. - linear2. -Qed. - -Lemma linear_lxor: forall x y: Z, - lxor x y = x <-> y=0. -Proof. - linear2. -Qed. - -Lemma linear_limpl_r: forall x y: Z, - limpl x y = y <-> lor x y = -1. -Proof. - linear2. -Qed. -(* -Local Ltac F_equal_hyp h f k := - match goal with - | [ h:(?X1 = ?X2) |- _ ] => idtac h; - let H := fresh in assert (H : f X1 k = f X2 k) by (f_equal; auto); clear h; - assert (h: f X1 k = f X2 k) by (apply H); clear H - end. -*) -Lemma linear_limpl_l: forall x y: Z, - limpl x y = x <-> x=-1 /\ y=-1. -Proof. - linear2. -Qed. - -Lemma linear_land_lnot: forall x y: Z, - land x y = lnot x <-> x=-1 /\ y=0. -Proof. - linear2. -Qed. - -Lemma linear_lor_lnot: forall x y: Z, - lor x y = lnot x <-> x=0 /\ y=-1. -Proof. - linear2. -Qed. - -Lemma linear_lxor_lnot : forall x y: Z, - lxor x y = lnot x <-> y=-1. -Proof. - linear2. -Qed. - -Lemma linear_limpl_r_lnot: forall x y: Z, - limpl x y = lnot y <-> x=0 /\ y=0. -Proof. - linear2. -Qed. - -Lemma linear_limpl_l_lnot: forall x y: Z, - limpl x y = lnot x <-> land x y = 0. -Proof. - linear2. -Qed. - -Local Ltac linear3 := - intros x y z; (try split); intros H; (try split); - let k := fresh "k" in - Zbit_ext k; - try (destruct H as [H H0] ; f_equal_hyp H0 Zbit k; generalize H0; clear H0); - f_equal_hyp H Zbit k; generalize H; clear H; - (try unfold limpl); (try unfold lnot); - (try unfold land); (try unfold lor); (try unfold lxor); - repeat (replace (Zbit (-1) k) with true by simpl); - repeat (replace (Zbit 0 k) with false by simpl); - repeat rewrite Zbit_bitwise; - destruct (Zbit x k); destruct (Zbit y k); destruct (Zbit z k); simpl; auto. - -Lemma linear_lxor_land: forall x y z: Z, - lxor x y = land x z <-> lnot y = limpl x z. -Proof. - linear3. -Qed. - -Lemma linear_lxor_lor: forall x y z: Z, - lxor x y = lor x z <-> lnot y = limpl z x. -Proof. - linear3. -Qed. - -Lemma linear_lxor_limpl_l: forall x y z: Z, - lxor x y = limpl x z <-> lnot y = land x z. -Proof. - linear3. -Qed. - -Lemma linear_lxor_limpl_r: forall x y z: Z, - lxor x y = limpl z x <-> lnot y = lor z x. -Proof. - linear3. -Qed. - -Lemma linear_land_land: forall x y z: Z, - land x y = land z x <-> land x (lxor y z) = 0. -Proof. - linear3. -Qed. - -Lemma linear_lnot_land_land: forall x y z: Z, - lnot (land x y) = land z x <-> x=-1 /\ y = lnot z. -Proof. - linear3. -Qed. - -Lemma linear_lor_lor: forall x y z: Z, - lor x y = lor z x <-> land (lnot x) (lxor y z) = 0. -Proof. - linear3. -Qed. - -Lemma linear_lnot_lor_lor: forall x y z: Z, - lnot (lor x y) = lor z x <-> x=0 /\ y = lnot z. -Proof. - linear3. -Qed. - -Lemma linear_lor_land: forall x y z: Z, - lor x y = land x z <-> y = land x (lnot (lxor y z)). -Proof. - linear3. -Qed. - -Lemma land_discrimination_inv: forall x y z:Z, - x = land y z -> land x (lnot y) = 0. -Proof. - linear3. -Qed. - -Lemma land_discrimination: forall x y z:Z, - land x (lnot y) <> 0 -> x <> land y z. -Proof. - intros x y z. - generalize (land_discrimination_inv x y z). - intuition. -Qed. - -Lemma lxor_discrimination_inv: forall x y z:Z, - x = lxor y z -> lxor x y = z. -Proof. - linear3. -Qed. - -Lemma land_system: forall x1 x2 y1 y2 z:Z, - (x1 = land z y1 /\ x2 = land z y2) <-> lor x1 x2 = land z (lor (land (lnot x1) (land (lnot x2) (lor y1 y2))) - (lor (land x1 (land y1 (lnot (lxor x2 y2)))) - ((land x2 (land y2 (lnot (lxor x1 y1))))))). -Proof. - intros x1 x2 y1 y2 z. split; - intro H ; try split; - Zbit_ext k; - try (destruct H as [H H0]; f_equal_hyp H0 Zbit k; generalize H0; clear H0); - f_equal_hyp H Zbit k; generalize H; clear H; - (try unfold limpl); (try unfold lnot); - (try unfold land); (try unfold lor); (try unfold lxor); - repeat (replace (Zbit (-1) k) with true by simpl); - repeat (replace (Zbit 0 k) with false by simpl); - repeat rewrite Zbit_bitwise; - destruct (Zbit x1 k); destruct (Zbit x2 k); - destruct (Zbit y1 k); destruct (Zbit y2 k); destruct (Zbit z k); simpl; auto. -Qed. - -(** * Properties about bounds of bitwise operators *) - -Theorem lnot_in_range: forall a b z: Z, - a <= z < b -> -b <= lnot z < -a. -Proof. - intros. - rewrite lnot_zlnot_equiv. unfold zlnot. - omega. -Qed. - -Theorem lsr_upper_bound: forall b x y: Z, - 0 <= y -> x < b -> 0 <= b -> lsr x y < b. -Proof. - intros b x y Ry Rx Rb. - apply Zle_is_le_bool in Ry; unfold lsr; rewrite Ry. - unfold lsr_def. rewrite lsr_arithmetic_shift. unfold lsr_arithmetic_def. - pose (d := two_power_nat (Zabs_nat y)); fold d. - assert (PWR2: 0 < d) by apply two_power_nat_is_positive. - apply Zdiv_lt_upper_bound; auto. - assert (b <= b * d) by apply (upper_positive_mult_positive d b Rb PWR2). - omega. -Qed. - -Theorem lsr_lower_bound: forall b x y: Z, - 0 <= y -> b <= x -> b <= 0 -> b <= lsr x y. -Proof. - intros b x y Ry Rx Rb. - apply Zle_is_le_bool in Ry; unfold lsr; rewrite Ry. - unfold lsr_def. rewrite lsr_arithmetic_shift. unfold lsr_arithmetic_def. - pose (d := two_power_nat (Zabs_nat y)); fold d. - assert (PWR2: 0 < d) by apply two_power_nat_is_positive. - apply Zdiv_le_lower_bound; auto. - assert (b * d <= b) by apply (lower_negative_mult_positive d b Rb PWR2). - omega. -Qed. - -(** * Other properties of bitwise operators *) - -Theorem Zbit_land_edge_inf: forall (x:Z) (n k:nat), - Zbit x k = Zbit (land ((two_power_nat (S (n + k))) - 1) x) k. -Proof. - intros. unfold land; rewrite Zbit_bitwise. - cut (Zbit (two_power_nat (S (n + k)) - 1) k = true). - { intro C; rewrite C; simpl; auto. } - induction k. - (** base *) - + (replace (n + 0)%nat with n by (auto with zarith)). - rewrite two_power_nat_S. - (replace (2*two_power_nat n - 1) - with (2*(two_power_nat n - 1) +1) by ring). - apply Zbit_s2x_0. - (** ind. *) - + rewrite two_power_nat_S. - (replace (2*two_power_nat (n + S k) - 1) - with (2*(two_power_nat (n + S k) - 1) +1) by ring). - rewrite Zbit_s2x_p. - (replace (n + S k)%nat with (S (n + k)%nat) by (auto with zarith)). - auto. -Qed. - -Theorem Zbit_power_minus_one: forall n k:nat, - Zbit (two_power_nat n - 1) k = leb (S k) n. -Proof. - induction n. - (** base *) - + unfold two_power_nat; unfold Zbit; unfold bits_of_Z. - simpl; auto. - (** ind *) - + replace (two_power_nat (S n) - 1) - with (2 * (two_power_nat n - 1) + 1) - by (rewrite two_power_nat_S; (auto with zarith)). - destruct k. - * rewrite Zbit_s2x_0. - auto. - * rewrite Zbit_s2x_p. - rewrite (IHn k). - auto. -Qed. - -Lemma pos_mod_two_power_nat_land_edge: forall (x:Z) (n:nat), - x mod (two_power_nat n) = land ((two_power_nat n) - 1) x. -Proof. - intros. - Zbit_ext k. - rewrite Zbit_uint_mod_two_power_nat. - unfold land; rewrite Zbit_bitwise. - rewrite Zbit_power_minus_one. - nat_compare Inf EQ Sup n k. - + rewrite (leb_correct n k) by omega. - rewrite (leb_correct_conv n (S k)) by omega. - simpl; auto. - + rewrite (leb_correct n n) by omega. - rewrite (leb_correct_conv n (S n)) by omega. - simpl; auto. - + rewrite (leb_correct_conv k n) by omega. - rewrite (leb_correct (S k) n) by omega. - simpl; auto. -Qed. - -(** * Bit extraction *) - -Parameter zbit_test_undef: Z -> Z -> bool. - -(* Extended version for negative value. *) -Definition zbit_test_def (x:Z) (n:Z): bool := - Zbit x (Zabs_nat n). - -Theorem zbit_test_ext: forall x y: Z, - (forall n, zbit_test_def x n = zbit_test_def y n) -> x=y. -Proof. - intros x y. - unfold zbit_test_def. - intro. - Zbit_ext k. - rewrite <- (Zabs2Nat.id k). apply H. -Qed. - -Definition bit_testb (x:Z) (n:Z): bool := - if Zle_bool 0 n then zbit_test_def x n - else zbit_test_undef x n. - -Theorem bit_testb_pos: forall x n: Z, - 0<=n -> bit_testb x n = zbit_test_def x n. -Proof. - intros. - unfold bit_testb. - case_leq 0 n. - intro. auto. -Qed. - -Theorem bit_testb_ext: forall x y: Z, - (forall n: Z, 0<=n -> bit_testb x n = bit_testb y n) -> x=y. -Proof. - intros. - Zbit_ext j. - specialize (H (Z.of_nat j)). - specialize (H (Zle_0_nat j)). - rewrite bit_testb_pos in H. - rewrite bit_testb_pos in H. - unfold zbit_test_def in H. - rewrite Zabs2Nat.id in H. - auto. - apply (Zle_0_nat j). - apply (Zle_0_nat j). -Qed. - -(** Tactical *) -Local Ltac bit_extraction bin_op := - intros; unfold zbit_test_def; unfold bin_op; rewrite Zbit_bitwise; auto. - -(** ** Link between Bit extraction and modulo operator *) - -Theorem uint_mod_two_power_extraction: forall (n:nat) (m x:Z), - zbit_test_def (x mod (two_power_nat n)) m = if leb n (Zabs_nat m) then false else zbit_test_def x m. -Proof. - intros. - unfold zbit_test_def. - apply Zbit_uint_mod_two_power_nat. -Qed. - - -(** ** Link between Bit extraction and bitwise shifting operators *) -Theorem lsl_extraction: forall x n m: Z, - zbit_test_def (lsl_def x n) m = - if Zle_bool (Zabs n) (Zabs m) - then zbit_test_def x ((Zabs m) - (Zabs n)) - else false. -Proof. - intros. unfold zbit_test_def. - rewrite Zbit_lsl. repeat rewrite inj_Zabs_nat. - auto. -Qed. - -Theorem lsr_extraction: forall x n m: Z, - zbit_test_def (lsr_def x n) m = zbit_test_def x ((Zabs m) + (Zabs n)). -Proof. - intros. unfold zbit_test_def. - (** right term *) - rewrite <- zabs_plus. - (** left term *) - rewrite Zbit_lsr. - auto. -Qed. - -(** ** Link between Bit extraction and bitwise operators *) - -Theorem land_extraction: forall x y i: Z, - zbit_test_def (land x y) i = andb (zbit_test_def x i) (zbit_test_def y i). -Proof. - bit_extraction land. -Qed. - -Theorem lor_extraction: forall x y i: Z, - zbit_test_def (lor x y) i = orb (zbit_test_def x i) (zbit_test_def y i). -Proof. - bit_extraction lor. -Qed. - -Theorem lxor_extraction: forall x y i: Z, - zbit_test_def (lxor x y) i = xorb (zbit_test_def x i) (zbit_test_def y i). -Proof. - bit_extraction lxor. -Qed. - -Theorem lnot_extraction: forall x i: Z, - zbit_test_def (lnot x) i = negb (zbit_test_def x i). -Proof. - unfold lnot. - bit_extraction lxor. -Qed. - -(** ** Link between bitwise operators and the addition *) - -Remark land_no_carry : forall (x y:Z) (i:nat), - land x y = 0 -> (Zbit x i = false \/ Zbit y i = false). -Proof. - intros. - assert (Zbit (land x y) i = false). - { rewrite H. rewrite Zbit_of_zero. unfold FALSE. trivial. } - clear H. - unfold land in H0. rewrite Zbit_bitwise in H0. - destruct (Zbit x i); destruct (Zbit y i); intuition. -Qed. - -Theorem lor_addition : forall (x y:Z), - land x y = 0 -> x + y = lor x y. -Proof. - intros. - Zbit_ext i. - generalize H; clear H. - generalize x; clear x. - generalize y; clear y. - induction i; intros. - + generalize (land_no_carry x y O). - unfold lor; rewrite Zbit_bitwise. - repeat (rewrite Zbit_0). - rewrite Z.odd_add. - destruct (Z.odd x); destruct (Z.odd y); intuition. - + generalize (IHi (y/2) (x/2)); clear IHi. - unfold lor; rewrite Zbit_bitwise. rewrite Zbit_bitwise. - intros. - repeat (rewrite <- Zbit_div2). - assert (Zbit (x / 2 + y / 2) i = (Zbit (x / 2) i || Zbit (y / 2) i)%bool). - { apply H0; clear H0; clear i. - Zbit_ext k. - unfold land; rewrite Zbit_bitwise. - rewrite Zbit_div2; rewrite Zbit_div2. - generalize (land_no_carry x y (S k)). - destruct (Zbit x (S k)); destruct (Zbit y (S k)); intuition. - } - rewrite <- H1; clear H1. - f_equal. - generalize (land_no_carry x y 0%nat). - repeat (rewrite Zbit_0). - rewrite (div2_odd_eq x) at 3. rewrite (div2_odd_eq y) at 3. - clear H0. - destruct (Z.odd x); destruct (Z.odd y); intuition; try discriminate H0; - repeat (rewrite Z.add_0_r); symmetry. - * apply (Zdiv_unique (2 * (x / 2) + 1 + 2 * (y / 2)) 2 (x / 2 + y / 2) 1); auto with zarith. - * apply (Zdiv_unique (2 * (x / 2) + (2 * (y / 2) + 1)) 2 (x / 2 + y / 2) 1); auto with zarith. - * apply (Zdiv_unique (2 * (x / 2) + 2 * (y / 2)) 2 (x / 2 + y / 2) 0); auto with zarith. - * apply (Zdiv_unique (2 * (x / 2) + 2 * (y / 2)) 2 (x / 2 + y / 2) 0); auto with zarith. -Qed. - -Theorem lxor_addition : -forall (x y:Z), - land x y = 0 -> - x + y = lxor x y. -Proof. - intros. rewrite lor_addition. - + Zbit_ext i. - unfold lor; rewrite Zbit_bitwise. - unfold lxor; rewrite Zbit_bitwise. - generalize (land_no_carry x y i). - destruct (Zbit x i); destruct (Zbit y i); intuition. - + trivial. -Qed. - -Theorem land_addition : -forall (x y z:Z), - land x y = 0 -> - (land x z) + (land y z) = land (x + y) z. -Proof. - intros. rewrite lor_addition. - + rewrite lor_addition; trivial. - symmetry. apply land_lor_distrib_r. - + rewrite land_assoc. - rewrite <- (land_commut (land y z)). - rewrite land_assoc. - rewrite <- land_assoc. - rewrite H. apply land_0. -Qed. - -(** * Tacticals. *) - -(** ** Main tactics.*) -(* -Ltac rewrite_cst := - first [ Bits.rewrite_cst - | COMPUTE1 bitwise_lsl Cst_Z Cst_nat - | COMPUTE1 bitwise_lsr Cst_Z Cst_nat - | COMPUTE1 lsl_shift_def Cst_Z Cst_nat - | COMPUTE1 lsr_shift_def Cst_Z Cst_nat - | COMPUTE1 lsl_arithmetic_def Cst_Z Cst_nat - | COMPUTE1 lsr_arithmetic_def Cst_Z Cst_nat - | COMPUTE1 lsl_def Cst_Z Cst_Z - | COMPUTE1 lsr_def Cst_Z Cst_Z - | COMPUTE1 land Cst_Z Cst_Z - | COMPUTE1 lor Cst_Z Cst_Z - | COMPUTE1 lxor Cst_Z Cst_Z - | COMPUTE1 lnot Cst_Z - | COMPUTE1 zbit_test_def Cst_Z Cst_Z - ]. -*) - -Ltac auto_zbits := autorewrite with zbits ; auto_bits. -Hint Rewrite lnot_0 land_0 lor_0 lxor_0 - lnot_1 land_1 lor_1 lxor_1 - lor_0 lor_1 land_idemp lor_idemp lxor_nilpotent: zbits. - -(** Example of use. *) -(* -Remark rewrite_cst_example: forall x, x + (land 0 (zlnot (land 0 5))) = x + Z_of_nat (ZxHpos 0). -Proof. - repeat rewrite_cst. - intro. auto. -Qed. -*) diff --git a/src/plugins/wp/share/wp.driver b/src/plugins/wp/share/wp.driver index 26e36ef694384d5ed9911c8270cb29b0aa585329..271c470da94179003bfc30a861aa583070eb56e7 100644 --- a/src/plugins/wp/share/wp.driver +++ b/src/plugins/wp/share/wp.driver @@ -28,7 +28,7 @@ coq.file += "coqwp:int/Int.v"; coq.file += "coqwp:int/Abs.v"; coq.file += "coqwp:int/ComputerDivision.v"; coq.file += "coqwp:int/EuclideanDivision.v"; -coq.file += "coqwp:for_drivers/ComputerOfEuclideanDivision.v"; +coq.file += "coqwp:int/ComputerOfEuclideanDivision.v"; coq.file += "coqwp:real/Real.v"; coq.file += "coqwp:real/RealInfix.v"; coq.file += "coqwp:real/FromInt.v"; @@ -42,7 +42,7 @@ altergo.file += "ergo/int.Int.mlw"; altergo.file += "ergo/int.Abs.mlw"; altergo.file += "ergo/int.ComputerDivision.mlw"; altergo.file += "ergo/int.EuclideanDivision.mlw"; -altergo.file += "ergo/for_drivers.ComputerOfEuclideanDivision.mlw"; +altergo.file += "ergo/int.ComputerOfEuclideanDivision.mlw"; altergo.file += "ergo/real.Real.mlw"; altergo.file += "ergo/real.RealInfix.mlw"; altergo.file += "ergo/real.FromInt.mlw"; @@ -86,6 +86,7 @@ why3.import += "frama_c_wp.cint.Cint"; altergo.file += "ergo/Cint.mlw"; library cbits: cint +logic boolean "bit_test"(integer,integer) := \bit_test_stdlib; coq.file += "coqwp/Cbits.v"; altergo.file += "ergo/Cbits.mlw"; why3.import += "frama_c_wp.cbits.Cbits"; @@ -150,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.Exponentiation.mlw" ; altergo.file += "ergo/int.Power.mlw" ; altergo.file += "ergo/real.PowerReal.mlw" ; diff --git a/src/plugins/wp/share/wpcoqdoc.zip b/src/plugins/wp/share/wpcoqdoc.zip deleted file mode 100644 index a49c6e8d7a0251e33e5bec12534e33f66900fb50..0000000000000000000000000000000000000000 Binary files a/src/plugins/wp/share/wpcoqdoc.zip and /dev/null differ diff --git a/src/plugins/wp/tests/native.report b/src/plugins/wp/tests/native.report new file mode 100644 index 0000000000000000000000000000000000000000..9bbb9d7afd12b171c4808da76b1c1c3864c8d346 --- /dev/null +++ b/src/plugins/wp/tests/native.report @@ -0,0 +1,11 @@ +@CONSOLE +@ZERO " - " +@HEAD +@CHAPTER +------------------------------------------------------------- +%chapter &18: WP &26: Alt-Ergo (Native) &42: Total &51:Success +@SECTION +%name &18:%wp &24: %{native-alt-ergo} %range &42:%total &51: %success%% +@TAIL +------------------------------------------------------------- +@END diff --git a/src/plugins/wp/tests/test_config_qualif b/src/plugins/wp/tests/test_config_qualif index a7498045f8f16179023fc8d32b488e906df1a4ad..838af174f9304c7c29ae2f637aecb8f9b77290eb 100644 --- a/src/plugins/wp/tests/test_config_qualif +++ b/src/plugins/wp/tests/test_config_qualif @@ -1,3 +1,3 @@ -CMD: @frama-c@ -no-autoload-plugins -load-module wp -wp -wp-par 1 -wp-steps 1500 -wp-timeout 45 -wp-share ./share -wp-msg-key shell,success-only -wp-report-json @PTEST_DIR@/oracle@PTEST_CONFIG@/@PTEST_NAME@.@PTEST_NUMBER@.report.json:@PTEST_DIR@/result@PTEST_CONFIG@/@PTEST_NAME@.@PTEST_NUMBER@.report.json -wp-report tests/qualif.report -wp-out @PTEST_DIR@/result@PTEST_CONFIG@/@PTEST_NAME@.@PTEST_NUMBER@.out @PTEST_FILE@ +CMD: @frama-c@ -no-autoload-plugins -load-module wp -wp -wp-par 1 -wp-share ./share -wp-msg-key shell,success-only -wp-report-json @PTEST_DIR@/oracle@PTEST_CONFIG@/@PTEST_NAME@.@PTEST_NUMBER@.report.json:@PTEST_DIR@/result@PTEST_CONFIG@/@PTEST_NAME@.@PTEST_NUMBER@.report.json -wp-report tests/qualif.report -wp-session @PTEST_DIR@/oracle@PTEST_CONFIG@/@PTEST_NAME@.@PTEST_NUMBER@.session -wp-cache offline @PTEST_FILE@ LOG: @PTEST_NAME@.@PTEST_NUMBER@.report.json OPT: diff --git a/src/plugins/wp/tests/wp/oracle/wp_behav.res.oracle b/src/plugins/wp/tests/wp/oracle/wp_behav.res.oracle index 342dd4d2da084652312652a37abd6d4f4e2897b5..5db0bbd2e089f7c5811d8009888780310f29455d 100644 --- a/src/plugins/wp/tests/wp/oracle/wp_behav.res.oracle +++ b/src/plugins/wp/tests/wp/oracle/wp_behav.res.oracle @@ -5,14 +5,14 @@ [wp] tests/wp/wp_behav.c:172: Warning: Ignored specification 'for b1' (generalize to all behavior) [wp] Warning: Missing RTE guards -[wp] tests/wp/wp_behav.c:176: Warning: - Missing assigns clause (assigns 'everything' instead) -[wp] tests/wp/wp_behav.c:154: Warning: - Missing assigns clause (assigns 'everything' instead) [wp] tests/wp/wp_behav.c:69: Warning: Missing assigns clause (assigns 'everything' instead) [wp] tests/wp/wp_behav.c:81: Warning: Missing assigns clause (assigns 'everything' instead) +[wp] tests/wp/wp_behav.c:154: Warning: + Missing assigns clause (assigns 'everything' instead) +[wp] tests/wp/wp_behav.c:176: Warning: + Missing assigns clause (assigns 'everything' instead) ------------------------------------------------------------ Function assert_needed ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp/oracle_qualif/sharing.0.session/cache/581afbf7dec3e6ca7cfa496b2276fc75.json b/src/plugins/wp/tests/wp/oracle_qualif/sharing.0.session/cache/581afbf7dec3e6ca7cfa496b2276fc75.json new file mode 100644 index 0000000000000000000000000000000000000000..24fe2dc1d30aa8c6d1fabf8318def2ae8f9d4fdd --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/sharing.0.session/cache/581afbf7dec3e6ca7cfa496b2276fc75.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.2396, + "steps": 35 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/sharing.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/sharing.res.oracle index 1af0a4978ea76984ab04a079184ecaa68cc9f61c..29c9c66f579e875d06ee174d2c67109ac9dd0506 100644 --- a/src/plugins/wp/tests/wp/oracle_qualif/sharing.res.oracle +++ b/src/plugins/wp/tests/wp/oracle_qualif/sharing.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp/sharing.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/0fc0c87545f218082b029769b99f3cbb.json b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/0fc0c87545f218082b029769b99f3cbb.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/0fc0c87545f218082b029769b99f3cbb.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/21d803410dbbfd70cdb668492467b60e.json b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/21d803410dbbfd70cdb668492467b60e.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/21d803410dbbfd70cdb668492467b60e.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/6ebbb9ba0d75ceab60327c5edfcba19f.json b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/6ebbb9ba0d75ceab60327c5edfcba19f.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/6ebbb9ba0d75ceab60327c5edfcba19f.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/72bbc5126a5242466cbb895cebf6027f.json b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/72bbc5126a5242466cbb895cebf6027f.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/72bbc5126a5242466cbb895cebf6027f.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/c637f422de13d8e95f7a1a89edea67c2.json b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/c637f422de13d8e95f7a1a89edea67c2.json new file mode 100644 index 0000000000000000000000000000000000000000..0d38fde3c77075a83a94897ee6fb6eb566967ada --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/c637f422de13d8e95f7a1a89edea67c2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0138, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/dd70bd3d9b6ee92aba6887c09808a980.json b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/dd70bd3d9b6ee92aba6887c09808a980.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/dd70bd3d9b6ee92aba6887c09808a980.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/e77f1bc90faed3c7ee344a6487f26e51.json b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/e77f1bc90faed3c7ee344a6487f26e51.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/e77f1bc90faed3c7ee344a6487f26e51.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/eedbbd1cdf64aa6012b869697f66f2b1.json b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/eedbbd1cdf64aa6012b869697f66f2b1.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/eedbbd1cdf64aa6012b869697f66f2b1.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/faf120d58a951fa6145839b46c1df0a7.json b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/faf120d58a951fa6145839b46c1df0a7.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.0.session/cache/faf120d58a951fa6145839b46c1df0a7.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.res.oracle index 13b5a090e324472be712d4732fd5b278e6d4cc62..ee7e3d8c42bb797918eae2acffced0f9b937cab3 100644 --- a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.res.oracle +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp/stmtcompiler_test.i (no preprocessing) [kernel] tests/wp/stmtcompiler_test.i:136: Warning: Body of function if_assert falls-through. Adding a return statement diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test_rela.0.session/cache/8bf6a3f121519d7863ac34c9cb097dba.json b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test_rela.0.session/cache/8bf6a3f121519d7863ac34c9cb097dba.json new file mode 100644 index 0000000000000000000000000000000000000000..75d005aa7fb9125a568125bc895626130ce402d5 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test_rela.0.session/cache/8bf6a3f121519d7863ac34c9cb097dba.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0473, + "steps": 175 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test_rela.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test_rela.res.oracle index 23141b87e966b27e9d81d6feeec83fdabf24c317..2867ef1ce9fac2398e511c7b2daaddba89f5b162 100644 --- a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test_rela.res.oracle +++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test_rela.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp/stmtcompiler_test_rela.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.res.oracle index ff5c3fbfe04181c9dcf6c53ab6718f23a9bee29b..e7058249e0382a76ed77d2d61f82540675ecff40 100644 --- a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.res.oracle +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.res.oracle @@ -1,18 +1,18 @@ -# frama-c -wp [...] +# frama-c -wp -wp-timeout 1 [...] [kernel] Parsing tests/wp/wp_behav.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' [wp] tests/wp/wp_behav.c:172: Warning: Ignored specification 'for b1' (generalize to all behavior) [wp] Warning: Missing RTE guards -[wp] tests/wp/wp_behav.c:176: Warning: - Missing assigns clause (assigns 'everything' instead) -[wp] tests/wp/wp_behav.c:154: Warning: - Missing assigns clause (assigns 'everything' instead) [wp] tests/wp/wp_behav.c:69: Warning: Missing assigns clause (assigns 'everything' instead) [wp] tests/wp/wp_behav.c:81: Warning: Missing assigns clause (assigns 'everything' instead) +[wp] tests/wp/wp_behav.c:154: Warning: + Missing assigns clause (assigns 'everything' instead) +[wp] tests/wp/wp_behav.c:176: Warning: + Missing assigns clause (assigns 'everything' instead) [wp] 38 goals scheduled [wp] [Alt-Ergo 2.0.0] Goal typed_assert_needed_assert_ko : Unsuccess [wp] [Qed] Goal typed_assert_needed_assert_qed_ok_ok_with_hyp : Valid diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/2c21c483e6514092e4297c8c7c7f5c27.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/2c21c483e6514092e4297c8c7c7f5c27.json new file mode 100644 index 0000000000000000000000000000000000000000..f125ac9ec4dcdfc73907c1aa0fa82bc5a962510f --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/2c21c483e6514092e4297c8c7c7f5c27.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0136, + "steps": 8 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/2f1b7133d8eb145b63e2eb498c04d03d.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/2f1b7133d8eb145b63e2eb498c04d03d.json new file mode 100644 index 0000000000000000000000000000000000000000..852d81aab273985772cb5b7d655f3f996ee7db5d --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/2f1b7133d8eb145b63e2eb498c04d03d.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 1. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/36a0dd93457388b6c6c84312921f068a.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/36a0dd93457388b6c6c84312921f068a.json new file mode 100644 index 0000000000000000000000000000000000000000..852d81aab273985772cb5b7d655f3f996ee7db5d --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/36a0dd93457388b6c6c84312921f068a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 1. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/afa6e44ddb6ea474a65613aec1f876dc.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/afa6e44ddb6ea474a65613aec1f876dc.json new file mode 100644 index 0000000000000000000000000000000000000000..f68a9abe83553df8cd9f596e2a5844b20cca8ef1 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/afa6e44ddb6ea474a65613aec1f876dc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0111, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/c23fba7e5fe63bc7e55fd7ea9b88cbe9.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/c23fba7e5fe63bc7e55fd7ea9b88cbe9.json new file mode 100644 index 0000000000000000000000000000000000000000..852d81aab273985772cb5b7d655f3f996ee7db5d --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.session/cache/c23fba7e5fe63bc7e55fd7ea9b88cbe9.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 1. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.res.oracle index 5f62257e35df9f7486ce5e9014d03c72e861fe8c..3cd8c9dc87ef1fecab861c4a376920f4b9ef4b5a 100644 --- a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.res.oracle +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp/wp_behav.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/0fb970e5c6ab3888a204139d3cd2b997.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/0fb970e5c6ab3888a204139d3cd2b997.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/0fb970e5c6ab3888a204139d3cd2b997.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/11ff8a4041ea06001123f69473d6be27.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/11ff8a4041ea06001123f69473d6be27.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/11ff8a4041ea06001123f69473d6be27.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/757b09ca6b9492a26cc4218a6f427fb3.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/757b09ca6b9492a26cc4218a6f427fb3.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/757b09ca6b9492a26cc4218a6f427fb3.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/8f2ec7b0ccefab812d364dabe9f39174.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/8f2ec7b0ccefab812d364dabe9f39174.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/8f2ec7b0ccefab812d364dabe9f39174.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/ab1bfbbefdd06631a6280e248d23e12c.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/ab1bfbbefdd06631a6280e248d23e12c.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.session/cache/ab1bfbbefdd06631a6280e248d23e12c.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.0.session/cache/e780596669cdd012782072be66d12e4b.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.0.session/cache/e780596669cdd012782072be66d12e4b.json new file mode 100644 index 0000000000000000000000000000000000000000..8fe8cd8eeab2d23ac6fc78fa1e2f7aa1c52ecc5b --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.0.session/cache/e780596669cdd012782072be66d12e4b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0141, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.res.oracle index da92bd060d15c52022f318aa3661baed6105fb70..ef2759505d0f467a32589a8044f365c13b5c479f 100644 --- a/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.res.oracle +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp/wp_call_pre.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.0.session/cache/7fee9fe07f256d953327c9088c7a94c0.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.0.session/cache/7fee9fe07f256d953327c9088c7a94c0.json new file mode 100644 index 0000000000000000000000000000000000000000..19bedd11b4f1bb5bddeed4062928651721740d82 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.0.session/cache/7fee9fe07f256d953327c9088c7a94c0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0097, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.res.oracle index f52504145b9fc163aaf39a9866281cefde1009d1..bdf16d02cb822648ab909aaf2cb644ae3a2b0bc7 100644 --- a/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.res.oracle +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp/wp_eqb.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/1528cf42525a01f3944e99e556354442.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/1528cf42525a01f3944e99e556354442.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/1528cf42525a01f3944e99e556354442.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/51575c7e603242f75c27b4c733019a3a.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/51575c7e603242f75c27b4c733019a3a.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/51575c7e603242f75c27b4c733019a3a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/c23fba7e5fe63bc7e55fd7ea9b88cbe9.json b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/c23fba7e5fe63bc7e55fd7ea9b88cbe9.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.0.session/cache/c23fba7e5fe63bc7e55fd7ea9b88cbe9.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.res.oracle index 38dfb47769eeb1b9d12d6e16f6ea3038caced551..e0fba0eeebb5307fb82cf55a12fd2c2e16573800 100644 --- a/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.res.oracle +++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Hoare' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Hoare' [...] [kernel] Parsing tests/wp/wp_strategy.c (with preprocessing) [rte] annotating function bts0513 [rte] annotating function bts0513_bis diff --git a/src/plugins/wp/tests/wp/stmtcompiler_test.ml b/src/plugins/wp/tests/wp/stmtcompiler_test.ml index ae5dcae5a7fcbf01f1c728a8947e98dc0deb6944..265016e03e588260efab06d3c778892bcec8c920 100644 --- a/src/plugins/wp/tests/wp/stmtcompiler_test.ml +++ b/src/plugins/wp/tests/wp/stmtcompiler_test.ml @@ -90,8 +90,10 @@ let run () = in (** Test on real Cil functions *) - let _run_test kf = - Model.on_scope (Some kf) (fun () -> + let _run_test model kf = + let context = model , WpContext.Kf kf in + WpContext.on_context context + begin fun () -> let automaton = Interpreted_automata.Compute.get_automaton ~annotations:true kf in (* Format.printf "@[%s body cil:%a@]@." fct Printer.pp_block block; *) let seq = {Sigs.pre = Cfg.node (); post = Cfg.node ()} in @@ -104,11 +106,13 @@ let run () = Bag.iter (prove_goal kf seq.pre cfg) goals; - ) () + end () in - let run_test_ia kf = - Model.on_scope (Some kf) (fun () -> + let run_test_ia model kf = + let context = model , WpContext.Kf kf in + WpContext.on_context context + begin fun () -> let paths,start = Compiler.compute_kf kf in let cfg, goals = paths.Compiler.paths_cfg, paths.Compiler.paths_goals in let fname = Filename.temp_file "cfg_pre_" (Kernel_function.get_name kf) in @@ -119,7 +123,7 @@ let run () = Bag.iter (prove_goal kf start cfg) goals; - ) () + end () in let ordered_kf = @@ -134,10 +138,8 @@ let run () = (Globals.Functions.fold (fun kf acc -> kf::acc) []) in List.iter (fun kf -> - if Kernel_function.is_definition kf then begin - (* (Model.with_model model (Lang.local run_test) kf); *) - (Model.with_model model (Lang.local run_test_ia) kf); - end + if Kernel_function.is_definition kf then + Lang.local (run_test_ia model) kf ) ordered_kf diff --git a/src/plugins/wp/tests/wp/stmtcompiler_test_rela.ml b/src/plugins/wp/tests/wp/stmtcompiler_test_rela.ml index 0d171630f8e29b9aa10135085e4ba71e0076d47b..98a139cf92ea673773e3b0f2dcaf3d344fbe773d 100644 --- a/src/plugins/wp/tests/wp/stmtcompiler_test_rela.ml +++ b/src/plugins/wp/tests/wp/stmtcompiler_test_rela.ml @@ -99,7 +99,8 @@ let run () = let run_test kf = let fct = Kernel_function.get_definition kf in - Model.on_scope (Some kf) (fun () -> + WpContext.on_context (model,WpContext.Kf kf) + begin fun () -> let block = Interpreted_automata.Compute.get_automaton ~annotations:true kf in let formal = List.hd (fct.sformals) in @@ -149,7 +150,7 @@ let run () = Format.printf "Sequent: @[%a@]" !Conditions.pretty sequent; Format.printf "#######################################################################@."; prove kf sequent; - ) () + end () in let ordered_kf = @@ -161,7 +162,7 @@ let run () = List.iter (fun kf -> if Kernel_function.is_definition kf then - (Model.with_model model (Lang.local run_test) kf)) + Lang.local run_test kf) ordered_kf diff --git a/src/plugins/wp/tests/wp_acsl/classify_float.c b/src/plugins/wp/tests/wp_acsl/classify_float.c index f6cc4a0d40e56145105da75bd539bc6ce19c3fa4..7866143743cdc9c7b317582af5b805e3865afd31 100644 --- a/src/plugins/wp/tests/wp_acsl/classify_float.c +++ b/src/plugins/wp/tests/wp_acsl/classify_float.c @@ -1,7 +1,7 @@ /* run.config_qualif OPT: -wp-prover alt-ergo OPT: -wp-prover why3:alt-ergo - OPT: -wp-prover coq -wp-script tests/wp_acsl/classify_float.script + OPT: -wp-prover coq -wp-coq-script tests/wp_acsl/classify_float.script */ /*@ diff --git a/src/plugins/wp/tests/wp_acsl/e_imply.i b/src/plugins/wp/tests/wp_acsl/e_imply.i index fd5f9a3076b7eb095a2c8c74d6f747236f7ea4f8..331a57c416b57c708966698f7f692d87361a83dc 100644 --- a/src/plugins/wp/tests/wp_acsl/e_imply.i +++ b/src/plugins/wp/tests/wp_acsl/e_imply.i @@ -1,9 +1,6 @@ /* run.config OPT: -wp-gen -wp-print */ -/* run.config_qualif - OPT: -wp-qed-checks="e_imply" -*/ //@ axiomatic P { predicate P(integer x); } //@ axiomatic T { predicate T = \true ; } diff --git a/src/plugins/wp/tests/wp_acsl/equal.i b/src/plugins/wp/tests/wp_acsl/equal.i index 3021b7c0498d0511df76743101328e1d3476908c..160b60ae74d0b7b905278c3221368903d6357c54 100644 --- a/src/plugins/wp/tests/wp_acsl/equal.i +++ b/src/plugins/wp/tests/wp_acsl/equal.i @@ -1,5 +1,9 @@ +/* run.config + STDOPT: +"-wp-no-extensional" +*/ /* run.config_qualif COMMENT: + STDOPT: +"-wp-no-extensional" */ /* -------------------------------------------------------------------------- */ diff --git a/src/plugins/wp/tests/wp_acsl/init_label.i b/src/plugins/wp/tests/wp_acsl/init_label.i index 24672c3143c13dd138d0c5ca27093d9c738c89a4..25f54a1e067f0a8d30da4a33da26bf10e99645bd 100644 --- a/src/plugins/wp/tests/wp_acsl/init_label.i +++ b/src/plugins/wp/tests/wp_acsl/init_label.i @@ -1,4 +1,10 @@ - +/* run.config + STDOPT: +"-wp-no-extensional" +*/ +/* run.config_qualif + COMMENT: + STDOPT: +"-wp-no-extensional" +*/ int A[20] = {10,11,12} ; diff --git a/src/plugins/wp/tests/wp_acsl/init_value.i b/src/plugins/wp/tests/wp_acsl/init_value.i index b9d9caeabadd4510e4a64607a265906f70f4274c..46011a6a54c96ee222e31dabb01a7ec64539aefb 100644 --- a/src/plugins/wp/tests/wp_acsl/init_value.i +++ b/src/plugins/wp/tests/wp_acsl/init_value.i @@ -1,10 +1,10 @@ /* run.config - OPT: -wp-init-const -wp-no-let - OPT: -main main_ko -wp-no-let + OPT: -wp-no-let + OPT: -main main_ko -wp-no-let -wp-no-init-const */ /* run.config_qualif - OPT: -wp-init-const -wp -wp-par 1 -wp-prop="-qed_ko" - OPT: -main main_ko -wp-par 1 -wp-prop qed_ko -wp-steps 50 + OPT: -wp -wp-par 1 -wp-prop="-qed_ko" + OPT: -main main_ko -wp-par 1 -wp-prop qed_ko -wp-steps 50 -wp-no-init-const */ /* -------------------------------------------------------------------------- */ diff --git a/src/plugins/wp/tests/wp_acsl/oracle/equal.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/equal.res.oracle index e1cad92e54170a2376e7f1c2f93b2b1f3a4f4d4d..a5e1f5ba07cab2b47513553fd8ccba7343241e68 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle/equal.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle/equal.res.oracle @@ -7,7 +7,7 @@ Function simple_array ------------------------------------------------------------ -Goal Post-condition (file tests/wp_acsl/equal.i, line 18) in 'simple_array': +Goal Post-condition (file tests/wp_acsl/equal.i, line 22) in 'simple_array': Let x = t0_0[0]. Let x_1 = t0_0[1]. Assume { @@ -21,7 +21,7 @@ Prove: EqArray1_int(2, t0_0, t1_0[0 <- x][1 <- x_1]). Function simple_struct ------------------------------------------------------------ -Goal Post-condition (file tests/wp_acsl/equal.i, line 12) in 'simple_struct': +Goal Post-condition (file tests/wp_acsl/equal.i, line 16) in 'simple_struct': Prove: true. ------------------------------------------------------------ @@ -29,7 +29,7 @@ Prove: true. Function with_array_struct ------------------------------------------------------------ -Goal Post-condition (file tests/wp_acsl/equal.i, line 24) in 'with_array_struct': +Goal Post-condition (file tests/wp_acsl/equal.i, line 28) in 'with_array_struct': Let a = st0_0.F2_St_tab. Let a_1 = st1_0.F2_St_tab. Assume { @@ -45,7 +45,7 @@ Prove: EqS2_St(st0_0, st1_0). Function with_ptr_and_array_struct ------------------------------------------------------------ -Goal Post-condition (file tests/wp_acsl/equal.i, line 43) in 'with_ptr_and_array_struct': +Goal Post-condition (file tests/wp_acsl/equal.i, line 47) in 'with_ptr_and_array_struct': Let a = q0_0.F4_Q_qs. Let a_1 = q1_0.F4_Q_qs. Let a_2 = q0_0.F4_Q_qt. @@ -64,7 +64,7 @@ Prove: EqS4_Q(q0_0, q1_0). Function with_ptr_array ------------------------------------------------------------ -Goal Post-condition (file tests/wp_acsl/equal.i, line 36) in 'with_ptr_array': +Goal Post-condition (file tests/wp_acsl/equal.i, line 40) in 'with_ptr_array': Assume { (* Goal *) When: forall i : Z. ((0 <= i) -> ((i <= 4) -> (tp1_0[i] = tp0_0[i]))). @@ -76,7 +76,7 @@ Prove: EqArray1_pointer(5, tp0_0, tp1_0). Function with_ptr_struct ------------------------------------------------------------ -Goal Post-condition (file tests/wp_acsl/equal.i, line 30) in 'with_ptr_struct': +Goal Post-condition (file tests/wp_acsl/equal.i, line 34) in 'with_ptr_struct': Assume { (* Goal *) When: (sp1_0.F3_Sp_p) = (sp0_0.F3_Sp_p). } Prove: EqS3_Sp(sp0_0, sp1_0). diff --git a/src/plugins/wp/tests/wp_acsl/oracle/init_label.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/init_label.res.oracle index 76693dd4e7cffda1b00cb9c76a0e587a1d561827..eaf906f5ee4db946fea90806e5400e116ac17f29 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle/init_label.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle/init_label.res.oracle @@ -2,7 +2,7 @@ [kernel] Parsing tests/wp_acsl/init_label.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' -[kernel] tests/wp_acsl/init_label.i:21: Warning: +[kernel] tests/wp_acsl/init_label.i:27: Warning: No code nor implicit assigns clause for function main, generating default assigns from the prototype [wp] Warning: Missing RTE guards ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.res.oracle index 181bf2a9fbc801af1b7c5c180d9c588ce3664f70..c423c72e13275ee12e1bdb02d896209543471042 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/arith.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.session/cache/22e8af89bab02c0376d0b76de0783ced.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.session/cache/22e8af89bab02c0376d0b76de0783ced.json new file mode 100644 index 0000000000000000000000000000000000000000..004a045ce64e9001f7956412dcfc1fd15e11e234 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.session/cache/22e8af89bab02c0376d0b76de0783ced.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0297, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.session/cache/25352f9b51b5b51a92cd738b531b5cdf.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.session/cache/25352f9b51b5b51a92cd738b531b5cdf.json new file mode 100644 index 0000000000000000000000000000000000000000..7df40143eb1ea3b8c34526e8602cbb998eaaca80 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.session/cache/25352f9b51b5b51a92cd738b531b5cdf.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0309, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.session/cache/eee79396f30abd45df8aaaa33f0bd73c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.session/cache/eee79396f30abd45df8aaaa33f0bd73c.json new file mode 100644 index 0000000000000000000000000000000000000000..948a3f2a27f289ba61ab502a1be19c403128d239 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.session/cache/eee79396f30abd45df8aaaa33f0bd73c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.028, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.res.oracle index 22512c43596e59f57a7705dd602bcb75262e4cf8..e6f6bea9c6837fbe4e1acf05de0816079a05e4d9 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/arith.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.session/cache/0312839fb550e7a57a51a6de0c8a6d84.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.session/cache/0312839fb550e7a57a51a6de0c8a6d84.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.session/cache/0312839fb550e7a57a51a6de0c8a6d84.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assign_array.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assign_array.res.oracle index a532ef8d1cf5f449215c792de3edbfe8cdaa43c7..26d8e212c80f0473f2c48a77399cc126f5bef18f 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assign_array.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assign_array.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/assign_array.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.0.session/cache/0bb9326e4269583224fb2770b016800a.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.0.session/cache/0bb9326e4269583224fb2770b016800a.json new file mode 100644 index 0000000000000000000000000000000000000000..b7ec5dc5562aaacac06a746574e7bb648a79246e --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.0.session/cache/0bb9326e4269583224fb2770b016800a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0255, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.0.session/cache/27425d7dcb17564821b7f51bacad4897.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.0.session/cache/27425d7dcb17564821b7f51bacad4897.json new file mode 100644 index 0000000000000000000000000000000000000000..336d4fedacf7636aa6bfa109fb295aeb0bb8bd70 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.0.session/cache/27425d7dcb17564821b7f51bacad4897.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0289, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.0.session/cache/9eee7a2ae5de6a1ff5a8b4e995114dbc.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.0.session/cache/9eee7a2ae5de6a1ff5a8b4e995114dbc.json new file mode 100644 index 0000000000000000000000000000000000000000..c0b08c925b447e0866839d9c6dab0b663bb6e1ca --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.0.session/cache/9eee7a2ae5de6a1ff5a8b4e995114dbc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0214, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.res.oracle index 36a8e376b7408fea0f930f27b25d8136d8d71244..97318c56ec4ac5f12cc340cddbaff42b4b941a02 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/assigns_path.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.res.oracle index 64c7d444dc045b089f594634841e43b7f2788ba4..db587673eacdddb3440b7b8425edaf73d39783ea 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/assigns_range.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/51be20ba77a29823228730006ea17235.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/51be20ba77a29823228730006ea17235.json new file mode 100644 index 0000000000000000000000000000000000000000..5f4b5e0421655403864ffa87e35682952e1357e4 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/51be20ba77a29823228730006ea17235.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0136, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/71b8977e0240d06ce312ec58fd2cebe2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/71b8977e0240d06ce312ec58fd2cebe2.json new file mode 100644 index 0000000000000000000000000000000000000000..2a3a84a5b3e82215ca5a1515ee62f50140e9a7ad --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/71b8977e0240d06ce312ec58fd2cebe2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0116, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/7ef721ab5f79fd73a875a1100883ff5a.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/7ef721ab5f79fd73a875a1100883ff5a.json new file mode 100644 index 0000000000000000000000000000000000000000..e9ae0cee5ac14a215bebd5f2d9b226e372e40a43 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/7ef721ab5f79fd73a875a1100883ff5a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0119, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/84f093e6097df47f748e4706e4b385ff.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/84f093e6097df47f748e4706e4b385ff.json new file mode 100644 index 0000000000000000000000000000000000000000..e151ea2b3327b06120b4c52cfc494254e9291157 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/84f093e6097df47f748e4706e4b385ff.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0145, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/ebb4a8c6f3fc630f681a9fa5a848cc32.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/ebb4a8c6f3fc630f681a9fa5a848cc32.json new file mode 100644 index 0000000000000000000000000000000000000000..45855daf2926d84488b86023b5ee09122ff85027 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.session/cache/ebb4a8c6f3fc630f681a9fa5a848cc32.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0141, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.res.oracle index 64e97d8799e637cf957808bd06d8e7f3eeb7217d..740d097ec798cbd2d89caf8208b429bcce99090c 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/assigns_range.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.session/cache/09d5c02631d5ca87b084ca3e64dc38d1.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.session/cache/09d5c02631d5ca87b084ca3e64dc38d1.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.session/cache/09d5c02631d5ca87b084ca3e64dc38d1.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.session/cache/801fd980d7f251786363b0010fdb0d7c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.session/cache/801fd980d7f251786363b0010fdb0d7c.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.session/cache/801fd980d7f251786363b0010fdb0d7c.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.session/cache/c77d39c9e3d9f3a0a1a2eba86ddf32bb.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.session/cache/c77d39c9e3d9f3a0a1a2eba86ddf32bb.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.session/cache/c77d39c9e3d9f3a0a1a2eba86ddf32bb.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/18272cbcbacbdee3afc9f607c0898da8.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/18272cbcbacbdee3afc9f607c0898da8.json new file mode 100644 index 0000000000000000000000000000000000000000..f74798a850447311f4ad19d1d153e0bc718af55a --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/18272cbcbacbdee3afc9f607c0898da8.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0318, + "steps": 32 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/bbb29605b3f16a545b51b5890bef9c4d.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/bbb29605b3f16a545b51b5890bef9c4d.json new file mode 100644 index 0000000000000000000000000000000000000000..eadc6f8ecb0c615679e0d27a2d5ab2e6bb3d60d4 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/bbb29605b3f16a545b51b5890bef9c4d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.035, + "steps": 45 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/c22b2b7de2cf2f354d9edafa47d34589.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/c22b2b7de2cf2f354d9edafa47d34589.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/c22b2b7de2cf2f354d9edafa47d34589.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/d40fe249206bb99bb022dc99c31f13c3.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/d40fe249206bb99bb022dc99c31f13c3.json new file mode 100644 index 0000000000000000000000000000000000000000..14ae4896c5e36940906cce1cf5ae5de1cbe52b24 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/d40fe249206bb99bb022dc99c31f13c3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0504, + "steps": 70 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/d82134accee9fa37acc671a4193d9c28.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/d82134accee9fa37acc671a4193d9c28.json new file mode 100644 index 0000000000000000000000000000000000000000..322a5f6f3ed39d1a80c0c137082e16704481cbb5 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/d82134accee9fa37acc671a4193d9c28.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.021, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/ebcd5db6abab43ea6e440b41c61de767.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/ebcd5db6abab43ea6e440b41c61de767.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/ebcd5db6abab43ea6e440b41c61de767.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/fa6ed598f056631f9bfaf5af5363a26b.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/fa6ed598f056631f9bfaf5af5363a26b.json new file mode 100644 index 0000000000000000000000000000000000000000..f9a484c74305aa72de6bec22962968bd8276a675 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.0.session/cache/fa6ed598f056631f9bfaf5af5363a26b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0216, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.res.oracle index 736e31a325f5fe26f4c6d63955528caff10fed60..a3493e036614f668d01b6b95a1002daeeadc1c45 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/axioms.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.0.session/cache/31b7327f039e0b07f5212fb83a9e9e89.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.0.session/cache/31b7327f039e0b07f5212fb83a9e9e89.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.0.session/cache/31b7327f039e0b07f5212fb83a9e9e89.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.res.oracle index 1af5465d13154a5483b11d033f0559997d780615..0ce1be644f70ca422444f04aeaae79657bc9ef53 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/base_offset.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/1ecbe0b41a07f6fd2241aff3258cd377.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/1ecbe0b41a07f6fd2241aff3258cd377.json new file mode 100644 index 0000000000000000000000000000000000000000..59bffa2fc3d72f105a4e38cee4abca36cd4c024a --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/1ecbe0b41a07f6fd2241aff3258cd377.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.016, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/22c1313f9df2b9bda80d2bb8c4d175fc.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/22c1313f9df2b9bda80d2bb8c4d175fc.json new file mode 100644 index 0000000000000000000000000000000000000000..5a0c518a6c360b49c31014425886cf612da5ea65 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/22c1313f9df2b9bda80d2bb8c4d175fc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0106, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/4fc19b7c827e48214e31ff4f16d7a060.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/4fc19b7c827e48214e31ff4f16d7a060.json new file mode 100644 index 0000000000000000000000000000000000000000..ef756bd2b5a622a7441e1843fce782b872d7ca1f --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/4fc19b7c827e48214e31ff4f16d7a060.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0087, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/7aa1ae97b0ddd96dc9a92948a21d089d.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/7aa1ae97b0ddd96dc9a92948a21d089d.json new file mode 100644 index 0000000000000000000000000000000000000000..c51630a609ad721be04ad11398c8241fbc6ead4e --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.0.session/cache/7aa1ae97b0ddd96dc9a92948a21d089d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0352, + "steps": 26 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.res.oracle index bcb6ca0c309bce06e75c6a2cb14755c8276fc028..23321ffd00c9408ab3d574a7d35bde27b552c618 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/bitwise.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise2.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise2.res.oracle index 48fb4714a1f9e26815faeff51fb4f090a88f56f9..c76035e0829a7223ddc7e12af46569768e18b708 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise2.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/bitwise2.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/block_length.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/block_length.res.oracle index cf0946ede61699d19535943cacdfac9b59bcd40f..e4be1fdb79ccfe9502fe242b015f23b500c1ce33 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/block_length.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/block_length.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/block_length.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/checks.0.session/cache/720b1b51dec0a3fbd5b6f5f8d3f5d6f9.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/checks.0.session/cache/720b1b51dec0a3fbd5b6f5f8d3f5d6f9.json new file mode 100644 index 0000000000000000000000000000000000000000..b49f040e534ed0cf908f364141d1d8437df8bc85 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/checks.0.session/cache/720b1b51dec0a3fbd5b6f5f8d3f5d6f9.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 5 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/checks.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/checks.res.oracle index bf4efdc83af91b0df0b941fec22ca0391dc3a19a..a6187ffba8d271b4d3bcf2909f86ea99967f9282 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/checks.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/checks.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 5 [...] +# frama-c -wp -wp-steps 5 [...] [kernel] Parsing tests/wp_acsl/checks.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.res.oracle index c4b1a1c2873fa09e1c505ff9995670f712850a1c..cfee3c57e18aa4132b2f2988923bcc530e4e2961 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/classify_float.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.session/cache/0b96e48ee127a1425284f14d35224e5e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.session/cache/0b96e48ee127a1425284f14d35224e5e.json new file mode 100644 index 0000000000000000000000000000000000000000..449f8c0af0c906e0323713bbe759547b536aa5b1 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.session/cache/0b96e48ee127a1425284f14d35224e5e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.022, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.session/cache/377b1ddc5cd0851120f14ebc55cb07a4.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.session/cache/377b1ddc5cd0851120f14ebc55cb07a4.json new file mode 100644 index 0000000000000000000000000000000000000000..d6c86333333ed141941cf30ab9a9313667feebf9 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.session/cache/377b1ddc5cd0851120f14ebc55cb07a4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0221, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.session/cache/9a3235da49aa1f5332c48d29cb5e4f60.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.session/cache/9a3235da49aa1f5332c48d29cb5e4f60.json new file mode 100644 index 0000000000000000000000000000000000000000..e151ea2b3327b06120b4c52cfc494254e9291157 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.0.session/cache/9a3235da49aa1f5332c48d29cb5e4f60.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0145, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.res.oracle index b9250d09987006efcb9071ccdfde0f38903b725c..1c0f3f3f388045d820787e6f640a6480a9742c5d 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/classify_float.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.session/cache/0b96e48ee127a1425284f14d35224e5e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.session/cache/0b96e48ee127a1425284f14d35224e5e.json new file mode 100644 index 0000000000000000000000000000000000000000..97c59d659c67c16b0f1eae919137749af0057d92 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.session/cache/0b96e48ee127a1425284f14d35224e5e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0213, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.session/cache/377b1ddc5cd0851120f14ebc55cb07a4.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.session/cache/377b1ddc5cd0851120f14ebc55cb07a4.json new file mode 100644 index 0000000000000000000000000000000000000000..22a94416cb115d8934334b753fbfc383f6fdcf7c --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.session/cache/377b1ddc5cd0851120f14ebc55cb07a4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0168, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.session/cache/9a3235da49aa1f5332c48d29cb5e4f60.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.session/cache/9a3235da49aa1f5332c48d29cb5e4f60.json new file mode 100644 index 0000000000000000000000000000000000000000..3c91cd3d0186ae7d9a21a9c33fb7b598408f39e9 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.1.session/cache/9a3235da49aa1f5332c48d29cb5e4f60.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0215, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.2.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.2.res.oracle index 0162e0980a3e712138d309ac460ef90a84ee9ced..7ddef8f6c1163e7ec87114454f625be52a78fe2f 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.2.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/classify_float.2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/classify_float.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/01f6142393c61d0b4d78fdebfa54f289.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/01f6142393c61d0b4d78fdebfa54f289.json new file mode 100644 index 0000000000000000000000000000000000000000..5a69ee487cfb2584afe0e5d6f59b437e6dd33dcb --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/01f6142393c61d0b4d78fdebfa54f289.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0114, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/0a1563f5c57f0dc1e442b67ae3481600.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/0a1563f5c57f0dc1e442b67ae3481600.json new file mode 100644 index 0000000000000000000000000000000000000000..470bac1738a50303693ebbc20c9778a249c67fc8 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/0a1563f5c57f0dc1e442b67ae3481600.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0091, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/0e04b6829dbff9839c263060c47505ff.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/0e04b6829dbff9839c263060c47505ff.json new file mode 100644 index 0000000000000000000000000000000000000000..6285c790af0b73595f78b30ced5d7faca4b8e903 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/0e04b6829dbff9839c263060c47505ff.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0072, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/1c0a18bd9dc3d4937d9da8bc4c97a590.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/1c0a18bd9dc3d4937d9da8bc4c97a590.json new file mode 100644 index 0000000000000000000000000000000000000000..be8daf2e0139459830580e76709551af6697e0b3 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/1c0a18bd9dc3d4937d9da8bc4c97a590.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0095, + "steps": 5 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/1e62e5ef01b026e0509b1f15b23edf82.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/1e62e5ef01b026e0509b1f15b23edf82.json new file mode 100644 index 0000000000000000000000000000000000000000..28cd44fd0dd0e3b375e83053f4f06682b0b6d2bd --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/1e62e5ef01b026e0509b1f15b23edf82.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0079, + "steps": 28 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/240319af067db756838425ec03ce9c5e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/240319af067db756838425ec03ce9c5e.json new file mode 100644 index 0000000000000000000000000000000000000000..1e0b38dadb9effda4488b941af22a3c18f28a2d3 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/240319af067db756838425ec03ce9c5e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0105, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/2ba0eb90ccbc289c4443c4c14a513f41.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/2ba0eb90ccbc289c4443c4c14a513f41.json new file mode 100644 index 0000000000000000000000000000000000000000..2c6147bc0da4f95ac1ec67594089f553b4b46e35 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/2ba0eb90ccbc289c4443c4c14a513f41.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0091, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/36ba31ce017a23e3de44dfa8f021b045.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/36ba31ce017a23e3de44dfa8f021b045.json new file mode 100644 index 0000000000000000000000000000000000000000..acf2b7f875407c1bb57e04b85b5f78a885c8f9c1 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/36ba31ce017a23e3de44dfa8f021b045.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0104, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/3802694f8e50b26a879fa5235dea90dd.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/3802694f8e50b26a879fa5235dea90dd.json new file mode 100644 index 0000000000000000000000000000000000000000..e6ecf362a0e530f26f84d78aabf7c7ff78ca0220 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/3802694f8e50b26a879fa5235dea90dd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.013, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/38c5c28a40dc96dd26f3c2dbffb7cf2c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/38c5c28a40dc96dd26f3c2dbffb7cf2c.json new file mode 100644 index 0000000000000000000000000000000000000000..49d64ebd48c9c33f1edcf6a5b5c6dbb3e07d981c --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/38c5c28a40dc96dd26f3c2dbffb7cf2c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0205, + "steps": 57 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/3de87c93437108089c3fc3d147a110bf.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/3de87c93437108089c3fc3d147a110bf.json new file mode 100644 index 0000000000000000000000000000000000000000..4ca29833533bca78f2e21b6e5886565013e137d0 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/3de87c93437108089c3fc3d147a110bf.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.009, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/4042531f6f0428250d20692ed68e7695.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/4042531f6f0428250d20692ed68e7695.json new file mode 100644 index 0000000000000000000000000000000000000000..6b69c5044d9619d2a175402785c103b9589856ad --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/4042531f6f0428250d20692ed68e7695.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0103, + "steps": 5 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/40e5fd92406791c46a253a74b782a4ee.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/40e5fd92406791c46a253a74b782a4ee.json new file mode 100644 index 0000000000000000000000000000000000000000..8615c4cb7ff089105c8d52a23f516bf676fccf5a --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/40e5fd92406791c46a253a74b782a4ee.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0113, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/4fdf63524b5ce8bccf960e205c26c1c6.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/4fdf63524b5ce8bccf960e205c26c1c6.json new file mode 100644 index 0000000000000000000000000000000000000000..f9e6f2f347f6becc382771579c9aacda2dbf623b --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/4fdf63524b5ce8bccf960e205c26c1c6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0077, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/552dc3412bb2994bb70538c2ef90e116.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/552dc3412bb2994bb70538c2ef90e116.json new file mode 100644 index 0000000000000000000000000000000000000000..0db76fbffbbd977ad9e039306e4b960cb7e0c70e --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/552dc3412bb2994bb70538c2ef90e116.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0067, + "steps": 8 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/56badc38ebd11f85561b19682f3baaf5.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/56badc38ebd11f85561b19682f3baaf5.json new file mode 100644 index 0000000000000000000000000000000000000000..2de63fa9ff50ec989feb7d6bb3b2048a842e6128 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/56badc38ebd11f85561b19682f3baaf5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0247, + "steps": 179 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/5bb8802cd33529e793ecb4ce980c8758.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/5bb8802cd33529e793ecb4ce980c8758.json new file mode 100644 index 0000000000000000000000000000000000000000..66657150e32c1eec6985a2f067650a88cfdfc582 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/5bb8802cd33529e793ecb4ce980c8758.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0063, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/66a24739918528d1d446c1d39100e1b5.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/66a24739918528d1d446c1d39100e1b5.json new file mode 100644 index 0000000000000000000000000000000000000000..5e3082bfca5aad560227b1b95eb15e276297d54f --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/66a24739918528d1d446c1d39100e1b5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0129, + "steps": 29 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/7dc9e2f1ca9f3c88e718c9e1b00aea08.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/7dc9e2f1ca9f3c88e718c9e1b00aea08.json new file mode 100644 index 0000000000000000000000000000000000000000..ad7f6771826cce6a391f13b6e6578fa8be164e16 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/7dc9e2f1ca9f3c88e718c9e1b00aea08.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0109, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/86081a9e69583a62b5e630f412c34a48.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/86081a9e69583a62b5e630f412c34a48.json new file mode 100644 index 0000000000000000000000000000000000000000..e51d6fb7cef01fd9a306781581577191f226a71f --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/86081a9e69583a62b5e630f412c34a48.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.007, + "steps": 8 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/8fcb381b63da5f4e9aca0d7a8f9e0b98.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/8fcb381b63da5f4e9aca0d7a8f9e0b98.json new file mode 100644 index 0000000000000000000000000000000000000000..c275e5556037641be1542717e6e07462dd2c8c31 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/8fcb381b63da5f4e9aca0d7a8f9e0b98.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0086, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/b15e16b9c49e317f124993589d536cb3.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/b15e16b9c49e317f124993589d536cb3.json new file mode 100644 index 0000000000000000000000000000000000000000..f5fb1cef13296ed258a7b827f18cb06db10de02c --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/b15e16b9c49e317f124993589d536cb3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0122, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/c13fe2015b075f0e203350c84fc3f1c6.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/c13fe2015b075f0e203350c84fc3f1c6.json new file mode 100644 index 0000000000000000000000000000000000000000..a069b9d02ac71e1770fc35f1e84924476d33060c --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/c13fe2015b075f0e203350c84fc3f1c6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0154, + "steps": 27 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/c21539213e6c5259862fd7389b7b271e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/c21539213e6c5259862fd7389b7b271e.json new file mode 100644 index 0000000000000000000000000000000000000000..cd90d02a03544d05f29546489fa1025e1f0e62cc --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/c21539213e6c5259862fd7389b7b271e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0105, + "steps": 8 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/e73151b5fb353f0fb6d7b0d07028da48.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/e73151b5fb353f0fb6d7b0d07028da48.json new file mode 100644 index 0000000000000000000000000000000000000000..ae1a3ffb0d9a24b8ee726b19d99a276fca9ee57e --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/e73151b5fb353f0fb6d7b0d07028da48.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0124, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/ef23f172217b73fca0708f1eeea72bfa.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/ef23f172217b73fca0708f1eeea72bfa.json new file mode 100644 index 0000000000000000000000000000000000000000..27c43859f63cf606a65fb1f865286af501b555c4 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/ef23f172217b73fca0708f1eeea72bfa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0113, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/f2efaa910a22ef83281aed6b33892862.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/f2efaa910a22ef83281aed6b33892862.json new file mode 100644 index 0000000000000000000000000000000000000000..38e879d8be3ea21b775f0394056cc96169055c7f --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/f2efaa910a22ef83281aed6b33892862.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0082, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fb4cac2192648dd647b2cfd761097a13.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fb4cac2192648dd647b2cfd761097a13.json new file mode 100644 index 0000000000000000000000000000000000000000..4018388a1b852be79d88625eb1bb28493d159124 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fb4cac2192648dd647b2cfd761097a13.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0101, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fd50b32bedc05c1d4407ec0d91baae91.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fd50b32bedc05c1d4407ec0d91baae91.json new file mode 100644 index 0000000000000000000000000000000000000000..d4dbaaf180c49bba46e82fe885651a3c85274d5a --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fd50b32bedc05c1d4407ec0d91baae91.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0122, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fd5aae34d94298825cde6ebc3782886a.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fd5aae34d94298825cde6ebc3782886a.json new file mode 100644 index 0000000000000000000000000000000000000000..65ed5f578473bc4b4d34afcd5dd8cac66d940c95 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fd5aae34d94298825cde6ebc3782886a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0086, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fe38c06e404e254e28944da9cfb91669.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fe38c06e404e254e28944da9cfb91669.json new file mode 100644 index 0000000000000000000000000000000000000000..54871fa31664cc3a2ac8ca9bac87465f5aa208f2 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.0.session/cache/fe38c06e404e254e28944da9cfb91669.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0149, + "steps": 37 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.res.oracle index 6c52f44f79d5903f974c160d9c930c4d105cbcb0..96ac43f85256d5d1199e0cd7f65fc6b699e5e656 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/cnf.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/ctor.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/ctor.res.oracle index 28838da6b6bf90e3686624a9eecf7e0745fea9f8..98b954ee53146f9cd5c34796c9663f6f5ee9292f 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/ctor.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/ctor.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/ctor.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.res.oracle index 129596332719e69acdb8b69587b890364126cd9c..fe8628eb6a8133631411fb58b3daf5d73348eb8d 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/div_mod.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/44bfcd84497c1c379bc0b02525bc51ec.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/44bfcd84497c1c379bc0b02525bc51ec.json new file mode 100644 index 0000000000000000000000000000000000000000..1ea961ab14f1f0c5961ced876119e7fa963695ce --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/44bfcd84497c1c379bc0b02525bc51ec.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0157, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/479f1bfb29d85f65371b04c1a243f4e3.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/479f1bfb29d85f65371b04c1a243f4e3.json new file mode 100644 index 0000000000000000000000000000000000000000..dd07c3cd82e4cacb1dcc543efa31e26a916ebc2d --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/479f1bfb29d85f65371b04c1a243f4e3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0157, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/4b9760bdd31f7e65841794504859d1e2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/4b9760bdd31f7e65841794504859d1e2.json new file mode 100644 index 0000000000000000000000000000000000000000..91c9b842a92bcafff9dcac2d8f39401deb8961de --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/4b9760bdd31f7e65841794504859d1e2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0156, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json new file mode 100644 index 0000000000000000000000000000000000000000..62b0c92ef50b75ce8259ad867891fb9d5be82d72 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0073, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/6110c80065036f515b029169c819ef30.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/6110c80065036f515b029169c819ef30.json new file mode 100644 index 0000000000000000000000000000000000000000..911345a28732970f0efb5d8fa79c854f9d502bef --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/6110c80065036f515b029169c819ef30.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0108, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/74a8a8ffa4b4e9177b600ddb8bfb9700.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/74a8a8ffa4b4e9177b600ddb8bfb9700.json new file mode 100644 index 0000000000000000000000000000000000000000..808e3e406e898644e670f528b81f91fe1d74b893 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/74a8a8ffa4b4e9177b600ddb8bfb9700.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0114, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/7d858dfd91200ecf83a156407ab6df41.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/7d858dfd91200ecf83a156407ab6df41.json new file mode 100644 index 0000000000000000000000000000000000000000..1ea961ab14f1f0c5961ced876119e7fa963695ce --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/7d858dfd91200ecf83a156407ab6df41.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0157, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/7f46ccdf53adb7491436d4ec9cacd70b.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/7f46ccdf53adb7491436d4ec9cacd70b.json new file mode 100644 index 0000000000000000000000000000000000000000..8a202ae6005ceeabbdac83d46366142bba942983 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/7f46ccdf53adb7491436d4ec9cacd70b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0177, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/9749dd5f15852dceee737755a7f829b3.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/9749dd5f15852dceee737755a7f829b3.json new file mode 100644 index 0000000000000000000000000000000000000000..4e6dc9a6a528011b1203b984e57118c99ea5d034 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/9749dd5f15852dceee737755a7f829b3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0176, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/cbc69af7ff44dae806eb363d47e2f0c9.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/cbc69af7ff44dae806eb363d47e2f0c9.json new file mode 100644 index 0000000000000000000000000000000000000000..4d89793c49d788f2811eb7503d6c5fc25a7f09ac --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/cbc69af7ff44dae806eb363d47e2f0c9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.017, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/d7903440b39a1276f7555554baa19daa.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/d7903440b39a1276f7555554baa19daa.json new file mode 100644 index 0000000000000000000000000000000000000000..1ea961ab14f1f0c5961ced876119e7fa963695ce --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/d7903440b39a1276f7555554baa19daa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0157, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/f22ea2eb3e900d6144ad40c3d082f288.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/f22ea2eb3e900d6144ad40c3d082f288.json new file mode 100644 index 0000000000000000000000000000000000000000..eee5ba759f5bb45722616e8d78d7454d5b6c6f8a --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/f22ea2eb3e900d6144ad40c3d082f288.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0121, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/f82e8f548cffbe0189a8fe63d2166368.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/f82e8f548cffbe0189a8fe63d2166368.json new file mode 100644 index 0000000000000000000000000000000000000000..5973938db2ae6833c8c439a296f56259eca86e26 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.session/cache/f82e8f548cffbe0189a8fe63d2166368.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0126, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.res.oracle index 92c78b1d82867cf7a86825f82d7416236d1e1fe9..3b1a448537a55b7456126c7507f6869579f89f91 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/div_mod.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/44bfcd84497c1c379bc0b02525bc51ec.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/44bfcd84497c1c379bc0b02525bc51ec.json new file mode 100644 index 0000000000000000000000000000000000000000..3d53c5477c3d6a9773951d0ca066360d217c173a --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/44bfcd84497c1c379bc0b02525bc51ec.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.011, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/479f1bfb29d85f65371b04c1a243f4e3.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/479f1bfb29d85f65371b04c1a243f4e3.json new file mode 100644 index 0000000000000000000000000000000000000000..c2eb3590224438c1340499acfc0ed7e2b30e53e4 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/479f1bfb29d85f65371b04c1a243f4e3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0171, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/4b9760bdd31f7e65841794504859d1e2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/4b9760bdd31f7e65841794504859d1e2.json new file mode 100644 index 0000000000000000000000000000000000000000..a0bd2e776fa324cf9a36c46f0131fe630320eede --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/4b9760bdd31f7e65841794504859d1e2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0106, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json new file mode 100644 index 0000000000000000000000000000000000000000..d4521bf658410456b221da82fc1cecffe7c4c900 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0087, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/6110c80065036f515b029169c819ef30.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/6110c80065036f515b029169c819ef30.json new file mode 100644 index 0000000000000000000000000000000000000000..91c9b842a92bcafff9dcac2d8f39401deb8961de --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/6110c80065036f515b029169c819ef30.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0156, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/74a8a8ffa4b4e9177b600ddb8bfb9700.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/74a8a8ffa4b4e9177b600ddb8bfb9700.json new file mode 100644 index 0000000000000000000000000000000000000000..93e503e5906bce19517b53e0b7d2dc5ecac25816 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/74a8a8ffa4b4e9177b600ddb8bfb9700.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0128, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/7d858dfd91200ecf83a156407ab6df41.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/7d858dfd91200ecf83a156407ab6df41.json new file mode 100644 index 0000000000000000000000000000000000000000..91c9b842a92bcafff9dcac2d8f39401deb8961de --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/7d858dfd91200ecf83a156407ab6df41.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0156, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/7f46ccdf53adb7491436d4ec9cacd70b.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/7f46ccdf53adb7491436d4ec9cacd70b.json new file mode 100644 index 0000000000000000000000000000000000000000..4c6a3ed132f60b4fb3df0fadfe0d2a0789fcb1e2 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/7f46ccdf53adb7491436d4ec9cacd70b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0143, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/9749dd5f15852dceee737755a7f829b3.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/9749dd5f15852dceee737755a7f829b3.json new file mode 100644 index 0000000000000000000000000000000000000000..d98ea4ae10fe7b8757d52c710ffe40a364930551 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/9749dd5f15852dceee737755a7f829b3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0234, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/cbc69af7ff44dae806eb363d47e2f0c9.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/cbc69af7ff44dae806eb363d47e2f0c9.json new file mode 100644 index 0000000000000000000000000000000000000000..aaeb734a0befb8858d27d161c755743b6ce76ab0 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/cbc69af7ff44dae806eb363d47e2f0c9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0163, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/d7903440b39a1276f7555554baa19daa.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/d7903440b39a1276f7555554baa19daa.json new file mode 100644 index 0000000000000000000000000000000000000000..24a02d2638c97b6effacda9f47354aa71b229099 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/d7903440b39a1276f7555554baa19daa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0166, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/f22ea2eb3e900d6144ad40c3d082f288.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/f22ea2eb3e900d6144ad40c3d082f288.json new file mode 100644 index 0000000000000000000000000000000000000000..e7ade1e8511c1b063f9c667bb3dcabcf09148734 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/f22ea2eb3e900d6144ad40c3d082f288.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0113, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/f82e8f548cffbe0189a8fe63d2166368.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/f82e8f548cffbe0189a8fe63d2166368.json new file mode 100644 index 0000000000000000000000000000000000000000..c8cac88c1e9165294e7e0a06df95e6a609ca4932 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.session/cache/f82e8f548cffbe0189a8fe63d2166368.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0096, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.res.oracle index b0357286139124d289affbd8a1cfbb96cb586d17..90d4a24c060502e14ac081e29d432198699961a8 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/div_mod.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.session/cache/7e3da19219501629671643d84602636b.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.session/cache/7e3da19219501629671643d84602636b.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.session/cache/7e3da19219501629671643d84602636b.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.session/cache/d6668302c907360822639074896e6cf8.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.session/cache/d6668302c907360822639074896e6cf8.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.session/cache/d6668302c907360822639074896e6cf8.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.0.report.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.0.report.json new file mode 100644 index 0000000000000000000000000000000000000000..e0c64dbd19c005bd7baa08847082f1b9199a1e47 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.0.report.json @@ -0,0 +1,247 @@ +{ "wp:global": { "why3:Alt-Ergo,2.0.0": { "total": 34, "valid": 34, + "rank": 0 }, + "qed": { "total": 8, "valid": 8 }, + "wp:main": { "total": 42, "valid": 42, "rank": 0 } }, + "wp:functions": { "f": { "f_ensures_f1": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_f0": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_o9": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_o8": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_o7": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_o6": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_o5": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_o4": { "qed": { "total": 1, + "valid": 1 }, + "wp:main": { "total": 1, + "valid": 1 } }, + "f_ensures_o3": { "qed": { "total": 1, + "valid": 1 }, + "wp:main": { "total": 1, + "valid": 1 } }, + "f_ensures_o2": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_o1": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_o0": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_a9": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_a8": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_a7": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_a6": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_a5": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_a4": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_a3": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_a2": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_a1": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_a0": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_i9": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_i8": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_i7": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_i6": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_i5": { "qed": { "total": 1, + "valid": 1 }, + "wp:main": { "total": 1, + "valid": 1 } }, + "f_ensures_i4": { "qed": { "total": 1, + "valid": 1 }, + "wp:main": { "total": 1, + "valid": 1 } }, + "f_ensures_i3": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_i2": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_i1": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_i0": { "qed": { "total": 1, + "valid": 1 }, + "wp:main": { "total": 1, + "valid": 1 } }, + "f_ensures_p9": { "qed": { "total": 1, + "valid": 1 }, + "wp:main": { "total": 1, + "valid": 1 } }, + "f_ensures_p8": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_p7": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_p6": { "qed": { "total": 1, + "valid": 1 }, + "wp:main": { "total": 1, + "valid": 1 } }, + "f_ensures_p5": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_p4": { "qed": { "total": 1, + "valid": 1 }, + "wp:main": { "total": 1, + "valid": 1 } }, + "f_ensures_p3": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_p2": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_p1": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "f_ensures_p0": { "why3:Alt-Ergo,2.0.0": { "total": 1, + "valid": 1, + "rank": 0 }, + "wp:main": { "total": 1, + "valid": 1, + "rank": 0 } }, + "wp:section": { "why3:Alt-Ergo,2.0.0": { "total": 34, + "valid": 34, + "rank": 0 }, + "qed": { "total": 8, "valid": 8 }, + "wp:main": { "total": 42, + "valid": 42, + "rank": 0 } } } } } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json new file mode 100644 index 0000000000000000000000000000000000000000..65ed5f578473bc4b4d34afcd5dd8cac66d940c95 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0086, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.0.session/cache/9d34e1b8df5fccf6e523d0308ec54b9e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.0.session/cache/9d34e1b8df5fccf6e523d0308ec54b9e.json new file mode 100644 index 0000000000000000000000000000000000000000..d4521bf658410456b221da82fc1cecffe7c4c900 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.0.session/cache/9d34e1b8df5fccf6e523d0308ec54b9e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0087, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.res.oracle index 2cea36f79d022ec13dc2468ff5fca1ee43f84357..8a4506b88c4a87d8e13a03c7e04048e9fa5b3b67 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.res.oracle @@ -1,10 +1,9 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/e_imply.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' [wp] Warning: Missing RTE guards -[wp] Computing [100 goals...] -[wp] 119 goals scheduled +[wp] 42 goals scheduled [wp] [Alt-Ergo 2.0.0] Goal typed_f_ensures_p0 : Valid [wp] [Alt-Ergo 2.0.0] Goal typed_f_ensures_p1 : Valid [wp] [Alt-Ergo 2.0.0] Goal typed_f_ensures_p2 : Valid @@ -47,15 +46,12 @@ [wp] [Alt-Ergo 2.0.0] Goal typed_f_ensures_o9 : Valid [wp] [Alt-Ergo 2.0.0] Goal typed_f_ensures_f0 : Valid [wp] [Alt-Ergo 2.0.0] Goal typed_f_ensures_f1 : Valid -[wp] Proved goals: 119 / 119 +[wp] Proved goals: 42 / 42 Qed: 8 - Alt-Ergo 2.0.0: 111 + Alt-Ergo 2.0.0: 34 [wp] Report in: 'tests/wp_acsl/oracle_qualif/e_imply.0.report.json' [wp] Report out: 'tests/wp_acsl/result_qualif/e_imply.0.report.json' ------------------------------------------------------------- -Axiomatics WP Alt-Ergo Total Success -Lemma - 77 (1..8) 77 100% -------------------------------------------------------------- Functions WP Alt-Ergo Total Success f 8 34 (1..8) 42 100% ------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/29f844e0252b436c115005bccb6bd46b.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/29f844e0252b436c115005bccb6bd46b.json new file mode 100644 index 0000000000000000000000000000000000000000..6596a75aa55a8f9a15e81b59cd4adc09b49e7fc7 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/29f844e0252b436c115005bccb6bd46b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0162, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/30399c40583302217a5c153235924ad2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/30399c40583302217a5c153235924ad2.json new file mode 100644 index 0000000000000000000000000000000000000000..18e65bccf30b91315f1717f1ae33acd5b54c0951 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/30399c40583302217a5c153235924ad2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0163, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/76c29bfe8c97d224189a63098e1c3c95.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/76c29bfe8c97d224189a63098e1c3c95.json new file mode 100644 index 0000000000000000000000000000000000000000..609af3bb00c636c971e0d35e348d5300d6da2022 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/76c29bfe8c97d224189a63098e1c3c95.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0146, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/a8e5608996545756ebaec6753de5c6c1.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/a8e5608996545756ebaec6753de5c6c1.json new file mode 100644 index 0000000000000000000000000000000000000000..355773d8cbc5928daab5f9c6b8356918283034fe --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/a8e5608996545756ebaec6753de5c6c1.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0188, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/d23ae2e368db89350200d5d69bb722ec.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/d23ae2e368db89350200d5d69bb722ec.json new file mode 100644 index 0000000000000000000000000000000000000000..39791baac37419e709789c2e9bf566dd023e8ac3 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.0.session/cache/d23ae2e368db89350200d5d69bb722ec.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.023, + "steps": 24 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.res.oracle index 33fc1d116f1788f68acc4287368217261f4794a4..44350c644f69765746b27c877f44e83609fe27f7 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/equal.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/10d9f6592ee2fd950288ebe6f5d3f531.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/10d9f6592ee2fd950288ebe6f5d3f531.json new file mode 100644 index 0000000000000000000000000000000000000000..6398d92d9fb643cd605746efcc2cf2329b9f6316 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/10d9f6592ee2fd950288ebe6f5d3f531.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0258, + "steps": 27 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/317a8e39d81b6285d8bb0a46918b062e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/317a8e39d81b6285d8bb0a46918b062e.json new file mode 100644 index 0000000000000000000000000000000000000000..dd423451b6d09a59444b8d54684e3280664be4a3 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/317a8e39d81b6285d8bb0a46918b062e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0304, + "steps": 38 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/356edd7331c75234f303e6d3096f70c5.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/356edd7331c75234f303e6d3096f70c5.json new file mode 100644 index 0000000000000000000000000000000000000000..528aea298a9a7415589ed0572f61b4805eb85654 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/356edd7331c75234f303e6d3096f70c5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0229, + "steps": 25 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/4344a1e4fc5a0418ca737c0a7be93591.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/4344a1e4fc5a0418ca737c0a7be93591.json new file mode 100644 index 0000000000000000000000000000000000000000..847d98da7488a8cd2d96db7744f3d13145df95e6 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/4344a1e4fc5a0418ca737c0a7be93591.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0178, + "steps": 38 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/45d5efa0014745864b946de074271fe4.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/45d5efa0014745864b946de074271fe4.json new file mode 100644 index 0000000000000000000000000000000000000000..d4b7fe805254098991bdab5d09700a8a8c5897da --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/45d5efa0014745864b946de074271fe4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0273, + "steps": 38 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/ba0b494f917626e21536de68be663206.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/ba0b494f917626e21536de68be663206.json new file mode 100644 index 0000000000000000000000000000000000000000..0330e00898c734b517b9a50295d6dddcb013ea5f --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/ba0b494f917626e21536de68be663206.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0224, + "steps": 38 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/ccae408301168be91c5c0bd2b0aeccb4.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/ccae408301168be91c5c0bd2b0aeccb4.json new file mode 100644 index 0000000000000000000000000000000000000000..6993e34bc9301826f59ebad629c8bc0faa35bfe8 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/ccae408301168be91c5c0bd2b0aeccb4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0282, + "steps": 25 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/d6fabea34373ebdadaabe35c24d5d844.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/d6fabea34373ebdadaabe35c24d5d844.json new file mode 100644 index 0000000000000000000000000000000000000000..cd2e87b0386735cba2460a28ac615f914879a741 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/d6fabea34373ebdadaabe35c24d5d844.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0258, + "steps": 25 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/d82e5a28f648497c89374602499307fa.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/d82e5a28f648497c89374602499307fa.json new file mode 100644 index 0000000000000000000000000000000000000000..d83a1a83c1c683e853d2f1aa5d7b5833cdef38f0 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/d82e5a28f648497c89374602499307fa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0211, + "steps": 25 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/d892b55ce1a00109c8dacf9303c5e094.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/d892b55ce1a00109c8dacf9303c5e094.json new file mode 100644 index 0000000000000000000000000000000000000000..96ea63a834f5236a8c95b698e2fbcdf35122496e --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/d892b55ce1a00109c8dacf9303c5e094.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0232, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/e2c485bb5df33638440d4e418cb2f845.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/e2c485bb5df33638440d4e418cb2f845.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/e2c485bb5df33638440d4e418cb2f845.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/e69df22f86875c4d3aa937b1aabbe6de.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/e69df22f86875c4d3aa937b1aabbe6de.json new file mode 100644 index 0000000000000000000000000000000000000000..770a394688be728ac4b9e2c49dc680533e6e4271 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/e69df22f86875c4d3aa937b1aabbe6de.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0274, + "steps": 25 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/ed1bfb911114eb90d99266280ea72387.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/ed1bfb911114eb90d99266280ea72387.json new file mode 100644 index 0000000000000000000000000000000000000000..d9cfb735843f773edbc65085a26454c94a43be8c --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/ed1bfb911114eb90d99266280ea72387.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0199, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/f8043e3845e19b26c1e940b241828ea5.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/f8043e3845e19b26c1e940b241828ea5.json new file mode 100644 index 0000000000000000000000000000000000000000..31dc56889168960f0321bc0ecc00be042ddc62e9 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.0.session/cache/f8043e3845e19b26c1e940b241828ea5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0253, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.res.oracle index 221c3d19676482e436c62cdb72ddac35ad214815..d4667be0f775c7c7cb950e02ab0ad5ef4916f0ad 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/float_compare.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/float_compare.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/funvar_inv.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/funvar_inv.res.oracle index bdbccbefae2dc1d36143ee499d4df726b3f31ba2..c77722b1f2eef4a7176512ab01afbe8a9bc04105 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/funvar_inv.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/funvar_inv.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_acsl/funvar_inv.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/implicit_enum_cast.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/implicit_enum_cast.res.oracle index 9623ee6b44e66705547a0bfbec2404db511a80be..c8fc8cbcd728e8755a88b9e67d175cb07f2ee5b5 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/implicit_enum_cast.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/implicit_enum_cast.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/implicit_enum_cast.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.0.session/cache/c84282884407d8b312dc1b674cbe8aaa.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.0.session/cache/c84282884407d8b312dc1b674cbe8aaa.json new file mode 100644 index 0000000000000000000000000000000000000000..a2dd5cfce36950e87ef833d1916508755b663743 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.0.session/cache/c84282884407d8b312dc1b674cbe8aaa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0177, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.0.session/cache/eff2b9bd2f173b980e8e1b5dcdbaa5bb.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.0.session/cache/eff2b9bd2f173b980e8e1b5dcdbaa5bb.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.0.session/cache/eff2b9bd2f173b980e8e1b5dcdbaa5bb.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.res.oracle index 9e580ba61f011754b8d6b9490e4514b540f27bd4..b30c056e391d2408120147e0b4681dfcf273c1b6 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.res.oracle @@ -1,8 +1,8 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/init_label.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' -[kernel] tests/wp_acsl/init_label.i:21: Warning: +[kernel] tests/wp_acsl/init_label.i:27: Warning: No code nor implicit assigns clause for function main, generating default assigns from the prototype [wp] Warning: Missing RTE guards [wp] 4 goals scheduled diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.res.oracle index 8e07203beb342c7e94c6952f4a32eb84ecea1a6c..32404156c7eb17d85dcfa3361748de3405ebe715 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/init_value.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/1266a11568fc6ce4527751fb9f0bfc00.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/1266a11568fc6ce4527751fb9f0bfc00.json new file mode 100644 index 0000000000000000000000000000000000000000..5b9bac54877ca8c74504564e9a329c8cdc20a5d1 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/1266a11568fc6ce4527751fb9f0bfc00.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0143, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/28ebee21bdc49b87750703c03cc83798.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/28ebee21bdc49b87750703c03cc83798.json new file mode 100644 index 0000000000000000000000000000000000000000..0387be38555e6492ecddb3d437704ff02722d07b --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/28ebee21bdc49b87750703c03cc83798.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0158, + "steps": 36 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/4841a6604ba903a9ba49400c68c2e73f.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/4841a6604ba903a9ba49400c68c2e73f.json new file mode 100644 index 0000000000000000000000000000000000000000..2e866b443bf10ba06f9a812f61e21485821b066d --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/4841a6604ba903a9ba49400c68c2e73f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0065, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/90e3000618dadd5adbcbdf38d9879d27.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/90e3000618dadd5adbcbdf38d9879d27.json new file mode 100644 index 0000000000000000000000000000000000000000..80b27169d044d9daa28b98b20efc7697d61d98dc --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/90e3000618dadd5adbcbdf38d9879d27.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0256, + "steps": 106 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/9b0ec3f827a2dfbdd38a8306b140191e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/9b0ec3f827a2dfbdd38a8306b140191e.json new file mode 100644 index 0000000000000000000000000000000000000000..88024c09aa41ee0a2e15193eb3bec3ac3462c32e --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.session/cache/9b0ec3f827a2dfbdd38a8306b140191e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0067, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.res.oracle index 8a569a28b306946259357fa9a5f801ca4555f325..d448c6b3d8f9a82d4b152a996130a390d98f411a 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/init_value.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/0835185dd71c7d1c718720d74a3ada10.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/0835185dd71c7d1c718720d74a3ada10.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/0835185dd71c7d1c718720d74a3ada10.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/2320083088fc84e76dc56f8d32a050b2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/2320083088fc84e76dc56f8d32a050b2.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/2320083088fc84e76dc56f8d32a050b2.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/2bf48ccc1394e38ad5c0acfd4573068a.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/2bf48ccc1394e38ad5c0acfd4573068a.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/2bf48ccc1394e38ad5c0acfd4573068a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/3ea2bffb31441a0ad6dd94f94352da21.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/3ea2bffb31441a0ad6dd94f94352da21.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/3ea2bffb31441a0ad6dd94f94352da21.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/53494c07d4ab866af097d757c756acc2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/53494c07d4ab866af097d757c756acc2.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/53494c07d4ab866af097d757c756acc2.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/5a1b4b09d644d4023654862eb30b6a74.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/5a1b4b09d644d4023654862eb30b6a74.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/5a1b4b09d644d4023654862eb30b6a74.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/6617079c456c6ecdbc088dfb43e1a05a.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/6617079c456c6ecdbc088dfb43e1a05a.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/6617079c456c6ecdbc088dfb43e1a05a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/6fd2c09f2259cb10e5973da49efb691a.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/6fd2c09f2259cb10e5973da49efb691a.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/6fd2c09f2259cb10e5973da49efb691a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/8593898c80b2f1f893d2111cd88fc898.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/8593898c80b2f1f893d2111cd88fc898.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/8593898c80b2f1f893d2111cd88fc898.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/912f7fe924733b72a8c62f519277c3bc.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/912f7fe924733b72a8c62f519277c3bc.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/912f7fe924733b72a8c62f519277c3bc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/94aa4eb49e58d0e0de082241117282c9.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/94aa4eb49e58d0e0de082241117282c9.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/94aa4eb49e58d0e0de082241117282c9.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/a1cb57bb989678a2e21ae7c8e499ab5a.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/a1cb57bb989678a2e21ae7c8e499ab5a.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.session/cache/a1cb57bb989678a2e21ae7c8e499ab5a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.0.session/cache/ada35ef3207f170ebebb1029d3420256.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.0.session/cache/ada35ef3207f170ebebb1029d3420256.json new file mode 100644 index 0000000000000000000000000000000000000000..3783f56fa7d1ce2810f838c883105ecdb344ec7f --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.0.session/cache/ada35ef3207f170ebebb1029d3420256.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0307, + "steps": 36 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.res.oracle index 519128a270eb42f08122a8b30e7f79af7e3fa19c..46b74f8ec7075f532ea44274b60247e65329b1da 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/init_value_mem.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/intbool.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/intbool.res.oracle index 65099e7692bbd9ee01f239c49af97914ed4ca9b7..0185197bcefb8378d37866f7c7ca70cfc3ee5b7a 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/intbool.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/intbool.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/intbool.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.0.res.oracle index cf4c863ff128b2ddc33e1da0a9fac6d138b01675..5d5625435246e5fe972f5410a7fb34b07cbfe082 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/label_escape.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.1.res.oracle index f80035a90951a4ccddeffbb25a4668ff842c36b0..876ff1d2ac0b070d51b22d26f22c0ca756c3ac3e 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/label_escape.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.1.session/cache/f326c24c69a19b34d04e78fb2c67f80d.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.1.session/cache/f326c24c69a19b34d04e78fb2c67f80d.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/label_escape.1.session/cache/f326c24c69a19b34d04e78fb2c67f80d.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/0f239620c3c1b66b8468a3f1020f5471.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/0f239620c3c1b66b8468a3f1020f5471.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/0f239620c3c1b66b8468a3f1020f5471.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/3fb4d0dcf9fda952e324462b078cf07e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/3fb4d0dcf9fda952e324462b078cf07e.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/3fb4d0dcf9fda952e324462b078cf07e.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/47d1b9e051b4330350aa41a5c9d5a242.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/47d1b9e051b4330350aa41a5c9d5a242.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/47d1b9e051b4330350aa41a5c9d5a242.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/680324ac6d96e356bd6c39b70e081433.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/680324ac6d96e356bd6c39b70e081433.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/680324ac6d96e356bd6c39b70e081433.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/deb52da9b678582b8c3439b66ad3fea5.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/deb52da9b678582b8c3439b66ad3fea5.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/deb52da9b678582b8c3439b66ad3fea5.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/e141038c0739ebf644c02fbfab4bc16c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/e141038c0739ebf644c02fbfab4bc16c.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/e141038c0739ebf644c02fbfab4bc16c.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/e1f6d3a532c8a83649031c67d6f02c37.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/e1f6d3a532c8a83649031c67d6f02c37.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/e1f6d3a532c8a83649031c67d6f02c37.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/e9ddcbfe8eae150dadeb9e43baa64aa4.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/e9ddcbfe8eae150dadeb9e43baa64aa4.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.0.session/cache/e9ddcbfe8eae150dadeb9e43baa64aa4.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.res.oracle index 8351bc41d1447a9f839ace58671e8d9855d542d7..68a296dd46dbd97ec6b6cfe215de2c1a76f2a45b 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/logic.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/0f63c1954a7d6baa2f8da8e60a928530.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/0f63c1954a7d6baa2f8da8e60a928530.json new file mode 100644 index 0000000000000000000000000000000000000000..3a833c748bb617f5128e66449c4f14169d1e81f1 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/0f63c1954a7d6baa2f8da8e60a928530.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0225, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/903d890ca7aeec177776404726fb9e34.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/903d890ca7aeec177776404726fb9e34.json new file mode 100644 index 0000000000000000000000000000000000000000..7d927d607321e92b45d2791ab0178b8ff1169d4c --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/903d890ca7aeec177776404726fb9e34.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0572, + "steps": 75 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/a8cfe2cc9d4446b768f13c185b5ae88f.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/a8cfe2cc9d4446b768f13c185b5ae88f.json new file mode 100644 index 0000000000000000000000000000000000000000..6ae4ae1271adccc4ea9fa58988b7e170466fad5b --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/a8cfe2cc9d4446b768f13c185b5ae88f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0225, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/c1429295f69a4db013f8d8d413ca0851.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/c1429295f69a4db013f8d8d413ca0851.json new file mode 100644 index 0000000000000000000000000000000000000000..1cbf76d54eb5faa7e11391ff41a57050b0375820 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/c1429295f69a4db013f8d8d413ca0851.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.4748, + "steps": 360 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/eb1487e9e86602ca063f756b4584adda.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/eb1487e9e86602ca063f756b4584adda.json new file mode 100644 index 0000000000000000000000000000000000000000..1a3ca2d95a8615d31630ac8afa6ed37983052f62 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.0.session/cache/eb1487e9e86602ca063f756b4584adda.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0206, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.res.oracle index e382296ef4659598f2f04c2aad341883dab4b19c..2410421196075407c564baeb1a827c8694077563 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/looplabels.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.0.session/cache/431464c40dcbd394a0782b002a273b0c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.0.session/cache/431464c40dcbd394a0782b002a273b0c.json new file mode 100644 index 0000000000000000000000000000000000000000..3d47b0e8731220c31af071ad67c11d404b98e06e --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.0.session/cache/431464c40dcbd394a0782b002a273b0c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0158, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.0.session/cache/4e785c9f5d5c5edf9cfd90e8b7186840.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.0.session/cache/4e785c9f5d5c5edf9cfd90e8b7186840.json new file mode 100644 index 0000000000000000000000000000000000000000..fbf9c9ebd55bca9dac3d647daa4815901ff9e183 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.0.session/cache/4e785c9f5d5c5edf9cfd90e8b7186840.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0161, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.res.oracle index b5788d4ee54512314f2b7e8fc5534d60567eafce..f0976611dcc0e19acde3048476db2c4f3ee0d10b 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/null.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.res.oracle index 7c110cb79dfc4f4bee8218a36d1cc681bb9a7d66..3638dce1955a4a1e48b6bb9237273cc1e6f39f75 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_acsl/pointer.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/011e5f52d70fa0086a654148080a4fe9.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/011e5f52d70fa0086a654148080a4fe9.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/011e5f52d70fa0086a654148080a4fe9.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/29bd54364c6cbab6b5edf958e89561f6.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/29bd54364c6cbab6b5edf958e89561f6.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/29bd54364c6cbab6b5edf958e89561f6.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/5292c3d3c867034980a3690da72406f0.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/5292c3d3c867034980a3690da72406f0.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/5292c3d3c867034980a3690da72406f0.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/608256dd483458fbd63dc7eb8aa06df2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/608256dd483458fbd63dc7eb8aa06df2.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/608256dd483458fbd63dc7eb8aa06df2.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/6dadeba4671262b2ad4067da798f0a23.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/6dadeba4671262b2ad4067da798f0a23.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/6dadeba4671262b2ad4067da798f0a23.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/9fc972b0f872f2d9d78708d1d3f86f83.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/9fc972b0f872f2d9d78708d1d3f86f83.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.session/cache/9fc972b0f872f2d9d78708d1d3f86f83.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.res.oracle index 205d8ead9ed263acf0de6837793376e9ebbc9015..9d969ebd5f4bdf3fd4692d79f7e8fb2dccb5657d 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/pointer.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/011e5f52d70fa0086a654148080a4fe9.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/011e5f52d70fa0086a654148080a4fe9.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/011e5f52d70fa0086a654148080a4fe9.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/29bd54364c6cbab6b5edf958e89561f6.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/29bd54364c6cbab6b5edf958e89561f6.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/29bd54364c6cbab6b5edf958e89561f6.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/5292c3d3c867034980a3690da72406f0.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/5292c3d3c867034980a3690da72406f0.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/5292c3d3c867034980a3690da72406f0.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/608256dd483458fbd63dc7eb8aa06df2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/608256dd483458fbd63dc7eb8aa06df2.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/608256dd483458fbd63dc7eb8aa06df2.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/6dadeba4671262b2ad4067da798f0a23.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/6dadeba4671262b2ad4067da798f0a23.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/6dadeba4671262b2ad4067da798f0a23.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/9fc972b0f872f2d9d78708d1d3f86f83.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/9fc972b0f872f2d9d78708d1d3f86f83.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.session/cache/9fc972b0f872f2d9d78708d1d3f86f83.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/post_result.0.session/cache/3ed898ae35ca655f3ace9c43ba4407d1.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/post_result.0.session/cache/3ed898ae35ca655f3ace9c43ba4407d1.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/post_result.0.session/cache/3ed898ae35ca655f3ace9c43ba4407d1.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/post_result.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/post_result.res.oracle index 5ab98f1194f58b1e337fba22e51d2b34b94f636e..de5309578551a504b2adc8cfd99786a20cc2183a 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/post_result.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/post_result.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/post_result.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.res.oracle index 627cd3b588edbaaa492f369db0c98e0d60c804ba..f834bdff41e501342d70558f49388212a63d2df2 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/precedence.i (no preprocessing) [kernel:annot-error] tests/wp_acsl/precedence.i:90: Warning: unexpected token ';' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.session/cache/ef707c0bb275753bd2194c2a2f336344.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.session/cache/ef707c0bb275753bd2194c2a2f336344.json new file mode 100644 index 0000000000000000000000000000000000000000..851779ecc30f9b5e539727d095b93ea250b441e0 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.session/cache/ef707c0bb275753bd2194c2a2f336344.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0101, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.res.oracle index 14de3dc9b9971cbe838ada5d33d0b82302b24d23..ccc22350c9f1603f24f41856ea07e37191374e86 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/precedence.i (no preprocessing) [kernel:annot-error] tests/wp_acsl/precedence.i:90: Warning: unexpected token ';' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/016ce89e9b8b999b7bf425d0ee1e7116.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/016ce89e9b8b999b7bf425d0ee1e7116.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/016ce89e9b8b999b7bf425d0ee1e7116.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/04f4761f14fb3a54c3035d0b417bffd8.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/04f4761f14fb3a54c3035d0b417bffd8.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/04f4761f14fb3a54c3035d0b417bffd8.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/09c00cfae051f3b27e37f365250df44e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/09c00cfae051f3b27e37f365250df44e.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/09c00cfae051f3b27e37f365250df44e.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/1481641686b389e08b15e043cb5bef91.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/1481641686b389e08b15e043cb5bef91.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/1481641686b389e08b15e043cb5bef91.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/1e04ebe21430dd8643cb3e4dad797b6b.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/1e04ebe21430dd8643cb3e4dad797b6b.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/1e04ebe21430dd8643cb3e4dad797b6b.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/2ab1808813f8d43d0488d16425a46f39.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/2ab1808813f8d43d0488d16425a46f39.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/2ab1808813f8d43d0488d16425a46f39.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/2ce0bee40cbc8ad442d39d6cf05ada0d.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/2ce0bee40cbc8ad442d39d6cf05ada0d.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/2ce0bee40cbc8ad442d39d6cf05ada0d.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/2d078f164dc8273dcdd1f06ef1b97f9f.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/2d078f164dc8273dcdd1f06ef1b97f9f.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/2d078f164dc8273dcdd1f06ef1b97f9f.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/3030f52742527d2fcb9fc935a40fdbec.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/3030f52742527d2fcb9fc935a40fdbec.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/3030f52742527d2fcb9fc935a40fdbec.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/303fd6534adc78b34dd66abc242bee2c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/303fd6534adc78b34dd66abc242bee2c.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/303fd6534adc78b34dd66abc242bee2c.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/32696eb870a9c92d67a124bfca3c99c5.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/32696eb870a9c92d67a124bfca3c99c5.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/32696eb870a9c92d67a124bfca3c99c5.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/332151f277e19559e7bc7b0e33c592fc.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/332151f277e19559e7bc7b0e33c592fc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/332151f277e19559e7bc7b0e33c592fc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/36b7c4424bad8308393bae14b4ad8d83.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/36b7c4424bad8308393bae14b4ad8d83.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/36b7c4424bad8308393bae14b4ad8d83.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/37810e32c8adc217bca1893d56dd0d3c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/37810e32c8adc217bca1893d56dd0d3c.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/37810e32c8adc217bca1893d56dd0d3c.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/42a23cf63801c6b924ac9c3fba58f28b.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/42a23cf63801c6b924ac9c3fba58f28b.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/42a23cf63801c6b924ac9c3fba58f28b.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/69e728a4ee84c1719a3c19171f6f72ca.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/69e728a4ee84c1719a3c19171f6f72ca.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/69e728a4ee84c1719a3c19171f6f72ca.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/6bc1171b7f8d4e25fb74810d66d09a5a.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/6bc1171b7f8d4e25fb74810d66d09a5a.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/6bc1171b7f8d4e25fb74810d66d09a5a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/71534ba44a0c80435ba49a794c00a63f.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/71534ba44a0c80435ba49a794c00a63f.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/71534ba44a0c80435ba49a794c00a63f.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/74737c07a7ea74b64c5c92754c917319.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/74737c07a7ea74b64c5c92754c917319.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/74737c07a7ea74b64c5c92754c917319.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/7e9f5aec43f44bd30a69eb1d4bd91519.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/7e9f5aec43f44bd30a69eb1d4bd91519.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/7e9f5aec43f44bd30a69eb1d4bd91519.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/7f5cdd85335b91c16f75c45c0ded5dac.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/7f5cdd85335b91c16f75c45c0ded5dac.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/7f5cdd85335b91c16f75c45c0ded5dac.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/82ae98ac3f92a8b0606d357a4a184a09.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/82ae98ac3f92a8b0606d357a4a184a09.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/82ae98ac3f92a8b0606d357a4a184a09.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/8345bb3cca3fbd801c1cd5733ef5df08.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/8345bb3cca3fbd801c1cd5733ef5df08.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/8345bb3cca3fbd801c1cd5733ef5df08.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/8e223e013f54ae81184a122d353ce342.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/8e223e013f54ae81184a122d353ce342.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/8e223e013f54ae81184a122d353ce342.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9b397ed7034430ce10a317951e11139c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9b397ed7034430ce10a317951e11139c.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9b397ed7034430ce10a317951e11139c.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9cd975d66b99841ef6a0b73ce9e1850a.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9cd975d66b99841ef6a0b73ce9e1850a.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9cd975d66b99841ef6a0b73ce9e1850a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9d72f3e01192bff65d3d09f0a1a2b434.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9d72f3e01192bff65d3d09f0a1a2b434.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9d72f3e01192bff65d3d09f0a1a2b434.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9fb6579178e19e693e7fbb52c17de5e5.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9fb6579178e19e693e7fbb52c17de5e5.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/9fb6579178e19e693e7fbb52c17de5e5.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/a5f6f9ceafa7c53d9d28b7201ca5f910.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/a5f6f9ceafa7c53d9d28b7201ca5f910.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/a5f6f9ceafa7c53d9d28b7201ca5f910.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/c036ae99793ecc9acb6b535dd2d1005c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/c036ae99793ecc9acb6b535dd2d1005c.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/c036ae99793ecc9acb6b535dd2d1005c.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/c639d7ade787dbfa6c8e3ac0deab407b.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/c639d7ade787dbfa6c8e3ac0deab407b.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/c639d7ade787dbfa6c8e3ac0deab407b.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/d041292fc36e216def97c3254eb01974.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/d041292fc36e216def97c3254eb01974.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/d041292fc36e216def97c3254eb01974.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/db8621fbde219e817cc89e61a12fb844.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/db8621fbde219e817cc89e61a12fb844.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/db8621fbde219e817cc89e61a12fb844.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/e40be544e57a231fd175961172f5a7fa.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/e40be544e57a231fd175961172f5a7fa.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/e40be544e57a231fd175961172f5a7fa.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/e7ecca8d08437e06bec751fec7df3d79.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/e7ecca8d08437e06bec751fec7df3d79.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/e7ecca8d08437e06bec751fec7df3d79.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/fba9006cb323657285278f3f151270b4.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/fba9006cb323657285278f3f151270b4.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/fba9006cb323657285278f3f151270b4.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/fef57be462b7432acaace8d983f9c64e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/fef57be462b7432acaace8d983f9c64e.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.session/cache/fef57be462b7432acaace8d983f9c64e.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/range.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/range.res.oracle index 8dc5e9a29d334ee81f52fe481c67d4e12e88f8df..e4a282e1d29b0a4e56f064a7ae5ee2c8dad95856 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/range.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/range.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/range.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.res.oracle index a5a0d165b2fcc5e4407cc78023da2acb7191884d..23f22eec01d795099982854a854e3feee8a1b598 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/reads.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/088f4361e7220d82c4aac3de0d54e9c0.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/088f4361e7220d82c4aac3de0d54e9c0.json new file mode 100644 index 0000000000000000000000000000000000000000..40ebb7e38f50f83e2d8753079502b97caec4e0fc --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/088f4361e7220d82c4aac3de0d54e9c0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0178, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/9b8ec49fe4b770ed766cffeca06e26ba.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/9b8ec49fe4b770ed766cffeca06e26ba.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/9b8ec49fe4b770ed766cffeca06e26ba.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/a7c19062a3a1ba781245090093cae159.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/a7c19062a3a1ba781245090093cae159.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/a7c19062a3a1ba781245090093cae159.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/e056ff14ff3f3a31e1d259539c614fb4.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/e056ff14ff3f3a31e1d259539c614fb4.json new file mode 100644 index 0000000000000000000000000000000000000000..dc81afeb65bf616f5f245cd8f62129ba2beaf32e --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.session/cache/e056ff14ff3f3a31e1d259539c614fb4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0154, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.res.oracle index c40c87ec26c562b10a814447525a01bcd96dc71b..5d02297a0fa5979f13297e3f703bbfcf16fe7e3e 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/reads.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.session/cache/12175c96080c5e14983d37f17a405001.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.session/cache/12175c96080c5e14983d37f17a405001.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.session/cache/12175c96080c5e14983d37f17a405001.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.session/cache/a3d2f9ea9936fb5a5daf720f2390125e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.session/cache/a3d2f9ea9936fb5a5daf720f2390125e.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.session/cache/a3d2f9ea9936fb5a5daf720f2390125e.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.session/cache/dec49417e6eaea97560cc7370af29e03.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.session/cache/dec49417e6eaea97560cc7370af29e03.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.session/cache/dec49417e6eaea97560cc7370af29e03.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.res.oracle index 54d7726924e42e3fa643a2f44fad0ccb13ac1143..9871b438a59866e9ef6750ea63f66395effab7b8 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/record.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.session/cache/41f3fc78840b8c11a76649f0b924b629.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.session/cache/41f3fc78840b8c11a76649f0b924b629.json new file mode 100644 index 0000000000000000000000000000000000000000..87f0e4ad87494a42da897938da32b504c336a6b3 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.session/cache/41f3fc78840b8c11a76649f0b924b629.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0108, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.session/cache/46e19b7d03b33707aaeca4b14b58c682.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.session/cache/46e19b7d03b33707aaeca4b14b58c682.json new file mode 100644 index 0000000000000000000000000000000000000000..0c6b9a5f95e42e72bbeb2da3aea096c8e86677dd --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.session/cache/46e19b7d03b33707aaeca4b14b58c682.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0163, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.res.oracle index 1132c478b4b53d0eb424cf3990ff7bd18e191eef..e503585628857667622ce4428d71bdd27acd821a 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/record.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/04736580fb1226122258d72b0db18b1c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/04736580fb1226122258d72b0db18b1c.json new file mode 100644 index 0000000000000000000000000000000000000000..a92a1cd4b586a02b1e3ac860208dcf9e738b3bc2 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/04736580fb1226122258d72b0db18b1c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0279, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/04d277b0189801d4f62511a2ab403876.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/04d277b0189801d4f62511a2ab403876.json new file mode 100644 index 0000000000000000000000000000000000000000..3773480c939edd37ca296650f35ae898718f38c8 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/04d277b0189801d4f62511a2ab403876.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0287, + "steps": 31 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/1810ee3e876059ed91b3364dadef0514.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/1810ee3e876059ed91b3364dadef0514.json new file mode 100644 index 0000000000000000000000000000000000000000..ecf411bd181c7a55186ae7a27bd81c7f3cf4811c --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/1810ee3e876059ed91b3364dadef0514.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0393, + "steps": 44 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/1acff11b2d0792af6d82f30fec359c77.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/1acff11b2d0792af6d82f30fec359c77.json new file mode 100644 index 0000000000000000000000000000000000000000..c2b7eb213dd5f38307ad14b77bc05fd2946c4297 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/1acff11b2d0792af6d82f30fec359c77.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0602, + "steps": 63 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/2b6ad3215a88bf1a97361c2a6a548186.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/2b6ad3215a88bf1a97361c2a6a548186.json new file mode 100644 index 0000000000000000000000000000000000000000..be3cfb02bb28ccb926890de1262e95640c2e0521 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/2b6ad3215a88bf1a97361c2a6a548186.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0432, + "steps": 46 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/63680574867f4524c193e581c4e99eab.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/63680574867f4524c193e581c4e99eab.json new file mode 100644 index 0000000000000000000000000000000000000000..799c1d87905d1f89d0d8a3af5f696e79be84b225 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/63680574867f4524c193e581c4e99eab.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.022, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/6c40717c6a3db07364d11c549ccc8b8e.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/6c40717c6a3db07364d11c549ccc8b8e.json new file mode 100644 index 0000000000000000000000000000000000000000..75f167629d9c2e78b38eab46346ed1d8b8832b88 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/6c40717c6a3db07364d11c549ccc8b8e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0164, + "steps": 48 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/95ff51261b0bee522dfdaedbe5332136.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/95ff51261b0bee522dfdaedbe5332136.json new file mode 100644 index 0000000000000000000000000000000000000000..7db92d401f8fd4e5362880d3885f7d079ab0cca0 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/95ff51261b0bee522dfdaedbe5332136.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0247, + "steps": 29 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/a9c64d50a502a33e86bf9c24d3534330.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/a9c64d50a502a33e86bf9c24d3534330.json new file mode 100644 index 0000000000000000000000000000000000000000..d41a8e1c7a065892409df8a83d90e7f0b5545cb1 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/a9c64d50a502a33e86bf9c24d3534330.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0207, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/e4e1431d753b9fc612caefb5e0d2f17c.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/e4e1431d753b9fc612caefb5e0d2f17c.json new file mode 100644 index 0000000000000000000000000000000000000000..541337882202e6ae9ec011530d162927de4d27cf --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.0.session/cache/e4e1431d753b9fc612caefb5e0d2f17c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0221, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.res.oracle index 384bd75e15532b9f91c12bd7c7e4ebe703d2590a..1ffb95b1d5eedc17adfce94425529a197de8fe27 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/simpl_is_type.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/sizeof.0.session/cache/0c70acd19fe913cf00d8d5b7f63540bb.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/sizeof.0.session/cache/0c70acd19fe913cf00d8d5b7f63540bb.json new file mode 100644 index 0000000000000000000000000000000000000000..38e879d8be3ea21b775f0394056cc96169055c7f --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/sizeof.0.session/cache/0c70acd19fe913cf00d8d5b7f63540bb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0082, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/sizeof.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/sizeof.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json new file mode 100644 index 0000000000000000000000000000000000000000..d6f6d72c53b397b686f611763f07ce2fc4fdf560 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/sizeof.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0084, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/sizeof.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/sizeof.res.oracle index 498f74657dc77b70ba8f42508ead5d6e541a1dc6..8c9276a68e7cd532699f57d5ff1744c882c1e493 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/sizeof.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/sizeof.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/sizeof.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.res.oracle index da7fdb385c1caa6a7a18b1470ce1181936ce9d75..074954472b7d674670a9feb82dfa40bb94731dcc 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Caveat)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Caveat)' [...] [kernel] Parsing tests/wp_acsl/struct_use_case.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.session/cache/75e686a8c0da1561f5008f979b188b6d.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.session/cache/75e686a8c0da1561f5008f979b188b6d.json new file mode 100644 index 0000000000000000000000000000000000000000..8b4de03413ca539ea76e50446f22cd397f06a9b8 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.session/cache/75e686a8c0da1561f5008f979b188b6d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0157, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.res.oracle index 5313181afd3f7ced8c164c6b67d6d2c960405094..628c2eb2f84538cc4b72501f9beac24804ac3dd0 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Caveat)' -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-model 'Typed (Caveat)' -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/struct_use_case.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.session/cache/0e21c0bd5123ab46e918c741bc7e0a87.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.session/cache/0e21c0bd5123ab46e918c741bc7e0a87.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.session/cache/0e21c0bd5123ab46e918c741bc7e0a87.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.session/cache/d7ed670240fade4912b282fbeb66481b.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.session/cache/d7ed670240fade4912b282fbeb66481b.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.session/cache/d7ed670240fade4912b282fbeb66481b.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/tset.0.session/cache/329cc0ac6eb2e52eee8c4c5535959d47.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/tset.0.session/cache/329cc0ac6eb2e52eee8c4c5535959d47.json new file mode 100644 index 0000000000000000000000000000000000000000..a11c56b6cee9087f59261563ff4194e573d22545 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/tset.0.session/cache/329cc0ac6eb2e52eee8c4c5535959d47.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0108, + "steps": 5 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/tset.0.session/cache/a8575b778e6a1338826f75588b184b9a.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/tset.0.session/cache/a8575b778e6a1338826f75588b184b9a.json new file mode 100644 index 0000000000000000000000000000000000000000..3e4b6bf8774b0e52ab5ebdb4582573673230b46e --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/tset.0.session/cache/a8575b778e6a1338826f75588b184b9a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0128, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/tset.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/tset.res.oracle index 12b3d155f8be29268fc07f0449de0efc646f4725..8de21842d8fbb97d1358643df647726d2fe518c2 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/tset.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/tset.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/tset.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.res.oracle index ddfbb1e23486e6e15b1108799cfb77b10b103c1c..66fb81dadf2992751cbdff88a688fe9a0f4d3658 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/type_guard.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.session/cache/97e65fe64d92e5a8031769b221e69ccf.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.session/cache/97e65fe64d92e5a8031769b221e69ccf.json new file mode 100644 index 0000000000000000000000000000000000000000..9d1e20058ed7acdb37cd4c2e7369a29e47c4593a --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.session/cache/97e65fe64d92e5a8031769b221e69ccf.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0173, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.res.oracle index 09fd140cec8f65b106dad00ba0d4cc8469bc500f..ca7c410e823e8a0387fd7c273d8747376a537d87 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/type_guard.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.session/cache/9151bf7f78d38207ac18d6b238e10b92.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.session/cache/9151bf7f78d38207ac18d6b238e10b92.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.session/cache/9151bf7f78d38207ac18d6b238e10b92.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.0.session/cache/d1a5d841e11f0a8ed014e2aa4ab1cc68.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.0.session/cache/d1a5d841e11f0a8ed014e2aa4ab1cc68.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.0.session/cache/d1a5d841e11f0a8ed014e2aa4ab1cc68.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.0.session/cache/f2e288c6ba3fc74ec5ba8e7052418211.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.0.session/cache/f2e288c6ba3fc74ec5ba8e7052418211.json new file mode 100644 index 0000000000000000000000000000000000000000..6e4f8ae0e3cd1bd679eb57e9ac426c6a80265adf --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.0.session/cache/f2e288c6ba3fc74ec5ba8e7052418211.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0509, + "steps": 56 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.res.oracle index 36e568d169f61b9ce5600e94b3a8cb1f9c430ca0..9c8efdfa48e60242dceff85de5b16dc6a0a14ff8 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/unit_bit_test.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bool.0.session/cache/ea51224602f5817b481d8b68c85bf05f.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bool.0.session/cache/ea51224602f5817b481d8b68c85bf05f.json new file mode 100644 index 0000000000000000000000000000000000000000..a2e580db9b1dce83e858350377b42579a84f6f14 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bool.0.session/cache/ea51224602f5817b481d8b68c85bf05f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0101, + "steps": 4 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bool.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bool.res.oracle index 48b1444f5eea6b9f51fedb4cf936092cfa4688e5..a457770ae98a1c44a65a2ccac90ec9cdefb6119a 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bool.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bool.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/unit_bool.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.res.oracle index c8becb7fc24765bed7959648be700b5b5a0828ff..3eb2f63b434bb900e407f1fb6dbe81c157f68a59 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_acsl/user_def_type_guard.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.session/cache/efda141dfdfe97789f4a4ffd5f7577cd.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.session/cache/efda141dfdfe97789f4a4ffd5f7577cd.json new file mode 100644 index 0000000000000000000000000000000000000000..9d1e20058ed7acdb37cd4c2e7369a29e47c4593a --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.session/cache/efda141dfdfe97789f4a4ffd5f7577cd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0173, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.res.oracle index 384654b8407866cd3e6a8ad7086ce4a63a34871f..d5a3dd35879fe81ed58b5a1bc72ff5466cb466e7 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_acsl/user_def_type_guard.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.session/cache/359125254990d37ce0c03112199b9d15.json b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.session/cache/359125254990d37ce0c03112199b9d15.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.session/cache/359125254990d37ce0c03112199b9d15.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_acsl/record.i b/src/plugins/wp/tests/wp_acsl/record.i index 4c03f95460c051f06c90f48eb94485b005f3835a..e8d300665bb89069d74ae05d5dad97d069c74bfd 100644 --- a/src/plugins/wp/tests/wp_acsl/record.i +++ b/src/plugins/wp/tests/wp_acsl/record.i @@ -1,6 +1,9 @@ +/* run.config + STDOPT: +"-wp-no-extensional" +*/ /* run.config_qualif - OPT: -wp -wp-model Typed -wp-par 1 -wp-prop="-qed_ko,-ko" - OPT: -wp -wp-model Typed -wp-par 1 -wp-prop="qed_ko,ko" -wp-steps 50 + OPT: -wp -wp-model Typed -wp-par 1 -wp-prop="-qed_ko,-ko" -wp-no-extensional + OPT: -wp -wp-model Typed -wp-par 1 -wp-prop="qed_ko,ko" -wp-steps 50 -wp-no-extensional */ struct T { diff --git a/src/plugins/wp/tests/wp_acsl/tset.i b/src/plugins/wp/tests/wp_acsl/tset.i index 2a3c1a3247e9f3fae7bb176f441fe67189101c23..f55445cd7fade2d9cb14d57a585e303f49cfdd40 100644 --- a/src/plugins/wp/tests/wp_acsl/tset.i +++ b/src/plugins/wp/tests/wp_acsl/tset.i @@ -1,5 +1,5 @@ /* run.config_qualif - OPT: -wp -wp-prover alt-ergo,coq -wp-script tests/wp_acsl/tset.s + OPT: -wp -wp-prover alt-ergo,coq -wp-coq-script tests/wp_acsl/tset.s */ /*@ diff --git a/src/plugins/wp/tests/wp_bts/bts_1174.i b/src/plugins/wp/tests/wp_bts/bts_1174.i index d2f5c650c6bcec7748fa1815de6182e39eaf99de..fbc70fef492d18c3647cd8a9f19a7d0cd35bf985 100644 --- a/src/plugins/wp/tests/wp_bts/bts_1174.i +++ b/src/plugins/wp/tests/wp_bts/bts_1174.i @@ -1,5 +1,5 @@ /* run.config_qualif - OPT: -wp -wp-prover coq -wp-script tests/wp_bts/bts_1174.s -wp-model +real + OPT: -wp -wp-prover coq -wp-coq-script tests/wp_bts/bts_1174.s -wp-model +real */ /*@ requires -10. <= x && x <= 10.; */ diff --git a/src/plugins/wp/tests/wp_bts/oracle/bts_2110.res.oracle b/src/plugins/wp/tests/wp_bts/oracle/bts_2110.res.oracle index feda69367190008de02a54220a244415fd2f6c04..54d45f3925f1f9d511f7d0f85546683e15f2b689 100644 --- a/src/plugins/wp/tests/wp_bts/oracle/bts_2110.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle/bts_2110.res.oracle @@ -5,7 +5,7 @@ [wp] Warning: Missing RTE guards [wp] 2 goals scheduled --------------------------------------------- ---- Model 'typed' Cluster 'S2_A' +--- Context 'typed_myMain' Cluster 'S2_A' --------------------------------------------- theory S2_A (* use why3.BuiltIn.BuiltIn *) @@ -32,7 +32,7 @@ theory S2_A predicate EqS2_A (s:S2_A) (s1:S2_A) = F2_A_dummy s1 = F2_A_dummy s end --------------------------------------------- ---- Model 'typed' Cluster 'Compound' +--- Context 'typed_myMain' Cluster 'Compound' --------------------------------------------- theory Compound (* use why3.BuiltIn.BuiltIn *) diff --git a/src/plugins/wp/tests/wp_bts/oracle/issue_141.res.oracle b/src/plugins/wp/tests/wp_bts/oracle/issue_141.res.oracle index 92e03a00f08112f410963af62be988bc9e6e8d60..f84001a741b81c764034372d35bdefbf903406f3 100644 --- a/src/plugins/wp/tests/wp_bts/oracle/issue_141.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle/issue_141.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-rte [...] +# frama-c -wp -wp-rte -wp-steps 50 [...] [kernel] Parsing tests/wp_bts/issue_141.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.0.session/cache/45adede70556d3565ca7da32bceece0c.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.0.session/cache/45adede70556d3565ca7da32bceece0c.json new file mode 100644 index 0000000000000000000000000000000000000000..4edd8d1ef5c48f933f4e747831a1a1da7c1ce5a5 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.0.session/cache/45adede70556d3565ca7da32bceece0c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0085, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.0.session/cache/cab2498bc3eae91d071c428687d9c535.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.0.session/cache/cab2498bc3eae91d071c428687d9c535.json new file mode 100644 index 0000000000000000000000000000000000000000..b2577c8a974c984eadc69b09b67230a07ed782ee --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.0.session/cache/cab2498bc3eae91d071c428687d9c535.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.014, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.res.oracle index aff0d060520798f8cd9f66eaa293c58cf6489b98..4be131e60409c2020a842bdd0ae2ab01fa35cf0b 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/bts0708.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.0.session/cache/8ee3ccd2b653146fa62b383b6d59595a.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.0.session/cache/8ee3ccd2b653146fa62b383b6d59595a.json new file mode 100644 index 0000000000000000000000000000000000000000..ec0c22a505af25d9cbc8b8bcc24879d91f153d4e --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.0.session/cache/8ee3ccd2b653146fa62b383b6d59595a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0154, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.res.oracle index 33b4eab16620e6aebad92ab88de54117828e0be5..6ade8dc8e47d7d62db7bc92fceb4ac95519e0ca2 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/bts0843.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts779.0.session/cache/84e464991f42146c235a4fc00372cf66.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts779.0.session/cache/84e464991f42146c235a4fc00372cf66.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts779.0.session/cache/84e464991f42146c235a4fc00372cf66.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts779.0.session/cache/df22e5945984cae59d5572661c5078e4.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts779.0.session/cache/df22e5945984cae59d5572661c5078e4.json new file mode 100644 index 0000000000000000000000000000000000000000..11600fa793ce9dc1405a2ade3b2b886bdc7d5b0f --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts779.0.session/cache/df22e5945984cae59d5572661c5078e4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0228, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts779.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts779.res.oracle index 4282d2c325ed9f4a51cfffdffcf7bd90f8710d10..e3c50082e0ac7d4a71ad71723b5dc8159bc6063b 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts779.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts779.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-rte -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-rte [...] [kernel] Parsing tests/wp_bts/bts779.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.0.session/cache/9615dd4933bcc9729b8d73c457ea1451.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.0.session/cache/9615dd4933bcc9729b8d73c457ea1451.json new file mode 100644 index 0000000000000000000000000000000000000000..831509f7be221cfbb8a91c0487c9f341c190bdc3 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.0.session/cache/9615dd4933bcc9729b8d73c457ea1451.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.016, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.0.session/cache/f3def660dbf6ffbaa12d1bfcbaf4fa10.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.0.session/cache/f3def660dbf6ffbaa12d1bfcbaf4fa10.json new file mode 100644 index 0000000000000000000000000000000000000000..d70f58f9bdc6e8056118ae2b061662f59bef37d7 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.0.session/cache/f3def660dbf6ffbaa12d1bfcbaf4fa10.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0156, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.res.oracle index 1215384b9c189e02cbab664bff0b7103c5a5291b..5cd9ede34c1da3c9383ae83555f4ff3673995c65 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_bts/bts788.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts986.0.session/cache/9445275097129056bb2cb75cd5cbdc15.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts986.0.session/cache/9445275097129056bb2cb75cd5cbdc15.json new file mode 100644 index 0000000000000000000000000000000000000000..91be312205d30027cccdd24e9ace4d63fc402458 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts986.0.session/cache/9445275097129056bb2cb75cd5cbdc15.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0196, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts986.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts986.res.oracle index f28391971bd4ddecae9032b80d400cc2994db4a0..360961ac42c3def5b5c22ba3cdfe5a435aee1185 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts986.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts986.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_bts/bts986.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1174.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1174.res.oracle index 374c06fec66e57309d74321eb49662b61147354d..4de546639bdce94817bb66c119bd9dd11ea8bb1e 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1174.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1174.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Real)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Real)' [...] [kernel] Parsing tests/wp_bts/bts_1174.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1176.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1176.res.oracle index 6a39dfa841d142c2718620cb1567b07330b19d84..746589ddd94348aec7cc86e69d150da525fbe387 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1176.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1176.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_bts/bts_1176.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.0.session/cache/3bd45d7903238a8ffb491d774fe6fafe.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.0.session/cache/3bd45d7903238a8ffb491d774fe6fafe.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.0.session/cache/3bd45d7903238a8ffb491d774fe6fafe.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.0.session/cache/d6b34eb7a8b408a7607505bec8a37c29.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.0.session/cache/d6b34eb7a8b408a7607505bec8a37c29.json new file mode 100644 index 0000000000000000000000000000000000000000..1c6eec79c76dfaf767f9f5898a5bdc8fe7d685b3 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.0.session/cache/d6b34eb7a8b408a7607505bec8a37c29.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0171, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.res.oracle index 61ff3d4d143239a6c98a5675e9d92e75f879c72a..710eb3051e1cd6e1dbdc94c374cb9236ea4e233c 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-rte -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-rte [...] [kernel] Parsing tests/wp_bts/bts_1360.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.0.session/cache/0498222ad10a7cab9a5f7e70ee6d9640.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.0.session/cache/0498222ad10a7cab9a5f7e70ee6d9640.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.0.session/cache/0498222ad10a7cab9a5f7e70ee6d9640.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.0.session/cache/16ddbd9fbf85a3bf8a6d0da586ad146a.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.0.session/cache/16ddbd9fbf85a3bf8a6d0da586ad146a.json new file mode 100644 index 0000000000000000000000000000000000000000..4107c76915319131ab618252eac232115d74bb54 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.0.session/cache/16ddbd9fbf85a3bf8a6d0da586ad146a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0135, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.0.session/cache/7730ee1a1dbc7387268022b37006f301.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.0.session/cache/7730ee1a1dbc7387268022b37006f301.json new file mode 100644 index 0000000000000000000000000000000000000000..9cf59a633fed40e81e00957be03c090fe95677f3 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.0.session/cache/7730ee1a1dbc7387268022b37006f301.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0086, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.res.oracle index d45f3ec09d3b0122e557e3b2b910a6fecd942f93..eb31be8a44ffba5eb0b43cb007262a89be0dfbee 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/bts_1462.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.res.oracle index 722fea991544c5bda4ca295a89e6aa4231ee5788..ce7b8a4fe68ac48060a4b00f9f5d6d6d2b916fe2 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/bts_1586.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1588.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1588.res.oracle index d3080fe82353c5930f7b03cdb1c457dc321de053..55913b62c703f179534e696b2cf9deb9b0ccd523 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1588.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1588.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/bts_1588.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.0.session/cache/1108d44ac28a86f5eb79e03578b6b5ca.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.0.session/cache/1108d44ac28a86f5eb79e03578b6b5ca.json new file mode 100644 index 0000000000000000000000000000000000000000..a31d247527e48ce0250bc74e27a18fbe681fc04c --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.0.session/cache/1108d44ac28a86f5eb79e03578b6b5ca.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0332, + "steps": 27 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.res.oracle index d121feba83671afe3403b57c1f1680a09a400bdd..eeccda7e270c592e753c1d0429a739688b6aef55 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/bts_1601.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.res.oracle index cccf36bcb811a33aad6db7974ad8b997b88eefd3..99bc35317b0c035e229adecc85911840f4de0657 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/bts_1828.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.session/cache/2f7f2c8f6ef7d223e768e1090d15a5ad.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.session/cache/2f7f2c8f6ef7d223e768e1090d15a5ad.json new file mode 100644 index 0000000000000000000000000000000000000000..7d85e43e2a18a44d699d1b03a54c96174c82f785 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.session/cache/2f7f2c8f6ef7d223e768e1090d15a5ad.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0149, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.session/cache/73efff261f005628172071973be37a21.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.session/cache/73efff261f005628172071973be37a21.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.session/cache/73efff261f005628172071973be37a21.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.session/cache/c089c450772a3a0346e02bc1e798bdb0.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.session/cache/c089c450772a3a0346e02bc1e798bdb0.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.session/cache/c089c450772a3a0346e02bc1e798bdb0.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.res.oracle index 7855fdce2b682ade757aa28766716c738e323b0f..8434a188aab590de1c135d9d6b42e879b9281425 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_bts/bts_1828.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.session/cache/2f7f2c8f6ef7d223e768e1090d15a5ad.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.session/cache/2f7f2c8f6ef7d223e768e1090d15a5ad.json new file mode 100644 index 0000000000000000000000000000000000000000..a6f3d30f28048e57803ab1e7c56a368285cb6b44 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.session/cache/2f7f2c8f6ef7d223e768e1090d15a5ad.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0153, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2040.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2040.res.oracle index 1c2fe17584e25389eabc964a263ad5aa6e7ef2ba..4d4b554f999735ad1765a76f7962b5e40cc0141d 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2040.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2040.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/bts_2040.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2079.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2079.res.oracle index 40b78670f5ecb93d9d8ffb7a344292208a1ed931..d4b8e198b08346e06d4cf6f685de7d40b02e427e 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2079.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2079.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/bts_2079.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.0.session/cache/bdef92292b218ae60ed7bf31d9876725.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.0.session/cache/bdef92292b218ae60ed7bf31d9876725.json new file mode 100644 index 0000000000000000000000000000000000000000..6531c88f85fc3d7a7108c71752cfcdd087801083 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.0.session/cache/bdef92292b218ae60ed7bf31d9876725.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0161, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.res.oracle index 79511ba17200cdf6d780424e63b96a5eec1edf7c..f241129fe79416eb622e6e08a9a0382ae2c20860 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/bts_2159.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/ergo_typecheck.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/ergo_typecheck.res.oracle index 9f89e1687a37d3daebda3ed5de1544568b1271db..e0de6d5f1e0f840efc616420df58ba5df14897ba 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/ergo_typecheck.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/ergo_typecheck.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/ergo_typecheck.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-364.0.session/cache/20ce0275c1526238b5f71932690ce665.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-364.0.session/cache/20ce0275c1526238b5f71932690ce665.json new file mode 100644 index 0000000000000000000000000000000000000000..5e333076a21c578e9a2736e28fdb3acb4bb1947e --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-364.0.session/cache/20ce0275c1526238b5f71932690ce665.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0224, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-364.0.session/cache/811d41ea82968315323fd1dca753edac.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-364.0.session/cache/811d41ea82968315323fd1dca753edac.json new file mode 100644 index 0000000000000000000000000000000000000000..7a077ad2df8006c5062a91ca87add67821a02616 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-364.0.session/cache/811d41ea82968315323fd1dca753edac.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0273, + "steps": 30 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-364.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-364.res.oracle index 4231e564c8c7761d3b20cbc6b67ed871a8d7aa65..42d8ba9e5b75175e08864dd5d58147c5acdb2982 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-364.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-364.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/issue-364.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.0.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.0.res.oracle index 341cbfc3a200bd063b6f76628c03074d47be937b..e3ee19b027bad6735968cefd342c5cafa24922b0 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.0.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/issue_143.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.0.session/cache/38acf909585519bf444c738cb33ab2c5.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.0.session/cache/38acf909585519bf444c738cb33ab2c5.json new file mode 100644 index 0000000000000000000000000000000000000000..c0a83f1be0e9165a755eae10bb5d2ba1713a831f --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.0.session/cache/38acf909585519bf444c738cb33ab2c5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0099, + "steps": 4 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.0.session/cache/4125251455381bd914edf14cf4cbadb5.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.0.session/cache/4125251455381bd914edf14cf4cbadb5.json new file mode 100644 index 0000000000000000000000000000000000000000..f2459e4701d26a1784c894e9dc9c2177110d2e4e --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.0.session/cache/4125251455381bd914edf14cf4cbadb5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0084, + "steps": 4 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.1.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.1.res.oracle index 5809812ed6884f8379efb13e39220c370b7d41bf..6985b4d2e2f79547295f3d204986459fe4b042e5 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.1.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/issue_143.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.1.session/cache/38acf909585519bf444c738cb33ab2c5.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.1.session/cache/38acf909585519bf444c738cb33ab2c5.json new file mode 100644 index 0000000000000000000000000000000000000000..45da6c544390c07a35357e35a1788884fb8082ae --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.1.session/cache/38acf909585519bf444c738cb33ab2c5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0096, + "steps": 4 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.1.session/cache/4125251455381bd914edf14cf4cbadb5.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.1.session/cache/4125251455381bd914edf14cf4cbadb5.json new file mode 100644 index 0000000000000000000000000000000000000000..fc25362a08e022927d67fdda70783ad53ed7204f --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.1.session/cache/4125251455381bd914edf14cf4cbadb5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0094, + "steps": 4 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.2.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.2.res.oracle index 020e138a0e7dfdc7abc0c2c612f7ad8a6b7c0017..feee3c9109990d2eebec4549db1f994cd3b95c2f 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.2.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/issue_143.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.2.session/cache/38acf909585519bf444c738cb33ab2c5.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.2.session/cache/38acf909585519bf444c738cb33ab2c5.json new file mode 100644 index 0000000000000000000000000000000000000000..aaac644d52593d6e32c2a0d722a48ba742c5c1e0 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.2.session/cache/38acf909585519bf444c738cb33ab2c5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0091, + "steps": 4 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.2.session/cache/4125251455381bd914edf14cf4cbadb5.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.2.session/cache/4125251455381bd914edf14cf4cbadb5.json new file mode 100644 index 0000000000000000000000000000000000000000..ec2b0cfc1965d004317bcf4c6728ebdf7d631d46 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.2.session/cache/4125251455381bd914edf14cf4cbadb5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.009, + "steps": 4 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.3.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.3.res.oracle index 740bb8ea13f1704edbe9a73b46b88a36d8170360..e9bc0c7109c1f4fcb013f7f3a1586a9cbcedf86d 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.3.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_143.3.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/issue_143.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_198.0.session/cache/38c1b43d76702d5ab3baa6900ee752eb.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_198.0.session/cache/38c1b43d76702d5ab3baa6900ee752eb.json new file mode 100644 index 0000000000000000000000000000000000000000..854b07221b108088e703d1066086d9734a7d1ed1 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_198.0.session/cache/38c1b43d76702d5ab3baa6900ee752eb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0153, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_198.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_198.res.oracle index 377e3ee717a2a10acaeeac0a449e40549feb62b6..f391d02b573f44e30cbcd5fbfad230fe371fe8e0 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_198.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_198.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/issue_198.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_447.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_447.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json new file mode 100644 index 0000000000000000000000000000000000000000..d6f6d72c53b397b686f611763f07ce2fc4fdf560 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_447.0.session/cache/5d63c645e492af38b5a1d3859d7eeaa2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0084, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_447.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_447.res.oracle index 06085822d33f851a729a86c4879786dfd6aa9ffb..f9611321b0c07ecc9cd0cd6a62b5fd80c99f8ad4 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_447.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_447.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/issue_447.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_453.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_453.res.oracle index 5c91074b9d16dd1af773f8e70f375031623fabc2..a1ec9480bb7bf24cd58d799150e56fb4bac9071e 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_453.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_453.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/issue_453.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.0.session/cache/7dac874a74c4862db7a2944e8c37b9ee.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.0.session/cache/7dac874a74c4862db7a2944e8c37b9ee.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.0.session/cache/7dac874a74c4862db7a2944e8c37b9ee.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.0.session/cache/8c9a5bc85b9f4470e33ef29dbe5cc4d7.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.0.session/cache/8c9a5bc85b9f4470e33ef29dbe5cc4d7.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.0.session/cache/8c9a5bc85b9f4470e33ef29dbe5cc4d7.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.0.session/cache/ad665a340bece5a7e649ab81ad5c30ea.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.0.session/cache/ad665a340bece5a7e649ab81ad5c30ea.json new file mode 100644 index 0000000000000000000000000000000000000000..81761b268468a36facec4cb7bd12a02aa10f2fa2 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.0.session/cache/ad665a340bece5a7e649ab81ad5c30ea.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0208, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.res.oracle index cf0252e05e8ef594e2b3a7929f5ad0a924178968..592d4a5f61330d27a4ab5382dc872b9f212dff89 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/issue_494.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.0.session/cache/e8f5425a0d4716aa3cf9bb584096267c.json b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.0.session/cache/e8f5425a0d4716aa3cf9bb584096267c.json new file mode 100644 index 0000000000000000000000000000000000000000..513509ff14f94cf0b7c0050206f0862d1cf226a4 --- /dev/null +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.0.session/cache/e8f5425a0d4716aa3cf9bb584096267c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0386, + "steps": 58 } diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.res.oracle index 62d996fcf99309c0a209120b5f0bfcf882c0c507..565ebf75c772f30336b80a9a15332fd752615d91 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/issue_508.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/nupw-bcl-bts1120.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/nupw-bcl-bts1120.res.oracle index f5969a63fa8a537593bd936c02243ac3ee4c8a4a..bfdf15d4931fd44e05f315d8ddcd4ca2a4516749 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/nupw-bcl-bts1120.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/nupw-bcl-bts1120.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_bts/nupw-bcl-bts1120.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/50b7ca427889aed35cdffb94389d1fc1.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/50b7ca427889aed35cdffb94389d1fc1.json new file mode 100644 index 0000000000000000000000000000000000000000..ce54f97614d117d03cef880c8251c32e9148935a --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/50b7ca427889aed35cdffb94389d1fc1.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1725, + "steps": 111 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/83dc0544abe24718ea722865cad8567d.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/83dc0544abe24718ea722865cad8567d.json new file mode 100644 index 0000000000000000000000000000000000000000..984ee2ea36639a084fac85172b930105314d795e --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/83dc0544abe24718ea722865cad8567d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0591, + "steps": 72 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/b4b065851b610941b8243cc07cc36ed7.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/b4b065851b610941b8243cc07cc36ed7.json new file mode 100644 index 0000000000000000000000000000000000000000..2b1a1117297de611ac2b93d2aa41f0feba1a8a25 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/b4b065851b610941b8243cc07cc36ed7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0404, + "steps": 52 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/bb32008f2b6dbbd81a3deecbf51e7d01.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/bb32008f2b6dbbd81a3deecbf51e7d01.json new file mode 100644 index 0000000000000000000000000000000000000000..4558e35969c19a27aa4fa10783f9d4fa65da7384 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/bb32008f2b6dbbd81a3deecbf51e7d01.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0792, + "steps": 42 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/c39ca4ac35735cb6f87c385e13049ca6.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/c39ca4ac35735cb6f87c385e13049ca6.json new file mode 100644 index 0000000000000000000000000000000000000000..dbcc2572ad7139b6777b855febb16b50df05c74d --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/c39ca4ac35735cb6f87c385e13049ca6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0233, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/d200f15f1ef2cdeb0e4ccb444961c8cf.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/d200f15f1ef2cdeb0e4ccb444961c8cf.json new file mode 100644 index 0000000000000000000000000000000000000000..0643fb332d7c7c3071868aaba50fcefb9921b9f2 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/d200f15f1ef2cdeb0e4ccb444961c8cf.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0181, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/d5ffa33594d297a8ce47a352154deba1.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/d5ffa33594d297a8ce47a352154deba1.json new file mode 100644 index 0000000000000000000000000000000000000000..34eb92e14c8f8b1ff591d64373ec98bf9aff7d6a --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/d5ffa33594d297a8ce47a352154deba1.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0234, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/db765e117c923a38adaf1ca9b69e1bbd.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/db765e117c923a38adaf1ca9b69e1bbd.json new file mode 100644 index 0000000000000000000000000000000000000000..76e11d42ddce4e65e08356c8627ab0f750dd3d48 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/db765e117c923a38adaf1ca9b69e1bbd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0212, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/e62b96ca9a73811ef18902b193cbc59a.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/e62b96ca9a73811ef18902b193cbc59a.json new file mode 100644 index 0000000000000000000000000000000000000000..6234bb10ca234b2e06c75ad96a87fec9021524bf --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/e62b96ca9a73811ef18902b193cbc59a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0251, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/edb252ae3606764fc300bb9f81803db8.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/edb252ae3606764fc300bb9f81803db8.json new file mode 100644 index 0000000000000000000000000000000000000000..4524b881a692344279fed699077360f87f4bfb41 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/edb252ae3606764fc300bb9f81803db8.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0382, + "steps": 27 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/f069f82f764fc40974af232593211a75.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/f069f82f764fc40974af232593211a75.json new file mode 100644 index 0000000000000000000000000000000000000000..6d63f7685627d0b28c82f8b36430d1b585de12dd --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.0.session/cache/f069f82f764fc40974af232593211a75.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.104, + "steps": 87 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.res.oracle index b12a5179d4c23014d11aedb8ef7d40f82b89841c..4aa305f3c58224b6a063e5ea5469de67bc6af1d1 100644 --- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.res.oracle +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 -warn-unsigned-overflow [...] +# frama-c -wp -warn-unsigned-overflow [...] [kernel] Parsing tests/wp_gallery/binary-multiplication-without-overflow.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/1539e57db2401020ec0e02d0f7961978.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/1539e57db2401020ec0e02d0f7961978.json new file mode 100644 index 0000000000000000000000000000000000000000..1ea41d6d57686836c0f816173aa79bc2c795408b --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/1539e57db2401020ec0e02d0f7961978.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 90. } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/24386c81f53980bedb1b517805f58c72.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/24386c81f53980bedb1b517805f58c72.json new file mode 100644 index 0000000000000000000000000000000000000000..d8c24dd5bc398427b5a0ce61ded73c53e4ddb31e --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/24386c81f53980bedb1b517805f58c72.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.027, + "steps": 45 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/66c6d5d5b8486f066838ca77c26a99bc.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/66c6d5d5b8486f066838ca77c26a99bc.json new file mode 100644 index 0000000000000000000000000000000000000000..32366ef6f8704ee4a628107b7d8358aab90e93b0 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/66c6d5d5b8486f066838ca77c26a99bc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0104, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/7679c569f1bb065300d3d8cb1464bbad.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/7679c569f1bb065300d3d8cb1464bbad.json new file mode 100644 index 0000000000000000000000000000000000000000..966be8de4c5c99ea5ca44d5959e40fa3dc581f5c --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/7679c569f1bb065300d3d8cb1464bbad.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0995, + "steps": 131 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/77d9616fbe16ad3e6a1b14e74982ead2.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/77d9616fbe16ad3e6a1b14e74982ead2.json new file mode 100644 index 0000000000000000000000000000000000000000..5f4fc1b3c77448a9f55c74c35bc0c49f1cf7a26e --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/77d9616fbe16ad3e6a1b14e74982ead2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0183, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/a0e9344a67a80337a267995dd5b05544.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/a0e9344a67a80337a267995dd5b05544.json new file mode 100644 index 0000000000000000000000000000000000000000..48243733791ad2aafec0227b3bb678195b217db0 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/a0e9344a67a80337a267995dd5b05544.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0201, + "steps": 53 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/b035bd9b0798630779b2676faf707d06.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/b035bd9b0798630779b2676faf707d06.json new file mode 100644 index 0000000000000000000000000000000000000000..529f1a4edbc6c58f1e7e05bbecb05cb418b3fd3e --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/b035bd9b0798630779b2676faf707d06.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.529, + "steps": 430 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/b336801d3713a314b5daec247980d7dd.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/b336801d3713a314b5daec247980d7dd.json new file mode 100644 index 0000000000000000000000000000000000000000..475e6f519c09484abbf100af4245f21e29bd9bed --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/b336801d3713a314b5daec247980d7dd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.5623, + "steps": 383 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/c450d21c433db1ccd7b96bfd362d035a.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/c450d21c433db1ccd7b96bfd362d035a.json new file mode 100644 index 0000000000000000000000000000000000000000..c9edc62d71d621bb078e5a64a662e1be4388bcc5 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/c450d21c433db1ccd7b96bfd362d035a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0108, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/d8e9312b5b8cdc167678751e3ede50c1.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/d8e9312b5b8cdc167678751e3ede50c1.json new file mode 100644 index 0000000000000000000000000000000000000000..3e22b56b9cfc8f61e377ed6df7292025b929f43c --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/d8e9312b5b8cdc167678751e3ede50c1.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0522, + "steps": 80 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/e0a684fe785a113b129a9df74687db0c.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/e0a684fe785a113b129a9df74687db0c.json new file mode 100644 index 0000000000000000000000000000000000000000..1230f8c3f1e214bf9323af5d30012e74c6c45dd3 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/e0a684fe785a113b129a9df74687db0c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0098, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/e487df371af8c54f2d6fb9cc129c1696.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/e487df371af8c54f2d6fb9cc129c1696.json new file mode 100644 index 0000000000000000000000000000000000000000..0a9ec4eb67b3a73d39a570d5dce61554ae877115 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/e487df371af8c54f2d6fb9cc129c1696.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0384, + "steps": 114 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/fe5b0fc55cfd82dc6da71976001e38ec.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/fe5b0fc55cfd82dc6da71976001e38ec.json new file mode 100644 index 0000000000000000000000000000000000000000..ffa74cd1fff22ee1a042c157ecf91c5182106b6f --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.0.session/cache/fe5b0fc55cfd82dc6da71976001e38ec.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0132, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.res.oracle index 8bb2f2aa48ea3cbc255177e1045da19274c25a64..42de806ba95e3bdf08b0418a6ef801e25fc89e39 100644 --- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.res.oracle +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 90 -wp-steps 1500 [...] +# frama-c -wp -wp-timeout 90 [...] [kernel] Parsing tests/wp_gallery/binary-multiplication.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/00ecf4296b3aee4d1912c74420c9bfce.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/00ecf4296b3aee4d1912c74420c9bfce.json new file mode 100644 index 0000000000000000000000000000000000000000..2d671c4e72bc51f3c700e0e81919e990ca315d1d --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/00ecf4296b3aee4d1912c74420c9bfce.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0238, + "steps": 25 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/0230914cd0121d246ef6d21a5cfc7fa1.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/0230914cd0121d246ef6d21a5cfc7fa1.json new file mode 100644 index 0000000000000000000000000000000000000000..60e024902b6acefeaea8e2dd896cbbd49d46991d --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/0230914cd0121d246ef6d21a5cfc7fa1.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0156, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/2deacada1b18db7a5111ef2c5b2638de.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/2deacada1b18db7a5111ef2c5b2638de.json new file mode 100644 index 0000000000000000000000000000000000000000..23a0696e1c1def2480c519cbfe166c5762aed7c3 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/2deacada1b18db7a5111ef2c5b2638de.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0667, + "steps": 102 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/45575d27fe1fe5a0b0153e23f53726c9.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/45575d27fe1fe5a0b0153e23f53726c9.json new file mode 100644 index 0000000000000000000000000000000000000000..1163a8b34da8f77880f6f36066b24770e849ac2e --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/45575d27fe1fe5a0b0153e23f53726c9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.028, + "steps": 31 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/48bd1dffec078a57cdf3c81460760830.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/48bd1dffec078a57cdf3c81460760830.json new file mode 100644 index 0000000000000000000000000000000000000000..73761d478128e7d52e3d9428d70c38e07c368b95 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/48bd1dffec078a57cdf3c81460760830.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.017, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/a9a1699bcaaae331be6465b2f7af6a4c.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/a9a1699bcaaae331be6465b2f7af6a4c.json new file mode 100644 index 0000000000000000000000000000000000000000..d395e4b317e1987a94be9ab879a6dd7eb06f88a3 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/a9a1699bcaaae331be6465b2f7af6a4c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0406, + "steps": 47 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/b0c44ab7bb5e6a7220f7179fe6ae6761.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/b0c44ab7bb5e6a7220f7179fe6ae6761.json new file mode 100644 index 0000000000000000000000000000000000000000..c59f1efb3db34f92b10b1e2b3f8f788da816765b --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/b0c44ab7bb5e6a7220f7179fe6ae6761.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0373, + "steps": 51 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/d10c14e21c7d63a6a49829c726e18f8f.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/d10c14e21c7d63a6a49829c726e18f8f.json new file mode 100644 index 0000000000000000000000000000000000000000..a98cc2b29345d6e23841f1b7ea6a7da5296bd341 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/d10c14e21c7d63a6a49829c726e18f8f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0312, + "steps": 51 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/d9457ea3aed60df13390d1465c9ae2a4.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/d9457ea3aed60df13390d1465c9ae2a4.json new file mode 100644 index 0000000000000000000000000000000000000000..26acbfb2008c9a9516c00c23851980a1203c1607 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.0.session/cache/d9457ea3aed60df13390d1465c9ae2a4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0283, + "steps": 36 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.res.oracle index 650002bfa46b9f86b1f1595fb3526edf99be9908..3d750b31c6924c9d1666b8dd25f1a34f2f52a7f0 100644 --- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.res.oracle +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_gallery/frama_c_exo1_solved.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/09d860a6bed99d37144eb85b7d09c1cd.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/09d860a6bed99d37144eb85b7d09c1cd.json new file mode 100644 index 0000000000000000000000000000000000000000..490ff3b9c836873ef3ad6cb64166a26979ffce86 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/09d860a6bed99d37144eb85b7d09c1cd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0362, + "steps": 52 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/2298a3e138acd30bbfb9944ea8f9e47f.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/2298a3e138acd30bbfb9944ea8f9e47f.json new file mode 100644 index 0000000000000000000000000000000000000000..625c9b5edd8412057893d68d889a0df41e170088 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/2298a3e138acd30bbfb9944ea8f9e47f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0315, + "steps": 32 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/2a85ef642eeffcb15f2c8c244d5e6fcd.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/2a85ef642eeffcb15f2c8c244d5e6fcd.json new file mode 100644 index 0000000000000000000000000000000000000000..52ea5a3d300d5c4ab39a1663cd87f45adc5db334 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/2a85ef642eeffcb15f2c8c244d5e6fcd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0486, + "steps": 61 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/37e42d2496a52f0392be3e018f994253.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/37e42d2496a52f0392be3e018f994253.json new file mode 100644 index 0000000000000000000000000000000000000000..19bac4cb88932515027a1943f1e8b7cf5196511d --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/37e42d2496a52f0392be3e018f994253.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0191, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/4024290cccf2bd02d1affc464c31272c.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/4024290cccf2bd02d1affc464c31272c.json new file mode 100644 index 0000000000000000000000000000000000000000..10a37b87047e7a6498c864c6271917891a030815 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/4024290cccf2bd02d1affc464c31272c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0356, + "steps": 47 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/7384017a2cf1ceb7fa5e3f2a27ec1461.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/7384017a2cf1ceb7fa5e3f2a27ec1461.json new file mode 100644 index 0000000000000000000000000000000000000000..e3809744262dc71767867c63983c7c3befb782bb --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/7384017a2cf1ceb7fa5e3f2a27ec1461.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0354, + "steps": 46 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/8d7cbb96d2716e5e30fa2db72e0bc571.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/8d7cbb96d2716e5e30fa2db72e0bc571.json new file mode 100644 index 0000000000000000000000000000000000000000..32100aa5bd4fbbb5857f23aa793267aba26b2f55 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/8d7cbb96d2716e5e30fa2db72e0bc571.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1911, + "steps": 275 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/9386d1588ee8ff353cf1bba248d8b6ce.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/9386d1588ee8ff353cf1bba248d8b6ce.json new file mode 100644 index 0000000000000000000000000000000000000000..572d632b098d8d2739589f39aa0a560c5067bc74 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/9386d1588ee8ff353cf1bba248d8b6ce.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.031, + "steps": 41 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/99c9c4369b4e7f2cc778a41d382e4be5.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/99c9c4369b4e7f2cc778a41d382e4be5.json new file mode 100644 index 0000000000000000000000000000000000000000..fc1c472beaefbde70944c197980dcd18bdbb280b --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/99c9c4369b4e7f2cc778a41d382e4be5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0885, + "steps": 140 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/ac26388b1db7b81e2c7bbf9cbd232cbf.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/ac26388b1db7b81e2c7bbf9cbd232cbf.json new file mode 100644 index 0000000000000000000000000000000000000000..4dfb994b110e3b105019744949b457628de5c9c6 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/ac26388b1db7b81e2c7bbf9cbd232cbf.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0244, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/ba4e367ec1b498ad0f90c7529ea797f9.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/ba4e367ec1b498ad0f90c7529ea797f9.json new file mode 100644 index 0000000000000000000000000000000000000000..716e5f07d34ee12a1d048c3cfba78b1179ae6850 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/ba4e367ec1b498ad0f90c7529ea797f9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0247, + "steps": 31 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/c8dc85fabdedd37aab84db72c8de7556.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/c8dc85fabdedd37aab84db72c8de7556.json new file mode 100644 index 0000000000000000000000000000000000000000..68ec056a4efdb25925e5bc2d19acb04a2084f0f9 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/c8dc85fabdedd37aab84db72c8de7556.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0245, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/d7f28bc4aeb695c611ec122b4a4690e5.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/d7f28bc4aeb695c611ec122b4a4690e5.json new file mode 100644 index 0000000000000000000000000000000000000000..b10056a3d0b2a4f1c6ae895426e74215dc5dd878 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.0.session/cache/d7f28bc4aeb695c611ec122b4a4690e5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.075, + "steps": 87 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.res.oracle index c0bfb08ca3b50875c885f9c27608b26cba945941..deaba47c54d9188bab890c5eaddf280739a5b0f0 100644 --- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.res.oracle +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_gallery/frama_c_exo2_solved.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/0b5759138af93f51b0e7fb12c995eb14.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/0b5759138af93f51b0e7fb12c995eb14.json new file mode 100644 index 0000000000000000000000000000000000000000..a4ff93c46280462dc0930b6e8f6d930fcc715ddf --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/0b5759138af93f51b0e7fb12c995eb14.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0602, + "steps": 122 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/0bb570bdfc29c713f2ab3cfdfeb32896.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/0bb570bdfc29c713f2ab3cfdfeb32896.json new file mode 100644 index 0000000000000000000000000000000000000000..017d66c1e4d0c75ee03c2ba417c8efa08b2b3a2c --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/0bb570bdfc29c713f2ab3cfdfeb32896.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0185, + "steps": 25 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/146fbdc1298b06be16738f962a3f5159.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/146fbdc1298b06be16738f962a3f5159.json new file mode 100644 index 0000000000000000000000000000000000000000..356916e04e512e9933fef54fde7a27a7796b88c6 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/146fbdc1298b06be16738f962a3f5159.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0476, + "steps": 88 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/283f609cf9f5e76247af6de360d9da6b.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/283f609cf9f5e76247af6de360d9da6b.json new file mode 100644 index 0000000000000000000000000000000000000000..31277cd1001d1bd47e2b63d1834356de1652c633 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/283f609cf9f5e76247af6de360d9da6b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.018, + "steps": 36 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/381ee71a63ecd1842e5a04cbce851b5b.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/381ee71a63ecd1842e5a04cbce851b5b.json new file mode 100644 index 0000000000000000000000000000000000000000..d293342494ac431101146536322c891849a15e54 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/381ee71a63ecd1842e5a04cbce851b5b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.2703, + "steps": 245 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/3c5ed1325c8ab6ee7d1fc9ecf57b6f9d.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/3c5ed1325c8ab6ee7d1fc9ecf57b6f9d.json new file mode 100644 index 0000000000000000000000000000000000000000..6f328e11ca09707e05282f7c3d738ac74e746fce --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/3c5ed1325c8ab6ee7d1fc9ecf57b6f9d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.112, + "steps": 183 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/4b205930d3b4d8fee48261a586bc8073.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/4b205930d3b4d8fee48261a586bc8073.json new file mode 100644 index 0000000000000000000000000000000000000000..6b60534c7382655936bd71fa4d46a34ff4fbc3d1 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/4b205930d3b4d8fee48261a586bc8073.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.1391, + "steps": 480 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/6598f250edf1b886274861118ba008ad.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/6598f250edf1b886274861118ba008ad.json new file mode 100644 index 0000000000000000000000000000000000000000..1f70495bc14e08b29f4cf30019db7bb99d09aea0 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/6598f250edf1b886274861118ba008ad.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0237, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/70e5ed1bc7a3e313f8eb27096a17ae10.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/70e5ed1bc7a3e313f8eb27096a17ae10.json new file mode 100644 index 0000000000000000000000000000000000000000..d2b22bf3f61124e4e09944d5da47a9b30e4ea3b0 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/70e5ed1bc7a3e313f8eb27096a17ae10.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0659, + "steps": 153 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/79d831813d414cc08f58c5fda2236205.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/79d831813d414cc08f58c5fda2236205.json new file mode 100644 index 0000000000000000000000000000000000000000..1efb4b7a7b930a3a1184785506a46953d6250696 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/79d831813d414cc08f58c5fda2236205.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0998, + "steps": 148 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/a0c5cf3bb71e2656a3034208a111b110.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/a0c5cf3bb71e2656a3034208a111b110.json new file mode 100644 index 0000000000000000000000000000000000000000..83e77b85543ba88be2a2d5c1652080d9e17ddb32 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/a0c5cf3bb71e2656a3034208a111b110.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0608, + "steps": 119 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/b165ab4893ffc1cbfc6ae37fb197c0f1.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/b165ab4893ffc1cbfc6ae37fb197c0f1.json new file mode 100644 index 0000000000000000000000000000000000000000..aecd77eee923f01f887797d2f328ed1fff128bc4 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/b165ab4893ffc1cbfc6ae37fb197c0f1.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0431, + "steps": 100 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/b1811c4bf2e186a18d64936abca5b39f.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/b1811c4bf2e186a18d64936abca5b39f.json new file mode 100644 index 0000000000000000000000000000000000000000..e4a8800d5498c514b0e0d8e016d8625e481de9fb --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/b1811c4bf2e186a18d64936abca5b39f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0611, + "steps": 119 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/b8b99ab8c81e5a26ca31d567fc55ec6d.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/b8b99ab8c81e5a26ca31d567fc55ec6d.json new file mode 100644 index 0000000000000000000000000000000000000000..3d998982126db30ea0df6ce8166aed8c8144e8f2 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/b8b99ab8c81e5a26ca31d567fc55ec6d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.1315, + "steps": 587 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/bba11adb2ddad99a9727cb7458cea372.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/bba11adb2ddad99a9727cb7458cea372.json new file mode 100644 index 0000000000000000000000000000000000000000..93c6ba91d6ab17e83ffb577e8004543a8de57f6a --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/bba11adb2ddad99a9727cb7458cea372.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.0553, + "steps": 312 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/c04157f46e4552c161a37fde022748c4.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/c04157f46e4552c161a37fde022748c4.json new file mode 100644 index 0000000000000000000000000000000000000000..cc17e1f381f47e115e9fbd4bb32d4f63b15fd983 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/c04157f46e4552c161a37fde022748c4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0629, + "steps": 121 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/c608f5ac1c4e41f6285e2d0288f7a3e6.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/c608f5ac1c4e41f6285e2d0288f7a3e6.json new file mode 100644 index 0000000000000000000000000000000000000000..ad1b022b2a42f251869c199aee8ef2a323ac19ae --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/c608f5ac1c4e41f6285e2d0288f7a3e6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.9603, + "steps": 443 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/cbfaf2c41e4f40a1fe17f5ec7749baec.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/cbfaf2c41e4f40a1fe17f5ec7749baec.json new file mode 100644 index 0000000000000000000000000000000000000000..a55641c71cc7c2ba3d2b7341bfd201ee690688ab --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/cbfaf2c41e4f40a1fe17f5ec7749baec.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0236, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/d9c5bf672a6c1429d923b3f9f333ad8b.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/d9c5bf672a6c1429d923b3f9f333ad8b.json new file mode 100644 index 0000000000000000000000000000000000000000..56146e42c7c20b19f9bda8a72b4a1f92dac8c0c2 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/d9c5bf672a6c1429d923b3f9f333ad8b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.6726, + "steps": 327 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/de3aef527d44800527eba214ba87014c.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/de3aef527d44800527eba214ba87014c.json new file mode 100644 index 0000000000000000000000000000000000000000..a9f82758f59e445daced13bd8f5b3f37afc73466 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/de3aef527d44800527eba214ba87014c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0296, + "steps": 34 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/e3bdffb2192e8e9280a4f8319d797e5c.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/e3bdffb2192e8e9280a4f8319d797e5c.json new file mode 100644 index 0000000000000000000000000000000000000000..4d07be06bf4a32d939ecbb84536fdfdcf1dadae5 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.0.session/cache/e3bdffb2192e8e9280a4f8319d797e5c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.037, + "steps": 110 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.res.oracle index dc1ca6605e834de70c1aad21315ba2111899f361..c74a9513362d1aeb26482ce4c48f074ef3c5e2ac 100644 --- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.res.oracle +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_gallery/frama_c_exo3_solved.old.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/0994e7de773b107d157192d17ecbedc2.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/0994e7de773b107d157192d17ecbedc2.json new file mode 100644 index 0000000000000000000000000000000000000000..33a9a92da40571a3c44d329d22d613f3624f8941 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/0994e7de773b107d157192d17ecbedc2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1735, + "steps": 263 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/3a323549e397e5966994d38f5eda824f.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/3a323549e397e5966994d38f5eda824f.json new file mode 100644 index 0000000000000000000000000000000000000000..4e9a86a580a1a3f657150b48cbf02d7081e8928a --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/3a323549e397e5966994d38f5eda824f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0262, + "steps": 29 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/3a56ae53705a898c58ab7719dad95879.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/3a56ae53705a898c58ab7719dad95879.json new file mode 100644 index 0000000000000000000000000000000000000000..f3a60485cdd057a307f35cdf51c4c957a4318fd3 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/3a56ae53705a898c58ab7719dad95879.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0641, + "steps": 96 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/4268a7599d49e87d664f37118bfe31e0.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/4268a7599d49e87d664f37118bfe31e0.json new file mode 100644 index 0000000000000000000000000000000000000000..83d4dbd04c0e8a26e87adfce27e666ee87843e5c --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/4268a7599d49e87d664f37118bfe31e0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0346, + "steps": 40 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/52b8e721d8f9317b458272dda8b08ca7.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/52b8e721d8f9317b458272dda8b08ca7.json new file mode 100644 index 0000000000000000000000000000000000000000..a8d060f488a5cbae44efcf2178b01700de008696 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/52b8e721d8f9317b458272dda8b08ca7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0994, + "steps": 166 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/5fad8316b9a6c1a0d096e3445186bbda.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/5fad8316b9a6c1a0d096e3445186bbda.json new file mode 100644 index 0000000000000000000000000000000000000000..d9e5cc396fd1e8b9cf311c00548827e7114c2c62 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/5fad8316b9a6c1a0d096e3445186bbda.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0335, + "steps": 39 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/67f47fb725f1d6b46adbfc0978186f71.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/67f47fb725f1d6b46adbfc0978186f71.json new file mode 100644 index 0000000000000000000000000000000000000000..947f52857fd718cc40c50e2a1a4fce98e83a7fe7 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/67f47fb725f1d6b46adbfc0978186f71.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0816, + "steps": 108 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/6fcf2fbb95adef2015dbd96c6436e748.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/6fcf2fbb95adef2015dbd96c6436e748.json new file mode 100644 index 0000000000000000000000000000000000000000..2355f0fc4c7b3bec9d1e8b424a18bb9d522ffeb5 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/6fcf2fbb95adef2015dbd96c6436e748.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0436, + "steps": 48 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/7cbb37cc372cb9c7ace1d05e5f61952f.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/7cbb37cc372cb9c7ace1d05e5f61952f.json new file mode 100644 index 0000000000000000000000000000000000000000..7a077ad2df8006c5062a91ca87add67821a02616 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/7cbb37cc372cb9c7ace1d05e5f61952f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0273, + "steps": 30 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/8baa73c0a0cf86f103780b665f587c7e.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/8baa73c0a0cf86f103780b665f587c7e.json new file mode 100644 index 0000000000000000000000000000000000000000..fb135c2fb4bedfb1727765ac67e8df74c78db3fa --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/8baa73c0a0cf86f103780b665f587c7e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0268, + "steps": 38 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/98b660918f4eeb38cb437039f2c8746f.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/98b660918f4eeb38cb437039f2c8746f.json new file mode 100644 index 0000000000000000000000000000000000000000..4b1110b66cae3ca60f599ab74df94b648fde1f7a --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/98b660918f4eeb38cb437039f2c8746f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0332, + "steps": 39 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/9a8bccb913784d4facd21f58c0b084c6.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/9a8bccb913784d4facd21f58c0b084c6.json new file mode 100644 index 0000000000000000000000000000000000000000..8012428e0963e71e14d728a6d62f8dba2d6596fc --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/9a8bccb913784d4facd21f58c0b084c6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0456, + "steps": 68 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/a24a96fa07cf7d70235cbdd81c94626c.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/a24a96fa07cf7d70235cbdd81c94626c.json new file mode 100644 index 0000000000000000000000000000000000000000..b8b0e648b9e664b4236aa9075d4eec84a2363827 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/a24a96fa07cf7d70235cbdd81c94626c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0374, + "steps": 54 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/abfb3fa59feee714e91e6024d3d916cb.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/abfb3fa59feee714e91e6024d3d916cb.json new file mode 100644 index 0000000000000000000000000000000000000000..a6bc49b8e70b10b1e78d527c7cd0a3b502ee8016 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/abfb3fa59feee714e91e6024d3d916cb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1541, + "steps": 264 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/b9b0b69bbd5926d173af68d85595f720.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/b9b0b69bbd5926d173af68d85595f720.json new file mode 100644 index 0000000000000000000000000000000000000000..0eea236199445a4f47f4ad0c0aef7fca9218f3bd --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/b9b0b69bbd5926d173af68d85595f720.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0214, + "steps": 30 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/c3c471363fa4a5387ea0d4bdff81eec5.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/c3c471363fa4a5387ea0d4bdff81eec5.json new file mode 100644 index 0000000000000000000000000000000000000000..d66dd20df53f6f62b6f528d8d5c106fab2b3d3f9 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/c3c471363fa4a5387ea0d4bdff81eec5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1173, + "steps": 119 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/cd1a76fb30d85ca8043541c541bda7c5.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/cd1a76fb30d85ca8043541c541bda7c5.json new file mode 100644 index 0000000000000000000000000000000000000000..431d5288f71e3727263e4945ab16a06650bbec18 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/cd1a76fb30d85ca8043541c541bda7c5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0339, + "steps": 45 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/d52a947f857129281877763e2ce75652.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/d52a947f857129281877763e2ce75652.json new file mode 100644 index 0000000000000000000000000000000000000000..640d7fc28664f7dafc6ac1f6d778bdf0ce9f519e --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/d52a947f857129281877763e2ce75652.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.039, + "steps": 70 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/d9074d7a7643baec0368e51d72f9e647.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/d9074d7a7643baec0368e51d72f9e647.json new file mode 100644 index 0000000000000000000000000000000000000000..5e049850f9379edfa13fe99697d220dc94c41da7 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/d9074d7a7643baec0368e51d72f9e647.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0486, + "steps": 70 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/da51cc8a750e66b95505021e00e8d6da.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/da51cc8a750e66b95505021e00e8d6da.json new file mode 100644 index 0000000000000000000000000000000000000000..415776accd2cf60c298ec7b2ff12968f7684d37d --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/da51cc8a750e66b95505021e00e8d6da.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0267, + "steps": 42 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/ef4e8894a88571b2c2789eaa08c82a12.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/ef4e8894a88571b2c2789eaa08c82a12.json new file mode 100644 index 0000000000000000000000000000000000000000..d5ab9843e92e5b2426842a03fb4a65b1a9eccd39 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/ef4e8894a88571b2c2789eaa08c82a12.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1127, + "steps": 182 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/f0a77b66204fa20da473db042805e41e.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/f0a77b66204fa20da473db042805e41e.json new file mode 100644 index 0000000000000000000000000000000000000000..c1c7a251c7768dc820dfaf66307e41ae840d7e6c --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/f0a77b66204fa20da473db042805e41e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0246, + "steps": 41 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/f34f77d6c4322eaf0ee8de9aad034e23.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/f34f77d6c4322eaf0ee8de9aad034e23.json new file mode 100644 index 0000000000000000000000000000000000000000..7ef04506ef88498412202142c984152bdc7015c9 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.0.session/cache/f34f77d6c4322eaf0ee8de9aad034e23.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.043, + "steps": 60 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.res.oracle index d28a3f0f2f2e06514de6f54968037e101b5054af..4476cb8738de23963295cfc67b47ed296d44a87d 100644 --- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.res.oracle +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_gallery/frama_c_exo3_solved.old.v2.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/14276c6d39fd02eb3bfe8184e2080f3e.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/14276c6d39fd02eb3bfe8184e2080f3e.json new file mode 100644 index 0000000000000000000000000000000000000000..aecf63f10b8ab40aa56ef13cd12976ec4de1ff72 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/14276c6d39fd02eb3bfe8184e2080f3e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0226, + "steps": 50 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/2a36d0493c8197c85fed26e515ca1746.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/2a36d0493c8197c85fed26e515ca1746.json new file mode 100644 index 0000000000000000000000000000000000000000..b4fa77748023edca18fe43eef937c43b79a0524f --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/2a36d0493c8197c85fed26e515ca1746.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0491, + "steps": 62 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/3710bb06a41471f5a1ba7a24e612a631.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/3710bb06a41471f5a1ba7a24e612a631.json new file mode 100644 index 0000000000000000000000000000000000000000..ab4dafb58a5c99ad24bb91337c71a13a724d1383 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/3710bb06a41471f5a1ba7a24e612a631.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.032, + "steps": 48 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/4ea7eca23aaae8b6354c3d2681929873.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/4ea7eca23aaae8b6354c3d2681929873.json new file mode 100644 index 0000000000000000000000000000000000000000..adcc1dd22e10bc23a2548ce58d5b7f84c597ea5f --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/4ea7eca23aaae8b6354c3d2681929873.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0656, + "steps": 101 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/50f26ce79495d19742bd2d2bbe85a8ec.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/50f26ce79495d19742bd2d2bbe85a8ec.json new file mode 100644 index 0000000000000000000000000000000000000000..1ee6a1d67feef7d64714aeb7e86ad7663b7e35db --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/50f26ce79495d19742bd2d2bbe85a8ec.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0234, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/622a2b9a7f0c8f2711cdaad74aa9e154.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/622a2b9a7f0c8f2711cdaad74aa9e154.json new file mode 100644 index 0000000000000000000000000000000000000000..b34b790d1523c6f982cb79ceab4a51a663482066 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/622a2b9a7f0c8f2711cdaad74aa9e154.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0253, + "steps": 25 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/6bea889a3e65713254fec285d40f00be.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/6bea889a3e65713254fec285d40f00be.json new file mode 100644 index 0000000000000000000000000000000000000000..c3bb6d1b816f0e1910a5450126128ca9b0079959 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/6bea889a3e65713254fec285d40f00be.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.022, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/6d024368791118352e330ee5819a43da.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/6d024368791118352e330ee5819a43da.json new file mode 100644 index 0000000000000000000000000000000000000000..88aa8a1c27e69f6bc438a6c440257998ea1ba1ea --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/6d024368791118352e330ee5819a43da.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0224, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/7af89e44e06470d4c58bdbdea0fe349b.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/7af89e44e06470d4c58bdbdea0fe349b.json new file mode 100644 index 0000000000000000000000000000000000000000..d308652d48651b9245029987585e50db65266aa2 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/7af89e44e06470d4c58bdbdea0fe349b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0253, + "steps": 46 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/80e82a5604b2fa67ff4f9b8091c99f1a.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/80e82a5604b2fa67ff4f9b8091c99f1a.json new file mode 100644 index 0000000000000000000000000000000000000000..bb511fab6b56f24c885b5563e64dfb2f2c6698b8 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/80e82a5604b2fa67ff4f9b8091c99f1a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.231, + "steps": 151 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/850683912365f15b45151d1ab6686c10.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/850683912365f15b45151d1ab6686c10.json new file mode 100644 index 0000000000000000000000000000000000000000..81949f34766d658ae8c03501e633c831f5d2e265 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/850683912365f15b45151d1ab6686c10.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0203, + "steps": 28 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/904575836baf21bc229b0d95f611a2f4.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/904575836baf21bc229b0d95f611a2f4.json new file mode 100644 index 0000000000000000000000000000000000000000..3ac0a07eec48ef97758a773b83da45024e2978dc --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/904575836baf21bc229b0d95f611a2f4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0489, + "steps": 59 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/910a3dfe75b97d4b6b63f4d430267331.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/910a3dfe75b97d4b6b63f4d430267331.json new file mode 100644 index 0000000000000000000000000000000000000000..f9129dc2162dc4e2425b69779f2e102acddabeab --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/910a3dfe75b97d4b6b63f4d430267331.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0435, + "steps": 72 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/bf28d7590dfa23396bb3dec88ced00fa.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/bf28d7590dfa23396bb3dec88ced00fa.json new file mode 100644 index 0000000000000000000000000000000000000000..36169c210563b9c8ef087292b7d96e22b04ca077 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/bf28d7590dfa23396bb3dec88ced00fa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0169, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/f9fc4b67c3f50f27fa531f82e161010e.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/f9fc4b67c3f50f27fa531f82e161010e.json new file mode 100644 index 0000000000000000000000000000000000000000..d2194a9bc9d79158b7434c4b8821eb5732eaba26 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.0.session/cache/f9fc4b67c3f50f27fa531f82e161010e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0305, + "steps": 50 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.res.oracle index 86b8662c59195f595d4a2841bd9693bb8d8d3611..5c40a1cfb36666e92516c004b8d45ec445061215 100644 --- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.res.oracle +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_gallery/frama_c_exo3_solved.simplified.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/04f8fd45e1372421cd06dda8f75437c9.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/04f8fd45e1372421cd06dda8f75437c9.json new file mode 100644 index 0000000000000000000000000000000000000000..2d3649f7e82226e3b713dd880a9e3bac2d49ecea --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/04f8fd45e1372421cd06dda8f75437c9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1085, + "steps": 95 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/08b6db2d3fafc4cb93883a7010ed552d.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/08b6db2d3fafc4cb93883a7010ed552d.json new file mode 100644 index 0000000000000000000000000000000000000000..c169b8294d526919d3f96814988d108bb495e5f1 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/08b6db2d3fafc4cb93883a7010ed552d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0459, + "steps": 65 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/0c3a16ff3ecb02ed6f91b69f76942a5f.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/0c3a16ff3ecb02ed6f91b69f76942a5f.json new file mode 100644 index 0000000000000000000000000000000000000000..5a1b1f7dd70df8229f800765237be67c19c211e9 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/0c3a16ff3ecb02ed6f91b69f76942a5f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0314, + "steps": 74 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/1734ba914f5a9bff1a0c272ed625acf9.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/1734ba914f5a9bff1a0c272ed625acf9.json new file mode 100644 index 0000000000000000000000000000000000000000..bea631cbfdcdad454045c7deb047be0b31869cbf --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/1734ba914f5a9bff1a0c272ed625acf9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0224, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/1c83ad0e6fe132008040c290e2b1c7a9.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/1c83ad0e6fe132008040c290e2b1c7a9.json new file mode 100644 index 0000000000000000000000000000000000000000..9ec8e4a1489e2cda5699aaa13c0c63f587709a27 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/1c83ad0e6fe132008040c290e2b1c7a9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0243, + "steps": 25 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/214b0fb9511817c8882f41d7586b6bb4.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/214b0fb9511817c8882f41d7586b6bb4.json new file mode 100644 index 0000000000000000000000000000000000000000..03f152ed73ea0df3011f5f2956eaaa3b4b8774c9 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/214b0fb9511817c8882f41d7586b6bb4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 2.5518, + "steps": 856 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/27e2e343658ccf65535b56edee720c46.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/27e2e343658ccf65535b56edee720c46.json new file mode 100644 index 0000000000000000000000000000000000000000..25159578e1f869a89a1ca200043f2f9ffeaf2bab --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/27e2e343658ccf65535b56edee720c46.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0624, + "steps": 96 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/327ad8c34d97a2b1d501faa2742234dd.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/327ad8c34d97a2b1d501faa2742234dd.json new file mode 100644 index 0000000000000000000000000000000000000000..625c9b5edd8412057893d68d889a0df41e170088 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/327ad8c34d97a2b1d501faa2742234dd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0315, + "steps": 32 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/32f18b2b6ec78668204d73a4ef122549.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/32f18b2b6ec78668204d73a4ef122549.json new file mode 100644 index 0000000000000000000000000000000000000000..ad485ff38d104b60f6b3457f22a920331d34593b --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/32f18b2b6ec78668204d73a4ef122549.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0517, + "steps": 99 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3816760d1f1f7ae54387d98f152bc630.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3816760d1f1f7ae54387d98f152bc630.json new file mode 100644 index 0000000000000000000000000000000000000000..5f287a93d026639ebb4e37d83f87284c72d4cb95 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3816760d1f1f7ae54387d98f152bc630.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0356, + "steps": 42 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3c2bdca046ada8649292938b16f2dd9b.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3c2bdca046ada8649292938b16f2dd9b.json new file mode 100644 index 0000000000000000000000000000000000000000..6e0093dbd0cb4999e7ceb6458a00f453911c046a --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3c2bdca046ada8649292938b16f2dd9b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.035, + "steps": 47 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3ed6ccb36aabda9beaecfc54b51bc6dc.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3ed6ccb36aabda9beaecfc54b51bc6dc.json new file mode 100644 index 0000000000000000000000000000000000000000..087f0517b34bf7adc134f2c0cfed998ee81aef5d --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3ed6ccb36aabda9beaecfc54b51bc6dc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0232, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3f1a0275ffdc48d034f6dfacf4502be1.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3f1a0275ffdc48d034f6dfacf4502be1.json new file mode 100644 index 0000000000000000000000000000000000000000..ae16c5901dd1fa5cf3f2ff72d7b7e0bcfd78cf86 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/3f1a0275ffdc48d034f6dfacf4502be1.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0234, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/41abf1fe4d6a6b46b204b97a55f5ba46.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/41abf1fe4d6a6b46b204b97a55f5ba46.json new file mode 100644 index 0000000000000000000000000000000000000000..63a12236c80c74ebd59b9f7c2940929da036bceb --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/41abf1fe4d6a6b46b204b97a55f5ba46.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.221, + "steps": 586 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/41db8884cdb35e4120e231fbcf59b7cf.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/41db8884cdb35e4120e231fbcf59b7cf.json new file mode 100644 index 0000000000000000000000000000000000000000..14c6cd80068e6f4c31771a12bec60d7ed9bb5d35 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/41db8884cdb35e4120e231fbcf59b7cf.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1436, + "steps": 179 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/461fe24ecd8d691d91a96770806ef5ff.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/461fe24ecd8d691d91a96770806ef5ff.json new file mode 100644 index 0000000000000000000000000000000000000000..702ecef4ec3780ab1b83b2ed2b414618a2d74ee1 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/461fe24ecd8d691d91a96770806ef5ff.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0538, + "steps": 77 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/4995e8c730ee8819901115149d1bb625.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/4995e8c730ee8819901115149d1bb625.json new file mode 100644 index 0000000000000000000000000000000000000000..a9cf316c04100e411ebf7d23308e447c1784ff52 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/4995e8c730ee8819901115149d1bb625.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0734, + "steps": 93 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/520cfa9227ef9a8499ea5907b0f1a23d.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/520cfa9227ef9a8499ea5907b0f1a23d.json new file mode 100644 index 0000000000000000000000000000000000000000..c84a16d022afcb122bdf635c41d0350a22b8b760 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/520cfa9227ef9a8499ea5907b0f1a23d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1518, + "steps": 222 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/597cff9f1dc565dac843b5ef236377f7.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/597cff9f1dc565dac843b5ef236377f7.json new file mode 100644 index 0000000000000000000000000000000000000000..6903049fadd16ae56e8ab9ad02b55fb8afca6e13 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/597cff9f1dc565dac843b5ef236377f7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1081, + "steps": 167 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5a2a0c8957f907ffd6d1208c9bc716c9.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5a2a0c8957f907ffd6d1208c9bc716c9.json new file mode 100644 index 0000000000000000000000000000000000000000..006402faf3aa9f1094742bd84c688df125703030 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5a2a0c8957f907ffd6d1208c9bc716c9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0687, + "steps": 108 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5c1973c9a7e767b15e43009917c6851e.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5c1973c9a7e767b15e43009917c6851e.json new file mode 100644 index 0000000000000000000000000000000000000000..5f84f2d9717e9ef8adaea39adfbf9985e815cd0c --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5c1973c9a7e767b15e43009917c6851e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0485, + "steps": 65 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5e8a70a24df8668e3eddea0531ad99e5.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5e8a70a24df8668e3eddea0531ad99e5.json new file mode 100644 index 0000000000000000000000000000000000000000..888fbc5f5c36ffdec95559f72265fb2a8f8a6f3c --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5e8a70a24df8668e3eddea0531ad99e5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0299, + "steps": 64 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5f56c6fcd7ff3a11c481090df3c059aa.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5f56c6fcd7ff3a11c481090df3c059aa.json new file mode 100644 index 0000000000000000000000000000000000000000..ea447ce5d6d31053873b71a34b25a1d7d1b210e4 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/5f56c6fcd7ff3a11c481090df3c059aa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0225, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/6509b0d16bb80f07dff8caefc0884f3f.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/6509b0d16bb80f07dff8caefc0884f3f.json new file mode 100644 index 0000000000000000000000000000000000000000..918501b194d570e0e78258d50c0e445ab574b305 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/6509b0d16bb80f07dff8caefc0884f3f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0148, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/77c08f25814dcbff8b80bb9785ff47cf.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/77c08f25814dcbff8b80bb9785ff47cf.json new file mode 100644 index 0000000000000000000000000000000000000000..4b1110b66cae3ca60f599ab74df94b648fde1f7a --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/77c08f25814dcbff8b80bb9785ff47cf.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0332, + "steps": 39 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/7df9a56da14d9dd93c12da0522e8e8b3.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/7df9a56da14d9dd93c12da0522e8e8b3.json new file mode 100644 index 0000000000000000000000000000000000000000..845dbcfd989ab1871ca9d0604925c0e6e261fe1d --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/7df9a56da14d9dd93c12da0522e8e8b3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0329, + "steps": 80 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/80d8e9979c233523c50a19ebcad3be19.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/80d8e9979c233523c50a19ebcad3be19.json new file mode 100644 index 0000000000000000000000000000000000000000..d02b72c658e1a0df71d40e8b465e5728d1de4482 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/80d8e9979c233523c50a19ebcad3be19.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1793, + "steps": 252 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/8167f048a31fdace22ee03da7fa539af.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/8167f048a31fdace22ee03da7fa539af.json new file mode 100644 index 0000000000000000000000000000000000000000..8f661693c04653f377d96045a530ffee1b8517af --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/8167f048a31fdace22ee03da7fa539af.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0209, + "steps": 33 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/82b3f47a066db73685d212791359b54d.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/82b3f47a066db73685d212791359b54d.json new file mode 100644 index 0000000000000000000000000000000000000000..b452c7d49a58bb6dd979bc209e90dff56736f4fe --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/82b3f47a066db73685d212791359b54d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.348, + "steps": 212 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/8407ce0b26aeb833ba4fd8ce228a9e97.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/8407ce0b26aeb833ba4fd8ce228a9e97.json new file mode 100644 index 0000000000000000000000000000000000000000..d19ad3523b3cf2dc8f77db727f66e4a5053a9d90 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/8407ce0b26aeb833ba4fd8ce228a9e97.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0217, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/85c0b453bc87d1ad6dfe2aa142c4b0ba.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/85c0b453bc87d1ad6dfe2aa142c4b0ba.json new file mode 100644 index 0000000000000000000000000000000000000000..2a1c1d97bb3f448afc7f3adfae2b7afbbe2d0767 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/85c0b453bc87d1ad6dfe2aa142c4b0ba.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.2355, + "steps": 267 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/951faf191dfc11e8fc646c586d96289c.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/951faf191dfc11e8fc646c586d96289c.json new file mode 100644 index 0000000000000000000000000000000000000000..3d82fce1aa03492447957b5ef223b606c1dcdfca --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/951faf191dfc11e8fc646c586d96289c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0784, + "steps": 119 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/96fb69d76e3bb0eead37b4c7dd252322.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/96fb69d76e3bb0eead37b4c7dd252322.json new file mode 100644 index 0000000000000000000000000000000000000000..88c1ddc0681be750713437cfd8b91eb50107e6b6 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/96fb69d76e3bb0eead37b4c7dd252322.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.037, + "steps": 38 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/99b2a99007595fd4779d0d783981aee6.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/99b2a99007595fd4779d0d783981aee6.json new file mode 100644 index 0000000000000000000000000000000000000000..eefb5b29d263b4298581505d21ad4791c4b6739f --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/99b2a99007595fd4779d0d783981aee6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0693, + "steps": 87 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9a7791b227859785dd3658f3e00d05d2.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9a7791b227859785dd3658f3e00d05d2.json new file mode 100644 index 0000000000000000000000000000000000000000..a8c70b91d03c5b8117c7af1f1ebe833c04c4b7ed --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9a7791b227859785dd3658f3e00d05d2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0581, + "steps": 65 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9ade3e7bb7e61fe51ea8379e0903d0a3.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9ade3e7bb7e61fe51ea8379e0903d0a3.json new file mode 100644 index 0000000000000000000000000000000000000000..88509a32dbcf88199e487d664dfd0690efe9182e --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9ade3e7bb7e61fe51ea8379e0903d0a3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.05, + "steps": 95 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9cf655198880bef2ca355ed1f121fc66.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9cf655198880bef2ca355ed1f121fc66.json new file mode 100644 index 0000000000000000000000000000000000000000..04e8c1bfa4e4e948d58f333afdfdfcb2f04955b0 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9cf655198880bef2ca355ed1f121fc66.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1134, + "steps": 135 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9d2df333d71dd7cc761d785740777970.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9d2df333d71dd7cc761d785740777970.json new file mode 100644 index 0000000000000000000000000000000000000000..29ddbb59ebe0c79473dd4b4b8f38971b1297b44e --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/9d2df333d71dd7cc761d785740777970.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.3665, + "steps": 243 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a01c8acaa455eb12c637dfaa78fb6281.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a01c8acaa455eb12c637dfaa78fb6281.json new file mode 100644 index 0000000000000000000000000000000000000000..f505851df0b16b78a7074398035698c78702bdb0 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a01c8acaa455eb12c637dfaa78fb6281.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0537, + "steps": 65 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a2fed4c123e00a399b2a71264588ae3f.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a2fed4c123e00a399b2a71264588ae3f.json new file mode 100644 index 0000000000000000000000000000000000000000..021c0527cdcbdbbff2c7f0b935820ee6d72ad3d9 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a2fed4c123e00a399b2a71264588ae3f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.053, + "steps": 62 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a4c1cf1b26ba59b95dce2092293d58df.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a4c1cf1b26ba59b95dce2092293d58df.json new file mode 100644 index 0000000000000000000000000000000000000000..83fac27d56de5577d8693954d28397d3fdac08cd --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a4c1cf1b26ba59b95dce2092293d58df.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.2842, + "steps": 323 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a71babb73b425cb72938455297d27098.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a71babb73b425cb72938455297d27098.json new file mode 100644 index 0000000000000000000000000000000000000000..984ffc993a93a5f3de07e9c04c1c2fd5578bf25d --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a71babb73b425cb72938455297d27098.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.095, + "steps": 139 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a973ee94d22b5c133562523ebf227000.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a973ee94d22b5c133562523ebf227000.json new file mode 100644 index 0000000000000000000000000000000000000000..6f42cf67b16ea7efcedf916369455f9cbafbc1b5 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/a973ee94d22b5c133562523ebf227000.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0459, + "steps": 48 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/b081be9daf7d73611002878d723b3594.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/b081be9daf7d73611002878d723b3594.json new file mode 100644 index 0000000000000000000000000000000000000000..687204992bc710724e470dc88ef16dfafd81f291 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/b081be9daf7d73611002878d723b3594.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0342, + "steps": 61 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/b6c50154bbca0d093a38a64d7c2bb3fe.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/b6c50154bbca0d093a38a64d7c2bb3fe.json new file mode 100644 index 0000000000000000000000000000000000000000..0824f2ae2922155d2d58fff8f36f3201ccdc1984 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/b6c50154bbca0d093a38a64d7c2bb3fe.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.017, + "steps": 29 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/bb264654a0f79375e32e1f67e7065442.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/bb264654a0f79375e32e1f67e7065442.json new file mode 100644 index 0000000000000000000000000000000000000000..719ae1a925db3c3838ef60199d4afc7a8d6e1caa --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/bb264654a0f79375e32e1f67e7065442.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0351, + "steps": 73 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/bcd2f5408ea8fd10bdf1a0bde16708e0.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/bcd2f5408ea8fd10bdf1a0bde16708e0.json new file mode 100644 index 0000000000000000000000000000000000000000..17778ee60e38cbf1cecd3270815799e8f9389711 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/bcd2f5408ea8fd10bdf1a0bde16708e0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0701, + "steps": 96 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/c11b57a25c76c5aefd4f4ca106023f8d.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/c11b57a25c76c5aefd4f4ca106023f8d.json new file mode 100644 index 0000000000000000000000000000000000000000..da4e3144b8fa5e1ec9e3c4944e41380cc0b4b816 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/c11b57a25c76c5aefd4f4ca106023f8d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0351, + "steps": 54 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/c2cb928753e5eb6454e63f3c29c88ec5.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/c2cb928753e5eb6454e63f3c29c88ec5.json new file mode 100644 index 0000000000000000000000000000000000000000..2028373e9345f8a930255b6c56a876a449ab7b61 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/c2cb928753e5eb6454e63f3c29c88ec5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0746, + "steps": 91 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/c5ca73eda7b61e6faf847606cdfcf53e.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/c5ca73eda7b61e6faf847606cdfcf53e.json new file mode 100644 index 0000000000000000000000000000000000000000..71af6217dcac1bafeaf7e1fc68e7250eab85c689 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/c5ca73eda7b61e6faf847606cdfcf53e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0736, + "steps": 133 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/d14fb37372690722d97188281edbd253.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/d14fb37372690722d97188281edbd253.json new file mode 100644 index 0000000000000000000000000000000000000000..3180bf13001ddada1f6b0e9a04566fa649512f9f --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/d14fb37372690722d97188281edbd253.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.082, + "steps": 114 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/d9f6b94c2290c22af167ebadf0b9c8c6.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/d9f6b94c2290c22af167ebadf0b9c8c6.json new file mode 100644 index 0000000000000000000000000000000000000000..a808230480d5e152a1165c19cdab59e15fe13733 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/d9f6b94c2290c22af167ebadf0b9c8c6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0245, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/dccefa8264c6127cfde9ab4406f616ce.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/dccefa8264c6127cfde9ab4406f616ce.json new file mode 100644 index 0000000000000000000000000000000000000000..7e9b39297affebbd4dee1c1adee35ebce2fa450b --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/dccefa8264c6127cfde9ab4406f616ce.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0743, + "steps": 121 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/df86e23aae9d67aa4641f46b44c3a1c6.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/df86e23aae9d67aa4641f46b44c3a1c6.json new file mode 100644 index 0000000000000000000000000000000000000000..c5ebe904e0b51baec6a987953622bade653eafb9 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/df86e23aae9d67aa4641f46b44c3a1c6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0402, + "steps": 56 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/e601503a32df36981fc0563bd80c220e.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/e601503a32df36981fc0563bd80c220e.json new file mode 100644 index 0000000000000000000000000000000000000000..e4a1ecc9c79cc95d9f96ce3111365a2f134c6c87 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/e601503a32df36981fc0563bd80c220e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0236, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/eacfb63f26eb59d486f4b27509498428.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/eacfb63f26eb59d486f4b27509498428.json new file mode 100644 index 0000000000000000000000000000000000000000..580d13e0c1ae1a7864667a84742278a023d9a8e3 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/eacfb63f26eb59d486f4b27509498428.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0505, + "steps": 82 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/f2ed0f1b93feba9c781bb7f0f2119c8e.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/f2ed0f1b93feba9c781bb7f0f2119c8e.json new file mode 100644 index 0000000000000000000000000000000000000000..9084cb890c92bff37e7790dd8854866de7a66d70 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/f2ed0f1b93feba9c781bb7f0f2119c8e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0292, + "steps": 74 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/f5f0d5b17ac51b44de3a90bf08e03769.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/f5f0d5b17ac51b44de3a90bf08e03769.json new file mode 100644 index 0000000000000000000000000000000000000000..89fb35478f0d7cde07da4b95511b69a54ab3dd94 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.0.session/cache/f5f0d5b17ac51b44de3a90bf08e03769.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0578, + "steps": 77 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.res.oracle index 747410102e8aba066f4fd10890adadafade9f7ee..3d09ff0d0a33583400382e55c994a9c741c86a50 100644 --- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.res.oracle +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_gallery/frama_c_hashtbl_solved.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/03fec2b350050f7ad0a32911983f92d4.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/03fec2b350050f7ad0a32911983f92d4.json new file mode 100644 index 0000000000000000000000000000000000000000..c4ecb09a605f33a701ae8231f2d8c7fe57d5d601 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/03fec2b350050f7ad0a32911983f92d4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0148, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/5c915923b8d3f16e0dddab272de43d35.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/5c915923b8d3f16e0dddab272de43d35.json new file mode 100644 index 0000000000000000000000000000000000000000..7523015fb5b958110a50d6d5d8131e5ce6f9bf4b --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/5c915923b8d3f16e0dddab272de43d35.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.7756, + "steps": 557 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/e0b73b1d74026acf8109d693b6475ba1.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/e0b73b1d74026acf8109d693b6475ba1.json new file mode 100644 index 0000000000000000000000000000000000000000..e06323b85949b4c2426c8fe47705b8adff52f645 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/e0b73b1d74026acf8109d693b6475ba1.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.036, + "steps": 100 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/f4b6619cc6bf4e20fdcbc3c6a85e42b0.json b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/f4b6619cc6bf4e20fdcbc3c6a85e42b0.json new file mode 100644 index 0000000000000000000000000000000000000000..ead5c5c67a0e8091290dab0338f26ddc3e7495c6 --- /dev/null +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.0.session/cache/f4b6619cc6bf4e20fdcbc3c6a85e42b0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0388, + "steps": 69 } diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.res.oracle index 725c096960479d6f80a10937322a69ccc1ff865b..5f587e1a5d0eb36d6ee3b553999873d8d23a04fb 100644 --- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.res.oracle +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_gallery/loop-statement.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.res.oracle index 26633fe44659c00f8ff75155e449fa90a45569ef..185df39d3ab0baa7dcf76c3829444e2c583ab47f 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_hoare/byref.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.session/cache/914472b8d4c8fb3a40937ea1f3009a96.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.session/cache/914472b8d4c8fb3a40937ea1f3009a96.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.session/cache/914472b8d4c8fb3a40937ea1f3009a96.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.1.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.1.res.oracle index 90e3b2a65808346eb24e680eeb77fabc9c135ef9..a4876a5fd53d3927efc6098ecc8dcbfb5d5d33db 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.1.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/byref.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var.res.oracle index 8988bb2d21ba66ffe402fb47d67b3dc7fe25c76e..82582e12b00c8c44d24ba4744f269cebeca8210e 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/dispatch_var.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.0.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.0.res.oracle index 585e9038dc75a2172fd6dbcaf2954671743522c1..16765c955e3a3c90e2e267ec7fade38c9535b95d 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.0.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-no-let -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' -wp-no-let [...] [kernel] Parsing tests/wp_hoare/dispatch_var2.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.1.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.1.res.oracle index 750611233e6b6dcfc967034f9b14632b8b5e72f4..5757c0013bdfd8d594402d25a8b0c063c53388b5 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.1.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/dispatch_var2.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/isHoare.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/isHoare.res.oracle index f4bbe476b3eb98c8b99b52fc0e915c59269be4b9..435a2090821eaa33049f181910c159a92d93038d 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/isHoare.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/isHoare.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/isHoare.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.0.session/cache/4f9da7c614ebe0bcfe98b06701074b7d.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.0.session/cache/4f9da7c614ebe0bcfe98b06701074b7d.json new file mode 100644 index 0000000000000000000000000000000000000000..58c7bc2c48c3295f6a2ae0b392313c0c4710a710 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.0.session/cache/4f9da7c614ebe0bcfe98b06701074b7d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.034, + "steps": 39 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.0.session/cache/e0b658eb338f06deb3c8280c99a8d303.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.0.session/cache/e0b658eb338f06deb3c8280c99a8d303.json new file mode 100644 index 0000000000000000000000000000000000000000..52fc00f8675c5bdd11e48c24d9944700b14a8f90 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.0.session/cache/e0b658eb338f06deb3c8280c99a8d303.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0443, + "steps": 35 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.0.session/cache/e9033d4c1c2df4da5f6adda51fecf8a5.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.0.session/cache/e9033d4c1c2df4da5f6adda51fecf8a5.json new file mode 100644 index 0000000000000000000000000000000000000000..ea410c31a008fd16925e4a776e523cfc93d5902f --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.0.session/cache/e9033d4c1c2df4da5f6adda51fecf8a5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.027, + "steps": 39 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.res.oracle index 4a3a8203b8cce59494795db9a73e5b6439e01730..ab5a5a62ec3ed9f0b8802c3227965dde57e121a6 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_hoare/logicarr.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.0.session/cache/5682e7679f747ad1baccf6715c89c77b.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.0.session/cache/5682e7679f747ad1baccf6715c89c77b.json new file mode 100644 index 0000000000000000000000000000000000000000..255a48a86dbea1dc2cfc6df1138163a24a4268e4 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.0.session/cache/5682e7679f747ad1baccf6715c89c77b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0398, + "steps": 70 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.res.oracle index 06c19d356c80224193f34110936db2574dffa189..084f416c0a5c907c739b824e6f2e2a3628ba5251 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/logicref.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/318d89b595af1570a649f15bbbff5641.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/318d89b595af1570a649f15bbbff5641.json new file mode 100644 index 0000000000000000000000000000000000000000..4d7db26ea59a90c12d9295a1addcbe8a2199954c --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/318d89b595af1570a649f15bbbff5641.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0234, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/5d8f0aabf61ed825acdb27fdae4c5762.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/5d8f0aabf61ed825acdb27fdae4c5762.json new file mode 100644 index 0000000000000000000000000000000000000000..a9d15d109e7c1f97cc184352d46a9d0ea966d9e2 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/5d8f0aabf61ed825acdb27fdae4c5762.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0235, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/8a4919db9cce7f5f1a2301d319fa6b29.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/8a4919db9cce7f5f1a2301d319fa6b29.json new file mode 100644 index 0000000000000000000000000000000000000000..522db00fff905a5f2975d68dbfb941f04acf6234 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/8a4919db9cce7f5f1a2301d319fa6b29.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0154, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/a9946fa5de4da04cf54204ee6ab4aa06.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/a9946fa5de4da04cf54204ee6ab4aa06.json new file mode 100644 index 0000000000000000000000000000000000000000..c85740455016ba3fe85da30f8beeb0cbc2b9a6ef --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.0.session/cache/a9946fa5de4da04cf54204ee6ab4aa06.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0137, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.res.oracle index 11f09dc4fe7cfa677a6c0bdbed0dc4bcfe4226c3..8a276ac051f9454e9344f2949407d60fba994155 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/logicref_simple.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.res.oracle index 974bff5d6c4ab589faf9b16964868f184ac614a2..604da7253962730f81a47a06e85c2a95c26cc177 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/reference.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/2997574795f2d8750bfb2e604df792d0.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/2997574795f2d8750bfb2e604df792d0.json new file mode 100644 index 0000000000000000000000000000000000000000..f187b73f156cf9f4c85fda17e7d9fea1b4431781 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/2997574795f2d8750bfb2e604df792d0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0072, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/30cbcd7f2b76c47e8e8cc22b6d0230ba.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/30cbcd7f2b76c47e8e8cc22b6d0230ba.json new file mode 100644 index 0000000000000000000000000000000000000000..c3ba75b00577b3a99b67219704940cbadf034ac7 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/30cbcd7f2b76c47e8e8cc22b6d0230ba.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0107, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/cc1529e7cf30a2d454364b33be49ceea.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/cc1529e7cf30a2d454364b33be49ceea.json new file mode 100644 index 0000000000000000000000000000000000000000..5b534d6fa3af48bea6fd3caafaca8138961dd46e --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/cc1529e7cf30a2d454364b33be49ceea.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.021, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/cf3f785f873f6cf9d0875e0c1961c0df.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/cf3f785f873f6cf9d0875e0c1961c0df.json new file mode 100644 index 0000000000000000000000000000000000000000..d20bf7a4e96115c444d63eea4cc3a9810031b49e --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/cf3f785f873f6cf9d0875e0c1961c0df.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0111, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/e866441f779fc7798857b21eef329295.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/e866441f779fc7798857b21eef329295.json new file mode 100644 index 0000000000000000000000000000000000000000..c177d49bb1f2cf57ac77aced79ebf79c95f7258f --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.0.session/cache/e866441f779fc7798857b21eef329295.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0099, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.res.oracle index 5b9c7f8e457e1497cfc68927e13ded07bff3481f..8980ef3f8b50487ff654448b52da3c09749d5f10 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/reference_and_struct.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' @@ -49,7 +49,7 @@ call_reset_5 3 1 (1..12) 4 100% call_reset_5_tps 3 1 (12..24) 4 100% call_reset_1_5 3 1 (1..12) 4 100% call_reset_5_dim2 3 1 (1..12) 4 100% -call_on_array_in_struct_global 3 1 (4..16) 4 100% +call_on_array_in_struct_global 3 1 (1..12) 4 100% call_array_in_struct_param 5 - 5 100% ------------------------------------------------------------- [wp] Warning: Memory model hypotheses for function 'reset': diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/077d2f20bc5367a72365679fee3d38a4.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/077d2f20bc5367a72365679fee3d38a4.json new file mode 100644 index 0000000000000000000000000000000000000000..6cb31fe495afc7f9fc960582194b5f0ae4c6cba2 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/077d2f20bc5367a72365679fee3d38a4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0084, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/1e7344104d7210f7ec6ae8efc6b42d57.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/1e7344104d7210f7ec6ae8efc6b42d57.json new file mode 100644 index 0000000000000000000000000000000000000000..f187b73f156cf9f4c85fda17e7d9fea1b4431781 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/1e7344104d7210f7ec6ae8efc6b42d57.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0072, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/423b6c29c3451823276ad77f781f6a6a.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/423b6c29c3451823276ad77f781f6a6a.json new file mode 100644 index 0000000000000000000000000000000000000000..7ce04e99f39f79e1bf856d5538da6849c5a3bf05 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/423b6c29c3451823276ad77f781f6a6a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0112, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/588918e081502951ea3f03c1c1d7c12f.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/588918e081502951ea3f03c1c1d7c12f.json new file mode 100644 index 0000000000000000000000000000000000000000..9c61f57421c06a75a64c3cd088a51137859a1f5f --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/588918e081502951ea3f03c1c1d7c12f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.009, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/62514413e23ba5305cf24c6ff036d7ab.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/62514413e23ba5305cf24c6ff036d7ab.json new file mode 100644 index 0000000000000000000000000000000000000000..a765fb2744493c680a0232981736e791ac2838bf --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/62514413e23ba5305cf24c6ff036d7ab.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0165, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/76b4ba27b4d7df4f72444fd646ad383c.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/76b4ba27b4d7df4f72444fd646ad383c.json new file mode 100644 index 0000000000000000000000000000000000000000..15f062502d7a4e6a68e883e82f42e62aecdf6f75 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/76b4ba27b4d7df4f72444fd646ad383c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.014, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/7efca4558505433c34411f970848ed8c.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/7efca4558505433c34411f970848ed8c.json new file mode 100644 index 0000000000000000000000000000000000000000..c3ba75b00577b3a99b67219704940cbadf034ac7 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/7efca4558505433c34411f970848ed8c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0107, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/912ca6ada2f29485e603afd43c96230f.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/912ca6ada2f29485e603afd43c96230f.json new file mode 100644 index 0000000000000000000000000000000000000000..86cdc1d390ff28bfcfd509eace62d676baa8eb6b --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/912ca6ada2f29485e603afd43c96230f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0097, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/9b59f2c8997898e5cd20c9397d630a70.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/9b59f2c8997898e5cd20c9397d630a70.json new file mode 100644 index 0000000000000000000000000000000000000000..ba4d59f51333314aed678ee989a8cf910e92e93c --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/9b59f2c8997898e5cd20c9397d630a70.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0108, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/ad29f0a440fa5619b6beacba2993114a.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/ad29f0a440fa5619b6beacba2993114a.json new file mode 100644 index 0000000000000000000000000000000000000000..fc716cc8c772c580489dbca419fb93223380c8f4 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/ad29f0a440fa5619b6beacba2993114a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0074, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/cb18b19c27fdc4c535d96f98c1300701.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/cb18b19c27fdc4c535d96f98c1300701.json new file mode 100644 index 0000000000000000000000000000000000000000..37f1ec7dfc34d3d189638b28c1f6391ee8765e7d --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/cb18b19c27fdc4c535d96f98c1300701.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0128, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/e02d6a197b2feb41566f9f70042c1161.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/e02d6a197b2feb41566f9f70042c1161.json new file mode 100644 index 0000000000000000000000000000000000000000..7fe6dc31a5ca77f1705459b79baca20580086b6a --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.0.session/cache/e02d6a197b2feb41566f9f70042c1161.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0067, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.res.oracle index 19d23d6357938cca885c1adf99e7b4466ac3553e..9ccbcce0d1f0527e0f79c7f637c0cda62141b311 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/reference_array.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array_simple.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array_simple.res.oracle index c4971ab52e2157a9e2831ab30da39c555dc02430..78b38ba1195b50e9f5ff97b9a4c6d45a7da58aac 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array_simple.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array_simple.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/reference_array_simple.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.0.session/cache/29bd54364c6cbab6b5edf958e89561f6.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.0.session/cache/29bd54364c6cbab6b5edf958e89561f6.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.0.session/cache/29bd54364c6cbab6b5edf958e89561f6.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.0.session/cache/639f5f795718cce5837c2a5bc34605e0.json b/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.0.session/cache/639f5f795718cce5837c2a5bc34605e0.json new file mode 100644 index 0000000000000000000000000000000000000000..122750093e457754bd1147848f1bc741e0869833 --- /dev/null +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.0.session/cache/639f5f795718cce5837c2a5bc34605e0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0207, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.res.oracle index 1bef150b691a095304a330ec28cd024e22fcb4f2..4f3725c5bb2c930e420db1cec44484b989ca2daa 100644 --- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.res.oracle +++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_hoare/refguards.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.res.oracle b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.res.oracle index df1f35bd569a09d119bf536e99dc4f69615c5aba..a4c3d2bc111137836ddce0acca61c839f0687a1e 100644 --- a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.res.oracle +++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_manual/manual.i (no preprocessing) [kernel] Parsing tests/wp_manual/working_dir/swap.c (with preprocessing) [kernel] Parsing tests/wp_manual/working_dir/swap1.h (with preprocessing) diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.session/cache/d88a99b129ce316ba3299ac7e85f666d.json b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.session/cache/d88a99b129ce316ba3299ac7e85f666d.json new file mode 100644 index 0000000000000000000000000000000000000000..840b90ac547c73f20a4ced830e999c5b369d5327 --- /dev/null +++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.session/cache/d88a99b129ce316ba3299ac7e85f666d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0229, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.res.oracle b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.res.oracle index 39ecdb3048af5a4c01b827814846b46d10077584..5897a7cede15c1f0b21e79bc4b2686ab13793875 100644 --- a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.res.oracle +++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-rte -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-rte [...] [kernel] Parsing tests/wp_manual/manual.i (no preprocessing) [kernel] Parsing tests/wp_manual/working_dir/swap.c (with preprocessing) [kernel] Parsing tests/wp_manual/working_dir/swap2.h (with preprocessing) diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.session/cache/19ce43ef6379eb9ea574ac9b1382a30c.json b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.session/cache/19ce43ef6379eb9ea574ac9b1382a30c.json new file mode 100644 index 0000000000000000000000000000000000000000..ba8cd1ff526af8357b864eca5d70e5f5ea4f0692 --- /dev/null +++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.session/cache/19ce43ef6379eb9ea574ac9b1382a30c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0199, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.session/cache/522c058d7703faeb37d62ce550ad47a9.json b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.session/cache/522c058d7703faeb37d62ce550ad47a9.json new file mode 100644 index 0000000000000000000000000000000000000000..e03ff751e1ba249cdd653752ee9473eac527a8b4 --- /dev/null +++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.session/cache/522c058d7703faeb37d62ce550ad47a9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0191, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.session/cache/a84bbfbec4416c44461feaf1d7cb7e08.json b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.session/cache/a84bbfbec4416c44461feaf1d7cb7e08.json new file mode 100644 index 0000000000000000000000000000000000000000..476574d5b4bd5e9edff2884414067d0874dc2af7 --- /dev/null +++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.session/cache/a84bbfbec4416c44461feaf1d7cb7e08.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.017, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.res.oracle b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.res.oracle index 83a1077be56d572bce041153e6f50235bb16f792..cad3da72c7dcfc78c9447a6695165eb34eec0a44 100644 --- a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.res.oracle +++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-rte -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-rte [...] [rte] annotating function swap ------------------------------------------------------------- Functions WP Alt-Ergo Total Success diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.session/cache/19ce43ef6379eb9ea574ac9b1382a30c.json b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.session/cache/19ce43ef6379eb9ea574ac9b1382a30c.json new file mode 100644 index 0000000000000000000000000000000000000000..a8fb3b9374986112494b1dd438191b4555fa2ed7 --- /dev/null +++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.session/cache/19ce43ef6379eb9ea574ac9b1382a30c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0137, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.session/cache/522c058d7703faeb37d62ce550ad47a9.json b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.session/cache/522c058d7703faeb37d62ce550ad47a9.json new file mode 100644 index 0000000000000000000000000000000000000000..a6c5cd0bc3ce4e02e2ce338795112145cf16e537 --- /dev/null +++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.session/cache/522c058d7703faeb37d62ce550ad47a9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0174, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.session/cache/a84bbfbec4416c44461feaf1d7cb7e08.json b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.session/cache/a84bbfbec4416c44461feaf1d7cb7e08.json new file mode 100644 index 0000000000000000000000000000000000000000..ed38428b9b7f89f91c9c0f7a47a933f6c1d5fc68 --- /dev/null +++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.2.session/cache/a84bbfbec4416c44461feaf1d7cb7e08.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0139, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_plugin/abs.i b/src/plugins/wp/tests/wp_plugin/abs.i index 9016a124ea0d3337c9fb76478743a55a1ed10939..90f22cd6ab3a82191d3b1d88719576040cf71b59 100644 --- a/src/plugins/wp/tests/wp_plugin/abs.i +++ b/src/plugins/wp/tests/wp_plugin/abs.i @@ -4,7 +4,7 @@ /* run.config_qualif OPT: -wp -wp-driver tests/wp_plugin/abs.driver -wp-prover alt-ergo - OPT: -wp -wp-driver tests/wp_plugin/abs.driver -wp-prover coq -wp-script tests/wp_plugin/abs.script + OPT: -wp -wp-driver tests/wp_plugin/abs.driver -wp-prover coq -wp-coq-script tests/wp_plugin/abs.script OPT: -wp -wp-driver tests/wp_plugin/abs.driver -wp-prover why3:alt-ergo */ diff --git a/src/plugins/wp/tests/wp_plugin/bit_test.i b/src/plugins/wp/tests/wp_plugin/bit_test.c similarity index 80% rename from src/plugins/wp/tests/wp_plugin/bit_test.i rename to src/plugins/wp/tests/wp_plugin/bit_test.c index 60be3f23f9fe9c4367687374d7f00e60dd730eea..b0b19bf9b8c72db53bc2885dc90e402987c6cb08 100644 --- a/src/plugins/wp/tests/wp_plugin/bit_test.i +++ b/src/plugins/wp/tests/wp_plugin/bit_test.c @@ -31,3 +31,14 @@ void check2(int order1, int order2) { return; } + + +#include "__fc_integer.h" + +/*@ + ensures ko: bit_test(order1, 0) ≡ bit_test(order2, 0); + */ +void check3(int order1, int order2) +{ + return; +} diff --git a/src/plugins/wp/tests/wp_plugin/convert.i b/src/plugins/wp/tests/wp_plugin/convert.i index 380f6dc6405686b87144779477816abc64802aea..630c406f9676e288b6fedf7f56b5bd86006d5d1b 100644 --- a/src/plugins/wp/tests/wp_plugin/convert.i +++ b/src/plugins/wp/tests/wp_plugin/convert.i @@ -3,9 +3,8 @@ */ /* run.config_qualif - CMD: @frama-c@ -no-autoload-plugins -load-module wp -wp -wp-par 1 -wp-timeout 100 -wp-steps 500 -wp-share ./share -wp-msg-key shell,success-only -wp-out @PTEST_FILE@.@PTEST_NUMBER@.out @PTEST_FILE@ - OPT: -wp-prover alt-ergo -wp-report=tests/qualif.report - OPT: -wp-prover why3:alt-ergo -wp-report=tests/qualif-why3.report + OPT: + OPT: -wp-prover native:alt-ergo -wp-report=tests/native.report */ // -------------------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_plugin/inductive.c b/src/plugins/wp/tests/wp_plugin/inductive.c index 3a7755c9cb32acd14da60e13e0a7400b0a0144a3..a76e7864fb1428e2541c713b5a3bb3ff6ddf5f9d 100644 --- a/src/plugins/wp/tests/wp_plugin/inductive.c +++ b/src/plugins/wp/tests/wp_plugin/inductive.c @@ -3,7 +3,7 @@ */ /* run.config_qualif - OPT: -wp-prover native:coq -wp-script tests/wp_plugin/inductive.script -wp-timeout 240 + OPT: -wp-prover native:coq -wp-coq-script tests/wp_plugin/inductive.script -wp-timeout 240 */ typedef struct _list { int element; struct _list* next; } list; diff --git a/src/plugins/wp/tests/wp_plugin/math.i b/src/plugins/wp/tests/wp_plugin/math.i index a2120d8296fef339049046fe3f32a80cf429accc..3fece066d5a57e4ab2eb985cd98223ce0b839618 100644 --- a/src/plugins/wp/tests/wp_plugin/math.i +++ b/src/plugins/wp/tests/wp_plugin/math.i @@ -3,11 +3,10 @@ */ /* run.config_qualif - CMD: @frama-c@ -no-autoload-plugins -load-module wp -wp -wp-par 1 -wp-share ./share -wp-msg-key shell,success-only -wp-out @PTEST_FILE@.@PTEST_NUMBER@.out @PTEST_FILE@ - OPT: -wp-prover alt-ergo -wp-report=tests/qualif.report -wp-prop=-ko -wp-timeout 100 -wp-steps 1500 - OPT: -wp-prover why3:alt-ergo -wp-report=tests/qualif-why3.report -wp-prop=-ko -wp-timeout 100 -wp-steps 1500 - OPT: -wp-prover alt-ergo -wp-report=tests/qualif.report -wp-prop=ko -wp-timeout 1 -wp-steps 50 - OPT: -wp-prover why3:alt-ergo -wp-report=tests/qualif-why3.report -wp-prop=ko -wp-timeout 1 + OPT: -wp-prover alt-ergo -wp-prop=-ko -wp-timeout 100 -wp-steps 1500 + OPT: -wp-prover native:alt-ergo -wp-report=tests/native.report -wp-prop=-ko -wp-timeout 100 -wp-steps 1500 + OPT: -wp-prover alt-ergo -wp-prop=ko -wp-timeout 1 -wp-steps 50 + OPT: -wp-prover native:alt-ergo -wp-report=tests/native.report -wp-prop=ko -wp-timeout 1 */ // -------------------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_plugin/model.i b/src/plugins/wp/tests/wp_plugin/model.i index 226489bb68d4f81e8d2c708953bfabaf6fdbe63b..0f90c5deb366647d57c2b869aaeac6de026b9c5d 100644 --- a/src/plugins/wp/tests/wp_plugin/model.i +++ b/src/plugins/wp/tests/wp_plugin/model.i @@ -4,8 +4,7 @@ */ /* run.config_qualif - CMD: @frama-c@ -wp-share ./share -wp-msg-key cluster,shell -wp-par 1 -wp-timeout 100 -wp-steps 500 - OPT: -wp-model Typed -wp -wp-check -then -wp-model Typed+ref -wp -wp-check + OPT: -wp-msg-key cluster -wp-model Typed -wp-check -then -wp -wp-model Typed+ref -wp-check */ //@ predicate P(integer a); diff --git a/src/plugins/wp/tests/wp_plugin/nth.i b/src/plugins/wp/tests/wp_plugin/nth.i index ec2167c7987fb03177d475b7598304f8d70888d4..9c53c9927da577d50605072427990d3238fbbdb0 100644 --- a/src/plugins/wp/tests/wp_plugin/nth.i +++ b/src/plugins/wp/tests/wp_plugin/nth.i @@ -1,6 +1,6 @@ /* run.config_qualif - OPT: -wp-prover alt-ergo -wp-depth 16 -wp-prop=-lack - OPT: -wp-prover why3:alt-ergo -wp-depth 16 + OPT: -wp-prover alt-ergo -wp-prop=-lack + OPT: -wp-prover why3:alt-ergo */ /*@ diff --git a/src/plugins/wp/tests/wp_plugin/oracle/bit_test.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/bit_test.res.oracle index 5d4dc91a0c92256b4dc83327de57f2058f7ecd46..e56158295b1cdb7d71133f15a396221cf4c508d0 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle/bit_test.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle/bit_test.res.oracle @@ -1,5 +1,5 @@ # frama-c -wp [...] -[kernel] Parsing tests/wp_plugin/bit_test.i (no preprocessing) +[kernel] Parsing tests/wp_plugin/bit_test.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' [wp] Warning: Missing RTE guards @@ -21,3 +21,12 @@ Assume { Type: is_sint32(order1_0) /\ is_sint32(order2_0). } Prove: bit_test(order2_0, 0) <-> bit_test(order1_0, 0). ------------------------------------------------------------ +------------------------------------------------------------ + Function check3 +------------------------------------------------------------ + +Goal Post-condition 'ko' in 'check3': +Assume { Type: is_sint32(order1_0) /\ is_sint32(order2_0). } +Prove: bit_test(order2_0, 0) <-> bit_test(order1_0, 0). + +------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_plugin/oracle/inductive.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/inductive.res.oracle index 7095462df43c54bb282e4400617475981add023a..b4e08f2f351ade114947266fc0b50e60efdaefef 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle/inductive.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle/inductive.res.oracle @@ -18,7 +18,7 @@ Require Import int.Abs. Require Import int.ComputerDivision. Require Import int.EuclideanDivision. - Require Import for_drivers.ComputerOfEuclideanDivision. + Require Import int.ComputerOfEuclideanDivision. Require Import real.Real. Require Import real.RealInfix. Require Import real.FromInt. @@ -45,7 +45,7 @@ Require Import int.Abs. Require Import int.ComputerDivision. Require Import int.EuclideanDivision. - Require Import for_drivers.ComputerOfEuclideanDivision. + Require Import int.ComputerOfEuclideanDivision. Require Import real.Real. Require Import real.RealInfix. Require Import real.FromInt. @@ -96,7 +96,7 @@ Require Import int.Abs. Require Import int.ComputerDivision. Require Import int.EuclideanDivision. - Require Import for_drivers.ComputerOfEuclideanDivision. + Require Import int.ComputerOfEuclideanDivision. Require Import real.Real. Require Import real.RealInfix. Require Import real.FromInt. diff --git a/src/plugins/wp/tests/wp_plugin/oracle/model.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/model.res.oracle index cda9645d072a94f56474f5bd3aefc665dbae241a..324363205674edba699cb8e9bfe8af0293e73744 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle/model.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle/model.res.oracle @@ -1,13 +1,13 @@ # frama-c -wp [...] [kernel] Parsing tests/wp_plugin/model.i (no preprocessing) -[kernel] tests/wp_plugin/model.i:11: Warning: +[kernel] tests/wp_plugin/model.i:10: Warning: parsing obsolete ACSL construct 'logic declaration'. 'an axiomatic block' should be used instead. [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' [wp] Warning: Missing RTE guards [wp] 1 goal scheduled --------------------------------------------- ---- Model 'typed' Cluster 'Compound' +--- Context 'typed_f' Cluster 'Compound' --------------------------------------------- theory Compound (* use why3.BuiltIn.BuiltIn *) @@ -29,7 +29,7 @@ theory Compound function shift_sint32 (p:addr) (k:int) : addr = shift p k end --------------------------------------------- ---- Model 'typed' Cluster 'Axiomatic' +--- Context 'typed_f' Cluster 'Axiomatic' --------------------------------------------- theory Axiomatic (* use why3.BuiltIn.BuiltIn *) @@ -82,7 +82,7 @@ end Function f ------------------------------------------------------------ -Goal Post-condition (file tests/wp_plugin/model.i, line 13) in 'f': +Goal Post-condition (file tests/wp_plugin/model.i, line 12) in 'f': Let x = Mint_0[shift_sint32(p, k)]. Assume { Type: is_sint32(k) /\ is_sint32(x). @@ -124,7 +124,7 @@ Prove: P_P(x). region (base a) <= 0 -> is_sint32 i -> is_sint32 x -> P_P x end --------------------------------------------- ---- Model 'typed_ref' Cluster 'Compound' +--- Context 'typed_ref_f' Cluster 'Compound' --------------------------------------------- theory Compound1 (* use why3.BuiltIn.BuiltIn *) @@ -146,7 +146,7 @@ theory Compound1 function shift_sint321 (p:addr1) (k:int) : addr1 = shift1 p k end --------------------------------------------- ---- Model 'typed_ref' Cluster 'Axiomatic' +--- Context 'typed_ref_f' Cluster 'Axiomatic' --------------------------------------------- theory Axiomatic1 (* use why3.BuiltIn.BuiltIn *) @@ -199,7 +199,7 @@ end Function f ------------------------------------------------------------ -Goal Post-condition (file tests/wp_plugin/model.i, line 13) in 'f': +Goal Post-condition (file tests/wp_plugin/model.i, line 12) in 'f': Let x = Mint_0[shift_sint32(p, k)]. Assume { Type: is_sint32(k) /\ is_sint32(x). @@ -210,7 +210,7 @@ Prove: P_P(x). ------------------------------------------------------------ -Goal Post-condition (file tests/wp_plugin/model.i, line 13) in 'f': +Goal Post-condition (file tests/wp_plugin/model.i, line 12) in 'f': Let x = Mint_0[shift_sint32(p, k)]. Assume { Type: is_sint32(k) /\ is_sint32(x). diff --git a/src/plugins/wp/tests/wp_plugin/oracle/trig.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/trig.res.oracle index 2ec7a4d714e37310f755188e40334fd2a84825db..beb2d13df622002818e1d3fd6020647182c3160f 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle/trig.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle/trig.res.oracle @@ -7,7 +7,7 @@ Function foo ------------------------------------------------------------ -Goal Assertion 'qed_ok,S' (file tests/wp_plugin/trig.i, line 39): +Goal Assertion 'qed_ok,S' (file tests/wp_plugin/trig.i, line 42): Let x = c.F1_MSG_size. Let a_1 = c.F1_MSG_text. Assume { @@ -23,7 +23,7 @@ Prove: x = 10. ------------------------------------------------------------ -Goal Assertion 'qed_ok,A' (file tests/wp_plugin/trig.i, line 40): +Goal Assertion 'qed_ok,A' (file tests/wp_plugin/trig.i, line 43): Let a_1 = (a.F1_MSG_text)[2]. Let a_2 = c.F1_MSG_text. Let a_3 = a_2[2]. @@ -41,7 +41,7 @@ Prove: a_3 = a_1. ------------------------------------------------------------ -Goal Assertion 'qed_ok,B' (file tests/wp_plugin/trig.i, line 41): +Goal Assertion 'qed_ok,B' (file tests/wp_plugin/trig.i, line 44): Let a_1 = c.F1_MSG_text. Let a_2 = a_1[2]. Let a_3 = (a.F1_MSG_text)[2]. @@ -63,7 +63,7 @@ Prove: a_5 = a_4. ------------------------------------------------------------ -Goal Instance of 'Pre-condition 'qed_ok' in 'fconcat'' in 'foo' at initialization of 'c' (file tests/wp_plugin/trig.i, line 38) +Goal Instance of 'Pre-condition 'qed_ok' in 'fconcat'' in 'foo' at initialization of 'c' (file tests/wp_plugin/trig.i, line 41) : Prove: true. diff --git a/src/plugins/wp/tests/wp_plugin/oracle/unroll.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/unroll.res.oracle index 77e0cc1a55cb4eb7c18dd43d751316168bfc3385..a47827c25ddd95445b957e641150c7d8a5110713 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle/unroll.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle/unroll.res.oracle @@ -5,11 +5,6 @@ [wp] Warning: Missing RTE guards [wp] tests/wp_plugin/unroll.i:20: Warning: Missing assigns clause (assigns 'everything' instead) -[wp] 1 goal scheduled -[wp] [Tactical] Goal typed_unrolled_loop_ensures_zero : Valid -[wp] Proved goals: 1 / 1 - Qed: 0 - Script: 1 ------------------------------------------------------------ Function unrolled_loop ------------------------------------------------------------ @@ -30,6 +25,5 @@ Prove: P_zeroed(Mint_0[a <- 0][shift_uint32(t, 1) <- 0][shift_uint32(t, 2) [shift_uint32(t, 11) <- 0][shift_uint32(t, 12) <- 0] [shift_uint32(t, 13) <- 0][shift_uint32(t, 14) <- 0] [shift_uint32(t, 15) <- 0], t, 0, 15). -Prover Tactical returns Valid ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.res.oracle index 3be28fd7c30ec04da6d7e8a1a33ed4b14aa58c9b..266bc9673625f68473a544c9d518f470b5b7e9f2 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/abs.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.session/cache/197ec27172491d33862a78fd32fadc0f.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.session/cache/197ec27172491d33862a78fd32fadc0f.json new file mode 100644 index 0000000000000000000000000000000000000000..47b41cb0efc00ac0ce13af8d2d2d49a1639c162f --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.session/cache/197ec27172491d33862a78fd32fadc0f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0171, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.1.res.oracle index bee639e5bedba2217eb554615f780b278e3aee82..4b9063d0f178130732921868959b1cc8bf2afca3 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.1.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/abs.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.res.oracle index 5ff11df22997fe2251b4e42d0ef8c36046e2d9f7..c56a75a74f2900e6ff2ab6b0b7f26d96cb053126 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/abs.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.session/cache/197ec27172491d33862a78fd32fadc0f.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.session/cache/197ec27172491d33862a78fd32fadc0f.json new file mode 100644 index 0000000000000000000000000000000000000000..fd9a2caf946c4d2526d8450cf38d2475dfa61075 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.session/cache/197ec27172491d33862a78fd32fadc0f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0158, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.0.session/cache/9ffeff1b1fd70de5988221b29b130cda.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.0.session/cache/9ffeff1b1fd70de5988221b29b130cda.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.0.session/cache/9ffeff1b1fd70de5988221b29b130cda.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.res.oracle index 4737abaddafdf4b9fe82fde1ebb402cf0e08afc6..b7c278753cf17af36dd6ea1e994bb81b13ee1d73 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/asm.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bit_test.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bit_test.res.oracle index a336b257ec30f532260cf835cfd9f1e94c0d3a06..93c9d28b2329d3ec978a1ec326c31b3a5cb0f82b 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bit_test.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bit_test.res.oracle @@ -1,17 +1,19 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] -[kernel] Parsing tests/wp_plugin/bit_test.i (no preprocessing) +# frama-c -wp [...] +[kernel] Parsing tests/wp_plugin/bit_test.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' [wp] Warning: Missing RTE guards -[wp] 2 goals scheduled +[wp] 3 goals scheduled [wp] [Alt-Ergo 2.0.0] Goal typed_bit_test_check1_ensures_ko : Typechecked [wp] [Alt-Ergo 2.0.0] Goal typed_bit_test_check2_ensures_ko : Typechecked -[wp] Proved goals: 0 / 2 - Alt-Ergo 2.0.0: 0 (unsuccess: 2) +[wp] [Alt-Ergo 2.0.0] Goal typed_bit_test_check3_ensures_ko : Typechecked +[wp] Proved goals: 0 / 3 + Alt-Ergo 2.0.0: 0 (unsuccess: 3) [wp] Report in: 'tests/wp_plugin/oracle_qualif/bit_test.0.report.json' [wp] Report out: 'tests/wp_plugin/result_qualif/bit_test.0.report.json' ------------------------------------------------------------- Functions WP Alt-Ergo Total Success check1 - - 1 0.0% check2 - - 1 0.0% +check3 - - 1 0.0% ------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/1ecbe0b41a07f6fd2241aff3258cd377.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/1ecbe0b41a07f6fd2241aff3258cd377.json new file mode 100644 index 0000000000000000000000000000000000000000..dd07c3cd82e4cacb1dcc543efa31e26a916ebc2d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/1ecbe0b41a07f6fd2241aff3258cd377.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0157, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/22c1313f9df2b9bda80d2bb8c4d175fc.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/22c1313f9df2b9bda80d2bb8c4d175fc.json new file mode 100644 index 0000000000000000000000000000000000000000..3de8a23def55c251c37e96fca986abc9ef556137 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/22c1313f9df2b9bda80d2bb8c4d175fc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0145, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/4fc19b7c827e48214e31ff4f16d7a060.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/4fc19b7c827e48214e31ff4f16d7a060.json new file mode 100644 index 0000000000000000000000000000000000000000..e412969caa36b7e07b915459a34b6de64d32e2cf --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/4fc19b7c827e48214e31ff4f16d7a060.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0146, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/7aa1ae97b0ddd96dc9a92948a21d089d.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/7aa1ae97b0ddd96dc9a92948a21d089d.json new file mode 100644 index 0000000000000000000000000000000000000000..477f5ab7d10672d23580697ada736a6ff71a0615 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/7aa1ae97b0ddd96dc9a92948a21d089d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0366, + "steps": 26 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/f46d52d0100d219b44e3dd94ca164077.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/f46d52d0100d219b44e3dd94ca164077.json new file mode 100644 index 0000000000000000000000000000000000000000..577743d83824bc09d3b5ed8801aca1bfdc5b9812 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.session/cache/f46d52d0100d219b44e3dd94ca164077.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0177, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.res.oracle index 7edd3815e32b6afc8c24d3642212bc6be9b51419..cf4825d1b682fab9f601434a2ac7b74b366b9df0 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-no-let -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-no-let [...] [kernel] Parsing tests/wp_plugin/bool.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.0.res.oracle index 1174aab59452145b6eda8e73f843ae20a8ce1513..005e353f3645b93e49541f2cc2e122d63877dbdf 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.0.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 100 -wp-steps 500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/convert.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' @@ -8,7 +8,9 @@ [wp] Proved goals: 2 / 2 Qed: 0 Alt-Ergo 2.0.0: 2 +[wp] Report in: 'tests/wp_plugin/oracle_qualif/convert.0.report.json' +[wp] Report out: 'tests/wp_plugin/result_qualif/convert.0.report.json' ------------------------------------------------------------- Axiomatics WP Alt-Ergo Total Success -Lemma - 2 2 100% +Lemma - 2 (1..12) 2 100% ------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.0.session/cache/41595c57ce7e98269d53becbfeb7bcb3.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.0.session/cache/41595c57ce7e98269d53becbfeb7bcb3.json new file mode 100644 index 0000000000000000000000000000000000000000..5f72202be45140fd54f9735aeb95dd628189a2fb --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.0.session/cache/41595c57ce7e98269d53becbfeb7bcb3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0062, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.0.session/cache/997da10e0a56b9a3ff392e4d0e7b52b7.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.0.session/cache/997da10e0a56b9a3ff392e4d0e7b52b7.json new file mode 100644 index 0000000000000000000000000000000000000000..9c4815d94cdba728365d7ed298f6fe9bfa6d0ed0 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.0.session/cache/997da10e0a56b9a3ff392e4d0e7b52b7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0087, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.1.res.oracle index cf1e24e7a662e3f60447a08cfde4b9fb9cd6d9f8..3dd881b83a080a87062470970a66d63508976476 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.1.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/convert.1.res.oracle @@ -1,11 +1,20 @@ -# frama-c -wp -wp-timeout 100 -wp-steps 500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/convert.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' [wp] 2 goals scheduled -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_ceil : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_floor : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_ceil : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_floor : Valid [wp] Proved goals: 2 / 2 - Qed: 0 - Alt-Ergo 2.0.0: 2 -[kernel] System error: tests/qualif-why3.report: No such file or directory + Qed: 0 + Alt-Ergo: 2 +[wp] Report in: 'tests/wp_plugin/oracle_qualif/convert.1.report.json' +[wp] Report out: 'tests/wp_plugin/result_qualif/convert.1.report.json' +------------------------------------------------------------- +Axiomatics WP Alt-Ergo Total Success +Lemma - - (20..32) 2 100% +------------------------------------------------------------- +------------------------------------------------------------- +Axiomatics WP Alt-Ergo (Native) Total Success +Lemma - 2 (20..32) 2 100% +------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/3140ad3c2c0e7f22f4a38c1cf4630073.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/3140ad3c2c0e7f22f4a38c1cf4630073.json new file mode 100644 index 0000000000000000000000000000000000000000..9cc06a15d6e3d2a607153e9bc3f7cd5b984bb920 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/3140ad3c2c0e7f22f4a38c1cf4630073.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0288, + "steps": 24 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/5bc3c212fe4290ff88ccb5e99871fd74.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/5bc3c212fe4290ff88ccb5e99871fd74.json new file mode 100644 index 0000000000000000000000000000000000000000..3782bef305412c4e70ee91e81ab3b31e08386dd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/5bc3c212fe4290ff88ccb5e99871fd74.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0222, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/6d5890f1993535b246213e3d240ff1fa.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/6d5890f1993535b246213e3d240ff1fa.json new file mode 100644 index 0000000000000000000000000000000000000000..daf4764e778dde0c37ffd891c9bf9658759c38f3 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/6d5890f1993535b246213e3d240ff1fa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0277, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/81cbf3977a1b360e77c61be578e71228.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/81cbf3977a1b360e77c61be578e71228.json new file mode 100644 index 0000000000000000000000000000000000000000..f61e07fedf5bbe22c77ccb4c67da589c0b764914 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/81cbf3977a1b360e77c61be578e71228.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0409, + "steps": 35 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/9c576504d70a15b48202a701c1077cae.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/9c576504d70a15b48202a701c1077cae.json new file mode 100644 index 0000000000000000000000000000000000000000..7111d54fab54ff1640ddb871fc7b102830bf9a5a --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/9c576504d70a15b48202a701c1077cae.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1354, + "steps": 149 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/dbd1fa1555b07e233372cbf9a102eb50.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/dbd1fa1555b07e233372cbf9a102eb50.json new file mode 100644 index 0000000000000000000000000000000000000000..8eac0a9afccf5d64833cdb7bb857f87359eb95d9 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.0.session/cache/dbd1fa1555b07e233372cbf9a102eb50.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0455, + "steps": 56 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.res.oracle index e58dd159662b31d042d3b6b0b81e344cb50fd5af..d663290a72fbe304f0409c6cfc07c0f8db78dea1 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/copy.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/8004973d77211411c9d59b27077c16c6.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/8004973d77211411c9d59b27077c16c6.json new file mode 100644 index 0000000000000000000000000000000000000000..12c062e103a757bc45a963a36437d06716f75081 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/8004973d77211411c9d59b27077c16c6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0326, + "steps": 47 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/b42d5e72c9522a062a198e91751c2c9a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/b42d5e72c9522a062a198e91751c2c9a.json new file mode 100644 index 0000000000000000000000000000000000000000..b4485782cad42d49ff1b81d754f15a6d74ab31f9 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/b42d5e72c9522a062a198e91751c2c9a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0201, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/dbfcb0e8dad365619370802f774d9de9.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/dbfcb0e8dad365619370802f774d9de9.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/dbfcb0e8dad365619370802f774d9de9.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/f9a8c7c2b4e60999d63dc9182c6a31ad.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/f9a8c7c2b4e60999d63dc9182c6a31ad.json new file mode 100644 index 0000000000000000000000000000000000000000..0496e0b70b2c50da3a97c1659756a9288fab503d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.0.session/cache/f9a8c7c2b4e60999d63dc9182c6a31ad.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0205, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.res.oracle index 3e9d690d837eb0a4daed64f2f6c8afb5986ba02e..7fdb8a52676fac4bfcee9da841bcfb4aab010d13 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/dynamic.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' @@ -63,8 +63,8 @@ [wp] Report out: 'tests/wp_plugin/result_qualif/dynamic.0.report.json' ------------------------------------------------------------- Functions WP Alt-Ergo Total Success -call 2 2 (48..60) 4 100% -guarded_call 4 1 (8..20) 5 100% +call 2 2 (40..52) 4 100% +guarded_call 4 1 (4..16) 5 100% behavior 9 - 9 100% some_behaviors 24 - 24 100% missing_context 4 - 5 80.0% diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.res.oracle index b60e1d430a69f0c5fff4abd75613d0805f71d97c..424e076b6068d9251c7ace2c47755f79ff19762c 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp [...] +# frama-c -wp -wp-timeout 1 [...] [kernel] Parsing tests/wp_plugin/flash.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/1698f6d176f78548e841b5696d79f026.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/1698f6d176f78548e841b5696d79f026.json new file mode 100644 index 0000000000000000000000000000000000000000..852d81aab273985772cb5b7d655f3f996ee7db5d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/1698f6d176f78548e841b5696d79f026.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 1. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/64c8e35016a398a56f0882104d837eaa.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/64c8e35016a398a56f0882104d837eaa.json new file mode 100644 index 0000000000000000000000000000000000000000..852d81aab273985772cb5b7d655f3f996ee7db5d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/64c8e35016a398a56f0882104d837eaa.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 1. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/ab0c36ef916b4a78d99270e7c4d27723.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/ab0c36ef916b4a78d99270e7c4d27723.json new file mode 100644 index 0000000000000000000000000000000000000000..852d81aab273985772cb5b7d655f3f996ee7db5d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/ab0c36ef916b4a78d99270e7c4d27723.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 1. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/caccd9276079faaf886ed8d3279e4728.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/caccd9276079faaf886ed8d3279e4728.json new file mode 100644 index 0000000000000000000000000000000000000000..852d81aab273985772cb5b7d655f3f996ee7db5d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/caccd9276079faaf886ed8d3279e4728.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 1. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/dbda47b47c29a1b3c4192f4c68c94771.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/dbda47b47c29a1b3c4192f4c68c94771.json new file mode 100644 index 0000000000000000000000000000000000000000..852d81aab273985772cb5b7d655f3f996ee7db5d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.session/cache/dbda47b47c29a1b3c4192f4c68c94771.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 1. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.res.oracle index c711d65adab2c7627884e9744ca2f2f4b867cdcc..29dde40a08d80b5a59d453c35479a2a6362fd40c 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/flash.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/26805f260519bc357ddfbab77162336d.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/26805f260519bc357ddfbab77162336d.json new file mode 100644 index 0000000000000000000000000000000000000000..3577959010599f241f7f23bba6f16c956d63d120 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/26805f260519bc357ddfbab77162336d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0346, + "steps": 34 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/78930ca891a9430a1c4a252f99dae940.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/78930ca891a9430a1c4a252f99dae940.json new file mode 100644 index 0000000000000000000000000000000000000000..c9d861e9b74358eccc18634b57740f1ee1733398 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/78930ca891a9430a1c4a252f99dae940.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0357, + "steps": 37 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/80325efaf7a8086892d0eca4f9c22550.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/80325efaf7a8086892d0eca4f9c22550.json new file mode 100644 index 0000000000000000000000000000000000000000..f00c0fc9b0a36112aa3e440ef81242bb28cc9c42 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/80325efaf7a8086892d0eca4f9c22550.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0362, + "steps": 34 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/c8c1639da21238ff80c3f5a92311bf03.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/c8c1639da21238ff80c3f5a92311bf03.json new file mode 100644 index 0000000000000000000000000000000000000000..8d9bed93bc822e278ca3efa5768bd27d50e031e3 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/c8c1639da21238ff80c3f5a92311bf03.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0321, + "steps": 39 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/fee62065a13cef000396b31ff5ca19d5.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/fee62065a13cef000396b31ff5ca19d5.json new file mode 100644 index 0000000000000000000000000000000000000000..49d9c94139e862d7e8a0a877dc04320a8b95ca08 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.session/cache/fee62065a13cef000396b31ff5ca19d5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.038, + "steps": 34 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.2.res.oracle index 1712b1e0c1871091ed0ad097bfcb8b3d756b47df..803faf1078bd49153e3508f0b7812aeefcd67ee2 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.2.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/flash.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.0.res.oracle index 3e525c780366ac1535c5a41df8d0faf756c4226e..8f2da577ae2b91e982e22236096af9b0387f36cf 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.0.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/float_format.i (no preprocessing) [kernel:parser:decimal-float] tests/wp_plugin/float_format.i:10: Warning: Floating-point constant 0.2 is not represented exactly. Will use 0x1.999999999999ap-3. diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.res.oracle index dff0921f02e5a5d5791bb1656a780c8aa34df18e..9f87d54d4ed370a5490dfc6b41b9a0f9e81abe2d 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_plugin/float_format.i (no preprocessing) [kernel:parser:decimal-float] tests/wp_plugin/float_format.i:10: Warning: Floating-point constant 0.2 is not represented exactly. Will use 0x1.999999999999ap-3. diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.session/cache/5f7ed05c194dba2e5f64e0c2e288f317.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.session/cache/5f7ed05c194dba2e5f64e0c2e288f317.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.session/cache/5f7ed05c194dba2e5f64e0c2e288f317.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.res.oracle index 1aef24e167aae8bd72bca9cc4b0b1141851fe3a0..2230d173868d3de4a87b2ea35b6a238d9a296e24 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp [...] +# frama-c -wp -wp-timeout 1 [...] [kernel] Parsing tests/wp_plugin/float_format.i (no preprocessing) [kernel:parser:decimal-float] tests/wp_plugin/float_format.i:10: Warning: Floating-point constant 0.2 is not represented exactly. Will use 0x1.999999999999ap-3. diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.session/cache/5f7ed05c194dba2e5f64e0c2e288f317.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.session/cache/5f7ed05c194dba2e5f64e0c2e288f317.json new file mode 100644 index 0000000000000000000000000000000000000000..852d81aab273985772cb5b7d655f3f996ee7db5d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.session/cache/5f7ed05c194dba2e5f64e0c2e288f317.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 1. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.0.res.oracle index 31633324320eef03e7772dceca65bbceb3df7683..00476c270d854358a93114ab4b8798d2638dc444 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.0.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Real)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Real)' [...] [kernel] Parsing tests/wp_plugin/float_real.i (no preprocessing) [kernel:parser:decimal-float] tests/wp_plugin/float_real.i:19: Warning: Floating-point constant 1e-5 is not represented exactly. Will use 0x1.4f8b588e368f1p-17. diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.0.session/cache/005069532f5e111f1f882ee47ecb2236.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.0.session/cache/005069532f5e111f1f882ee47ecb2236.json new file mode 100644 index 0000000000000000000000000000000000000000..55a5f32d3747474b2a802462cf8fe417a8a74864 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.0.session/cache/005069532f5e111f1f882ee47ecb2236.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0186, + "steps": 25 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.1.res.oracle index 43d07c8326c0f546f7e97d6dd7d21eb12e9ebe5f..82e758381388a01df4390cf51c8ab9a9c1a7e9fb 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.1.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed' [...] [kernel] Parsing tests/wp_plugin/float_real.i (no preprocessing) [kernel:parser:decimal-float] tests/wp_plugin/float_real.i:19: Warning: Floating-point constant 1e-5 is not represented exactly. Will use 0x1.4f8b588e368f1p-17. diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.1.session/cache/bd9564689062a5d819d3ecdcd86f1a1a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.1.session/cache/bd9564689062a5d819d3ecdcd86f1a1a.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_real.1.session/cache/bd9564689062a5d819d3ecdcd86f1a1a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.0.session/cache/2d6105cda5f37243a24f7a2895f11ae9.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.0.session/cache/2d6105cda5f37243a24f7a2895f11ae9.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.0.session/cache/2d6105cda5f37243a24f7a2895f11ae9.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.0.session/cache/985d0f98114267e42ecf4062e9da25ee.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.0.session/cache/985d0f98114267e42ecf4062e9da25ee.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.0.session/cache/985d0f98114267e42ecf4062e9da25ee.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.0.session/cache/cf9f0c2706019f16f1733c8811811eac.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.0.session/cache/cf9f0c2706019f16f1733c8811811eac.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.0.session/cache/cf9f0c2706019f16f1733c8811811eac.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.res.oracle index 773b4122b041c1fa129091f5d7ce9dd086acb56c..8247a946f2452f3d7ad4fabe8e4d679ba797ac4a 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/frame.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/ground_real.0.session/cache/b9ba36e18d95628c4dc26e47bdf41a0a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/ground_real.0.session/cache/b9ba36e18d95628c4dc26e47bdf41a0a.json new file mode 100644 index 0000000000000000000000000000000000000000..66657150e32c1eec6985a2f067650a88cfdfc582 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/ground_real.0.session/cache/b9ba36e18d95628c4dc26e47bdf41a0a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0063, + "steps": 3 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/ground_real.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/ground_real.res.oracle index 4341a8387fac517ae66ea4980de6d8928a9704d1..f5f790a0cff2610ddeabcc70c7a3855eb8078f1a 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/ground_real.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/ground_real.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/ground_real.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/inductive.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/inductive.res.oracle index e58fc4777e8012604626ae376347f60bb26cf998..58f1a2f1d9209618e89faafebbc1c4254004245b 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/inductive.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/inductive.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 240 -wp-steps 1500 [...] +# frama-c -wp -wp-timeout 240 [...] [kernel] Parsing tests/wp_plugin/inductive.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.0.session/cache/03322f9510d2676e91ad7ae2340e23ef.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.0.session/cache/03322f9510d2676e91ad7ae2340e23ef.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.0.session/cache/03322f9510d2676e91ad7ae2340e23ef.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.0.session/cache/0919645d26a767a053dbbd305257f300.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.0.session/cache/0919645d26a767a053dbbd305257f300.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.0.session/cache/0919645d26a767a053dbbd305257f300.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.res.oracle index f719ce191c98e10950e3f51bc336b6b54413be44..bc0a1b82ce3a7624d46f2f2f0ff7acbad2150cbf 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/init_const.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.0.session/cache/1ad47165aab381beb89b339b538b35c9.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.0.session/cache/1ad47165aab381beb89b339b538b35c9.json new file mode 100644 index 0000000000000000000000000000000000000000..72fb61e0d7a6bb7d7d402130081ea99a0763a222 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.0.session/cache/1ad47165aab381beb89b339b538b35c9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0203, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.0.session/cache/336ea90cae3def59085db6b73febe669.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.0.session/cache/336ea90cae3def59085db6b73febe669.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.0.session/cache/336ea90cae3def59085db6b73febe669.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.0.session/cache/81d910177d09bd437f5605c7e08689ba.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.0.session/cache/81d910177d09bd437f5605c7e08689ba.json new file mode 100644 index 0000000000000000000000000000000000000000..b50294b7d4eefa1ecc330667274374a6787b44aa --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.0.session/cache/81d910177d09bd437f5605c7e08689ba.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0217, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.res.oracle index 74fbe6265909520852af9cb5ba3bcf0c7d32a8a0..c2c2e3ceccba326c240a62e8d27eee2feb2e024f 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/init_const_guard.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.0.session/cache/9f69b51c20bff6d78ba77de6d29573a4.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.0.session/cache/9f69b51c20bff6d78ba77de6d29573a4.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.0.session/cache/9f69b51c20bff6d78ba77de6d29573a4.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.res.oracle index 8fee97c8110c7ffd2ed80f7e0cb00e502bf15b68..1538d48fe05df12b2ea5f031f48fbd0da3d4dae4 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/init_extern.i (no preprocessing) [kernel] Parsing tests/wp_plugin/init_linker.i (no preprocessing) [wp] Running WP plugin... diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_valid.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_valid.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_valid.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_valid.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_valid.res.oracle index 9a9e12457487933fcf9ae2ef4a740e0a4e13cd0e..c303e914f2a206dd6e1eba7f310e49a73fa1fa2f 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_valid.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_valid.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/init_valid.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.0.session/cache/0db5b2bd93ab415281ca907407740c69.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.0.session/cache/0db5b2bd93ab415281ca907407740c69.json new file mode 100644 index 0000000000000000000000000000000000000000..61fde8be2114028d7e3ecd3d478302bd0b2980ea --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.0.session/cache/0db5b2bd93ab415281ca907407740c69.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0231, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.0.session/cache/ccc85e53f5794ab230694892164f63b9.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.0.session/cache/ccc85e53f5794ab230694892164f63b9.json new file mode 100644 index 0000000000000000000000000000000000000000..dc19d8b173b90f3aff18b110d47015b35b3c3819 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.0.session/cache/ccc85e53f5794ab230694892164f63b9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0263, + "steps": 34 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.res.oracle index 06ab6be80f469b8c42f674f693cf1837eeef0cbe..3e092c0517374eaa9ac8ec3aa51825fbbd923925 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/initarr.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.0.res.oracle index 09a1441179746ce863839cbdcc68f7ec44ed9d37..21e508fd59198c77d1bad1ec5d77b40c922fffef 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.0.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/injector.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.res.oracle index 8e07c7e303008a3472678de0979ddb2f1a619885..b4667f759fafe214bf078668e22afba5bef27309 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_plugin/injector.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.session/cache/22902ca7289610fdec09e1a4a8161028.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.session/cache/22902ca7289610fdec09e1a4a8161028.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.session/cache/22902ca7289610fdec09e1a4a8161028.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.session/cache/bb05ba082c84bad439158a8650b204b5.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.session/cache/bb05ba082c84bad439158a8650b204b5.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.session/cache/bb05ba082c84bad439158a8650b204b5.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.session/cache/f8c939f0e411b5d911aec8b560c65159.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.session/cache/f8c939f0e411b5d911aec8b560c65159.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.session/cache/f8c939f0e411b5d911aec8b560c65159.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/399ec703f06dad6957a965ed8c343ca0.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/399ec703f06dad6957a965ed8c343ca0.json new file mode 100644 index 0000000000000000000000000000000000000000..d07c6239273125aa5580850bfadee79aca277db5 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/399ec703f06dad6957a965ed8c343ca0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0237, + "steps": 32 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/40b122f0e00fce362b3986a91de91687.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/40b122f0e00fce362b3986a91de91687.json new file mode 100644 index 0000000000000000000000000000000000000000..f70df46a961b43d6d08fd71be771ac3c7e0a1fab --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/40b122f0e00fce362b3986a91de91687.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0316, + "steps": 70 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/63650a5c524f80133df6ee0a87081cef.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/63650a5c524f80133df6ee0a87081cef.json new file mode 100644 index 0000000000000000000000000000000000000000..f6a96cef0f66d4005f8e7c21d8a1460b7a81a9bf --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/63650a5c524f80133df6ee0a87081cef.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0181, + "steps": 29 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/680b47de429711710f8e789107aba188.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/680b47de429711710f8e789107aba188.json new file mode 100644 index 0000000000000000000000000000000000000000..339df5f98d71e96b341c588760ece9936763d33a --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/680b47de429711710f8e789107aba188.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0148, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/c22b2b7de2cf2f354d9edafa47d34589.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/c22b2b7de2cf2f354d9edafa47d34589.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/c22b2b7de2cf2f354d9edafa47d34589.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/d82134accee9fa37acc671a4193d9c28.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/d82134accee9fa37acc671a4193d9c28.json new file mode 100644 index 0000000000000000000000000000000000000000..14184a3b85dd66b422825baae6cfc99b125e7513 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.0.session/cache/d82134accee9fa37acc671a4193d9c28.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0129, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.res.oracle index c73a0cad6ce48aeeb1ca1992948d20285693caf3..84704dba34e66dd794e4d8d57af1205cc56fb6f9 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/loop.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopcurrent.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopcurrent.res.oracle index 887d7f68708dc1a848a60aa321059b337190c26e..1243a954f859f9d6e03ac990ddc16b4057a46b5c 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopcurrent.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopcurrent.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/loopcurrent.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopentry.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopentry.res.oracle index 190504de364ff5fd3eb30cca5941465b89c01540..73078e24dae3e5475cfbef86b24ae6139e281755 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopentry.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopentry.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/loopentry.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopextra.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopextra.res.oracle index be03eb0c54595ad6b793cc867b569f7268407899..61bff7f94a53987b34e56f173cf691bf19b4c5ba 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopextra.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopextra.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/loopextra.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/mask.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/mask.res.oracle index 80f261630b6e9f3ed59ea6ccdfc2e159d55d9840..85ae2cc2fcd0da78deff5a45841fd0485d9fd3d7 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/mask.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/mask.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/mask.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.res.oracle index f0091eae9395ddb6e163d79773842ef51e642cee..bf50cd0feb5c66106877ddadf5bcd83ddbdc3f06 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.res.oracle @@ -37,10 +37,12 @@ [wp] Proved goals: 30 / 30 Qed: 5 Alt-Ergo 2.0.0: 25 +[wp] Report in: 'tests/wp_plugin/oracle_qualif/math.0.report.json' +[wp] Report out: 'tests/wp_plugin/result_qualif/math.0.report.json' ------------------------------------------------------------- Axiomatics WP Alt-Ergo Total Success -Lemma 3 16 19 100% +Lemma 3 16 (104..128) 19 100% ------------------------------------------------------------- Functions WP Alt-Ergo Total Success -ok 2 9 11 100% +ok 2 9 (88..112) 11 100% ------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/213b42a122d2ddf0d68abd0132ffa198.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/213b42a122d2ddf0d68abd0132ffa198.json new file mode 100644 index 0000000000000000000000000000000000000000..56d6d6b8ca03346574968685622db77202ec59f7 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/213b42a122d2ddf0d68abd0132ffa198.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0174, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/216283795b958a5995693f6b04391255.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/216283795b958a5995693f6b04391255.json new file mode 100644 index 0000000000000000000000000000000000000000..394a3b9ef049ead5912ee38e8c8352b4d664bfd7 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/216283795b958a5995693f6b04391255.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0266, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/2bb9f22d5936cad4dafccff30f05d502.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/2bb9f22d5936cad4dafccff30f05d502.json new file mode 100644 index 0000000000000000000000000000000000000000..b3705767c611764a7a6473c4fb10667efb683609 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/2bb9f22d5936cad4dafccff30f05d502.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0167, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/2d32ce8d5323849bb1cd1ea322b03fc6.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/2d32ce8d5323849bb1cd1ea322b03fc6.json new file mode 100644 index 0000000000000000000000000000000000000000..067b1f347ab333dae2fe1198beff1386395f7fa9 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/2d32ce8d5323849bb1cd1ea322b03fc6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0159, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/4eca6dd59584171a069c267a778ee47a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/4eca6dd59584171a069c267a778ee47a.json new file mode 100644 index 0000000000000000000000000000000000000000..ffe942521c362031ec987a71d540b376bb3d136d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/4eca6dd59584171a069c267a778ee47a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.012, + "steps": 8 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/5242bd61a48707f0dbeba4f38867c9f2.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/5242bd61a48707f0dbeba4f38867c9f2.json new file mode 100644 index 0000000000000000000000000000000000000000..8c51bdf3c16648d7b76243a23583cf07cd5783fd --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/5242bd61a48707f0dbeba4f38867c9f2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0129, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/608785a9f24131b1483d79ac5364abfd.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/608785a9f24131b1483d79ac5364abfd.json new file mode 100644 index 0000000000000000000000000000000000000000..f13651d340613ef74bab898253de5f9c14fb3c40 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/608785a9f24131b1483d79ac5364abfd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.043, + "steps": 102 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/74c3e8d21260f1b900a321bdcbb800a0.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/74c3e8d21260f1b900a321bdcbb800a0.json new file mode 100644 index 0000000000000000000000000000000000000000..c4ecb09a605f33a701ae8231f2d8c7fe57d5d601 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/74c3e8d21260f1b900a321bdcbb800a0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0148, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/88292638416b99243a8f32021f03109a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/88292638416b99243a8f32021f03109a.json new file mode 100644 index 0000000000000000000000000000000000000000..226ecf6e77233c5261e5a47270f1ae4d709042f3 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/88292638416b99243a8f32021f03109a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0226, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/953c0fa2728747865ab3cc4a8c6e542b.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/953c0fa2728747865ab3cc4a8c6e542b.json new file mode 100644 index 0000000000000000000000000000000000000000..8f2135784a883c330520b946fdc10524b1d69d39 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/953c0fa2728747865ab3cc4a8c6e542b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0299, + "steps": 102 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/9f5e2e6c71421110e2f65d8ed414c02e.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/9f5e2e6c71421110e2f65d8ed414c02e.json new file mode 100644 index 0000000000000000000000000000000000000000..5418206a73aa7713cc98c17ef59a89ea48daf3b5 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/9f5e2e6c71421110e2f65d8ed414c02e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0961, + "steps": 112 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/a6000acb106889adb2406b9b4fe1d766.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/a6000acb106889adb2406b9b4fe1d766.json new file mode 100644 index 0000000000000000000000000000000000000000..8bcf714c86f32e2cc9e61d9c041296f7fc8fae5d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/a6000acb106889adb2406b9b4fe1d766.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0111, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/be015da8ea402327f26ad277f16105be.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/be015da8ea402327f26ad277f16105be.json new file mode 100644 index 0000000000000000000000000000000000000000..f6eecbe287176fa34dc678667de28a29557d14c9 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/be015da8ea402327f26ad277f16105be.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0146, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/c2279ab65c88304c7da4f176ab90104a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/c2279ab65c88304c7da4f176ab90104a.json new file mode 100644 index 0000000000000000000000000000000000000000..4673d05bf0c5b509ff915ae5aa5e2f9e55e32ae1 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/c2279ab65c88304c7da4f176ab90104a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0159, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/cbb21de6be103d1c306d22fb5bcd151a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/cbb21de6be103d1c306d22fb5bcd151a.json new file mode 100644 index 0000000000000000000000000000000000000000..157bdf4d3fa7274be611e69f081b7af6e56bede4 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/cbb21de6be103d1c306d22fb5bcd151a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0226, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/cdd33c50e974deac92d7a61b7ef1b147.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/cdd33c50e974deac92d7a61b7ef1b147.json new file mode 100644 index 0000000000000000000000000000000000000000..f8aa6a47ce4b87ee6379ae9f860fb2c141a33374 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/cdd33c50e974deac92d7a61b7ef1b147.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0149, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d19c016bf41554f2de4951c95fbeccd3.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d19c016bf41554f2de4951c95fbeccd3.json new file mode 100644 index 0000000000000000000000000000000000000000..5251b3d24f199ec55223e858c3417811ab8494ad --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d19c016bf41554f2de4951c95fbeccd3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0091, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d1d4887b46a0420ab75cc8918df27bab.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d1d4887b46a0420ab75cc8918df27bab.json new file mode 100644 index 0000000000000000000000000000000000000000..1344f4b9fbce698ffc340637d1a47d7db84aa67c --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d1d4887b46a0420ab75cc8918df27bab.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0088, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d21f257b332e78cc8f8cda8295a42bb6.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d21f257b332e78cc8f8cda8295a42bb6.json new file mode 100644 index 0000000000000000000000000000000000000000..8d54a2552f4398472a5afcc9066ae48cea01ae15 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d21f257b332e78cc8f8cda8295a42bb6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0082, + "steps": 8 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d7f2dfb78ccb8b374e7c31f3e400a87c.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d7f2dfb78ccb8b374e7c31f3e400a87c.json new file mode 100644 index 0000000000000000000000000000000000000000..c1dd535b5e8ca90bc9a8b0e1e9ae252ae9fdce5e --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/d7f2dfb78ccb8b374e7c31f3e400a87c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0102, + "steps": 8 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/db7197273e4c9b70483c4b824b63758d.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/db7197273e4c9b70483c4b824b63758d.json new file mode 100644 index 0000000000000000000000000000000000000000..b4cced389d2cefb05363a8328f8de42fc7b0dee5 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/db7197273e4c9b70483c4b824b63758d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0138, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/dc243cd01c34785cb9be1e4789152362.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/dc243cd01c34785cb9be1e4789152362.json new file mode 100644 index 0000000000000000000000000000000000000000..dc92c73f4abbb6b2b10006eace25166d176d1ae6 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/dc243cd01c34785cb9be1e4789152362.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0172, + "steps": 24 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/dcbbd5701a2bead6112fe6ba82e3b416.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/dcbbd5701a2bead6112fe6ba82e3b416.json new file mode 100644 index 0000000000000000000000000000000000000000..9d97183cc094395fda29e1c10dd3793445e774f6 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/dcbbd5701a2bead6112fe6ba82e3b416.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0303, + "steps": 28 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/df09915b27230dac460c7ec419a242c8.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/df09915b27230dac460c7ec419a242c8.json new file mode 100644 index 0000000000000000000000000000000000000000..7ce04e99f39f79e1bf856d5538da6849c5a3bf05 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/df09915b27230dac460c7ec419a242c8.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0112, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/e1b094cde27b35f3f652d8dbb0006d05.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/e1b094cde27b35f3f652d8dbb0006d05.json new file mode 100644 index 0000000000000000000000000000000000000000..4016ae19df3b68e5df230521aea1156b73af0e58 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.session/cache/e1b094cde27b35f3f652d8dbb0006d05.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0285, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.1.res.oracle index f638b39f0c0a698adfe2a033ed5fd6858162cfc1..902a09e4e83ab6fb2d5bc6cb54f3bb2a1659e873 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.1.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.1.res.oracle @@ -4,37 +4,52 @@ [wp] Loading driver 'share/wp.driver' [wp] Warning: Missing RTE guards [wp] 30 goals scheduled -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_abs_neg : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_abs_pos : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_atan_sin_cos : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_cosh_opp : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_distance : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_exp_log_add_mul : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_abs_neg : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_abs_pos : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_atan_sin_cos : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_cosh_opp : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_distance : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_exp_log_add_mul : Valid [wp] [Qed] Goal typed_lemma_exp_pos : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_log_exp_mul_add : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_log_exp_mul_add : Valid [wp] [Qed] Goal typed_lemma_max_ac : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_max_inf : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_max_or : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_max_inf : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_max_or : Valid [wp] [Qed] Goal typed_lemma_min_ac : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_min_inf : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_min_or : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_pow_2 : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_sinh_opp : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_sqrt_mono : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_sqrt_pos : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_lemma_tanh_opp : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_ok_ensures_sin_asin : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_ok_ensures_sin_asin_in_range : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_ok_ensures_cos_acos : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_ok_ensures_cos_acos_in_range : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_min_inf : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_min_or : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_pow_2 : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_sinh_opp : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_sqrt_mono : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_sqrt_pos : Valid +[wp] [Alt-Ergo (Native)] Goal typed_lemma_tanh_opp : Valid +[wp] [Alt-Ergo (Native)] Goal typed_ok_ensures_sin_asin : Valid +[wp] [Alt-Ergo (Native)] Goal typed_ok_ensures_sin_asin_in_range : Valid +[wp] [Alt-Ergo (Native)] Goal typed_ok_ensures_cos_acos : Valid +[wp] [Alt-Ergo (Native)] Goal typed_ok_ensures_cos_acos_in_range : Valid [wp] [Qed] Goal typed_ok_ensures_tan_atan : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_ok_ensures_log_pow : Valid +[wp] [Alt-Ergo (Native)] Goal typed_ok_ensures_log_pow : Valid [wp] [Qed] Goal typed_ok_ensures_log_exp : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_ok_ensures_exp_log : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_ok_ensures_min_plus_distrib : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_ok_ensures_sqrt_pos : Valid -[wp] [Alt-Ergo 2.0.0] Goal typed_ok_ensures_sqrt_pos0 : Valid +[wp] [Alt-Ergo (Native)] Goal typed_ok_ensures_exp_log : Valid +[wp] [Alt-Ergo (Native)] Goal typed_ok_ensures_min_plus_distrib : Valid +[wp] [Alt-Ergo (Native)] Goal typed_ok_ensures_sqrt_pos : Valid +[wp] [Alt-Ergo (Native)] Goal typed_ok_ensures_sqrt_pos0 : Valid [wp] Proved goals: 30 / 30 - Qed: 5 - Alt-Ergo 2.0.0: 25 -[kernel] System error: tests/qualif-why3.report: No such file or directory + Qed: 5 + Alt-Ergo: 25 +[wp] Report in: 'tests/wp_plugin/oracle_qualif/math.1.report.json' +[wp] Report out: 'tests/wp_plugin/result_qualif/math.1.report.json' +------------------------------------------------------------- +Axiomatics WP Alt-Ergo Total Success +Lemma 3 - (96..120) 19 100% +------------------------------------------------------------- +Functions WP Alt-Ergo Total Success +ok 2 - (288..336) 11 100% +------------------------------------------------------------- +------------------------------------------------------------- +Axiomatics WP Alt-Ergo (Native) Total Success +Lemma 3 16 (96..120) 19 100% +------------------------------------------------------------- +Functions WP Alt-Ergo (Native) Total Success +ok 2 9 (288..336) 11 100% +------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.res.oracle index 17b764af7535a0e49a60f6a1643cdcd4b596f922..fb561d0e65eea8dc3d908d4512eafe5ea289295d 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp [...] +# frama-c -wp -wp-timeout 1 -wp-steps 50 [...] [kernel] Parsing tests/wp_plugin/math.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' @@ -15,6 +15,8 @@ [wp] [Alt-Ergo 2.0.0] Goal typed_ko_ensures_ko_sqrt_pos : Unsuccess [wp] Proved goals: 0 / 9 Alt-Ergo 2.0.0: 0 (unsuccess: 9) +[wp] Report in: 'tests/wp_plugin/oracle_qualif/math.2.report.json' +[wp] Report out: 'tests/wp_plugin/result_qualif/math.2.report.json' ------------------------------------------------------------- Functions WP Alt-Ergo Total Success ko - - 9 0.0% diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/13197ec1be944f7d7e647e0ec9e42a92.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/13197ec1be944f7d7e647e0ec9e42a92.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/13197ec1be944f7d7e647e0ec9e42a92.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/13df20db3083b249543b1b76494b44bd.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/13df20db3083b249543b1b76494b44bd.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/13df20db3083b249543b1b76494b44bd.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/4b726b5654038ef80abec267b3ab0f40.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/4b726b5654038ef80abec267b3ab0f40.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/4b726b5654038ef80abec267b3ab0f40.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/a2ffaa4a6ec6a720426ea37225a3de9f.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/a2ffaa4a6ec6a720426ea37225a3de9f.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/a2ffaa4a6ec6a720426ea37225a3de9f.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/a858d2bb68ec4cf0515963f97a2a0cc7.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/a858d2bb68ec4cf0515963f97a2a0cc7.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/a858d2bb68ec4cf0515963f97a2a0cc7.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/de75098d7ad46b5fbf6335788df2267a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/de75098d7ad46b5fbf6335788df2267a.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/de75098d7ad46b5fbf6335788df2267a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/e1e85e0396eb4b3f9ecfd0ef9c975545.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/e1e85e0396eb4b3f9ecfd0ef9c975545.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/e1e85e0396eb4b3f9ecfd0ef9c975545.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/e56758316a511fb81fc9497c7c535a3e.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/e56758316a511fb81fc9497c7c535a3e.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/e56758316a511fb81fc9497c7c535a3e.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/f4c19e502fd825db09fe53ba86788b3c.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/f4c19e502fd825db09fe53ba86788b3c.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.session/cache/f4c19e502fd825db09fe53ba86788b3c.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.3.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.3.res.oracle index 5e01bcd2a45f1e785d732d9ad661bc8a43c0793e..6117c36a1ed9e8201c05943529493aeac4879fa4 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.3.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.3.res.oracle @@ -1,18 +1,27 @@ -# frama-c -wp [...] +# frama-c -wp -wp-timeout 1 [...] [kernel] Parsing tests/wp_plugin/math.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' [wp] Warning: Missing RTE guards [wp] 9 goals scheduled -[wp] [Alt-Ergo 2.0.0] Goal typed_ko_ensures_ko_sin_asin : Unsuccess -[wp] [Alt-Ergo 2.0.0] Goal typed_ko_ensures_ko_cos_acos : Unsuccess -[wp] [Alt-Ergo 2.0.0] Goal typed_ko_ensures_ko_asin_sin : Unsuccess -[wp] [Alt-Ergo 2.0.0] Goal typed_ko_ensures_ko_acos_cos : Unsuccess -[wp] [Alt-Ergo 2.0.0] Goal typed_ko_ensures_ko_atan_tan : Unsuccess -[wp] [Alt-Ergo 2.0.0] Goal typed_ko_ensures_ko_log_pow : Unsuccess -[wp] [Alt-Ergo 2.0.0] Goal typed_ko_ensures_ko_exp_log : Unsuccess -[wp] [Alt-Ergo 2.0.0] Goal typed_ko_ensures_ko_exp_log_add_mul : Unsuccess -[wp] [Alt-Ergo 2.0.0] Goal typed_ko_ensures_ko_sqrt_pos : Unsuccess +[wp] [Alt-Ergo (Native)] Goal typed_ko_ensures_ko_sin_asin : Unsuccess +[wp] [Alt-Ergo (Native)] Goal typed_ko_ensures_ko_cos_acos : Unsuccess +[wp] [Alt-Ergo (Native)] Goal typed_ko_ensures_ko_asin_sin : Unsuccess +[wp] [Alt-Ergo (Native)] Goal typed_ko_ensures_ko_acos_cos : Unsuccess +[wp] [Alt-Ergo (Native)] Goal typed_ko_ensures_ko_atan_tan : Unsuccess +[wp] [Alt-Ergo (Native)] Goal typed_ko_ensures_ko_log_pow : Unsuccess +[wp] [Alt-Ergo (Native)] Goal typed_ko_ensures_ko_exp_log : Unsuccess +[wp] [Alt-Ergo (Native)] Goal typed_ko_ensures_ko_exp_log_add_mul : Unsuccess +[wp] [Alt-Ergo (Native)] Goal typed_ko_ensures_ko_sqrt_pos : Unsuccess [wp] Proved goals: 0 / 9 - Alt-Ergo 2.0.0: 0 (unsuccess: 9) -[kernel] System error: tests/qualif-why3.report: No such file or directory + Alt-Ergo: 0 (unsuccess: 9) +[wp] Report in: 'tests/wp_plugin/oracle_qualif/math.3.report.json' +[wp] Report out: 'tests/wp_plugin/result_qualif/math.3.report.json' +------------------------------------------------------------- +Functions WP Alt-Ergo Total Success +ko - - 9 0.0% +------------------------------------------------------------- +------------------------------------------------------------- +Functions WP Alt-Ergo (Native) Total Success +ko - - 9 0.0% +------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/model.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/model.res.oracle index 785b0a5f6adf73fc918aea26f85d9e33e0c81875..8569ce3a25eb9a34fa3d72c80219e0aab42f8b97 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/model.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/model.res.oracle @@ -1,13 +1,13 @@ -# frama-c -wp -wp-timeout 100 -wp-steps 500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/model.i (no preprocessing) -[kernel] tests/wp_plugin/model.i:11: Warning: +[kernel] tests/wp_plugin/model.i:10: Warning: parsing obsolete ACSL construct 'logic declaration'. 'an axiomatic block' should be used instead. [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' [wp] Warning: Missing RTE guards [wp] 1 goal scheduled --------------------------------------------- ---- Model 'typed' Cluster 'Compound' +--- Context 'typed_f' Cluster 'Compound' --------------------------------------------- theory Compound (* use why3.BuiltIn.BuiltIn *) @@ -29,7 +29,7 @@ theory Compound function shift_sint32 (p:addr) (k:int) : addr = shift p k end --------------------------------------------- ---- Model 'typed' Cluster 'Axiomatic' +--- Context 'typed_f' Cluster 'Axiomatic' --------------------------------------------- theory Axiomatic (* use why3.BuiltIn.BuiltIn *) @@ -50,12 +50,18 @@ theory Axiomatic end [wp] [Alt-Ergo 2.0.0] Goal typed_f_ensures : Typechecked [wp] Proved goals: 0 / 1 - Alt-Ergo 2.0.0: 0 (unknown: 1) + Alt-Ergo 2.0.0: 0 (unsuccess: 1) +[wp] Report in: 'tests/wp_plugin/oracle_qualif/model.0.report.json' +[wp] Report out: 'tests/wp_plugin/result_qualif/model.0.report.json' +------------------------------------------------------------- +Functions WP Alt-Ergo Total Success +f - - 1 0.0% +------------------------------------------------------------- [wp] Running WP plugin... [wp] 2 goals scheduled [wp] [Alt-Ergo 2.0.0] Goal typed_f_ensures : Typechecked --------------------------------------------- ---- Model 'typed_ref' Cluster 'Compound' +--- Context 'typed_ref_f' Cluster 'Compound' --------------------------------------------- theory Compound1 (* use why3.BuiltIn.BuiltIn *) @@ -77,7 +83,7 @@ theory Compound1 function shift_sint321 (p:addr1) (k:int) : addr1 = shift1 p k end --------------------------------------------- ---- Model 'typed_ref' Cluster 'Axiomatic' +--- Context 'typed_ref_f' Cluster 'Axiomatic' --------------------------------------------- theory Axiomatic1 (* use why3.BuiltIn.BuiltIn *) @@ -98,4 +104,10 @@ theory Axiomatic1 end [wp] [Alt-Ergo 2.0.0] Goal typed_ref_f_ensures : Typechecked [wp] Proved goals: 0 / 2 - Alt-Ergo 2.0.0: 0 (unknown: 2) + Alt-Ergo 2.0.0: 0 (unsuccess: 2) +[wp] Report in: 'tests/wp_plugin/oracle_qualif/model.0.report.json' +[wp] Report out: 'tests/wp_plugin/result_qualif/model.0.report.json' +------------------------------------------------------------- +Functions WP Alt-Ergo Total Success +f - - 2 0.0% +------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nowp.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nowp.res.oracle index 9fbeaeadf91429555fdf9f669b578fe91df55c8a..e643d4c567daf51c79055402f3cf01f7a869227e 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nowp.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nowp.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/nowp.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.0.res.oracle index e86cc65ef01943ade9b9d4597d5293ac746f53dc..4bde6e9381121d531b5372ef2e35e6b18e8017b7 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.0.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 -wp-depth 16 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/nth.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.0.session/cache/f02880d9f20c50d2696d69306b9f2210.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.0.session/cache/f02880d9f20c50d2696d69306b9f2210.json new file mode 100644 index 0000000000000000000000000000000000000000..523a262cc78753b0e6cd5db68018930a3dc36f0c --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.0.session/cache/f02880d9f20c50d2696d69306b9f2210.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.5952, + "steps": 165 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.0.session/cache/fe32aa00366c24b440cce98e1de247ca.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.0.session/cache/fe32aa00366c24b440cce98e1de247ca.json new file mode 100644 index 0000000000000000000000000000000000000000..02db2e696f3e6ccb67fb45c6665daebc0e9f08af --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.0.session/cache/fe32aa00366c24b440cce98e1de247ca.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0603, + "steps": 94 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.res.oracle index 0815def0020a7db6e8c38ed38a666140849c8555..9e7b8a071cd6ac00a38c0c6cd6c51771dd4af2f6 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 -wp-depth 16 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/nth.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.session/cache/af662533ee30f3d19d6e3a181c22b81a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.session/cache/af662533ee30f3d19d6e3a181c22b81a.json new file mode 100644 index 0000000000000000000000000000000000000000..11b78f4b7836c1bd2114c533c00440be1ecab01a --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.session/cache/af662533ee30f3d19d6e3a181c22b81a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.8449, + "steps": 159 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.session/cache/f02880d9f20c50d2696d69306b9f2210.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.session/cache/f02880d9f20c50d2696d69306b9f2210.json new file mode 100644 index 0000000000000000000000000000000000000000..656105c04ace60c519ebf252a0704ceac2229964 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.session/cache/f02880d9f20c50d2696d69306b9f2210.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.4727, + "steps": 165 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.session/cache/fe32aa00366c24b440cce98e1de247ca.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.session/cache/fe32aa00366c24b440cce98e1de247ca.json new file mode 100644 index 0000000000000000000000000000000000000000..941cfaed7c655fc39b4be8e5696204d205d81a2d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/nth.1.session/cache/fe32aa00366c24b440cce98e1de247ca.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.071, + "steps": 94 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.0.session/cache/2435783c50932d991f8ee829724a1949.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.0.session/cache/2435783c50932d991f8ee829724a1949.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.0.session/cache/2435783c50932d991f8ee829724a1949.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.0.session/cache/f9c13ffe00b0b154325d6265a980d603.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.0.session/cache/f9c13ffe00b0b154325d6265a980d603.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.0.session/cache/f9c13ffe00b0b154325d6265a980d603.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.res.oracle index f3b60ab008961fb5341fbf9554a81aa247ac721a..9fed766a89f00383277a2a549628fe1988cb5d97 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/overarray.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/4d61b75fe6abd8df19f1a9be60dd9763.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/4d61b75fe6abd8df19f1a9be60dd9763.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/4d61b75fe6abd8df19f1a9be60dd9763.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/55eeed2d5cf9cb6cfa8e52612c324d9d.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/55eeed2d5cf9cb6cfa8e52612c324d9d.json new file mode 100644 index 0000000000000000000000000000000000000000..037ed6f9037e953c9d1cc1a3a7e84c962ec941c4 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/55eeed2d5cf9cb6cfa8e52612c324d9d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0196, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/bd8277dfe06709be8acedb93fa4872f9.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/bd8277dfe06709be8acedb93fa4872f9.json new file mode 100644 index 0000000000000000000000000000000000000000..950b0ac0ce789bb2b0aed1d24776e32e93ee4a25 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/bd8277dfe06709be8acedb93fa4872f9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0196, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/c10d88d85fe0d4ee0f388d8245f869f7.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/c10d88d85fe0d4ee0f388d8245f869f7.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.0.session/cache/c10d88d85fe0d4ee0f388d8245f869f7.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.res.oracle index 75b57c96bb52e19213403b8e9b1b9b459cfef807..b8758ed7581120597f270c9f128dd8ede4528a5e 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/overassign.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/params.0.session/cache/c29b3bdbe3eb1277e4c71838ea2a4887.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/params.0.session/cache/c29b3bdbe3eb1277e4c71838ea2a4887.json new file mode 100644 index 0000000000000000000000000000000000000000..8a553686ab8de2cdbad071071ddb787c979bff32 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/params.0.session/cache/c29b3bdbe3eb1277e4c71838ea2a4887.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0088, + "steps": 4 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/params.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/params.res.oracle index 472834ac035cc5379ae493d77fc563e45edc9b8b..281d6f5ec593145eee51ba16a07b40ea4e666729 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/params.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/params.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/params.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/plet.0.session/cache/570d6a8b3ed674b838476cd14ab30316.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/plet.0.session/cache/570d6a8b3ed674b838476cd14ab30316.json new file mode 100644 index 0000000000000000000000000000000000000000..bf72bb63210ad332fff8ec7e971cc7209c023b6c --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/plet.0.session/cache/570d6a8b3ed674b838476cd14ab30316.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0139, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/plet.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/plet.res.oracle index d77ba62ed0b65f94f7be90e9ff932d807b89b8f3..cda0cfc000b9642c5a5edff2a217b690624b503e 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/plet.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/plet.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/plet.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/polarity.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/polarity.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/polarity.0.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/polarity.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/polarity.res.oracle index 001d2294e71948b34e2b7db7c6f80712c55640d2..aa3a09060e6a2af9016f5c23e2d7440c8cf61624 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/polarity.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/polarity.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/polarity.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/778a39b644999f1f9b43c71dd8ee9b0b.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/778a39b644999f1f9b43c71dd8ee9b0b.json new file mode 100644 index 0000000000000000000000000000000000000000..d3739bdbc17bb4c61048218b734121b13583428d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/778a39b644999f1f9b43c71dd8ee9b0b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0228, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/867e591f25a0a603f41701659323e11a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/867e591f25a0a603f41701659323e11a.json new file mode 100644 index 0000000000000000000000000000000000000000..383b44a3e2eeee733aa94d91275d7198dbd2eac0 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/867e591f25a0a603f41701659323e11a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0271, + "steps": 30 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/8bb2dfe3f4fe3359717a56a05cf8314b.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/8bb2dfe3f4fe3359717a56a05cf8314b.json new file mode 100644 index 0000000000000000000000000000000000000000..e1c6b71743b54feac4d6ec7edc4330d88d182e3a --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/8bb2dfe3f4fe3359717a56a05cf8314b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0246, + "steps": 31 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/d9dc95959e010c582ac876a6d9a50fd5.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/d9dc95959e010c582ac876a6d9a50fd5.json new file mode 100644 index 0000000000000000000000000000000000000000..f0aa1e7cc458c1e9b2100c4cee2fa40188c7c020 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/d9dc95959e010c582ac876a6d9a50fd5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0224, + "steps": 26 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/fd671e76634e44a48acb86857c5565b0.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/fd671e76634e44a48acb86857c5565b0.json new file mode 100644 index 0000000000000000000000000000000000000000..97056353d70be2e9f8834b89eb1722ead9f2dfe1 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.0.session/cache/fd671e76634e44a48acb86857c5565b0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1358, + "steps": 220 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.res.oracle index 5caef16184fc1ec7b8995dad9dace72f0b53110f..bbe0916d104b0e192bcec9ae4f751a9fcf06cb06 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/prenex.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/removed.0.session/cache/4dc341b2d4deefe644f427eea94616b0.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/removed.0.session/cache/4dc341b2d4deefe644f427eea94616b0.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/removed.0.session/cache/4dc341b2d4deefe644f427eea94616b0.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/10a23103267207b4187f3b74e41ef72d.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/10a23103267207b4187f3b74e41ef72d.json new file mode 100644 index 0000000000000000000000000000000000000000..d80e6f5a218ad4ae293d0b4b128104379434a37a --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/10a23103267207b4187f3b74e41ef72d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0189, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/15db3cdd6e613c3be1475c9017b1faaf.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/15db3cdd6e613c3be1475c9017b1faaf.json new file mode 100644 index 0000000000000000000000000000000000000000..01eaafc7f1f182eac23508d09aa802811aa34eec --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/15db3cdd6e613c3be1475c9017b1faaf.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.2244, + "steps": 557 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/4233f9536c694126fa361ebeb7de55a2.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/4233f9536c694126fa361ebeb7de55a2.json new file mode 100644 index 0000000000000000000000000000000000000000..e4c22a8e7cc39ddc526ee44eadc54a9e2e6bf835 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/4233f9536c694126fa361ebeb7de55a2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.9089, + "steps": 403 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/7a60c6978f1ede6682bd66a6423e5044.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/7a60c6978f1ede6682bd66a6423e5044.json new file mode 100644 index 0000000000000000000000000000000000000000..bcdf206d8cd077fe81d2a1fb84860e2b7a04b421 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/7a60c6978f1ede6682bd66a6423e5044.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0184, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/9d1b3fbe16b7a7d6baf2910a974c3d6a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/9d1b3fbe16b7a7d6baf2910a974c3d6a.json new file mode 100644 index 0000000000000000000000000000000000000000..9d3708fb56b4ebc536d37d6958155781dde7d25b --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.0.session/cache/9d1b3fbe16b7a7d6baf2910a974c3d6a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.1571, + "steps": 555 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.res.oracle index 3a7456bff6c60d9788a9e55f3e41e125ca441471..eb995af1813c90479e30ad40638cd16e38a41128 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/repeat.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/3afdeebefb45f797fcaeee80a3130909.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/3afdeebefb45f797fcaeee80a3130909.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/3afdeebefb45f797fcaeee80a3130909.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/914472b8d4c8fb3a40937ea1f3009a96.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/914472b8d4c8fb3a40937ea1f3009a96.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/914472b8d4c8fb3a40937ea1f3009a96.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/9f2022b03307856ff4ac275b4d10b064.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/9f2022b03307856ff4ac275b4d10b064.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/9f2022b03307856ff4ac275b4d10b064.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/bc9c09c9d7f65d10c82f09240d77fd35.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/bc9c09c9d7f65d10c82f09240d77fd35.json new file mode 100644 index 0000000000000000000000000000000000000000..b2577c8a974c984eadc69b09b67230a07ed782ee --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/bc9c09c9d7f65d10c82f09240d77fd35.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.014, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/fc54a11274dceec702d37696f5e88f2b.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/fc54a11274dceec702d37696f5e88f2b.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.0.session/cache/fc54a11274dceec702d37696f5e88f2b.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.res.oracle index ac262be90812cecb6917673e5050d63a3296fdce..417ba94b1f097942359616890a1021290140bec0 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/rte.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-rte -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-rte [...] [kernel] Parsing tests/wp_plugin/rte.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.res.oracle index c2817aedca9085f5f44158f0d53162e6d5aa1b61..aaed31ba7592c4cca9baa1e20aa94227f16a9955 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Caveat)' -wp-timeout 45 -wp-steps 1500 -wp-depth 16 [...] +# frama-c -wp -wp-model 'Typed (Caveat)' [...] [kernel] Parsing tests/wp_plugin/sequence.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/05bf3d9a5dd94c3fb9bc16d3d4b6cf93.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/05bf3d9a5dd94c3fb9bc16d3d4b6cf93.json new file mode 100644 index 0000000000000000000000000000000000000000..92f6fb7db1b2636deea9480d13d04e8263ca48c3 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/05bf3d9a5dd94c3fb9bc16d3d4b6cf93.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0185, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/594fed1892de5619cb273dae40ac83ea.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/594fed1892de5619cb273dae40ac83ea.json new file mode 100644 index 0000000000000000000000000000000000000000..05d97de31bb884f5a3edf4a9a0b1e357b432d66d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/594fed1892de5619cb273dae40ac83ea.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0181, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/5ed2e8c21a156adae7a0b25abc9c27bb.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/5ed2e8c21a156adae7a0b25abc9c27bb.json new file mode 100644 index 0000000000000000000000000000000000000000..d1ebd59c8514e07f9e95a1c44ea9ed160da971f9 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/5ed2e8c21a156adae7a0b25abc9c27bb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0966, + "steps": 141 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/66cef80b694298de7699f046dadd3a7a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/66cef80b694298de7699f046dadd3a7a.json new file mode 100644 index 0000000000000000000000000000000000000000..dce9da0899d3209bafdda9db3a5e864aeb21ba8d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/66cef80b694298de7699f046dadd3a7a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0117, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/7574eb33ed23e94657554393efbad553.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/7574eb33ed23e94657554393efbad553.json new file mode 100644 index 0000000000000000000000000000000000000000..29dfa66ba7fc4e9ce74dbe617784a96b33cfb1c6 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/7574eb33ed23e94657554393efbad553.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0181, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/784a2a0777dc3fa9793867967284103e.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/784a2a0777dc3fa9793867967284103e.json new file mode 100644 index 0000000000000000000000000000000000000000..145e39c98e309cec3f204c59208ccd520910b97d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/784a2a0777dc3fa9793867967284103e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0177, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/86f836b1a4b0e86a126c21cada46e167.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/86f836b1a4b0e86a126c21cada46e167.json new file mode 100644 index 0000000000000000000000000000000000000000..b07a39efda4c47df30bddeb6e25041204c94dd5f --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/86f836b1a4b0e86a126c21cada46e167.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.012, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/8e0fa0b1315a7ec1e10b590a424d9af5.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/8e0fa0b1315a7ec1e10b590a424d9af5.json new file mode 100644 index 0000000000000000000000000000000000000000..6e553c7b9af0d0bded58680efce6b01408f10ff9 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/8e0fa0b1315a7ec1e10b590a424d9af5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0097, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/9101c7dc858a555edc2755b8060d142a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/9101c7dc858a555edc2755b8060d142a.json new file mode 100644 index 0000000000000000000000000000000000000000..7add2b7ec533734d3d67665e9fe1e6212e28c4dd --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/9101c7dc858a555edc2755b8060d142a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0152, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/9821148ea670387683fe3d59f7309d93.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/9821148ea670387683fe3d59f7309d93.json new file mode 100644 index 0000000000000000000000000000000000000000..3700724c921f1d025b9977f790018d268d15d81e --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/9821148ea670387683fe3d59f7309d93.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0131, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/9b4f07f146bbffd40781f95d7f400f8e.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/9b4f07f146bbffd40781f95d7f400f8e.json new file mode 100644 index 0000000000000000000000000000000000000000..c4b275aeea9076255a8e2e13e7521fa955bca872 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/9b4f07f146bbffd40781f95d7f400f8e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0124, + "steps": 5 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/a63e4475b84df547e1877256ffba381f.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/a63e4475b84df547e1877256ffba381f.json new file mode 100644 index 0000000000000000000000000000000000000000..2b30ebc190b8c3b4ac54e851b1cc09c506fb4acb --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/a63e4475b84df547e1877256ffba381f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0214, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/ef0e894ee011e93e53fac9b69881e5bb.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/ef0e894ee011e93e53fac9b69881e5bb.json new file mode 100644 index 0000000000000000000000000000000000000000..78c78ac7ac11211bb4db72b2ab9503beb161ebda --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.session/cache/ef0e894ee011e93e53fac9b69881e5bb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0464, + "steps": 74 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.res.oracle index 60d453b63fce576ea6d8f13808e8726606e9ea2e..5024ff81a94df5e715e19da33f404d37ad8c3167 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Caveat)' -wp-timeout 45 -wp-steps 1500 -wp-depth 16 [...] +# frama-c -wp -wp-model 'Typed (Caveat)' [...] [kernel] Parsing tests/wp_plugin/sequence.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/594fed1892de5619cb273dae40ac83ea.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/594fed1892de5619cb273dae40ac83ea.json new file mode 100644 index 0000000000000000000000000000000000000000..6e829976fb599352f85e20329e25d02792a7c145 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/594fed1892de5619cb273dae40ac83ea.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0121, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/5ed2e8c21a156adae7a0b25abc9c27bb.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/5ed2e8c21a156adae7a0b25abc9c27bb.json new file mode 100644 index 0000000000000000000000000000000000000000..0bdb11b27fa7f24c38e9e8b0163b7cf57c5d6d61 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/5ed2e8c21a156adae7a0b25abc9c27bb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.115, + "steps": 141 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/66cef80b694298de7699f046dadd3a7a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/66cef80b694298de7699f046dadd3a7a.json new file mode 100644 index 0000000000000000000000000000000000000000..1ffa46911f38b71a63f4c94252abf3139dae8803 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/66cef80b694298de7699f046dadd3a7a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0194, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/7574eb33ed23e94657554393efbad553.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/7574eb33ed23e94657554393efbad553.json new file mode 100644 index 0000000000000000000000000000000000000000..2bbf8a2683dc525e770751cb76b48ac99c0c77d5 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/7574eb33ed23e94657554393efbad553.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0208, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/784a2a0777dc3fa9793867967284103e.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/784a2a0777dc3fa9793867967284103e.json new file mode 100644 index 0000000000000000000000000000000000000000..c58789eaa387f7cbf82647913c9c9428b6b1f7d6 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/784a2a0777dc3fa9793867967284103e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0161, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/8e0fa0b1315a7ec1e10b590a424d9af5.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/8e0fa0b1315a7ec1e10b590a424d9af5.json new file mode 100644 index 0000000000000000000000000000000000000000..04330141487811781a5bff5420615adad9bc203e --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/8e0fa0b1315a7ec1e10b590a424d9af5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0141, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/9101c7dc858a555edc2755b8060d142a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/9101c7dc858a555edc2755b8060d142a.json new file mode 100644 index 0000000000000000000000000000000000000000..993005ed8bca603f87dcce2ab2220aa26011e8bc --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/9101c7dc858a555edc2755b8060d142a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0132, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/9821148ea670387683fe3d59f7309d93.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/9821148ea670387683fe3d59f7309d93.json new file mode 100644 index 0000000000000000000000000000000000000000..17cc18aa7944b2ad5e6f70bfcfd4b27e3ae5990e --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/9821148ea670387683fe3d59f7309d93.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.017, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/9b4f07f146bbffd40781f95d7f400f8e.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/9b4f07f146bbffd40781f95d7f400f8e.json new file mode 100644 index 0000000000000000000000000000000000000000..9300b4a4993da877eab08a1d2a3e4e6b8c651f48 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/9b4f07f146bbffd40781f95d7f400f8e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0129, + "steps": 5 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/a63e4475b84df547e1877256ffba381f.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/a63e4475b84df547e1877256ffba381f.json new file mode 100644 index 0000000000000000000000000000000000000000..877db681854a5b1f0b64620359229720c27aeb03 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/a63e4475b84df547e1877256ffba381f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0241, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/ef0e894ee011e93e53fac9b69881e5bb.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/ef0e894ee011e93e53fac9b69881e5bb.json new file mode 100644 index 0000000000000000000000000000000000000000..f70156bbf2a699640c9675e84b586f07ae03c410 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.session/cache/ef0e894ee011e93e53fac9b69881e5bb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0404, + "steps": 74 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.2.res.oracle index c637752ab865f76a65a39b925f46ab5253e3bd37..c77bd72116ab75085ea9169e9391dc3238d54110 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.2.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Caveat)' -wp-timeout 45 -wp-steps 50 -wp-depth 16 [...] +# frama-c -wp -wp-model 'Typed (Caveat)' -wp-steps 50 [...] [kernel] Parsing tests/wp_plugin/sequence.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.res.oracle index a27557f5d76d40812e9fbba0827875b36c140e77..5db0c6c63cd4bb28e87aefff871a797438fa3bf6 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/stmt.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/1fd19b1624fc53b9912d6f0ad221ec6f.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/1fd19b1624fc53b9912d6f0ad221ec6f.json new file mode 100644 index 0000000000000000000000000000000000000000..535f080af84b9686200713727729842f53f71839 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/1fd19b1624fc53b9912d6f0ad221ec6f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.049, + "steps": 73 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/22ae9e720aa18673fde1bf5bf44f6cf7.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/22ae9e720aa18673fde1bf5bf44f6cf7.json new file mode 100644 index 0000000000000000000000000000000000000000..cea59644c2c192496a40cc834829bb5cf87b49ff --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/22ae9e720aa18673fde1bf5bf44f6cf7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0449, + "steps": 65 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/37a769467fe16bd6c8e51bb795925ac2.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/37a769467fe16bd6c8e51bb795925ac2.json new file mode 100644 index 0000000000000000000000000000000000000000..877db681854a5b1f0b64620359229720c27aeb03 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/37a769467fe16bd6c8e51bb795925ac2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0241, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/3e3d4cc5ad35a080a3177a7f3ec258cc.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/3e3d4cc5ad35a080a3177a7f3ec258cc.json new file mode 100644 index 0000000000000000000000000000000000000000..7eec519000763ac738d4cc9ea50f22b4c0c5b1ee --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/3e3d4cc5ad35a080a3177a7f3ec258cc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0428, + "steps": 57 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/475f43b5141cacef63a9fb29fc1cac5a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/475f43b5141cacef63a9fb29fc1cac5a.json new file mode 100644 index 0000000000000000000000000000000000000000..9c9e521d79b359a998aa030e2f040137545b629f --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/475f43b5141cacef63a9fb29fc1cac5a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.44, + "steps": 584 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/562405020562c12a637e0806e8d2e002.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/562405020562c12a637e0806e8d2e002.json new file mode 100644 index 0000000000000000000000000000000000000000..270f501075c7de636b9ee6f72f2a1830d9e551e5 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/562405020562c12a637e0806e8d2e002.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.3172, + "steps": 322 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/62b32135ad2a3cac5d9211c8315c186d.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/62b32135ad2a3cac5d9211c8315c186d.json new file mode 100644 index 0000000000000000000000000000000000000000..8cc8cb0bd767f41c24113d4b585f2e0cb66073db --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/62b32135ad2a3cac5d9211c8315c186d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0446, + "steps": 66 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/7ae2466dd8effcacd1b09685243d30ac.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/7ae2466dd8effcacd1b09685243d30ac.json new file mode 100644 index 0000000000000000000000000000000000000000..5278ab4099a393cd326ad99d9f9ffe4b6a4aa068 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/7ae2466dd8effcacd1b09685243d30ac.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0421, + "steps": 58 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/81cd25cebf3da9202e88c41378ec816b.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/81cd25cebf3da9202e88c41378ec816b.json new file mode 100644 index 0000000000000000000000000000000000000000..ece56cc458c393136456cbdd621b730c109a1296 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/81cd25cebf3da9202e88c41378ec816b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0304, + "steps": 34 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/8630b9236946264d9694e22731dbc58e.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/8630b9236946264d9694e22731dbc58e.json new file mode 100644 index 0000000000000000000000000000000000000000..d3f48e34786620457f1b24d847d45778914ab775 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/8630b9236946264d9694e22731dbc58e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.033, + "steps": 45 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/8f1f07fefdcb2da5edaeb9947c3c94fa.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/8f1f07fefdcb2da5edaeb9947c3c94fa.json new file mode 100644 index 0000000000000000000000000000000000000000..658b7602c1e4bf9751dae79f7da03ce5f5059358 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/8f1f07fefdcb2da5edaeb9947c3c94fa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1142, + "steps": 173 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/959df566ba7701627b29205476f394dd.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/959df566ba7701627b29205476f394dd.json new file mode 100644 index 0000000000000000000000000000000000000000..63971ad49603ac7fb75f70334bcd2c464b3e8291 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/959df566ba7701627b29205476f394dd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0453, + "steps": 66 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/9eadc2bb4dfac638f224938d4827c98a.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/9eadc2bb4dfac638f224938d4827c98a.json new file mode 100644 index 0000000000000000000000000000000000000000..1cd57909cc6be2a3659af104df75ebb188a1ee82 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/9eadc2bb4dfac638f224938d4827c98a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1016, + "steps": 149 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/a408ee78b5aa14b900f8f4743c80c30f.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/a408ee78b5aa14b900f8f4743c80c30f.json new file mode 100644 index 0000000000000000000000000000000000000000..9287f91232a8744341ab1dcb7b320fb4b7c44c29 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/a408ee78b5aa14b900f8f4743c80c30f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.789, + "steps": 792 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/a6915fd039c2b41b75325a7a38af7922.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/a6915fd039c2b41b75325a7a38af7922.json new file mode 100644 index 0000000000000000000000000000000000000000..200bd8cfae9592d146c2d0aeee0aec922ae9a4fc --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/a6915fd039c2b41b75325a7a38af7922.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.7625, + "steps": 832 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/c4a259dc1139cea44a64d59453d32ca8.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/c4a259dc1139cea44a64d59453d32ca8.json new file mode 100644 index 0000000000000000000000000000000000000000..5a6ddbdeaba0b2b5b805d2b7c7f0e41bcaeaf51b --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/c4a259dc1139cea44a64d59453d32ca8.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.035, + "steps": 1149 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/cfcb0b08ce7db18fba2ef14e3337c69c.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/cfcb0b08ce7db18fba2ef14e3337c69c.json new file mode 100644 index 0000000000000000000000000000000000000000..532f29e69d5ed848d790db2ce670051eef1720d8 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/cfcb0b08ce7db18fba2ef14e3337c69c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1327, + "steps": 240 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/d458cf258c73a8c5e326b88ee299af29.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/d458cf258c73a8c5e326b88ee299af29.json new file mode 100644 index 0000000000000000000000000000000000000000..13c5b80b9a7e7f2e9af39c8f9481f81fbb27243e --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/d458cf258c73a8c5e326b88ee299af29.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.5189, + "steps": 517 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/ecd44ac349286d334751a465a5cff5c2.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/ecd44ac349286d334751a465a5cff5c2.json new file mode 100644 index 0000000000000000000000000000000000000000..968e9652f8765391e3918b35eaf7de524cc2f735 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/ecd44ac349286d334751a465a5cff5c2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.6816, + "steps": 695 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/f75bb0be87eb031e88d999b77f9192b5.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/f75bb0be87eb031e88d999b77f9192b5.json new file mode 100644 index 0000000000000000000000000000000000000000..a746afe63ab07a5ddb7ec3142eba12d0e89eec2d --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/f75bb0be87eb031e88d999b77f9192b5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0691, + "steps": 92 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/fa932219f75871937a0bf5a2463c35fa.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/fa932219f75871937a0bf5a2463c35fa.json new file mode 100644 index 0000000000000000000000000000000000000000..9bda2b4db98d84024a19ca7f30c0fc017244d196 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.0.session/cache/fa932219f75871937a0bf5a2463c35fa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0417, + "steps": 66 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct.res.oracle index 13f3d7def48d65c2d6945c2d8d50c3e48e6a97b7..e1033c3097e5418ab115e472bfebcf0f2f637bf1 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/struct.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/03e9d9aea4caaaea78ebc830b62d8073.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/03e9d9aea4caaaea78ebc830b62d8073.json new file mode 100644 index 0000000000000000000000000000000000000000..92f56cfa4f016b0c006b1e00553c7fcd03bf2bc7 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/03e9d9aea4caaaea78ebc830b62d8073.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.026, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/2df753a0bc45f4676e4c82cfa17ff8c2.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/2df753a0bc45f4676e4c82cfa17ff8c2.json new file mode 100644 index 0000000000000000000000000000000000000000..a06d4bf3508488a4638d707ca481452081bc3f17 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/2df753a0bc45f4676e4c82cfa17ff8c2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0291, + "steps": 24 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/b618ebdd987075885732173edc4f11fd.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/b618ebdd987075885732173edc4f11fd.json new file mode 100644 index 0000000000000000000000000000000000000000..71f56af4bee197bc39fddece8c9aa5a6010fa698 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/b618ebdd987075885732173edc4f11fd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0178, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/b6842d965f810481a95fe4d330575379.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/b6842d965f810481a95fe4d330575379.json new file mode 100644 index 0000000000000000000000000000000000000000..46c2543f4279eea8c7245249311972eda93cab89 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.0.session/cache/b6842d965f810481a95fe4d330575379.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0176, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.res.oracle index fdcbde2330850ff9a650eaec6caf4d70feafb0c0..e372635af1201315b88338298b4674d4044faeb2 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/struct_hack.i (no preprocessing) [kernel] tests/wp_plugin/struct_hack.i:46: Warning: parsing obsolete ACSL construct '\valid_range(addr,min,max)'. '\valid(addr+(min..max))' should be used instead. diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.0.session/cache/ef25e4fbee039799ba168684b032c1d6.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.0.session/cache/ef25e4fbee039799ba168684b032c1d6.json new file mode 100644 index 0000000000000000000000000000000000000000..1343e0b6ebfa177c282aa75fc9925a37875d3c20 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.0.session/cache/ef25e4fbee039799ba168684b032c1d6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0486, + "steps": 118 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.res.oracle index 87dc894abd202f89644685e3ccdb72c8042c452d..b9adc00779472dcb6c6b07e3e4bf43a0fa835bd9 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/subset.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset_fopen.0.session/cache/cb73f123a1cf6b187a7bd5666229a6c3.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset_fopen.0.session/cache/cb73f123a1cf6b187a7bd5666229a6c3.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset_fopen.0.session/cache/cb73f123a1cf6b187a7bd5666229a6c3.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset_fopen.0.session/cache/e8364b07184fcc0b90ff66af1cab0d63.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset_fopen.0.session/cache/e8364b07184fcc0b90ff66af1cab0d63.json new file mode 100644 index 0000000000000000000000000000000000000000..206f18bdc885a3e4ec9f8198dc6edec249f66d7e --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset_fopen.0.session/cache/e8364b07184fcc0b90ff66af1cab0d63.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0661, + "steps": 99 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset_fopen.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset_fopen.res.oracle index 26b6ff968acc1c8c7d6e0ff57e07e27a18383f4d..6c887c02728915d1e379da10f538f9d2e7f48253 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset_fopen.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset_fopen.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/subset_fopen.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.0.session/cache/9cac4e4c5ad2ba362cbff297e7e3f513.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.0.session/cache/9cac4e4c5ad2ba362cbff297e7e3f513.json new file mode 100644 index 0000000000000000000000000000000000000000..0247b16103980cc834a34269569b86a5c8f97c2e --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.0.session/cache/9cac4e4c5ad2ba362cbff297e7e3f513.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0239, + "steps": 47 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.0.session/cache/9fb4615e03fde8c0009bb7471774ef0b.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.0.session/cache/9fb4615e03fde8c0009bb7471774ef0b.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.0.session/cache/9fb4615e03fde8c0009bb7471774ef0b.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.0.session/cache/b357f70199b976ad18756d76b6b46f96.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.0.session/cache/b357f70199b976ad18756d76b6b46f96.json new file mode 100644 index 0000000000000000000000000000000000000000..1e886e9021d88e6e56b6c2ed750e1b4da7f46c9b --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.0.session/cache/b357f70199b976ad18756d76b6b46f96.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0242, + "steps": 44 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.res.oracle index acc077c487728454faf2e382a93d4f058533b8d9..e53872ad04a782f50d7e7d0a15550246fae5b5dc 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/trig.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unroll.0.session/script/typed_unrolled_loop_ensures_zero.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unroll.0.session/script/typed_unrolled_loop_ensures_zero.json new file mode 100644 index 0000000000000000000000000000000000000000..1c97c0efd6fc200100d43ffe2b726792238d7235 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unroll.0.session/script/typed_unrolled_loop_ensures_zero.json @@ -0,0 +1,54 @@ +[ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, + "select": { "select": "clause-goal", + "target": "(P_zeroed\n Mint_37[(shift_uint32 t_2 0)->0][(shift_uint32 t_2 1)->0]\n [(shift_uint32 t_2 2)->0][(shift_uint32 t_2 3)->0][(shift_uint32 t_2 4)\n ->0][(shift_uint32 t_2 5)->0][(shift_uint32 t_2 6)->0]\n [(shift_uint32 t_2 7)->0][(shift_uint32 t_2 8)->0][(shift_uint32 t_2 9)\n ->0][(shift_uint32 t_2 10)->0][(shift_uint32 t_2 11)->0]\n [(shift_uint32 t_2 12)->0][(shift_uint32 t_2 13)->0]\n [(shift_uint32 t_2 14)->0][(shift_uint32 t_2 15)->0] t_2 0 15)", + "pattern": "P_zeroed[=]$t015[=]shift_uint320" }, + "children": { "Unfold 'P_zeroed'": [ { "header": "Range", + "tactic": "Wp.range", + "params": { "inf": 0, "sup": 15 }, + "select": { "select": "inside-goal", + "occur": 0, + "target": "i_0", + "pattern": "$i" }, + "children": { "Lower 0": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 0": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 1": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 2": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 3": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 4": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 5": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 6": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 7": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 8": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 9": [ { "prover": "qed", + "verdict": "valid" } ], + "Value 10": + [ { "prover": "qed", + "verdict": "valid" } ], + "Value 11": + [ { "prover": "qed", + "verdict": "valid" } ], + "Value 12": + [ { "prover": "qed", + "verdict": "valid" } ], + "Value 13": + [ { "prover": "qed", + "verdict": "valid" } ], + "Value 14": + [ { "prover": "qed", + "verdict": "valid" } ], + "Value 15": + [ { "prover": "qed", + "verdict": "valid" } ], + "Upper 15": + [ { "prover": "qed", + "verdict": "valid" } ] } } ] } } ] diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unroll.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unroll.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c077b5a44c1a4c38af7d11b03e83cc6fa1917e77 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unroll.res.oracle @@ -0,0 +1,18 @@ +# frama-c -wp [...] +[kernel] Parsing tests/wp_plugin/unroll.i (no preprocessing) +[wp] Running WP plugin... +[wp] Loading driver 'share/wp.driver' +[wp] Warning: Missing RTE guards +[wp] tests/wp_plugin/unroll.i:20: Warning: + Missing assigns clause (assigns 'everything' instead) +[wp] 1 goal scheduled +[wp] [Tactical] Goal typed_unrolled_loop_ensures_zero : Valid +[wp] Proved goals: 1 / 1 + Qed: 0 + Script: 1 +[wp] Report in: 'tests/wp_plugin/oracle_qualif/unroll.0.report.json' +[wp] Report out: 'tests/wp_plugin/result_qualif/unroll.0.report.json' +------------------------------------------------------------- +Functions WP Alt-Ergo Total Success +unrolled_loop - - 1 100% +------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.0.session/cache/289db7d0541622b954c4cae7878c6f7b.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.0.session/cache/289db7d0541622b954c4cae7878c6f7b.json new file mode 100644 index 0000000000000000000000000000000000000000..30631ae5ea56eb89d80efc8be31df69010510ee1 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.0.session/cache/289db7d0541622b954c4cae7878c6f7b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0144, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.res.oracle index 81ae9d616c3ffd01a094c00b44111b4dad2b9a8a..61a5c555291a5cba3e8360456dc7325908eff2a1 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/unsafe-arrays.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.0.session/cache/19c802b07f6d4113a2f12322c0298dfe.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.0.session/cache/19c802b07f6d4113a2f12322c0298dfe.json new file mode 100644 index 0000000000000000000000000000000000000000..7ef0cdd8905c57df89274f5e451f4ccdb5336e64 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.0.session/cache/19c802b07f6d4113a2f12322c0298dfe.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0149, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.0.session/cache/66834a034e1789cc5e9adf1ea0729786.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.0.session/cache/66834a034e1789cc5e9adf1ea0729786.json new file mode 100644 index 0000000000000000000000000000000000000000..0b814035ff9f0b354f899fc3f09d215125f54372 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.0.session/cache/66834a034e1789cc5e9adf1ea0729786.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0153, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_plugin/unsigned/wp/typed/typed_lemma_U32.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.0.session/script/typed_lemma_U32.json similarity index 73% rename from src/plugins/wp/tests/wp_plugin/unsigned/wp/typed/typed_lemma_U32.json rename to src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.0.session/script/typed_lemma_U32.json index 6ec3b5e22a09d50b40d86436a02bf7fa99a22632..b077d283b8965ef5489eb3d01b88f7e41f14c7cc 100644 --- a/src/plugins/wp/tests/wp_plugin/unsigned/wp/typed/typed_lemma_U32.json +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.0.session/script/typed_lemma_U32.json @@ -8,21 +8,25 @@ "select": { "select": "clause-goal", "target": "(0<=x_0) /\\ (0<=(land 4294967295 x_0)) /\\ (x_0<=4294967295)", "pattern": "&<=<=<=0$x0land$x42949672954294967295" }, - "children": { "Goal 1/3": [ { "prover": "alt-ergo", + "children": { "Goal 1/3": [ { "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", - "time": 0.0087, - "steps": 7 } ], + "time": 0.0103, + "steps": 10 } ], "Goal 2/3": [ { "header": "Bit Range", "tactic": "Wp.bitrange", - "params": {}, + "params": + { "positive-land": true, + "positive-lor": true }, "select": { "select": "clause-goal", "target": "0<=(land 4294967295 x_0)", "pattern": "<=0land4294967295$x" }, - "children": {} } ], - "Goal 3/3": [ { "prover": "alt-ergo", + "children": + { "bit-range": + [ { "prover": "qed", + "verdict": "valid" } ] } } ], + "Goal 3/3": [ { "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", - "time": 0.0073, - "steps": 7 } ] } } ], - "bitwise": [ { "prover": "alt-ergo", "verdict": "valid", - "time": 0.0167, "steps": 10 } ] } } ] \ No newline at end of file + "time": 0.0105, + "steps": 10 } ] } } ], + "bitwise": [ { "prover": "qed", "verdict": "valid" } ] } } ] diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.res.oracle index 65756a3d261611f45290ed81b457928767c00b37..42aeee4e9a9e690d98379fdc278b77ba3b46149a 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsigned.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/unsigned.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.0.session/cache/863155426862d4055826840722d6b345.json b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.0.session/cache/863155426862d4055826840722d6b345.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.0.session/cache/863155426862d4055826840722d6b345.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.res.oracle index 8fa3b75a019bd11d31d5954436d43c7ebff7ec86..bd4a0fcd4acdcc479dfa27c686bb400cd8d1db58 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_plugin/unsupported_init.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_plugin/removed.i b/src/plugins/wp/tests/wp_plugin/removed.i index e865b65ae689e3fc680dfc6ff64320ce00d84e81..dadeb120b00dcd110e99dcd63b1eb270116346e2 100644 --- a/src/plugins/wp/tests/wp_plugin/removed.i +++ b/src/plugins/wp/tests/wp_plugin/removed.i @@ -1,5 +1,5 @@ /* run.config_qualif - CMD: @frama-c@ -wp-share ./share -wp-msg-key success-only -wp-par 1 -wp-timeout 100 -wp-steps 500 + CMD: @frama-c@ -wp-share ./share -wp-msg-key success-only -wp-par 1 -wp-session @PTEST_DIR@/oracle@PTEST_CONFIG@/@PTEST_NAME@.@PTEST_NUMBER@.session -wp-cache offline OPT: -eva -eva-msg-key=-summary -then -wp -then -no-eva -warn-unsigned-overflow -wp */ diff --git a/src/plugins/wp/tests/wp_plugin/sequence.i b/src/plugins/wp/tests/wp_plugin/sequence.i index cae97dbfe14a70367b02b2d71f1045a26ec1f6fb..5faaa939e50a2b3f54b985f7330716a676761a92 100644 --- a/src/plugins/wp/tests/wp_plugin/sequence.i +++ b/src/plugins/wp/tests/wp_plugin/sequence.i @@ -3,9 +3,9 @@ */ /* run.config_qualif - OPT: -wp -wp-model Caveat -wp-prover alt-ergo -wp-depth 16 -wp-prop="-ko" - OPT: -wp -wp-model Caveat -wp-prover why3:alt-ergo -wp-depth 16 -wp-prop="-ko,-bug_why3" - OPT: -wp -wp-model Caveat -wp-prover alt-ergo -wp-depth 16 -wp-prop="ko" -wp-steps 50 + OPT: -wp -wp-model Caveat -wp-prover alt-ergo -wp-prop="-ko" + OPT: -wp -wp-model Caveat -wp-prover why3:alt-ergo -wp-prop="-ko,-bug_why3" + OPT: -wp -wp-model Caveat -wp-prover alt-ergo -wp-prop="ko" -wp-steps 50 */ //@ ghost int call_seq; diff --git a/src/plugins/wp/tests/wp_plugin/trig.i b/src/plugins/wp/tests/wp_plugin/trig.i index 3ed3496557fdf88a2dededd8f4bc3ec7b5f02f0f..c97b9d6a18614969df4d5f71a7e43a3e3c9392d6 100644 --- a/src/plugins/wp/tests/wp_plugin/trig.i +++ b/src/plugins/wp/tests/wp_plugin/trig.i @@ -1,5 +1,8 @@ +/* run.config + STDOPT: +"-wp-no-extensional" +*/ /* run.config_qualif - OPT: -wp -wp-par 1 + OPT: -wp -wp-par 1 -wp-no-extensional */ typedef struct MSG { diff --git a/src/plugins/wp/tests/wp_plugin/unroll.i b/src/plugins/wp/tests/wp_plugin/unroll.i index 5ac917b0ddb23b34e0df8188e75e75a800e4a895..8e34f8f66edd7b4183b97299107d84c6b78c391c 100644 --- a/src/plugins/wp/tests/wp_plugin/unroll.i +++ b/src/plugins/wp/tests/wp_plugin/unroll.i @@ -1,9 +1,9 @@ /* run.config - OPT: -ulevel=1 -wp -wp-prop=@ensures -wp-prover script -session tests/wp_plugin/unroll -wp-msg-key no-time-info,no-step-info + OPT: -ulevel=1 -wp-prop=@ensures */ /* run.config_qualif - DONTRUN: + OPT: -ulevel=1 -wp-prop=@ensures -wp-prover script */ enum {Max = 16}; diff --git a/src/plugins/wp/tests/wp_plugin/unroll/wp/typed/typed_unrolled_loop_ensures_zero.json b/src/plugins/wp/tests/wp_plugin/unroll/wp/typed/typed_unrolled_loop_ensures_zero.json deleted file mode 100644 index c767fda61ee94a504729605165e8b9d103dfb719..0000000000000000000000000000000000000000 --- a/src/plugins/wp/tests/wp_plugin/unroll/wp/typed/typed_unrolled_loop_ensures_zero.json +++ /dev/null @@ -1,12 +0,0 @@ -[ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, - "select": { "select": "clause-goal", - "target": "(P_zeroed\n Mint_37[(shift_uint32 t_2 0)->0][(shift_uint32 t_2 1)->0]\n [(shift_uint32 t_2 2)->0][(shift_uint32 t_2 3)->0][(shift_uint32 t_2 4)\n ->0][(shift_uint32 t_2 5)->0][(shift_uint32 t_2 6)->0]\n [(shift_uint32 t_2 7)->0][(shift_uint32 t_2 8)->0][(shift_uint32 t_2 9)\n ->0][(shift_uint32 t_2 10)->0][(shift_uint32 t_2 11)->0]\n [(shift_uint32 t_2 12)->0][(shift_uint32 t_2 13)->0]\n [(shift_uint32 t_2 14)->0][(shift_uint32 t_2 15)->0] t_2 0 15)", - "pattern": "P_zeroed[=]$t015[=]shift_uint320" }, - "children": { "Unfold 'P_zeroed'": [ { "header": "Range", - "tactic": "Wp.range", - "params": { "inf": 0, "sup": 15 }, - "select": { "select": "inside-goal", - "occur": 0, - "target": "i_0", - "pattern": "$i" }, - "children": {} } ] } } ] \ No newline at end of file diff --git a/src/plugins/wp/tests/wp_plugin/unsigned.i b/src/plugins/wp/tests/wp_plugin/unsigned.i index 53b1efa1b8141219ec560df54259be1486ff3f5a..b48f75fbbc3d9925d4f25f00ca77f8d7a292c9b0 100644 --- a/src/plugins/wp/tests/wp_plugin/unsigned.i +++ b/src/plugins/wp/tests/wp_plugin/unsigned.i @@ -3,7 +3,7 @@ */ /* run.config_qualif - OPT: -session tests/wp_plugin/unsigned -wp-prover script + OPT: -wp-prover script */ /*@ diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/array1.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/array1.res.oracle index ae4ba09665432634a34bb6d57355e275d920078e..1104fba8da15783a9af200a808ac6497ae76452b 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/array1.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/array1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/array1.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/array2.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/array2.res.oracle index 706cdb3a6898370fe88c67a446ec33db7ace7158..abd77f2e04f52c9431005eba9996abb777f85bee 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/array2.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/array2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/array2.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/array3.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/array3.res.oracle index 7a7f5fcbf466a79931971b399833a98755bae764..ae12b744a10ff18184e3687712a0364d896970b2 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/array3.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/array3.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/array3.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/array4.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/array4.res.oracle index 0d95366316834c2093a29da8450568ce1df7c335..27b0fb5624bac6cc7269f18a84f1a3348a7383b6 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/array4.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/array4.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/array4.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/array5.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/array5.res.oracle index 1152e06d6604164710556e46c60a86e2eb01ddde..74acbbde6f5560d61df4c43cc7baba4d0e116147 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/array5.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/array5.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/array5.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/array6.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/array6.res.oracle index 03d9e29b2f52b7ca9efc0ea9b3c005e6ea06501b..5732e647753b6122c337e4a827b660523bc86dac 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/array6.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/array6.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/array6.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/array7.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/array7.res.oracle index 3a6de0e57296a853e21f216418d40ff38a2ad03a..ad26b6b026cda98aa9b737e6ef3cd7611e03425f 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/array7.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/array7.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/array7.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/array8.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/array8.res.oracle index cac771803ec01bc88482649689dd155f5c687c89..5c2c5ca7afbd0de1ce75a2dfd14c3c58439f80ad 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/array8.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/array8.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/array8.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/fb_ADD.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/fb_ADD.res.oracle index 4b1bcd98bd39564276562db9e2d6742471114bec..33eaf9d7ddab649bf56632e7581860c0c56b8199 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/fb_ADD.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/fb_ADD.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/fb_ADD.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/fb_SORT.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/fb_SORT.res.oracle index 826b3b2f53c5780529ca03a11006ac9bde7e48de..e0be524f223e42cf1d1eb2c30e56c4b1a4a4d8f7 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/fb_SORT.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/fb_SORT.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/fb_SORT.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/garbled.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/garbled.res.oracle index f6961a9a35b55d7470eeb53cbc327decaf337c66..8dd7d80af3d6ea1ea51b43be8c649d5ec4eb59e1 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/garbled.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/garbled.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/garbled.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/index.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/index.res.oracle index ec03e155263c624799e8e68baed0fe80d9c54736..af97d99c26e36511609936a5f386c9c3db1d3bfd 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/index.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/index.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/index.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/matrix.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/matrix.res.oracle index ce75c3c9f5c63dc5587c617581d560c4a62ced5b..ad21316f06b9e791d9f2f671e735f3e75d393aeb 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/matrix.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/matrix.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/matrix.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/structarray1.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/structarray1.res.oracle index 2633dbcd0bf60a39c00ddbb837277c04132f8241..8819e244467624ca0fb1b763841345d163a19e20 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/structarray1.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/structarray1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/structarray1.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/structarray2.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/structarray2.res.oracle index 44c2cc61a09034aaffccf4c01bd0d9ad0dee4ede..c416a3c4c89a8995e8cb82833a82132378d8bdcc 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/structarray2.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/structarray2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/structarray2.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/structarray3.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/structarray3.res.oracle index cde1a6633fa499ec6a1ed891ac29f0be02ae732e..12107fb88f51cc2db43a3ce9a9deab0d5674a3da 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/structarray3.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/structarray3.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/structarray3.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/structarray4.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/structarray4.res.oracle index 031031826b6cfae5ee1ac8bc0363fe03340e897a..4297af9bc0454c0ce34a3fce366f8ba47df91a34 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/structarray4.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/structarray4.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/structarray4.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_region/oracle_qualif/swap.res.oracle b/src/plugins/wp/tests/wp_region/oracle_qualif/swap.res.oracle index b01d0ae4b3e152b3b3654504ba8340df81a5e4b3..3d6f5d28f72214571ee58af943d1a7d6f2fbe3c6 100644 --- a/src/plugins/wp/tests/wp_region/oracle_qualif/swap.res.oracle +++ b/src/plugins/wp/tests/wp_region/oracle_qualif/swap.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_region/swap.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/array.res.oracle b/src/plugins/wp/tests/wp_store/oracle_qualif/array.res.oracle index 486277148c2b615ac8884661930b44f25fa8f070..688dc734ded0d204998132a54fd180a5385cce31 100644 --- a/src/plugins/wp/tests/wp_store/oracle_qualif/array.res.oracle +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/array.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_store/array.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/natural.res.oracle b/src/plugins/wp/tests/wp_store/oracle_qualif/natural.res.oracle index 4a6c59025d9d5eac465ef05f4729ba60f51023bb..df7d99285199c8506fdeb1d8aead575571546e80 100644 --- a/src/plugins/wp/tests/wp_store/oracle_qualif/natural.res.oracle +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/natural.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_store/natural.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.res.oracle b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.res.oracle index 4f2da7d33510743596cc85d000d7250dde13f9a1..308c618c46da5c2fc1d2ba33d2bbeda73c3c341f 100644 --- a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.res.oracle +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_store/nonaliasing.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.session/cache/1eacf7c3305a9cc892313ba746d6283c.json b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.session/cache/1eacf7c3305a9cc892313ba746d6283c.json new file mode 100644 index 0000000000000000000000000000000000000000..55bd8e1486c3c1f04ae504a49bd0cd2ce1fb8384 --- /dev/null +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.session/cache/1eacf7c3305a9cc892313ba746d6283c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0237, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.session/cache/5be6ae2606260e1c31e654d29333298b.json b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.session/cache/5be6ae2606260e1c31e654d29333298b.json new file mode 100644 index 0000000000000000000000000000000000000000..c9c137e6fe3aae679676187adf2a2815ce4a7c2c --- /dev/null +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.session/cache/5be6ae2606260e1c31e654d29333298b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0238, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.res.oracle b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.res.oracle index 244af382e0549870f08fbbd8a8959dedc8987a0a..359493b38c24ecff90aeac5f806afc645c613163 100644 --- a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.res.oracle +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 50 [...] +# frama-c -wp -wp-steps 50 [...] [kernel] Parsing tests/wp_store/nonaliasing.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.session/cache/339586df40fb4086fed3428656bab655.json b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.session/cache/339586df40fb4086fed3428656bab655.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.session/cache/339586df40fb4086fed3428656bab655.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.session/cache/fc10a843e258f1965ae63d31d71037ae.json b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.session/cache/fc10a843e258f1965ae63d31d71037ae.json new file mode 100644 index 0000000000000000000000000000000000000000..eb4b46e40ba2406227255ff986f8a819d0c84f60 --- /dev/null +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.session/cache/fc10a843e258f1965ae63d31d71037ae.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 50 } diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/struct.0.session/cache/0397215be1cc2dddcdf43bf1afd9ffe4.json b/src/plugins/wp/tests/wp_store/oracle_qualif/struct.0.session/cache/0397215be1cc2dddcdf43bf1afd9ffe4.json new file mode 100644 index 0000000000000000000000000000000000000000..37a7317f01bf64583e8f6b99bd73f938e4face03 --- /dev/null +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/struct.0.session/cache/0397215be1cc2dddcdf43bf1afd9ffe4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0284, + "steps": 36 } diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/struct.0.session/cache/64ebd3573ba64793b60c3a76b642f1bb.json b/src/plugins/wp/tests/wp_store/oracle_qualif/struct.0.session/cache/64ebd3573ba64793b60c3a76b642f1bb.json new file mode 100644 index 0000000000000000000000000000000000000000..145e39c98e309cec3f204c59208ccd520910b97d --- /dev/null +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/struct.0.session/cache/64ebd3573ba64793b60c3a76b642f1bb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0177, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/struct.res.oracle b/src/plugins/wp/tests/wp_store/oracle_qualif/struct.res.oracle index 162e249c284a25103bf26b39b83ed4aecd79fa96..02c96c873c8b9d70dd945e2c7951531a09814a2f 100644 --- a/src/plugins/wp/tests/wp_store/oracle_qualif/struct.res.oracle +++ b/src/plugins/wp/tests/wp_store/oracle_qualif/struct.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_store/struct.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_And.json b/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.0.session/script/typed_split_ensures_Goal_Exist_And.json similarity index 100% rename from src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_And.json rename to src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.0.session/script/typed_split_ensures_Goal_Exist_And.json diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_And_bis.json b/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.0.session/script/typed_split_ensures_Goal_Exist_And_bis.json similarity index 100% rename from src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_And_bis.json rename to src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.0.session/script/typed_split_ensures_Goal_Exist_And_bis.json diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_Or.json b/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.0.session/script/typed_split_ensures_Goal_Exist_Or.json similarity index 100% rename from src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_Or.json rename to src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.0.session/script/typed_split_ensures_Goal_Exist_Or.json diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Hyp_Forall_And.json b/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.0.session/script/typed_split_ensures_Hyp_Forall_And.json similarity index 100% rename from src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Hyp_Forall_And.json rename to src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.0.session/script/typed_split_ensures_Hyp_Forall_And.json diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Hyp_Forall_Or_bis.json b/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.0.session/script/typed_split_ensures_Hyp_Forall_Or_bis.json similarity index 100% rename from src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Hyp_Forall_Or_bis.json rename to src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.0.session/script/typed_split_ensures_Hyp_Forall_Or_bis.json diff --git a/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.res.oracle b/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.res.oracle index 4ebd433885c3414987c5b00fd15954cef872be65..a189a671dc8975ceed01fa53b61b5bc60867a5ca 100644 --- a/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.res.oracle +++ b/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_tip/tac_split_quantifiers.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers.i b/src/plugins/wp/tests/wp_tip/tac_split_quantifiers.i index 7f99eb527c97c356d2045d5feca4cae3817e82a5..7d6f12f66d12dcc3006b3c17fb5bc2a54bbc3c66 100644 --- a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers.i +++ b/src/plugins/wp/tests/wp_tip/tac_split_quantifiers.i @@ -3,7 +3,7 @@ */ /* run.config_qualif - OPT: -load-module tests/wp_tip/TacNOP.ml -wp -wp-par 1 -wp-prover script -session tests/wp_tip/tac_split_quantifiers + OPT: -load-module tests/wp_tip/TacNOP.ml -wp -wp-par 1 -wp-prover script */ diff --git a/src/plugins/wp/tests/wp_typed/oracle/user_collect.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/user_collect.0.res.oracle index 3cffa42e8e040b4345bc60b32441b78000ce204a..6d48fd7458959b16b42f491c3d96de5430bcf2cd 100644 --- a/src/plugins/wp/tests/wp_typed/oracle/user_collect.0.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle/user_collect.0.res.oracle @@ -50,7 +50,7 @@ Prove: x2_0 = v. ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 10) in 'job'' in 'caller' at call 'job' (file tests/wp_typed/user_collect.i, line 52) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 15) in 'job'' in 'caller' at call 'job' (file tests/wp_typed/user_collect.i, line 57) : Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8). } @@ -58,7 +58,7 @@ Prove: k <= 9. ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 10) in 'job'' in 'caller' at call 'job' (file tests/wp_typed/user_collect.i, line 53) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 15) in 'job'' in 'caller' at call 'job' (file tests/wp_typed/user_collect.i, line 58) : Let m = p[k <- v]. Assume { @@ -139,7 +139,7 @@ Prove: EqArray1_S1_S(10, m_1, m_2[k <- s2_0]). ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 21) in 'job2'' in 'caller2' at call 'job2' (file tests/wp_typed/user_collect.i, line 65) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 26) in 'job2'' in 'caller2' at call 'job2' (file tests/wp_typed/user_collect.i, line 70) : Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8). } @@ -147,7 +147,7 @@ Prove: k <= 9. ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 21) in 'job2'' in 'caller2' at call 'job2' (file tests/wp_typed/user_collect.i, line 66) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 26) in 'job2'' in 'caller2' at call 'job2' (file tests/wp_typed/user_collect.i, line 71) : Let m = q[k <- v]. Assume { @@ -228,7 +228,7 @@ Prove: EqArray1_S1_S(10, m_1, m_2[k <- s2_0]). ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 32) in 'job3'' in 'caller3' at call 'job3' (file tests/wp_typed/user_collect.i, line 78) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 37) in 'job3'' in 'caller3' at call 'job3' (file tests/wp_typed/user_collect.i, line 83) : Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8). } @@ -236,7 +236,7 @@ Prove: k <= 9. ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 32) in 'job3'' in 'caller3' at call 'job3' (file tests/wp_typed/user_collect.i, line 79) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 37) in 'job3'' in 'caller3' at call 'job3' (file tests/wp_typed/user_collect.i, line 84) : Let m = q[k <- v]. Assume { @@ -264,19 +264,19 @@ Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 13) in 'job' (1/3): +Goal Assigns (file tests/wp_typed/user_collect.i, line 18) in 'job' (1/3): Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 13) in 'job' (2/3): -Effect at line 17 +Goal Assigns (file tests/wp_typed/user_collect.i, line 18) in 'job' (2/3): +Effect at line 22 Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 13) in 'job' (3/3): -Effect at line 17 +Goal Assigns (file tests/wp_typed/user_collect.i, line 18) in 'job' (3/3): +Effect at line 22 Prove: true. ------------------------------------------------------------ @@ -294,19 +294,19 @@ Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 24) in 'job2' (1/3): +Goal Assigns (file tests/wp_typed/user_collect.i, line 29) in 'job2' (1/3): Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 24) in 'job2' (2/3): -Effect at line 28 +Goal Assigns (file tests/wp_typed/user_collect.i, line 29) in 'job2' (2/3): +Effect at line 33 Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 24) in 'job2' (3/3): -Effect at line 28 +Goal Assigns (file tests/wp_typed/user_collect.i, line 29) in 'job2' (3/3): +Effect at line 33 Prove: true. ------------------------------------------------------------ @@ -331,19 +331,19 @@ Prove: EqArray1_S1_S(10, m, q[k <- s]). ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 35) in 'job3' (1/3): +Goal Assigns (file tests/wp_typed/user_collect.i, line 40) in 'job3' (1/3): Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 35) in 'job3' (2/3): -Effect at line 39 +Goal Assigns (file tests/wp_typed/user_collect.i, line 40) in 'job3' (2/3): +Effect at line 44 Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 35) in 'job3' (3/3): -Effect at line 40 +Goal Assigns (file tests/wp_typed/user_collect.i, line 40) in 'job3' (3/3): +Effect at line 45 Prove: true. ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_typed/oracle/user_collect.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/user_collect.1.res.oracle index 96e426f2f4edc8d0e6362ad1ff416de949eb2784..b5584066b9c0b50d900d56a88a69db04ebd2d0cf 100644 --- a/src/plugins/wp/tests/wp_typed/oracle/user_collect.1.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle/user_collect.1.res.oracle @@ -50,7 +50,7 @@ Prove: x2_0 = v. ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 10) in 'job'' in 'caller' at call 'job' (file tests/wp_typed/user_collect.i, line 52) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 15) in 'job'' in 'caller' at call 'job' (file tests/wp_typed/user_collect.i, line 57) : Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8). } @@ -58,7 +58,7 @@ Prove: k <= 9. ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 10) in 'job'' in 'caller' at call 'job' (file tests/wp_typed/user_collect.i, line 53) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 15) in 'job'' in 'caller' at call 'job' (file tests/wp_typed/user_collect.i, line 58) : Let m = p[k <- v]. Assume { @@ -139,7 +139,7 @@ Prove: EqArray1_S1_S(10, m_1, m_2[k <- s2_0]). ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 21) in 'job2'' in 'caller2' at call 'job2' (file tests/wp_typed/user_collect.i, line 65) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 26) in 'job2'' in 'caller2' at call 'job2' (file tests/wp_typed/user_collect.i, line 70) : Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8). } @@ -147,7 +147,7 @@ Prove: k <= 9. ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 21) in 'job2'' in 'caller2' at call 'job2' (file tests/wp_typed/user_collect.i, line 66) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 26) in 'job2'' in 'caller2' at call 'job2' (file tests/wp_typed/user_collect.i, line 71) : Let m = q[k <- v]. Assume { @@ -228,7 +228,7 @@ Prove: EqArray1_S1_S(10, m_1, m_2[k <- s2_0]). ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 32) in 'job3'' in 'caller3' at call 'job3' (file tests/wp_typed/user_collect.i, line 78) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 37) in 'job3'' in 'caller3' at call 'job3' (file tests/wp_typed/user_collect.i, line 83) : Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8). } @@ -236,7 +236,7 @@ Prove: k <= 9. ------------------------------------------------------------ -Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 32) in 'job3'' in 'caller3' at call 'job3' (file tests/wp_typed/user_collect.i, line 79) +Goal Instance of 'Pre-condition (file tests/wp_typed/user_collect.i, line 37) in 'job3'' in 'caller3' at call 'job3' (file tests/wp_typed/user_collect.i, line 84) : Let m = q[k <- v]. Assume { @@ -264,19 +264,19 @@ Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 13) in 'job' (1/3): +Goal Assigns (file tests/wp_typed/user_collect.i, line 18) in 'job' (1/3): Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 13) in 'job' (2/3): -Effect at line 17 +Goal Assigns (file tests/wp_typed/user_collect.i, line 18) in 'job' (2/3): +Effect at line 22 Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 13) in 'job' (3/3): -Effect at line 17 +Goal Assigns (file tests/wp_typed/user_collect.i, line 18) in 'job' (3/3): +Effect at line 22 Prove: true. ------------------------------------------------------------ @@ -294,19 +294,19 @@ Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 24) in 'job2' (1/3): +Goal Assigns (file tests/wp_typed/user_collect.i, line 29) in 'job2' (1/3): Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 24) in 'job2' (2/3): -Effect at line 28 +Goal Assigns (file tests/wp_typed/user_collect.i, line 29) in 'job2' (2/3): +Effect at line 33 Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 24) in 'job2' (3/3): -Effect at line 28 +Goal Assigns (file tests/wp_typed/user_collect.i, line 29) in 'job2' (3/3): +Effect at line 33 Prove: true. ------------------------------------------------------------ @@ -331,19 +331,19 @@ Prove: EqArray1_S1_S(10, m, q[k <- s]). ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 35) in 'job3' (1/3): +Goal Assigns (file tests/wp_typed/user_collect.i, line 40) in 'job3' (1/3): Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 35) in 'job3' (2/3): -Effect at line 39 +Goal Assigns (file tests/wp_typed/user_collect.i, line 40) in 'job3' (2/3): +Effect at line 44 Prove: true. ------------------------------------------------------------ -Goal Assigns (file tests/wp_typed/user_collect.i, line 35) in 'job3' (3/3): -Effect at line 40 +Goal Assigns (file tests/wp_typed/user_collect.i, line 40) in 'job3' (3/3): +Effect at line 45 Prove: true. ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.res.oracle index d71cbec20ec2ba57e2f9136a547de6c412bd7bd7..bad51ba3f9b0a8390c505c2901f954fa7b516ae1 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/array_initialized.c (with preprocessing) [kernel] tests/wp_typed/array_initialized.c:13: Warning: Too many initializers for array g diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/55baf89709405ac3477a55d65a1f7437.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/55baf89709405ac3477a55d65a1f7437.json new file mode 100644 index 0000000000000000000000000000000000000000..034d730af184342a66689d4892b7ba8d719bbcf3 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/55baf89709405ac3477a55d65a1f7437.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0253, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/62b28c9aaf5071f95b892ef8ca5a3403.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/62b28c9aaf5071f95b892ef8ca5a3403.json new file mode 100644 index 0000000000000000000000000000000000000000..8d6b64f5baa458652c57e282b8a5ae51969aebf0 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/62b28c9aaf5071f95b892ef8ca5a3403.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0092, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/9c1dad50b414ee369fd69bc9d0573507.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/9c1dad50b414ee369fd69bc9d0573507.json new file mode 100644 index 0000000000000000000000000000000000000000..3860e30df867646cb91ece6df7ec206efa744955 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/9c1dad50b414ee369fd69bc9d0573507.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0282, + "steps": 41 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/d517f1ea6e30eb4409edb1685ab99e1b.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/d517f1ea6e30eb4409edb1685ab99e1b.json new file mode 100644 index 0000000000000000000000000000000000000000..94c0c7775e495f11e0587885c6bd494b2d882334 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.session/cache/d517f1ea6e30eb4409edb1685ab99e1b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0508, + "steps": 108 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.res.oracle index cef6997809a7e6090614430b8f86e44a7b92ebe1..1c4aad2918c041cddd328830e5399d8bf0eb5f8d 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/array_initialized.c (with preprocessing) [kernel] tests/wp_typed/array_initialized.c:13: Warning: Too many initializers for array g @@ -21,6 +21,6 @@ Functions WP Alt-Ergo Total Success main1 - 1 (8..20) 1 100% main2 - 1 (104..128) 1 100% main3 1 - 1 100% -main_pointer - 1 (52..64) 1 100% +main_pointer - 1 (44..56) 1 100% simpl - 1 (12..24) 1 100% ------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/0226c036aa5891898e194a949cb4bad8.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/0226c036aa5891898e194a949cb4bad8.json new file mode 100644 index 0000000000000000000000000000000000000000..a431f0b8510566265a88fe5ab5d383ce11228848 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/0226c036aa5891898e194a949cb4bad8.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.017, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/4c40e531b30c4cea3f1a55402ed96a2b.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/4c40e531b30c4cea3f1a55402ed96a2b.json new file mode 100644 index 0000000000000000000000000000000000000000..d0dd58c2329c933df58d6871eb2d569730ee9ab0 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/4c40e531b30c4cea3f1a55402ed96a2b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0229, + "steps": 48 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/55baf89709405ac3477a55d65a1f7437.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/55baf89709405ac3477a55d65a1f7437.json new file mode 100644 index 0000000000000000000000000000000000000000..dbcc2572ad7139b6777b855febb16b50df05c74d --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/55baf89709405ac3477a55d65a1f7437.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0233, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/cf4bc14ebc2273cf1f578315cec5298f.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/cf4bc14ebc2273cf1f578315cec5298f.json new file mode 100644 index 0000000000000000000000000000000000000000..6f0b014827b3167760a3cf4df57150b552df065d --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.session/cache/cf4bc14ebc2273cf1f578315cec5298f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0633, + "steps": 115 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/avar.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/avar.res.oracle index 882fd42aa67fcd60983696e0344edb2ea46445d1..a8932bccedf0b6a407165e0a8e2c9503a00e7593 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/avar.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/avar.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/avar.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/01b31a8d32606bc4d753764a4effdb69.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/01b31a8d32606bc4d753764a4effdb69.json new file mode 100644 index 0000000000000000000000000000000000000000..e5e4877929fd796d622d59436419aec751dc09ca --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/01b31a8d32606bc4d753764a4effdb69.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0223, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/350ab72a5631cc09a74f36f1df8e6ce6.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/350ab72a5631cc09a74f36f1df8e6ce6.json new file mode 100644 index 0000000000000000000000000000000000000000..31dc56889168960f0321bc0ecc00be042ddc62e9 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/350ab72a5631cc09a74f36f1df8e6ce6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0253, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/93a495c6aa514eeff83763085fe00a21.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/93a495c6aa514eeff83763085fe00a21.json new file mode 100644 index 0000000000000000000000000000000000000000..e4dd89a3b7e97f9f61144dbb72b4e0e8105d7675 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/93a495c6aa514eeff83763085fe00a21.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.023, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/ac04114d85a36676f0a72989d04ad0a7.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/ac04114d85a36676f0a72989d04ad0a7.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/ac04114d85a36676f0a72989d04ad0a7.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/b231ae79ea0fe869fda1ef72009e17f4.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/b231ae79ea0fe869fda1ef72009e17f4.json new file mode 100644 index 0000000000000000000000000000000000000000..afb817d5a0dfdc5dce034fb86fef45019a857cb4 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/b231ae79ea0fe869fda1ef72009e17f4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.023, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/c3302b7cff80d960e1fe9acbfedd37b2.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/c3302b7cff80d960e1fe9acbfedd37b2.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/c3302b7cff80d960e1fe9acbfedd37b2.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/df19ca38260e48624376dada84dccd43.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/df19ca38260e48624376dada84dccd43.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.0.session/cache/df19ca38260e48624376dada84dccd43.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.res.oracle index 68e665c137e8ce9a49a2d7ec9fd9b4a03662815a..de595eb78834b53baf22ad0a68a4f31a2565669e 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/cast_fits.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/cast_fits.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.0.session/cache/3fc118376c0d61686ee236278514e97e.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.0.session/cache/3fc118376c0d61686ee236278514e97e.json new file mode 100644 index 0000000000000000000000000000000000000000..92f56cfa4f016b0c006b1e00553c7fcd03bf2bc7 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.0.session/cache/3fc118376c0d61686ee236278514e97e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.026, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.0.session/cache/96ef4de15a302b15c8381191688def2f.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.0.session/cache/96ef4de15a302b15c8381191688def2f.json new file mode 100644 index 0000000000000000000000000000000000000000..670fe5e0743967555a640029d2e87f6b19a4722c --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.0.session/cache/96ef4de15a302b15c8381191688def2f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0223, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.0.session/cache/ea44c4fb1c9d9e05f845023195ef9af7.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.0.session/cache/ea44c4fb1c9d9e05f845023195ef9af7.json new file mode 100644 index 0000000000000000000000000000000000000000..0ea08aabaa95b4213c1c75ef43061da55814c4c4 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.0.session/cache/ea44c4fb1c9d9e05f845023195ef9af7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0226, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.res.oracle index a64bd492a48b533063f67a46bc620998aed335ea..7c6f289582ec1efb2896b844fa9bde729fba1a8c 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/shift_lemma.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/shift_lemma.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.0.session/cache/6d805359e3283381e46c2a08305c0c24.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.0.session/cache/6d805359e3283381e46c2a08305c0c24.json new file mode 100644 index 0000000000000000000000000000000000000000..cf0829bc518498af400dad64668fa6cc39debe7c --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.0.session/cache/6d805359e3283381e46c2a08305c0c24.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0145, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.res.oracle index 8549fbcc64f0223c9a9d18214fea174152e0a9e0..fc0bebfe6e6c32fb33b1bddea5e0bd791b6811ec 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/struct_array_type.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.res.oracle index e8a1ae26e730dcde8d49887a0b6c277f04a26475..33c30e5011ffb60e802f90a6349566f6a680d721 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_alloc.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.session/cache/231adc600de0d1f2c32a5a61a667816d.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.session/cache/231adc600de0d1f2c32a5a61a667816d.json new file mode 100644 index 0000000000000000000000000000000000000000..8dc8e398f4160c11c49363dd4c74a0252e3a5ec8 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.session/cache/231adc600de0d1f2c32a5a61a667816d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0194, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.session/cache/858923f594ba95cfa2a175bc579173e8.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.session/cache/858923f594ba95cfa2a175bc579173e8.json new file mode 100644 index 0000000000000000000000000000000000000000..b3a72b15fdf1995f8e3849f18611e56d7df6151b --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.session/cache/858923f594ba95cfa2a175bc579173e8.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0195, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.session/cache/f5a0ac770771c7dc02aed3d95f573fe5.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.session/cache/f5a0ac770771c7dc02aed3d95f573fe5.json new file mode 100644 index 0000000000000000000000000000000000000000..63fe64fe1e9240574f4978192769975b6a5c030c --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.session/cache/f5a0ac770771c7dc02aed3d95f573fe5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0175, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.res.oracle index d0235b8a0873f05cc47e5a026484c823e75a997d..44d2660eb212b4aa20727e4889cc47c4d161f358 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_typed/unit_alloc.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.session/cache/231adc600de0d1f2c32a5a61a667816d.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.session/cache/231adc600de0d1f2c32a5a61a667816d.json new file mode 100644 index 0000000000000000000000000000000000000000..315b9d286d3d3498aeb606a649c8b7bfbfeb7a3c --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.session/cache/231adc600de0d1f2c32a5a61a667816d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0153, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.session/cache/858923f594ba95cfa2a175bc579173e8.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.session/cache/858923f594ba95cfa2a175bc579173e8.json new file mode 100644 index 0000000000000000000000000000000000000000..d9cfb735843f773edbc65085a26454c94a43be8c --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.session/cache/858923f594ba95cfa2a175bc579173e8.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0199, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.session/cache/f5a0ac770771c7dc02aed3d95f573fe5.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.session/cache/f5a0ac770771c7dc02aed3d95f573fe5.json new file mode 100644 index 0000000000000000000000000000000000000000..9f8f32c4ec4b0f50e1d9a3b88d30df30a17115d1 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.session/cache/f5a0ac770771c7dc02aed3d95f573fe5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0272, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.res.oracle index 9a11fc16b0ced3efe537cda627bace6c888c54ea..84f7b84effb20be4db4da5bc3988605987046ef8 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_bitwise.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/004ac845ae4a785d4fdbb86120f0c314.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/004ac845ae4a785d4fdbb86120f0c314.json new file mode 100644 index 0000000000000000000000000000000000000000..056c200efc6061e07c3fe6702ed7aa754aea4215 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/004ac845ae4a785d4fdbb86120f0c314.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0312, + "steps": 38 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/1c32382179a4141d62bff5310e671fc0.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/1c32382179a4141d62bff5310e671fc0.json new file mode 100644 index 0000000000000000000000000000000000000000..4dfb994b110e3b105019744949b457628de5c9c6 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/1c32382179a4141d62bff5310e671fc0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0244, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/1f9de386423d1492664e876701348c9a.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/1f9de386423d1492664e876701348c9a.json new file mode 100644 index 0000000000000000000000000000000000000000..648945dab932690785c40d9169b3006f39adab56 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/1f9de386423d1492664e876701348c9a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0316, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/22cd352417dac14e9f1ae99c41abc82c.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/22cd352417dac14e9f1ae99c41abc82c.json new file mode 100644 index 0000000000000000000000000000000000000000..293a91f7cd9d97c026dfb72a3d334f5aa1e9aca4 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/22cd352417dac14e9f1ae99c41abc82c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0343, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/3c4a5ebcfee080a4e312b27642ccc507.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/3c4a5ebcfee080a4e312b27642ccc507.json new file mode 100644 index 0000000000000000000000000000000000000000..3e44e6509efd05e586134ba2977af05978f1fc0a --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/3c4a5ebcfee080a4e312b27642ccc507.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0345, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/3edc2498c4f9af53bc71844bf3b5decb.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/3edc2498c4f9af53bc71844bf3b5decb.json new file mode 100644 index 0000000000000000000000000000000000000000..a0d99fbabe96cd92843e837d11af076a5c7749d5 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/3edc2498c4f9af53bc71844bf3b5decb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0348, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/46a0d3c26a8bfd22eec332ddb17e9186.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/46a0d3c26a8bfd22eec332ddb17e9186.json new file mode 100644 index 0000000000000000000000000000000000000000..0eb3a35f5e4aeaeb5be73a7c3827f1f50da5f191 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/46a0d3c26a8bfd22eec332ddb17e9186.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0263, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/5f80dcc2503e3d496d272d363bac8ec9.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/5f80dcc2503e3d496d272d363bac8ec9.json new file mode 100644 index 0000000000000000000000000000000000000000..899fa237e54bae5e63a64149e7b41be46137d65a --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/5f80dcc2503e3d496d272d363bac8ec9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0332, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/6b3a0fabc8fff3e8340a114e8f2f8775.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/6b3a0fabc8fff3e8340a114e8f2f8775.json new file mode 100644 index 0000000000000000000000000000000000000000..7fa625754784d90299bf4e6ebdd30bf19139fdb0 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/6b3a0fabc8fff3e8340a114e8f2f8775.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0307, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/6b96b373a888d2ad22f6bbbded229fe7.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/6b96b373a888d2ad22f6bbbded229fe7.json new file mode 100644 index 0000000000000000000000000000000000000000..64d21ef98131aafb679c9b122eae9ff6f3a6977f --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/6b96b373a888d2ad22f6bbbded229fe7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0326, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/804ab2c0bc65ace18118a96bd3d80a72.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/804ab2c0bc65ace18118a96bd3d80a72.json new file mode 100644 index 0000000000000000000000000000000000000000..abb54c5891338e6423f8398727f9b94c29431d4f --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/804ab2c0bc65ace18118a96bd3d80a72.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0345, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/8e7c71f6dec836843a055e2ab3408816.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/8e7c71f6dec836843a055e2ab3408816.json new file mode 100644 index 0000000000000000000000000000000000000000..2358a8d8264628a696d7d916b3fae8c1ff14bd93 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/8e7c71f6dec836843a055e2ab3408816.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0213, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/90b79b6c24be599880dfa15b1a40a6d6.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/90b79b6c24be599880dfa15b1a40a6d6.json new file mode 100644 index 0000000000000000000000000000000000000000..21031e94bff29057e4578d6a70637ce56a9bfb99 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/90b79b6c24be599880dfa15b1a40a6d6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0267, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/9d8c715a87fa25adc41f169095de4869.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/9d8c715a87fa25adc41f169095de4869.json new file mode 100644 index 0000000000000000000000000000000000000000..73853c083e97b0c76950854e33afb151a4c8b054 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/9d8c715a87fa25adc41f169095de4869.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0212, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/9e4ea6fcbc2695bea58f3794a22c3c1e.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/9e4ea6fcbc2695bea58f3794a22c3c1e.json new file mode 100644 index 0000000000000000000000000000000000000000..b68cf3b458e47251dd6c8522fd1f1d8b19e248ee --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/9e4ea6fcbc2695bea58f3794a22c3c1e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0242, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/b173d1a75f5baa2eaa2e8450f7146d2e.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/b173d1a75f5baa2eaa2e8450f7146d2e.json new file mode 100644 index 0000000000000000000000000000000000000000..899fa237e54bae5e63a64149e7b41be46137d65a --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/b173d1a75f5baa2eaa2e8450f7146d2e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0332, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/b2047b599c8f9aa7acca4d4505be6502.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/b2047b599c8f9aa7acca4d4505be6502.json new file mode 100644 index 0000000000000000000000000000000000000000..2da17bcbb9ab67fc64c9fedeb72a4213cdd1f426 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/b2047b599c8f9aa7acca4d4505be6502.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0314, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/b706a11795e39a83472e7b7a00e99e63.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/b706a11795e39a83472e7b7a00e99e63.json new file mode 100644 index 0000000000000000000000000000000000000000..419ba2095fe46064f24c473dd8f453c93602bade --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/b706a11795e39a83472e7b7a00e99e63.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.018, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/ff5e3e7eb06476367c989b0161633549.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/ff5e3e7eb06476367c989b0161633549.json new file mode 100644 index 0000000000000000000000000000000000000000..c954795ac6c6cb3488d7bfb0dd2101a399cfa70e --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.session/cache/ff5e3e7eb06476367c989b0161633549.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.03, + "steps": 26 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.res.oracle index 1c1f801a70c0aef7706b91635e9980f12d0ad42a..f89e7bf6498769582592c7062cab02596f10c0db 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_bitwise.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/1dae8dc38cb748f9343ca0d69bb38c25.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/1dae8dc38cb748f9343ca0d69bb38c25.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/1dae8dc38cb748f9343ca0d69bb38c25.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/5945f10ed5fb50005716725df2ecbbab.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/5945f10ed5fb50005716725df2ecbbab.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/5945f10ed5fb50005716725df2ecbbab.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/7c08477b9cbcfb3078d09847c3f5f71c.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/7c08477b9cbcfb3078d09847c3f5f71c.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/7c08477b9cbcfb3078d09847c3f5f71c.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/e155aee6d2195fbd92c7782b9764f20a.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/e155aee6d2195fbd92c7782b9764f20a.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.session/cache/e155aee6d2195fbd92c7782b9764f20a.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_call.0.session/cache/51a2c8924a7c354c4e5f2843179b1d10.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_call.0.session/cache/51a2c8924a7c354c4e5f2843179b1d10.json new file mode 100644 index 0000000000000000000000000000000000000000..11402384260fa19f58ede4e4f2d5efb1b7f99d1c --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_call.0.session/cache/51a2c8924a7c354c4e5f2843179b1d10.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0133, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_call.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_call.res.oracle index eb02a84c8a14fa3e6d31e0ddf486444ea0387661..d9dd667a56392061d1021765053171ffecb610fc 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_call.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_call.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_call.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cast.0.session/cache/1acaacb2b2e244807c31b57b8cd645cc.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cast.0.session/cache/1acaacb2b2e244807c31b57b8cd645cc.json new file mode 100644 index 0000000000000000000000000000000000000000..cfb0beb3823d2e3e6c82d1bce59c88ef0572e0d0 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cast.0.session/cache/1acaacb2b2e244807c31b57b8cd645cc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0232, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cast.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cast.res.oracle index 92b3928c5f7c495dfaca780f50cf7aa6c684cd54..32cabdf891b34ee11803c54f24f23f9fb7d26c36 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cast.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cast.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_cast.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cst.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cst.res.oracle index 27195d8e897753d79f385a0f0d93f0ac540ec82a..4c071c988dc2273c396cf8dcb45305ce120b1771 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cst.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cst.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_cst.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_float.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_float.res.oracle index a636e612e81df564f9fdb164b7b7fb65284ba954..2b61ac101b76814dd56c7ad75e7c42d338d4e9c0 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_float.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_float.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed' [...] [kernel] Parsing tests/wp_typed/unit_float.i (no preprocessing) [kernel:parser:decimal-float] tests/wp_typed/unit_float.i:21: Warning: Floating-point constant 0.2 is not represented exactly. Will use 0x1.999999999999ap-3. diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.0.session/cache/807b3a99c3272409cea9ce5b5c1dc040.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.0.session/cache/807b3a99c3272409cea9ce5b5c1dc040.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.0.session/cache/807b3a99c3272409cea9ce5b5c1dc040.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.res.oracle index 5aab1b036220867e4957a2661cc10e3af6834eda..b5a6c46d069cd94900077f88522254a63e42798c 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_hard.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_ite.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_ite.res.oracle index 2f4749d9608805b97dd6e8b971da74397b22d839..176778cfcb43b6b114b21b8ee41cbb6bf62b18e7 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_ite.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_ite.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_ite.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.0.session/cache/06d4ef6a685a7aee45be22bae851588a.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.0.session/cache/06d4ef6a685a7aee45be22bae851588a.json new file mode 100644 index 0000000000000000000000000000000000000000..fb6a16787b63de13deadf4dacb132322ee64feb9 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.0.session/cache/06d4ef6a685a7aee45be22bae851588a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0223, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.0.session/cache/2960c76fc29a64d478b8ca3fe6d93430.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.0.session/cache/2960c76fc29a64d478b8ca3fe6d93430.json new file mode 100644 index 0000000000000000000000000000000000000000..7f23f62bdb3962d37bc094acba197426e2c9f193 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.0.session/cache/2960c76fc29a64d478b8ca3fe6d93430.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0208, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.0.session/cache/baec4d7980fe8e76cb398da63faaa0b4.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.0.session/cache/baec4d7980fe8e76cb398da63faaa0b4.json new file mode 100644 index 0000000000000000000000000000000000000000..319dc341532e50ec5878f3609d1514f836bcf800 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.0.session/cache/baec4d7980fe8e76cb398da63faaa0b4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0234, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.res.oracle index f83f7c8a48375e803b02f6705616b6c2a8580c76..6ff11cc1d5c227b5904f067522094e9e367ccd1a 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_labels.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/068e80340e8c40c1c577aba748dc1c92.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/068e80340e8c40c1c577aba748dc1c92.json new file mode 100644 index 0000000000000000000000000000000000000000..b27a3e96fbc06afbd41059a591043fc5a643ef01 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/068e80340e8c40c1c577aba748dc1c92.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0066, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/4840e191521173237ce2962142ae08c6.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/4840e191521173237ce2962142ae08c6.json new file mode 100644 index 0000000000000000000000000000000000000000..7fe6dc31a5ca77f1705459b79baca20580086b6a --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/4840e191521173237ce2962142ae08c6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0067, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/739ea0a07fdb15c217020db88cb899d6.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/739ea0a07fdb15c217020db88cb899d6.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/739ea0a07fdb15c217020db88cb899d6.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/cfa5b5bda4db07159e0a722d1ea3ddeb.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/cfa5b5bda4db07159e0a722d1ea3ddeb.json new file mode 100644 index 0000000000000000000000000000000000000000..58c026abe03dee98a5df5b18460b83f684eb71b6 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/cfa5b5bda4db07159e0a722d1ea3ddeb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0091, + "steps": 5 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/e363be29dbc13ae78d21c0ab0218ad5d.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/e363be29dbc13ae78d21c0ab0218ad5d.json new file mode 100644 index 0000000000000000000000000000000000000000..18103944d85534f61c5e573ed83d79115282c79e --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/e363be29dbc13ae78d21c0ab0218ad5d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0101, + "steps": 6 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/f9ca1daffc903faa8a9befb274be3d26.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/f9ca1daffc903faa8a9befb274be3d26.json new file mode 100644 index 0000000000000000000000000000000000000000..ca9a6ddbc0936e62871e465b06cfe1d8eb459ce5 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.0.session/cache/f9ca1daffc903faa8a9befb274be3d26.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.011, + "steps": 5 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.res.oracle index 34fd709d63e75cb42f6cf067203f23eef954f495..187ce05819653312a9a7e48b448da687af3d3398 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_lemma.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_lemma.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.res.oracle index 4a7acb218e3b2549ee7364e57b16a813ab2c921d..8ee86f601117d0b6f5ec0f74584de8b72ddcbe80 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_local.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.session/cache/6e5fd2ad22b7c9f54f64d91dae29dde1.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.session/cache/6e5fd2ad22b7c9f54f64d91dae29dde1.json new file mode 100644 index 0000000000000000000000000000000000000000..a1d2c02d47249878f319e3d7a8144c890341c81d --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.session/cache/6e5fd2ad22b7c9f54f64d91dae29dde1.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0132, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.res.oracle index 79cc1201f16b0bda52f918c96ed85a9cc83ebacc..f0b944bdbcce3e819d288fab774b68e286f2a58c 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Raw)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Raw)' [...] [kernel] Parsing tests/wp_typed/unit_local.c (with preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' @@ -14,6 +14,6 @@ [wp] Report out: 'tests/wp_typed/result_qualif/unit_local.1.report.json' ------------------------------------------------------------- Functions WP Alt-Ergo Total Success -foo - 2 (20..32) 2 100% +foo - 2 (16..28) 2 100% bar - 1 (16..28) 1 100% ------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.session/cache/80a38b049190d6b75796d20a3ff8a48a.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.session/cache/80a38b049190d6b75796d20a3ff8a48a.json new file mode 100644 index 0000000000000000000000000000000000000000..1bf231001e38adf7ebc94e98ca98c3cdeacc6ef6 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.session/cache/80a38b049190d6b75796d20a3ff8a48a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0177, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.session/cache/84b5fa3ae353adf589e77a910f9ec2c7.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.session/cache/84b5fa3ae353adf589e77a910f9ec2c7.json new file mode 100644 index 0000000000000000000000000000000000000000..0e971072e50cdb22a6c80731711fd66cc1183417 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.session/cache/84b5fa3ae353adf589e77a910f9ec2c7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0161, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.session/cache/fb83e2c25fded1d5e6cee517f4302fad.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.session/cache/fb83e2c25fded1d5e6cee517f4302fad.json new file mode 100644 index 0000000000000000000000000000000000000000..a3cf33ba24d366fd6acefba28dc414028eb4685f --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.session/cache/fb83e2c25fded1d5e6cee517f4302fad.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0157, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.res.oracle index bf3d6522ac99eebaa0ee7cc29f804e2a1afc5a6d..28cab47713a5fada2c6cd1e0bc71ece49bb732d6 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_loopscope.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.session/cache/c089c450772a3a0346e02bc1e798bdb0.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.session/cache/c089c450772a3a0346e02bc1e798bdb0.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.session/cache/c089c450772a3a0346e02bc1e798bdb0.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.res.oracle index 41ceb697fd285fee441129e068076ef172eba313..514db21cf01114521244bdfe6b8c5d2044851f73 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_typed/unit_loopscope.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.session/cache/2d7c06745f3753a4a8a87aab2a863efc.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.0.session/cache/18f592a6c7a637717dc4f838b22cc228.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.0.session/cache/18f592a6c7a637717dc4f838b22cc228.json new file mode 100644 index 0000000000000000000000000000000000000000..132b718eb29a38eb8c33e2ab760a9757fd853a61 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.0.session/cache/18f592a6c7a637717dc4f838b22cc228.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0095, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.0.session/cache/cc0d1ac6f6f59a78e04778f515e93997.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.0.session/cache/cc0d1ac6f6f59a78e04778f515e93997.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.0.session/cache/cc0d1ac6f6f59a78e04778f515e93997.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.res.oracle index 522383856688d3c27bbe7b00b750db0524a625e7..b4416b982a1dd792608361c339709e253b760492 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_matrix.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/3edeafeea0a17e8e0e359ecd8e5a5090.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/3edeafeea0a17e8e0e359ecd8e5a5090.json new file mode 100644 index 0000000000000000000000000000000000000000..6902cd10a7829ffd836d4a530650dd951420c58b --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/3edeafeea0a17e8e0e359ecd8e5a5090.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0491, + "steps": 70 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/4073bb68237268f1f8fb55a7493fe963.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/4073bb68237268f1f8fb55a7493fe963.json new file mode 100644 index 0000000000000000000000000000000000000000..6f02dbcdcf4b9187452db0c838d5dd06da97d4a2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/4073bb68237268f1f8fb55a7493fe963.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0374, + "steps": 62 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/6a171da02d906e7eeb564bbf61683223.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/6a171da02d906e7eeb564bbf61683223.json new file mode 100644 index 0000000000000000000000000000000000000000..039758e772299c967fa797060c3b0c652b5e4e11 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/6a171da02d906e7eeb564bbf61683223.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0246, + "steps": 34 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/6ab91892d1fc5574e862b9592b5b0898.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/6ab91892d1fc5574e862b9592b5b0898.json new file mode 100644 index 0000000000000000000000000000000000000000..1b47b3201c879db3aec209fb8d11f6be8303b500 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/6ab91892d1fc5574e862b9592b5b0898.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0512, + "steps": 79 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/763383182ae33cdadbc4d0c8c7d84061.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/763383182ae33cdadbc4d0c8c7d84061.json new file mode 100644 index 0000000000000000000000000000000000000000..1fa8724e90d9507840e8f35f8f9aec2f083dd373 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/763383182ae33cdadbc4d0c8c7d84061.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0355, + "steps": 59 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/b29cf8d3f11583cabff01ab730386006.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/b29cf8d3f11583cabff01ab730386006.json new file mode 100644 index 0000000000000000000000000000000000000000..fa4226bb76851cc797c852bf46ebd9ec9fc6d0e9 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.0.session/cache/b29cf8d3f11583cabff01ab730386006.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0395, + "steps": 62 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.res.oracle index a8a5e99ca4c6c0a93a87800b9ed35ac84401c48d..05965e3ea997380d09ef2291cd261f20b328a747 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_string.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_string.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_tset.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_tset.res.oracle index b9b2d0e9c263b7afd666dee898b4db2c6b3cd038..2a0fe19ec722ceb8859414da5a182fe138e4bed9 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_tset.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_tset.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/unit_tset.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.res.oracle index b3c763edb42b9d083a39c28e18b6e075d7b9f32b..5408bc35bad4021aa374eb7030e56e0cc1d5dfcf 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_typed/user_bitwise.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' @@ -23,10 +23,10 @@ [wp] Report out: 'tests/wp_typed/result_qualif/user_bitwise.0.report.json' ------------------------------------------------------------- Functions WP Alt-Ergo Total Success -rl1 1 1 (48..60) 2 100% -rr1 - 2 (44..56) 2 100% -rln32 - 2 (96..120) 2 100% -rrn32 - 2 (96..120) 2 100% -rln64 - 2 (96..120) 2 100% -rrn64 - 2 (96..120) 2 100% +rl1 1 1 (52..64) 2 100% +rr1 - 2 (52..64) 2 100% +rln32 - 2 (64..88) 2 100% +rrn32 - 2 (64..88) 2 100% +rln64 - 2 (64..88) 2 100% +rrn64 - 2 (64..88) 2 100% ------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/2a99efd40d5dc72611e4194c15952930.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/2a99efd40d5dc72611e4194c15952930.json new file mode 100644 index 0000000000000000000000000000000000000000..0865306572b25c5b1ea8e9ad9c8a8e216494d41d --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/2a99efd40d5dc72611e4194c15952930.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0335, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/71e00f8738f2f0572b0f7356c68b6d4e.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/71e00f8738f2f0572b0f7356c68b6d4e.json new file mode 100644 index 0000000000000000000000000000000000000000..8fa32ae6697044b61cc0457ec2f81adad7d4a64a --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/71e00f8738f2f0572b0f7356c68b6d4e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0629, + "steps": 68 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/766a0e00f67af30922ebda94d841073e.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/766a0e00f67af30922ebda94d841073e.json new file mode 100644 index 0000000000000000000000000000000000000000..8c8e1f15543eab05b76a1ea9a896966a8add9980 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/766a0e00f67af30922ebda94d841073e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0778, + "steps": 73 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/7b72b0d78e1465aa092ec6718f7dba34.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/7b72b0d78e1465aa092ec6718f7dba34.json new file mode 100644 index 0000000000000000000000000000000000000000..8cb5e07cb0ac127a0f7e3883bfa08aed4c53b798 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/7b72b0d78e1465aa092ec6718f7dba34.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0674, + "steps": 72 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/9835ec6ee6e0aa525508f2538c4fe771.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/9835ec6ee6e0aa525508f2538c4fe771.json new file mode 100644 index 0000000000000000000000000000000000000000..aaf63f5c7b526cccb70db64440259591d1378a1d --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/9835ec6ee6e0aa525508f2538c4fe771.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0617, + "steps": 68 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/a78463f0759de4a4c64f6463d5ee4fa4.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/a78463f0759de4a4c64f6463d5ee4fa4.json new file mode 100644 index 0000000000000000000000000000000000000000..244d9f61f8fe35f9f845954956aa52d58244dafb --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/a78463f0759de4a4c64f6463d5ee4fa4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0767, + "steps": 73 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/c532c9d58425e86864eab87cb87852c4.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/c532c9d58425e86864eab87cb87852c4.json new file mode 100644 index 0000000000000000000000000000000000000000..18a3c55ffacbf8ca78ba07c73b0412b71ea48b3a --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/c532c9d58425e86864eab87cb87852c4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.042, + "steps": 67 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/c987f056b7a00d97c82cee451e558d5e.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/c987f056b7a00d97c82cee451e558d5e.json new file mode 100644 index 0000000000000000000000000000000000000000..13617c6d2f77b1cd8b29f204075c503fb6d20695 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/c987f056b7a00d97c82cee451e558d5e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0717, + "steps": 72 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/cfc22935dd8816750938954336b944d8.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/cfc22935dd8816750938954336b944d8.json new file mode 100644 index 0000000000000000000000000000000000000000..6e22251b02cdb7c25c10f7e8fb7f2c870de78ccb --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/cfc22935dd8816750938954336b944d8.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.049, + "steps": 58 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/e1cf4931c611c331b5828398e1f0f9ea.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/e1cf4931c611c331b5828398e1f0f9ea.json new file mode 100644 index 0000000000000000000000000000000000000000..528ae03a14f7eee27ca0b5f5fd9ea8771f75f509 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/e1cf4931c611c331b5828398e1f0f9ea.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0629, + "steps": 67 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/f2e288c6ba3fc74ec5ba8e7052418211.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/f2e288c6ba3fc74ec5ba8e7052418211.json new file mode 100644 index 0000000000000000000000000000000000000000..9113829bfcfd985d7e7186c5495a57b4fbb1edf9 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.session/cache/f2e288c6ba3fc74ec5ba8e7052418211.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0504, + "steps": 56 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.1.res.oracle index d63ff2f336b20473ea1dea71b2b7933d8f4e7883..edcc63f630692b4347e34264dd672acd68d90ae1 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.1.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_typed/user_bitwise.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/1e1971aba9e213a3834fd0075f0d16f2.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/1e1971aba9e213a3834fd0075f0d16f2.json new file mode 100644 index 0000000000000000000000000000000000000000..3e4b6bf8774b0e52ab5ebdb4582573673230b46e --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/1e1971aba9e213a3834fd0075f0d16f2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0128, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/36d1d613dcd28dbff9027bd624d9f1ea.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/36d1d613dcd28dbff9027bd624d9f1ea.json new file mode 100644 index 0000000000000000000000000000000000000000..a72db10971051bc0d8e233180b9e7c19b624f92b --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/36d1d613dcd28dbff9027bd624d9f1ea.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0141, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/3db08a4ec3b1c26942faf4fef0c7c7dd.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/3db08a4ec3b1c26942faf4fef0c7c7dd.json new file mode 100644 index 0000000000000000000000000000000000000000..4ff7dbe572a574cb8e2a9a6c1ac852471037ed1e --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/3db08a4ec3b1c26942faf4fef0c7c7dd.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0174, + "steps": 37 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/6063796664ffb4fa4f35179577f25d88.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/6063796664ffb4fa4f35179577f25d88.json new file mode 100644 index 0000000000000000000000000000000000000000..afc56f4778895914d7667bffb4965fdd4a8b1691 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/6063796664ffb4fa4f35179577f25d88.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0119, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/950ad2561e5a99afcab1ec9cac18f07d.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/950ad2561e5a99afcab1ec9cac18f07d.json new file mode 100644 index 0000000000000000000000000000000000000000..12d0111b621ad64943100579057e794eea93a03a --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/950ad2561e5a99afcab1ec9cac18f07d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0277, + "steps": 39 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/ac50150b93111355c0d052553c80aead.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/ac50150b93111355c0d052553c80aead.json new file mode 100644 index 0000000000000000000000000000000000000000..1349489d4aa3997a0024baffc99d385c6bdcbdcb --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/ac50150b93111355c0d052553c80aead.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0245, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/bb874fe07e3ace324494b9fb02ec1462.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/bb874fe07e3ace324494b9fb02ec1462.json new file mode 100644 index 0000000000000000000000000000000000000000..5471530895d08ab159d24f422c90a54aa497e704 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/bb874fe07e3ace324494b9fb02ec1462.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0369, + "steps": 49 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/c16210fcd8fef3377492b4e49810d049.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/c16210fcd8fef3377492b4e49810d049.json new file mode 100644 index 0000000000000000000000000000000000000000..e4cfe9298105491592d708fc3ed12b878f670b67 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/c16210fcd8fef3377492b4e49810d049.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0265, + "steps": 37 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/e9df85a8bbbb031ff7f9d5f56814a985.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/e9df85a8bbbb031ff7f9d5f56814a985.json new file mode 100644 index 0000000000000000000000000000000000000000..c2662945268f2896cda63a185ca4dd01dc006d24 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.0.session/cache/e9df85a8bbbb031ff7f9d5f56814a985.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0315, + "steps": 50 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.res.oracle index 0322e3c7950cf5ee16c2c09f28818897e17ee24b..4aaf43770a3a55096891adaf170819eec7683580 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/user_collect.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.res.oracle index 549deb2265ca02a630d5e7a9d8cd5eecfd658186..f6b7811bc5a255b6b10447860ee65b864b8be065 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/user_init.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/17ffcbe3e6038146194ef1fdae892a6f.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/17ffcbe3e6038146194ef1fdae892a6f.json new file mode 100644 index 0000000000000000000000000000000000000000..2d41bc2c1160a9b9176370e89a21017750a7ddaa --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/17ffcbe3e6038146194ef1fdae892a6f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.019, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/1a6f29802546cccc3383f2f3b5d85520.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/1a6f29802546cccc3383f2f3b5d85520.json new file mode 100644 index 0000000000000000000000000000000000000000..135b41795c421800ebcd34bb3d976dfcc10eb1f7 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/1a6f29802546cccc3383f2f3b5d85520.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0254, + "steps": 24 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/1e8cf3361abc3e40c7b69eaefb0bee8e.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/1e8cf3361abc3e40c7b69eaefb0bee8e.json new file mode 100644 index 0000000000000000000000000000000000000000..2bbf8a2683dc525e770751cb76b48ac99c0c77d5 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/1e8cf3361abc3e40c7b69eaefb0bee8e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0208, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/228d52b71b2541eaaa93dd42fe5db1d4.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/228d52b71b2541eaaa93dd42fe5db1d4.json new file mode 100644 index 0000000000000000000000000000000000000000..3a8de80e0709fd7665be4f86de1b89cbd2b15223 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/228d52b71b2541eaaa93dd42fe5db1d4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0107, + "steps": 8 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/2e2f38c80c32abeeee80bd2772efd1c3.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/2e2f38c80c32abeeee80bd2772efd1c3.json new file mode 100644 index 0000000000000000000000000000000000000000..22a94416cb115d8934334b753fbfc383f6fdcf7c --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/2e2f38c80c32abeeee80bd2772efd1c3.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0168, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/3257bc02a1b4c4c0a054c65060bbb397.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/3257bc02a1b4c4c0a054c65060bbb397.json new file mode 100644 index 0000000000000000000000000000000000000000..edd9d608a03085efcf75c11e8c3c7d7d00d46a25 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/3257bc02a1b4c4c0a054c65060bbb397.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0233, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/4188555c4f042616866d63828ff5b2e5.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/4188555c4f042616866d63828ff5b2e5.json new file mode 100644 index 0000000000000000000000000000000000000000..9f172318c5ba18ad4f95bb9fd205167796592982 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/4188555c4f042616866d63828ff5b2e5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0212, + "steps": 36 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/47cd09489b3e50fba17f77b299ccaa12.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/47cd09489b3e50fba17f77b299ccaa12.json new file mode 100644 index 0000000000000000000000000000000000000000..5e1ca335796c6189256561080facffdf1cd06af6 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/47cd09489b3e50fba17f77b299ccaa12.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0256, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/4843af752a0384e05880a83b28c17a62.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/4843af752a0384e05880a83b28c17a62.json new file mode 100644 index 0000000000000000000000000000000000000000..73b90641a4e9478c732da624300dec38cefe8a60 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/4843af752a0384e05880a83b28c17a62.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0116, + "steps": 8 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/4f26762cc8a7431a2d798305a934b0b7.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/4f26762cc8a7431a2d798305a934b0b7.json new file mode 100644 index 0000000000000000000000000000000000000000..4ee838a562f0751c1543a70ad1508f89055b8b51 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/4f26762cc8a7431a2d798305a934b0b7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.2135, + "steps": 195 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/56fc7f213e10ad404cc0057de958a129.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/56fc7f213e10ad404cc0057de958a129.json new file mode 100644 index 0000000000000000000000000000000000000000..f16e94edeb43cd083ee8ed530a3eab61f41383a0 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/56fc7f213e10ad404cc0057de958a129.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0184, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/5a23d2fe56c6d03db907785acbfa66b4.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/5a23d2fe56c6d03db907785acbfa66b4.json new file mode 100644 index 0000000000000000000000000000000000000000..ff39a0fb8e4911d0f0cdca2e9682c3596f3b0979 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/5a23d2fe56c6d03db907785acbfa66b4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.2206, + "steps": 193 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/5d2128c35440220613e84b0e3693ed94.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/5d2128c35440220613e84b0e3693ed94.json new file mode 100644 index 0000000000000000000000000000000000000000..042fcfad99971685e75c7db9fc036876222fe21a --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/5d2128c35440220613e84b0e3693ed94.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0243, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/5da1562233ff52d4105c487410aad5f2.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/5da1562233ff52d4105c487410aad5f2.json new file mode 100644 index 0000000000000000000000000000000000000000..3ac895068823b76132789e0c909ffae853d83ffb --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/5da1562233ff52d4105c487410aad5f2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0187, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/6339633fc0069471c27d0dbc6e00f234.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/6339633fc0069471c27d0dbc6e00f234.json new file mode 100644 index 0000000000000000000000000000000000000000..74c808bb8b4086d5609ef2bf368115416fa9d046 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/6339633fc0069471c27d0dbc6e00f234.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0308, + "steps": 35 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/63936350508172f3a502497159f09d1d.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/63936350508172f3a502497159f09d1d.json new file mode 100644 index 0000000000000000000000000000000000000000..a483c0382cad4e55e74d86d44be29690d92fe1cb --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/63936350508172f3a502497159f09d1d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0166, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/65aaa0d0a807cda430e0edb1b315a27e.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/65aaa0d0a807cda430e0edb1b315a27e.json new file mode 100644 index 0000000000000000000000000000000000000000..e06608958f095283f96ded4f117f4df559dfd3b0 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/65aaa0d0a807cda430e0edb1b315a27e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0123, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/6b66ec30e1510c30a4a50320f9ce8915.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/6b66ec30e1510c30a4a50320f9ce8915.json new file mode 100644 index 0000000000000000000000000000000000000000..9909f699af2e47f8a90a923ff58e83ebee1cc056 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/6b66ec30e1510c30a4a50320f9ce8915.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0174, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/6cebd2665383563c8d6f79868895551a.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/6cebd2665383563c8d6f79868895551a.json new file mode 100644 index 0000000000000000000000000000000000000000..c78cd697100705c497fd7fcb5db2d2685f807c78 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/6cebd2665383563c8d6f79868895551a.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0213, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/72307f01c14b926050adf0e387958166.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/72307f01c14b926050adf0e387958166.json new file mode 100644 index 0000000000000000000000000000000000000000..75fce7352d1075d45f32468df283e40bc51b034b --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/72307f01c14b926050adf0e387958166.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0245, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/72f3565cf594cefa13d49fa68fbc55a6.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/72f3565cf594cefa13d49fa68fbc55a6.json new file mode 100644 index 0000000000000000000000000000000000000000..d457b6634a71487212025ea4c9feb9eb572b3d04 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/72f3565cf594cefa13d49fa68fbc55a6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0119, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/759b4f86531e161fd97b974d6e254585.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/759b4f86531e161fd97b974d6e254585.json new file mode 100644 index 0000000000000000000000000000000000000000..de4170e9392c822d947052248f3fb74f1d66b1be --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/759b4f86531e161fd97b974d6e254585.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0294, + "steps": 36 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/7958e2d72644d464557344ca48f74b69.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/7958e2d72644d464557344ca48f74b69.json new file mode 100644 index 0000000000000000000000000000000000000000..79dbe6246b2d1f04faf902aff7fddad26a86b9d8 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/7958e2d72644d464557344ca48f74b69.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0161, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/80f119c647a7d44e844fb264e7de715b.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/80f119c647a7d44e844fb264e7de715b.json new file mode 100644 index 0000000000000000000000000000000000000000..aaeb734a0befb8858d27d161c755743b6ce76ab0 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/80f119c647a7d44e844fb264e7de715b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0163, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/82dd09e758b61ed5e37c805feee4b424.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/82dd09e758b61ed5e37c805feee4b424.json new file mode 100644 index 0000000000000000000000000000000000000000..17d5732e112de12f550dcdbc5749dd2c81f1daed --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/82dd09e758b61ed5e37c805feee4b424.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0247, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/9300d7aafc1b4a8b042fbd06f29ca7f2.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/9300d7aafc1b4a8b042fbd06f29ca7f2.json new file mode 100644 index 0000000000000000000000000000000000000000..807c41c5c6309486cf8303f5639479f5bfbba17a --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/9300d7aafc1b4a8b042fbd06f29ca7f2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0214, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/a8972f010edd0a69f963e59097a090c9.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/a8972f010edd0a69f963e59097a090c9.json new file mode 100644 index 0000000000000000000000000000000000000000..77ebe4529a84bf1b9e93a417ce8a75e1964417c9 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/a8972f010edd0a69f963e59097a090c9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0392, + "steps": 54 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/a96c9d5e0977498703591925319a2fe2.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/a96c9d5e0977498703591925319a2fe2.json new file mode 100644 index 0000000000000000000000000000000000000000..ad6182f9ae5b72e9efa6479cbc0c993a40cf190b --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/a96c9d5e0977498703591925319a2fe2.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.016, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/ab9758d98109ead2b00b740b739cbea7.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/ab9758d98109ead2b00b740b739cbea7.json new file mode 100644 index 0000000000000000000000000000000000000000..c95c26de92b178b12b07df4f78acdb832a3fc7ab --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/ab9758d98109ead2b00b740b739cbea7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0154, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/be587dbd7143b1c7ce2d0963783d63e6.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/be587dbd7143b1c7ce2d0963783d63e6.json new file mode 100644 index 0000000000000000000000000000000000000000..d084c88c1eb528488460dec8a00db61420f00dc2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/be587dbd7143b1c7ce2d0963783d63e6.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.04, + "steps": 42 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/c3e01e58641965407c42021976235616.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/c3e01e58641965407c42021976235616.json new file mode 100644 index 0000000000000000000000000000000000000000..f438058886ccce8352a18bd20008f326377d9978 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/c3e01e58641965407c42021976235616.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0278, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/cc6ae51c4577487698ea0ca6d031b200.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/cc6ae51c4577487698ea0ca6d031b200.json new file mode 100644 index 0000000000000000000000000000000000000000..67b9cbd1d1265b40be9ca3da204c1cbe5cf65448 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/cc6ae51c4577487698ea0ca6d031b200.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0274, + "steps": 28 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/d4df5778b285c01494d5f780cbcbea22.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/d4df5778b285c01494d5f780cbcbea22.json new file mode 100644 index 0000000000000000000000000000000000000000..87f69595c0bfeb06b0d86b805e997ceb98240b88 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/d4df5778b285c01494d5f780cbcbea22.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0186, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/dc1be4b07122fbb25abc778b0dc17a78.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/dc1be4b07122fbb25abc778b0dc17a78.json new file mode 100644 index 0000000000000000000000000000000000000000..b7d2634b96312992cd955c7bc59727001f8cf937 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/dc1be4b07122fbb25abc778b0dc17a78.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0167, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/e35aa9db4b874c1ab88a964e7bccd040.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/e35aa9db4b874c1ab88a964e7bccd040.json new file mode 100644 index 0000000000000000000000000000000000000000..202e53debb34d7a277eda32e3aba4dee156d4d4c --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/e35aa9db4b874c1ab88a964e7bccd040.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0249, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/ed2dbebf05c2807c5acdbe5c8e76f346.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/ed2dbebf05c2807c5acdbe5c8e76f346.json new file mode 100644 index 0000000000000000000000000000000000000000..eb99aed3a29e366f197d13f0f36a2ae0403491ce --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/ed2dbebf05c2807c5acdbe5c8e76f346.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0319, + "steps": 36 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/f98305c0ceedf164df38d274061bf4f8.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/f98305c0ceedf164df38d274061bf4f8.json new file mode 100644 index 0000000000000000000000000000000000000000..786ba6c4e87db2dfbae253e6cdcff83405d2e545 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/f98305c0ceedf164df38d274061bf4f8.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0443, + "steps": 56 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/faa56ce35a5497aae0306357d671727c.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/faa56ce35a5497aae0306357d671727c.json new file mode 100644 index 0000000000000000000000000000000000000000..1221da03762ad520587c8721336cc2b7017d70f4 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/faa56ce35a5497aae0306357d671727c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0158, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/fd21a301bed246119d512f8722bebe30.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/fd21a301bed246119d512f8722bebe30.json new file mode 100644 index 0000000000000000000000000000000000000000..b7491299aa49898aeb50f92ea5113f0e09e6c3a1 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/fd21a301bed246119d512f8722bebe30.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0128, + "steps": 13 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/fd87cc7cce7bb9d33ea6b15c17320c14.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/fd87cc7cce7bb9d33ea6b15c17320c14.json new file mode 100644 index 0000000000000000000000000000000000000000..336fe69141b3de17d78e26d1b32102c84a881a19 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.0.session/cache/fd87cc7cce7bb9d33ea6b15c17320c14.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0165, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.res.oracle index 60c38cd4360789439d93bed382ab118266e4ddee..678587ce0a19a84b0c6aec70c4db00d43b169252 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/user_init.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' @@ -10,8 +10,6 @@ [wp] Warning: Missing RTE guards [wp] 23 goals scheduled [wp] [Qed] Goal typed_init_t2_bis_v2_loop_assigns_part1 : Valid -[wp] Warning: creating session directory `tests/wp_typed/result_qualif/user_init-session-1' -[wp] Warning: creating session directory `tests/wp_typed/result_qualif/user_init-session-1/wp' [wp] [Tactical] Goal typed_init_t2_bis_v2_loop_assigns_part2 : Valid [wp] [Tactical] Goal typed_init_t2_bis_v2_loop_assigns_part3 : Valid [wp] [Tactical] Goal typed_init_t2_bis_v2_assigns_exit_part1 : Valid @@ -38,7 +36,6 @@ Qed: 11 Script: 12 Alt-Ergo 2.0.0: 0 (unsuccess: 12) -[wp] Updated session with 12 new valid scripts. [wp] Report in: 'tests/wp_typed/oracle_qualif/user_init.1.report.json' [wp] Report out: 'tests/wp_typed/result_qualif/user_init.1.report.json' ------------------------------------------------------------- diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/057dadfe08269b073b5fdb3f99f0cf54.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/057dadfe08269b073b5fdb3f99f0cf54.json new file mode 100644 index 0000000000000000000000000000000000000000..2641cfc16411e023724b3ff2fd7fea9d62b941fd --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/057dadfe08269b073b5fdb3f99f0cf54.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0194, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/0c3b278c42bf147df2e97f708aad39c7.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/0c3b278c42bf147df2e97f708aad39c7.json new file mode 100644 index 0000000000000000000000000000000000000000..8fe835d83d3c41e7bb748c188f241bea47874cb1 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/0c3b278c42bf147df2e97f708aad39c7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.015, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/158fd2c31ad9f3fb8884cdb74df5281d.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/158fd2c31ad9f3fb8884cdb74df5281d.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/158fd2c31ad9f3fb8884cdb74df5281d.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/1980519d8a76496098382d14d534dadf.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/1980519d8a76496098382d14d534dadf.json new file mode 100644 index 0000000000000000000000000000000000000000..d4dbaaf180c49bba46e82fe885651a3c85274d5a --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/1980519d8a76496098382d14d534dadf.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0122, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/1da9df6b30b87e2c91aec83169ce811f.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/1da9df6b30b87e2c91aec83169ce811f.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/1da9df6b30b87e2c91aec83169ce811f.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/1f309a1d5a32893ca637697bc07011bc.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/1f309a1d5a32893ca637697bc07011bc.json new file mode 100644 index 0000000000000000000000000000000000000000..63704f20a281a4b35de94ca0cdca96353a3e0758 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/1f309a1d5a32893ca637697bc07011bc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0214, + "steps": 24 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/224a90add7284f0760379d53a02297d5.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/224a90add7284f0760379d53a02297d5.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/224a90add7284f0760379d53a02297d5.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/2b41b08d1284872f477fb2388e8800eb.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/2b41b08d1284872f477fb2388e8800eb.json new file mode 100644 index 0000000000000000000000000000000000000000..cf47b7ac6983aead0acb94aec46fe9cf5d67993f --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/2b41b08d1284872f477fb2388e8800eb.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.021, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/2f1f28ca445ed465b0ae929f90868b82.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/2f1f28ca445ed465b0ae929f90868b82.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/2f1f28ca445ed465b0ae929f90868b82.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/5a0077053c40e3064cc4d801008327cf.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/5a0077053c40e3064cc4d801008327cf.json new file mode 100644 index 0000000000000000000000000000000000000000..ee59ad18fd3ffff962f4ae19fa42f2b6cef854df --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/5a0077053c40e3064cc4d801008327cf.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0209, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/6d3a184c57d19bf5bec185cdd9a32977.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/6d3a184c57d19bf5bec185cdd9a32977.json new file mode 100644 index 0000000000000000000000000000000000000000..355773d8cbc5928daab5f9c6b8356918283034fe --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/6d3a184c57d19bf5bec185cdd9a32977.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0188, + "steps": 12 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/83c1ab76624d77e68e878b15ed852b50.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/83c1ab76624d77e68e878b15ed852b50.json new file mode 100644 index 0000000000000000000000000000000000000000..193e5c53bbf817044979addc89f1a5fee041fb10 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/83c1ab76624d77e68e878b15ed852b50.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0101, + "steps": 11 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/856ef6dc0590c047b1d3652564226902.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/856ef6dc0590c047b1d3652564226902.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/856ef6dc0590c047b1d3652564226902.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/95cc8276bbb11044a4e3b015c9ee9b87.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/95cc8276bbb11044a4e3b015c9ee9b87.json new file mode 100644 index 0000000000000000000000000000000000000000..0e397c08c6e102dc8f7fa2e4411738f55c22403c --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/95cc8276bbb11044a4e3b015c9ee9b87.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0244, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/96284b720d44be9937917112595ce737.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/96284b720d44be9937917112595ce737.json new file mode 100644 index 0000000000000000000000000000000000000000..0612fec612b3d368f8f36c8d2aeeac8ff4231d6f --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/96284b720d44be9937917112595ce737.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0279, + "steps": 28 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/999ef60012010d43899a9a6ec6b500fc.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/999ef60012010d43899a9a6ec6b500fc.json new file mode 100644 index 0000000000000000000000000000000000000000..d82a6e5dfae97d8b927814af017e915b26f81093 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/999ef60012010d43899a9a6ec6b500fc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0184, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/9dd4bd5439992f8110255fc40cb80f3c.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/9dd4bd5439992f8110255fc40cb80f3c.json new file mode 100644 index 0000000000000000000000000000000000000000..5f31bae436051b4a7cdb72b14163c9521690eb8d --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/9dd4bd5439992f8110255fc40cb80f3c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0136, + "steps": 23 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/9e42bdda7b75ea04a21390c1cd79e94e.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/9e42bdda7b75ea04a21390c1cd79e94e.json new file mode 100644 index 0000000000000000000000000000000000000000..5e5a7cc120f62286931126541cbd5d9a16f3b1cf --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/9e42bdda7b75ea04a21390c1cd79e94e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0099, + "steps": 9 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/9f720bd2b7cbd3d3b6184708001e37f5.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/9f720bd2b7cbd3d3b6184708001e37f5.json new file mode 100644 index 0000000000000000000000000000000000000000..e483fd134e95abb93f8130df05af799dfa0fef9f --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/9f720bd2b7cbd3d3b6184708001e37f5.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0203, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/a899e157a4902c73770f124eeb3cd657.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/a899e157a4902c73770f124eeb3cd657.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/a899e157a4902c73770f124eeb3cd657.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/b05e910de5694eeeeb4ee951e4aed6dc.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/b05e910de5694eeeeb4ee951e4aed6dc.json new file mode 100644 index 0000000000000000000000000000000000000000..7b221755d1f1b8d718dbb1a776eec480e9b54cec --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/b05e910de5694eeeeb4ee951e4aed6dc.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0256, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/ba3dea951634b8bd7a5ca1f8baaa7eb0.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/ba3dea951634b8bd7a5ca1f8baaa7eb0.json new file mode 100644 index 0000000000000000000000000000000000000000..11d7362192b774b90e4bfd4142597919d7e8f5fd --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/ba3dea951634b8bd7a5ca1f8baaa7eb0.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0216, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/bff645c52a42a68ca1b84c1494fd1b13.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/bff645c52a42a68ca1b84c1494fd1b13.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/bff645c52a42a68ca1b84c1494fd1b13.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/d3665f048a98e8dab4915d8a84bd23b2.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/d3665f048a98e8dab4915d8a84bd23b2.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/d3665f048a98e8dab4915d8a84bd23b2.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/e492dc27edeac355abd81970ee07192c.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/e492dc27edeac355abd81970ee07192c.json new file mode 100644 index 0000000000000000000000000000000000000000..0dd4d70dcc79b8d12345ddf84aa9d9be8fc1de34 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/e492dc27edeac355abd81970ee07192c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0143, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/e7d62ff8b93e37d744c6408bed5962da.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/e7d62ff8b93e37d744c6408bed5962da.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/e7d62ff8b93e37d744c6408bed5962da.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/ed30e9104b38b725fca6f73bf271db4d.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/ed30e9104b38b725fca6f73bf271db4d.json new file mode 100644 index 0000000000000000000000000000000000000000..196d264f5b17663d7789d7705fc3e8ad8c23b654 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.1.session/cache/ed30e9104b38b725fca6f73bf271db4d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0235, + "steps": 27 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.res.oracle index 18f10ef164aa265909e5d14ab325151a51bcc1c1..5d0066fd74ea0aa5b4912e279a74880b4d099271 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 300 [...] +# frama-c -wp -wp-steps 300 [...] [kernel] Parsing tests/wp_typed/user_init.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/0100435d7eb5d5f3110823d4de973a7c.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/0100435d7eb5d5f3110823d4de973a7c.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/0100435d7eb5d5f3110823d4de973a7c.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/0f79a147b89c832850e713eac0d64ca3.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/0f79a147b89c832850e713eac0d64ca3.json new file mode 100644 index 0000000000000000000000000000000000000000..37c0342c50cdc2b8adf67053406b23274b4d9fdb --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/0f79a147b89c832850e713eac0d64ca3.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 300 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/158946c941f7cb0d7f4adad7b651c5a9.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/158946c941f7cb0d7f4adad7b651c5a9.json new file mode 100644 index 0000000000000000000000000000000000000000..37c0342c50cdc2b8adf67053406b23274b4d9fdb --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/158946c941f7cb0d7f4adad7b651c5a9.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "stepout", "steps": 300 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/17ca2e9a9e791668d493c5c26273b252.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/17ca2e9a9e791668d493c5c26273b252.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/17ca2e9a9e791668d493c5c26273b252.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/557f9df490c1ca5f511f15e95f2409d4.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/557f9df490c1ca5f511f15e95f2409d4.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/557f9df490c1ca5f511f15e95f2409d4.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/caeaed7ca3a14a3a5355de6317aff0cd.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/caeaed7ca3a14a3a5355de6317aff0cd.json new file mode 100644 index 0000000000000000000000000000000000000000..b71cf46c25577306988cdea7c77bcf2823613073 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/caeaed7ca3a14a3a5355de6317aff0cd.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "unknown" } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/d4d47565b23f563ed61355cca7c19925.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/d4d47565b23f563ed61355cca7c19925.json new file mode 100644 index 0000000000000000000000000000000000000000..16d19ceb388989d8142fd2c2a7248345ad165cd2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.2.session/cache/d4d47565b23f563ed61355cca7c19925.json @@ -0,0 +1 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "timeout", "time": 10. } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.0.res.oracle index c2358598c8dac977ca56732dbbc43083349748b1..c8197b04ff7f89006fdb9f02dfeb7869d967f3ac 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.0.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/user_injector.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.1.res.oracle index 347c74e839d0aaaf9da291d6e7ee87fedb65ba17..aefa32d0a90bfe3dd2c0c2081463ea3a9038f084 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.1.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_typed/user_injector.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/207326109c96065385229899bf6e8c06.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/207326109c96065385229899bf6e8c06.json new file mode 100644 index 0000000000000000000000000000000000000000..a6379a2180c61845201daf01917aa8bb35c281f2 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/207326109c96065385229899bf6e8c06.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0173, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/5016883671521c9b689c126ca9d08888.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/5016883671521c9b689c126ca9d08888.json new file mode 100644 index 0000000000000000000000000000000000000000..f1f2b690a352553f893a311c25df1dc25442c9cf --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/5016883671521c9b689c126ca9d08888.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0159, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/55046db71906c1c748d41dbb0ca37184.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/55046db71906c1c748d41dbb0ca37184.json new file mode 100644 index 0000000000000000000000000000000000000000..2d02e832877d05d1bce3db0060e66ca6368c1628 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/55046db71906c1c748d41dbb0ca37184.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0183, + "steps": 15 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/6015a9ab731f106ae004ce0d86d123ef.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/6015a9ab731f106ae004ce0d86d123ef.json new file mode 100644 index 0000000000000000000000000000000000000000..549a24c52b05267fa6501bfc8dcf91466260e677 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/6015a9ab731f106ae004ce0d86d123ef.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0185, + "steps": 24 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/618c7efb305ce296bbbe05979547f4fa.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/618c7efb305ce296bbbe05979547f4fa.json new file mode 100644 index 0000000000000000000000000000000000000000..a28d809e25fa0e68feade87c00fa04941f3d5de3 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/618c7efb305ce296bbbe05979547f4fa.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0185, + "steps": 19 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/792e50cc7d21272b1e7001dd6c4dcd38.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/792e50cc7d21272b1e7001dd6c4dcd38.json new file mode 100644 index 0000000000000000000000000000000000000000..79cc1c642d4364fc528c317f8a30ddfd089af7f4 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/792e50cc7d21272b1e7001dd6c4dcd38.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.01, + "steps": 7 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/7e9ea7a08d3ac877fda2e5a31a718b6e.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/7e9ea7a08d3ac877fda2e5a31a718b6e.json new file mode 100644 index 0000000000000000000000000000000000000000..1b8c51ffd506f89d82b94c42aeaaaf19295b7f74 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/7e9ea7a08d3ac877fda2e5a31a718b6e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.2956, + "steps": 71 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/939f4f5607ea882e81415960715edb2b.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/939f4f5607ea882e81415960715edb2b.json new file mode 100644 index 0000000000000000000000000000000000000000..22b038d0574d47cf0b12fb2c725e0412f39e7dd4 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/939f4f5607ea882e81415960715edb2b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0162, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/aa84c6434886d4c88317bf14f38e87a7.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/aa84c6434886d4c88317bf14f38e87a7.json new file mode 100644 index 0000000000000000000000000000000000000000..37987222a51d663bb4c7cefdf67461aef85600b4 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/aa84c6434886d4c88317bf14f38e87a7.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0151, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/b5f39dd55d1fe0185583a4d7f9432e90.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/b5f39dd55d1fe0185583a4d7f9432e90.json new file mode 100644 index 0000000000000000000000000000000000000000..7944645312e3115ade74cc12d4f98c4d3e589c1b --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/b5f39dd55d1fe0185583a4d7f9432e90.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0975, + "steps": 61 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/c0abf618f311dc2132c4f217858f5dc4.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/c0abf618f311dc2132c4f217858f5dc4.json new file mode 100644 index 0000000000000000000000000000000000000000..b8f141ac85cf7ef8589547eccd9c57d289a6c17b --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/c0abf618f311dc2132c4f217858f5dc4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0152, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/c316400f931e0d4c6b9c98c176caf5ba.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/c316400f931e0d4c6b9c98c176caf5ba.json new file mode 100644 index 0000000000000000000000000000000000000000..7bfaf22b3475bf1b296d3fbf8346afd68d1ac619 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/c316400f931e0d4c6b9c98c176caf5ba.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.016, + "steps": 10 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/d3b49ce61e9215ada7a98791ca384dae.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/d3b49ce61e9215ada7a98791ca384dae.json new file mode 100644 index 0000000000000000000000000000000000000000..acc9ec5504daff3486b17553d6480e3a25ed3298 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/d3b49ce61e9215ada7a98791ca384dae.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0144, + "steps": 8 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/ea71a5e55707a127b54654938f0eb56f.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/ea71a5e55707a127b54654938f0eb56f.json new file mode 100644 index 0000000000000000000000000000000000000000..4cde49f20a2244a08eda7254b5562bfd4f4f0362 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.0.session/cache/ea71a5e55707a127b54654938f0eb56f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0164, + "steps": 16 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.res.oracle index 004a6b35b205717689bc86109b9de4f063ad1b3b..b3cc0003566606d2217a47c75ced6a0afaf1aeb7 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/user_rec.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/318af641ec03fdd0322dd08dccac35c4.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/318af641ec03fdd0322dd08dccac35c4.json new file mode 100644 index 0000000000000000000000000000000000000000..5844ebd6a82930c255046d9a94ff56c64a7ae8c8 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/318af641ec03fdd0322dd08dccac35c4.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0278, + "steps": 46 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/47a0c213ac046fed137967f11715854c.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/47a0c213ac046fed137967f11715854c.json new file mode 100644 index 0000000000000000000000000000000000000000..0b0e31815901d19df3767bdb3a67df6d6f74dce4 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/47a0c213ac046fed137967f11715854c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0335, + "steps": 49 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/4b07f4b8b92a2f5950e483bd650d046b.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/4b07f4b8b92a2f5950e483bd650d046b.json new file mode 100644 index 0000000000000000000000000000000000000000..872fb61f73140db36b8b5790d8e286cd74d1d952 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/4b07f4b8b92a2f5950e483bd650d046b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0718, + "steps": 128 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/d5d8241a0f94158a0f4c457ef4668e89.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/d5d8241a0f94158a0f4c457ef4668e89.json new file mode 100644 index 0000000000000000000000000000000000000000..d8c68d0deaafb7e588b2c31c0b85eb4d928b7f27 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/d5d8241a0f94158a0f4c457ef4668e89.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0435, + "steps": 58 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/d78a3cf05e7f40c234f06683281536ab.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/d78a3cf05e7f40c234f06683281536ab.json new file mode 100644 index 0000000000000000000000000000000000000000..4033b2920bb87ac1fca7c5a038b470290eaed3ab --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.0.session/cache/d78a3cf05e7f40c234f06683281536ab.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0289, + "steps": 34 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.res.oracle index 68f3ed824c653e6c755c6b4d67475adbaa43f8c6..0689081a4c3db7848d65b23c4e193fcd905ba59e 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/user_string.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.res.oracle index 260b1c3252fe37060e6a22c09ec6e994caafdc81..a8f54d19ca9e4071ef9e9095718f97ecaaf2f6fa 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_typed/user_swap.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.session/cache/f04b8466b45644e5c7e745a6d56137ca.json b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.session/cache/f04b8466b45644e5c7e745a6d56137ca.json new file mode 100644 index 0000000000000000000000000000000000000000..09389263f2beac9857a699b7367bc5852de93c77 --- /dev/null +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.session/cache/f04b8466b45644e5c7e745a6d56137ca.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0222, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.1.res.oracle index bf1b70d2492d61d3b56ff8ba8ede0613df47cd52..7b634d3983825d2378a9829a75692476ae6337fb 100644 --- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.1.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Ref)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Ref)' [...] [kernel] Parsing tests/wp_typed/user_swap.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_typed/user_collect.i b/src/plugins/wp/tests/wp_typed/user_collect.i index 00a0248cc748181aa415ad4de217b83003f73139..1c445567ee939c2779e961943c8d32116fd9b67f 100644 --- a/src/plugins/wp/tests/wp_typed/user_collect.i +++ b/src/plugins/wp/tests/wp_typed/user_collect.i @@ -1,4 +1,9 @@ - +/* run.config + STDOPT: +"-wp-no-extensional" +*/ +/* run.config_qualif + STDOPT: +"-wp-no-extensional" +*/ int k ; int p[10] ; diff --git a/src/plugins/wp/tests/wp_typed/user_init.i b/src/plugins/wp/tests/wp_typed/user_init.i index a34d4664bb4cdb7cdbe9e5738e75b0b78a2a5de0..a22e23c5afc69423bfbf574d37c64794359eb442 100644 --- a/src/plugins/wp/tests/wp_typed/user_init.i +++ b/src/plugins/wp/tests/wp_typed/user_init.i @@ -1,7 +1,7 @@ /* run.config_qualif - EXECNOW: rm -rf @PTEST_DIR@/result@PTEST_CONFIG@/@PTEST_NAME@-session-1/ + EXECNOW: rm -rf @PTEST_DIR@/oracle@PTEST_CONFIG@/@PTEST_NAME@.1.session/script OPT: -wp-prop=-lack,-tactic - OPT: -wp-prop=tactic -wp-auto=wp:split -session @PTEST_DIR@/result@PTEST_CONFIG@/@PTEST_NAME@-session-@PTEST_NUMBER@ + OPT: -wp-prop=tactic -wp-auto=wp:split OPT: -wp-prop=lack -wp-steps 300 */ /*@ requires \valid(a+(0..n-1)) ; diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.0.session/cache/80f6701d0f80b164f372e92eff639c54.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.0.session/cache/80f6701d0f80b164f372e92eff639c54.json new file mode 100644 index 0000000000000000000000000000000000000000..bf92a9289b09c93ba4c2e8756bb9042bdd3f8d6b --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.0.session/cache/80f6701d0f80b164f372e92eff639c54.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0149, + "steps": 17 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.0.session/cache/ba6ce636da22fa507f53e0946883c712.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.0.session/cache/ba6ce636da22fa507f53e0946883c712.json new file mode 100644 index 0000000000000000000000000000000000000000..c6ef2b0614c521a7e19282cda530ffbf2d5eed7d --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.0.session/cache/ba6ce636da22fa507f53e0946883c712.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.025, + "steps": 21 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.0.session/cache/eceb5a78bf7fdc3bd9778841c5280885.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.0.session/cache/eceb5a78bf7fdc3bd9778841c5280885.json new file mode 100644 index 0000000000000000000000000000000000000000..d250d6af1d33f56149b39313d45ffbda5f543a51 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.0.session/cache/eceb5a78bf7fdc3bd9778841c5280885.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0232, + "steps": 24 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.res.oracle b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.res.oracle index 0d5c1cdfb0c6883ac44538cdad5380421deedbed..4993df34f430d10e46b869d26ea9107392ba0309 100644 --- a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.res.oracle +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Caveat)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Caveat)' [...] [kernel] Parsing tests/wp_usage/caveat2.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/61be9475652004f8c05d1ea28f06fa09.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/61be9475652004f8c05d1ea28f06fa09.json new file mode 100644 index 0000000000000000000000000000000000000000..2b5f5d48342be07321a6778b2aeeb65d1334f768 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/61be9475652004f8c05d1ea28f06fa09.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0241, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/ae856774bc866a2144d8ffd2d286403f.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/ae856774bc866a2144d8ffd2d286403f.json new file mode 100644 index 0000000000000000000000000000000000000000..6b815a653c3758e61ce3f1314fae101ca65299e6 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/ae856774bc866a2144d8ffd2d286403f.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0491, + "steps": 48 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/c2a508f6e1261d3b62db019669a4950d.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/c2a508f6e1261d3b62db019669a4950d.json new file mode 100644 index 0000000000000000000000000000000000000000..89c3c81ffb97d8c2cd28e28ee953df2fe0bcf1eb --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/c2a508f6e1261d3b62db019669a4950d.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0258, + "steps": 20 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/ca384e03c7946b821ae8da538e1f6623.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/ca384e03c7946b821ae8da538e1f6623.json new file mode 100644 index 0000000000000000000000000000000000000000..d033e3f28cdb85de4369e3b4d0589ededfde6e81 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/ca384e03c7946b821ae8da538e1f6623.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0187, + "steps": 14 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/dc427c170a23ffc4f55bc2c62e565f39.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/dc427c170a23ffc4f55bc2c62e565f39.json new file mode 100644 index 0000000000000000000000000000000000000000..ccb17ede4c918d69af7ffb97a3a5db99e38124f8 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.0.session/cache/dc427c170a23ffc4f55bc2c62e565f39.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0318, + "steps": 28 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.res.oracle b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.res.oracle index c210cf13b65355cca9e05876537e49ed8252fd4e..5b69c867545a814e366b0dcba77c76fb53337df3 100644 --- a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.res.oracle +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-model 'Typed (Caveat)' -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp -wp-model 'Typed (Caveat)' [...] [kernel] Parsing tests/wp_usage/caveat_range.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.res.oracle b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.res.oracle index f85eb21dbeeba87fc2361e09cf7d60ea92258ee8..b0661cf032828930c048a589750451ae7ea2de11 100644 --- a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.res.oracle +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_usage/issue-189-bis.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/00e94c6d1cb55703ffda9fab29b813b9.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/00e94c6d1cb55703ffda9fab29b813b9.json new file mode 100644 index 0000000000000000000000000000000000000000..e8399131b5f36d3352c1d2e378cd03e5e82cf1cd --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/00e94c6d1cb55703ffda9fab29b813b9.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0679, + "steps": 104 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/0bd1df0d0b2e1f1f6c86a11c4e3e7667.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/0bd1df0d0b2e1f1f6c86a11c4e3e7667.json new file mode 100644 index 0000000000000000000000000000000000000000..1b5f7e32a16226f3a593bec63847e8db6d7246d9 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/0bd1df0d0b2e1f1f6c86a11c4e3e7667.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1051, + "steps": 95 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/1c5283d37d5a9530667280d4393f3269.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/1c5283d37d5a9530667280d4393f3269.json new file mode 100644 index 0000000000000000000000000000000000000000..11fbaf2d824d537a2f31d15b3e5dd119bff1bf21 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/1c5283d37d5a9530667280d4393f3269.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0908, + "steps": 104 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/2e194c88ad379ec85c89d67c01925c2b.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/2e194c88ad379ec85c89d67c01925c2b.json new file mode 100644 index 0000000000000000000000000000000000000000..a2e503d2e7428cb880f73b188a972fd81d48ddef --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/2e194c88ad379ec85c89d67c01925c2b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0229, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/56872fc33e8d31ec1a10fc59a5c51a39.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/56872fc33e8d31ec1a10fc59a5c51a39.json new file mode 100644 index 0000000000000000000000000000000000000000..172b80812b496f31878ca86e59a8fe2b864e8910 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/56872fc33e8d31ec1a10fc59a5c51a39.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1045, + "steps": 173 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/5b73230c42aef6290641f873c8e5187e.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/5b73230c42aef6290641f873c8e5187e.json new file mode 100644 index 0000000000000000000000000000000000000000..65cebbc76fa480206f02c7989a6b4f3e2b5dc3ac --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/5b73230c42aef6290641f873c8e5187e.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.019, + "steps": 22 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/bbc123de2b09fb50167cd299a220cf86.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/bbc123de2b09fb50167cd299a220cf86.json new file mode 100644 index 0000000000000000000000000000000000000000..1ab967a31411a52ce9d2bc8a4a5d254f48f8ad02 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/bbc123de2b09fb50167cd299a220cf86.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.1764, + "steps": 1031 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/e62e3d018c328d46bb7dffa103c2ba6b.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/e62e3d018c328d46bb7dffa103c2ba6b.json new file mode 100644 index 0000000000000000000000000000000000000000..761dfb2709284cbd6a6a96722f57b172adf1043c --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/e62e3d018c328d46bb7dffa103c2ba6b.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 1.2327, + "steps": 1031 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/e727bb5e1f0ab34c9f6384bba69e291c.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/e727bb5e1f0ab34c9f6384bba69e291c.json new file mode 100644 index 0000000000000000000000000000000000000000..018d685b52760c693c36be001df3a4f661f60207 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/e727bb5e1f0ab34c9f6384bba69e291c.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1119, + "steps": 173 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/ed06e9d81948ded2110fb079a2394279.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/ed06e9d81948ded2110fb079a2394279.json new file mode 100644 index 0000000000000000000000000000000000000000..4a18f509ba5813d28f3ce597fb5d4be71ac93c0d --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.session/cache/ed06e9d81948ded2110fb079a2394279.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.1088, + "steps": 97 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.res.oracle b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.res.oracle index d5147644f0c99886f5aa85fb419036673013a675..da52504bdeb3bdb72adf62cc07d6c47db95967d1 100644 --- a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.res.oracle +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.res.oracle @@ -1,4 +1,4 @@ -# frama-c -wp -wp-timeout 45 -wp-steps 1500 [...] +# frama-c -wp [...] [kernel] Parsing tests/wp_usage/issue-189-bis.i (no preprocessing) [wp] Running WP plugin... [wp] Loading driver 'share/wp.driver' diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.session/cache/6eed7c883e5da5d9f84f96967729ed87.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.session/cache/6eed7c883e5da5d9f84f96967729ed87.json new file mode 100644 index 0000000000000000000000000000000000000000..e7fa4f60df947b733d75db2ef9b5eec4de2bb1ba --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.session/cache/6eed7c883e5da5d9f84f96967729ed87.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0675, + "steps": 63 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.session/cache/7fdefda153070e31f7bfa7092643c211.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.session/cache/7fdefda153070e31f7bfa7092643c211.json new file mode 100644 index 0000000000000000000000000000000000000000..477a74075d1a2472b10ae309e1c78f1170ee56c5 --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.session/cache/7fdefda153070e31f7bfa7092643c211.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0218, + "steps": 18 } diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.session/cache/d54c81800e8bf82aee1e1baf74b4b696.json b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.session/cache/d54c81800e8bf82aee1e1baf74b4b696.json new file mode 100644 index 0000000000000000000000000000000000000000..83d3ee0f1234ca4b022b51647243f172cd5190ea --- /dev/null +++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.session/cache/d54c81800e8bf82aee1e1baf74b4b696.json @@ -0,0 +1,2 @@ +{ "prover": "why3:Alt-Ergo,2.0.0", "verdict": "valid", "time": 0.0221, + "steps": 18 } diff --git a/src/plugins/wp/why3_api.ml b/src/plugins/wp/why3_api.ml deleted file mode 100644 index 73df3e4c6a85582717d1b38b6958fc3a8f35bcf0..0000000000000000000000000000000000000000 --- a/src/plugins/wp/why3_api.ml +++ /dev/null @@ -1,1102 +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). *) -(* *) -(**************************************************************************) - -[@@@ warning "-40-42"] - -let dkey = Wp_parameters.register_category "prover" -let dkey_api = Wp_parameters.register_category "why3_api" - -let option_file = LogicBuiltins.create_option - (fun ~driver_dir x -> Filename.concat driver_dir x) - "why3" "file" - -let option_import = LogicBuiltins.create_option - (fun ~driver_dir:_ x -> x) - "why3" "import" - -let config = VCS.why3_config - -module Env = Model.Index(struct - include Datatype.Unit - type key = unit - type data = Why3.Env.env - end) - -let get_why3_env = - Env.memoize (fun () -> - let config = Lazy.force config in - let main = Why3.Whyconf.get_main config in - let ld = - (Model.directory ()):: - (Wp_parameters.Share.file "why3"):: - (Why3.Whyconf.loadpath main) in - Why3.Env.create_env ld - ) - -type context = { - mutable th : Why3.Theory.theory_uc; - env: Why3.Env.env; -} - -type convert = { - th : Why3.Theory.theory_uc; - env: Why3.Env.env; - subst: Why3.Term.term Lang.F.Tmap.t; - pool: Lang.F.pool; - polarity: Cvalues.polarity; - in_goal: bool; - mutable convert_for_export: Lang.F.term Lang.F.Tmap.t; -} - -(** The reason for the rebuild *) -let specific_equalities: Lang.For_export.specific_equality list ref = - ref [Vlist.specialize_eq_list] - -(** get symbols *) - -let get_ls ~cnv ~f ~l ~p = - let th = Why3.Env.read_theory cnv.env f l in - let ls = - try - Why3.Theory.ns_find_ls th.th_export p - with Not_found -> - Wp_parameters.fatal "The symbol %a can't be found in %a.%s" - Why3.Pp.(print_list dot string) p - Why3.Pp.(print_list dot string) f l - in - ls - -let get_ts ~cnv ~f ~l ~p = - let th = Why3.Env.read_theory cnv.env f l in - let ls = - try - Why3.Theory.ns_find_ts th.th_export p - with Not_found -> - Wp_parameters.fatal "The type %a can't be found in %a.%s" - Why3.Pp.(print_list dot string) p - Why3.Pp.(print_list dot string) f l - in - ls - - -let t_app ~cnv ~f ~l ~p tl = - Why3.Term.t_app_infer (get_ls ~cnv ~f ~l ~p) tl - -let t_app' ~cnv ~f ~l ~p tl ty = - Why3.Term.t_app (get_ls ~cnv ~f ~l ~p) tl ty - -(** Conversion *) - -(** why3 1.3 - let const_int (z:Z.t) = - Why3.(Term.t_const Number.(int_const (BigInt.of_string (Z.to_string z)))) Why3.Ty.ty_int - - let const_real ~cnv (q:Q.t) = - let mk_real_int z = - let c = Why3.Number.real_const (Why3.BigInt.of_string (Z.to_string z)) in - Why3.(Term.t_const c) Why3.Ty.ty_real - in - if Z.equal Z.one q.den - then mk_real_int q.num - else - t_app ~cnv ~f:["real"] ~l:"Real" ~p:["infix /"] [mk_real_int q.num;mk_real_int q.den] - -*) - -let const_int (z:Z.t) = - Why3.(Term.t_const Number.(const_of_big_int (BigInt.of_string (Z.to_string z)))) Why3.Ty.ty_int - -let const_real ~cnv (q:Q.t) = - let mk_real_int z = - let rc_negative = Z.sign z < 0 in - let z = Z.abs z in - let rc_abs = Why3.Number.real_const_dec (Z.to_string z) "" None in - let c = Why3.Number.ConstReal { Why3.Number.rc_negative; rc_abs } in - Why3.(Term.t_const c) Why3.Ty.ty_real - in - if Z.equal Z.one q.den - then mk_real_int q.num - else - t_app ~cnv ~f:["real"] ~l:"Real" ~p:["infix /"] [mk_real_int q.num;mk_real_int q.den] - -(** fold map list of at least one element *) -let fold_map map fold = function - | [] -> assert false (** absurd: forbidden by qed *) - | a::tl -> - List.fold_left (fun acc a -> fold acc (map a)) (map a) tl - -let empty_context name : context = { - th = Why3.Theory.create_theory (Why3.Ident.id_fresh name); - env = get_why3_env (); -} - -let empty_cnv ?(polarity=`NoPolarity) ?(in_goal=false) (ctx:context) : convert = { - th = ctx.th; - subst = Lang.F.Tmap.empty; - pool = Lang.F.pool (); - env = ctx.env; - polarity; - in_goal; - convert_for_export = Lang.F.Tmap.empty; -} - - -let lfun_name (lfun:Lang.lfun) = - match lfun with - | ACSL f -> Qed.Engine.F_call (Lang.logic_id f) - | CTOR c -> Qed.Engine.F_call (Lang.ctor_id c) - | Model({m_source=Generated n}) -> Qed.Engine.F_call n - | Model({m_source=Extern e}) -> e.Lang.ext_link.Lang.why3 - - -let coerce ~cnv sort expected r = - match sort, expected with - | Qed.Logic.Bool, Qed.Logic.Prop -> Why3.Term.(t_equ r t_bool_true) - | Qed.Logic.Int, Qed.Logic.Real -> - t_app ~cnv ~f:["real"] ~l:"FromInt" ~p:["from_int"] [r] - | _ -> r - -let name_of_adt = function - | Lang.Mtype a -> a.Lang.ext_link.Lang.why3 - | Mrecord(a,_) -> a.Lang.ext_link.Lang.why3 - | Comp c -> Lang.comp_id c - | Atype lt -> Lang.type_id lt - -let tvar = - let tvar = Datatype.Int.Hashtbl.create 10 in - fun i -> - Datatype.Int.Hashtbl.memo tvar i - (fun i -> - let id = Why3.Ident.id_fresh (Printf.sprintf "a%i" i) in - Why3.Ty.create_tvsymbol id - ) - - -(** Sharing *) - -let shared (_ : Lang.F.term) = false - -let shareable e = - match Lang.F.repr e with - | Kint _ | Kreal _ | True | False -> false - | Times _ | Add _ | Mul _ | Div _ | Mod _ -> true - | Eq _ | Neq _ | Leq _ | Lt _ -> false - | Aget _ | Aset _ | Rget _ | Rdef _ | Acst _ -> true - | And _ | Or _ | Not _ | Imply _ | If _ -> false - | Fun _ -> not (Lang.F.is_prop e) - | Bvar _ | Fvar _ | Apply _ | Bind _ -> false - -let subterms f e = - match Lang.F.repr e with - | Rdef fts -> - begin - match Lang.F.record_with fts with - | None -> Lang.F.lc_iter f e - | Some(a,fts) -> f a ; List.iter (fun (_,e) -> f e) fts - end - | _ -> Lang.F.lc_iter f e - -(* path splitting *) -let regexp_col = Str.regexp_string ":" -let regexp_com = Str.regexp_string "," -let regexp_dot = Str.regexp_string "." - -let cut_path s = Str.split_delim regexp_dot s - -(* conversion *) - -let rec of_tau ~cnv (t:Lang.F.tau) = - match t with - | Prop -> None - | Bool -> Some Why3.Ty.ty_bool - | Int -> Some Why3.Ty.ty_int - | Real -> Some Why3.Ty.ty_real - | Array(k,v) -> - let ts = get_ts ~cnv ~f:["map"] ~l:"Map" ~p:["map"] in - Some (Why3.Ty.ty_app ts [Why3.Opt.get (of_tau ~cnv k); Why3.Opt.get (of_tau ~cnv v)]) - | Data(adt,l) -> begin - let s = name_of_adt adt in - match Why3.Theory.(ns_find_ts (get_namespace cnv.th) (cut_path s)) with - | ts -> Some (Why3.Ty.ty_app ts (List.map (fun e -> Why3.Opt.get (of_tau ~cnv e)) l)) - | exception Not_found -> Wp_parameters.fatal "Can't find type [%s] in why3 namespace" s - end - | Tvar i -> Some (Why3.Ty.ty_var (tvar i)) - | Record _ -> - Wp_parameters.not_yet_implemented "Type %a not yet convertible" - Lang.F.pp_tau t - -let rec full_trigger = function - | Qed.Engine.TgAny -> false - | TgVar _ -> true - | TgGet(a,k) -> full_trigger a && full_trigger k - | TgSet(a,k,v) -> full_trigger a && full_trigger k && full_trigger v - | TgFun(_,xs) | TgProp(_,xs) -> List.for_all full_trigger xs - -let rec full_triggers = function - | [] -> [] - | ts :: tgs -> - match List.filter full_trigger ts with - | [] -> full_triggers tgs - | ts -> ts :: full_triggers tgs - -let rec of_trigger ~cnv t = - match t with - | Qed.Engine.TgAny -> assert false (** absurd: filter by full_triggers *) - | Qed.Engine.TgVar v -> begin - try Lang.F.Tmap.find (Lang.F.e_var v) cnv.subst - with Not_found -> Wp_parameters.fatal "Unbound variable %a" Lang.F.pp_var v - end - | Qed.Engine.TgGet(m,k) -> - t_app ~cnv ~f:["map"] ~l:"Map" ~p:["get"] [of_trigger cnv m;of_trigger cnv k] - | TgSet(m,k,v) -> - t_app ~cnv ~f:["map"] ~l:"Map" ~p:["set"] [of_trigger cnv m;of_trigger cnv k;of_trigger cnv v] - | TgFun (f,l) -> begin - match lfun_name f with - | F_call s -> - let ls = Why3.Theory.(ns_find_ls (get_namespace cnv.th) (cut_path s)) in - Why3.Term.t_app_infer ls (List.map (fun e -> of_trigger cnv e) l) - | _ -> Wp_parameters.not_yet_implemented "lfun in triggers" - end - | TgProp (f,l) -> - begin - match lfun_name f with - | F_call s -> - let ls = Why3.Theory.(ns_find_ls (get_namespace cnv.th) (cut_path s)) in - Why3.Term.t_app_infer ls (List.map (fun e -> of_trigger cnv e) l) - | _ -> Wp_parameters.not_yet_implemented "lfun in triggers" - end - -let rec of_term ~cnv expected t : Why3.Term.term = - Wp_parameters.debug ~dkey:dkey_api - "of_term %a %a@." - Lang.F.Tau.pretty expected Lang.F.pp_term t; - let sort = Lang.F.typeof t in - let ($) f x = f x in - let r = - try coerce ~cnv sort expected $ Lang.F.Tmap.find t cnv.subst - with Not_found -> - match Lang.F.repr t, sort, expected with - | (Fvar _, _, _) -> invalid_arg "unbound variable in of_term" - | (Bvar _, _, _) -> invalid_arg "bound variable in of_term" - | Bind((Forall|Exists) as q,_,_), _, _ -> - coerce ~cnv Prop expected $ - let why3_vars, t = successive_binders cnv q t in - let quant = match q with - | Qed.Logic.Forall -> Why3.Term.Tforall - | Qed.Logic.Exists -> Why3.Term.Texists - | _ -> assert false - in - Why3.Term.t_quant quant (Why3.Term.t_close_quant why3_vars [] t) - | True, _, Prop -> Why3.Term.t_true - | True, _, Bool -> Why3.Term.t_bool_true - | False, _, Prop -> Why3.Term.t_false - | False, _, Bool -> Why3.Term.t_bool_false - | Kint z, Int, _ -> coerce ~cnv sort expected $ const_int z - | Kreal q, Real, _ -> coerce ~cnv sort expected $ const_real ~cnv q - | Times(z,t), Int, _ -> - coerce ~cnv sort expected $ - t_app ~cnv ~f:["int"] ~l:"Int" ~p:["infix *"] [const_int z; of_term cnv sort t] - | Times(z,t), Real, _ -> - coerce ~cnv sort expected $ - t_app ~cnv ~f:["real"] ~l:"Real" ~p:["infix *"] - [const_real ~cnv (Q.of_bigint z); of_term cnv sort t] - | Add l, Int, _ -> - coerce ~cnv sort expected $ - t_app_fold ~f:["int"] ~l:"Int" ~p:["infix +"] ~cnv sort l - | Add l, Real, _ -> - coerce ~cnv sort expected $ - t_app_fold ~f:["real"] ~l:"Real" ~p:["infix +"] ~cnv sort l - | Mul l, Int, _ -> - coerce ~cnv sort expected $ - t_app_fold ~f:["int"] ~l:"Int" ~p:["infix *"] ~cnv sort l - | Mul l, Real, _ -> - coerce ~cnv sort expected $ - t_app_fold ~f:["real"] ~l:"Real" ~p:["infix *"] ~cnv sort l - | Leq (a,b), _, Prop -> - int_or_real ~cnv - ~fint:["int"] ~lint:"Int" ~pint:["infix <="] - ~freal:["real"] ~lreal:"Real" ~preal:["infix <="] - a b - | Div(a,b), Int, _ -> - coerce ~cnv sort expected $ - t_app ~cnv ~f:["int"] ~l:"ComputerDivision" ~p:["div"] - [of_term ~cnv sort a; of_term ~cnv sort b] - | Mod(a,b), Int, _ -> - coerce ~cnv sort expected $ - t_app ~cnv ~f:["int"] ~l:"ComputerDivision" ~p:["mod"] - [of_term ~cnv sort a; of_term ~cnv sort b] - | Div(a,b), Real, _ -> - coerce ~cnv sort expected $ - t_app ~cnv ~f:["real"] ~l:"Real" ~p:["infix /"] - [of_term ~cnv sort a; of_term ~cnv sort b] - | Lt (a,b), _, Prop -> - int_or_real ~cnv - ~fint:["int"] ~lint:"Int" ~pint:["infix <"] - ~freal:["real"] ~lreal:"Real" ~preal:["infix <"] - a b - | Leq (a,b), _, Bool -> - int_or_real ~cnv - ~fint:["qed"] ~lint:"Qed" ~pint:["zleq"] - ~freal:["qed"] ~lreal:"Qed" ~preal:["rleq"] - a b - | Lt (a,b), _, Bool -> - int_or_real ~cnv - ~fint:["qed"] ~lint:"Qed" ~pint:["zlt"] - ~freal:["qed"] ~lreal:"Qed" ~preal:["rlt"] - a b - | And l, _, Bool -> - t_app_fold ~f:["bool"] ~l:"Bool" ~p:["andb"] ~cnv expected l - | And l, _, Prop -> - fold_map (of_term ~cnv expected) Why3.Term.t_and l - | Or l, _, Bool -> - t_app_fold ~f:["bool"] ~l:"Bool" ~p:["orb"] ~cnv expected l - | Or l, _, Prop -> - fold_map (of_term ~cnv expected) Why3.Term.t_or l - | Not e, _, Bool -> - let cnv = {cnv with polarity = Cvalues.negate cnv.polarity} in - t_app ~cnv ~f:["bool"] ~l:"Bool" ~p:["notb"] [of_term ~cnv expected e] - | Not e, _, Prop -> - let cnv = {cnv with polarity = Cvalues.negate cnv.polarity} in - Why3.Term.t_not (of_term cnv expected e) - | Imply (l,e), _, _ -> - let e = (of_term ~cnv expected) e in - let cnv' = {cnv with polarity = Cvalues.negate cnv.polarity} in - let fold acc a = - let a = of_term ~cnv:cnv' expected a in - match expected with - | Prop -> Why3.Term.t_implies a acc - | _ (* Bool *) -> - t_app ~cnv:cnv' ~f:["bool"] ~l:"Bool" ~p:["implb"] [a;acc] - in - List.fold_left fold e (List.rev l) - | Eq (a,b), _, Prop -> begin - match Lang.F.typeof a with - | Prop | Bool -> - Why3.Term.t_iff (of_term cnv Prop a) (of_term cnv Prop b) - | tau -> - match List.find (fun spe -> spe.Lang.For_export.for_tau tau) !specific_equalities with - | spe when cnv.polarity = `Positive -> of_term cnv expected (spe.mk_new_eq a b) - | exception Not_found -> Why3.Term.t_equ (of_term' cnv a) (of_term' cnv b) - | _ -> Why3.Term.t_equ (of_term' cnv a) (of_term' cnv b) - end - | Neq (a,b), _, Prop -> - begin - match Lang.F.typeof a with - | Prop | Bool -> - Why3.Term.t_not (Why3.Term.t_iff (of_term cnv Prop a) (of_term cnv Prop b)) - | tau -> - match List.find (fun spe -> spe.Lang.For_export.for_tau tau) !specific_equalities with - | spe when cnv.polarity = `Negative -> - Why3.Term.t_not (of_term cnv expected (spe.mk_new_eq a b)) - | exception Not_found -> Why3.Term.t_neq (of_term' cnv a) (of_term' cnv b) - | _ -> Why3.Term.t_neq (of_term' cnv a) (of_term' cnv b) - end - | Eq (a,b), _, Bool -> - t_app ~cnv ~f:["qed"] ~l:"Qed" ~p:["eqb"] [of_term' cnv a; of_term' cnv b] - | Neq (a,b), _, Bool -> - t_app ~cnv ~f:["qed"] ~l:"Qed" ~p:["neqb"] [of_term' cnv a; of_term' cnv b] - | If(a,b,c), _, _ -> - let cnv' = {cnv with polarity = `NoPolarity} in - Why3.Term.t_if (of_term cnv' Prop a) (of_term cnv expected b) (of_term cnv expected c) - | Aget(m,k), _, _ -> - coerce ~cnv sort expected $ - let mtau = Lang.F.typeof m in - let ksort = match mtau with - | Array(ksort,_) -> ksort - | _ -> assert false (** absurd: by qed typing *)in - t_app ~cnv ~f:["map"] ~l:"Map" ~p:["get"] [of_term cnv mtau m;of_term cnv ksort k] - | Aset(m,k,v), Array(ksort,vsort), _ -> - coerce ~cnv sort expected $ - t_app ~cnv ~f:["map"] ~l:"Map" ~p:["set"] [of_term cnv sort m;of_term cnv ksort k;of_term cnv vsort v] - | Acst(_,v), Array(_,vsort), _ -> - coerce ~cnv sort expected $ - t_app' ~cnv ~f:["map"] ~l:"Const" ~p:["const"] [of_term cnv vsort v] (of_tau cnv sort) - (* Generic *) - | Fun (f,l), _, _ -> begin - let t_app ls l r = - Why3.Term.t_app ls l r - in - let apply_from_ns s l sort = - match Why3.Theory.(ns_find_ls (get_namespace cnv.th) (cut_path s)), expected with - | ls, (Prop | Bool) -> - coerce ~cnv sort expected $ - t_app ls l (of_tau cnv sort) - | ls, _ -> - coerce ~cnv sort expected $ - t_app ls l (of_tau cnv sort) - | exception Not_found -> Wp_parameters.fatal "Can't find [%s] in why3 namespace" s - in - let apply_from_ns' s l = - apply_from_ns s (List.map (fun e -> of_term' cnv e) l) - in - match lfun_name f, expected with - | F_call s, _ -> apply_from_ns' s l sort - | Qed.Engine.F_subst _, _ -> - raise (Invalid_argument "Can not export 'F_subst' pattern to why-3") - | Qed.Engine.F_left s, _ | Qed.Engine.F_assoc s, _ -> - let rec aux = function - | [] -> Wp_parameters.fatal "Empty application" - | [a] -> of_term cnv expected a - | a::l -> - apply_from_ns s [of_term' cnv a; aux l] sort - in - aux l - | Qed.Engine.F_right s, _ -> - let rec aux = function - | [] -> Wp_parameters.fatal "Empty application" - | [a] -> of_term cnv expected a - | a::l -> - apply_from_ns s [aux l;of_term' cnv a] sort - in - aux (List.rev l) - | Qed.Engine.F_list (fcons,fnil), _ -> - let rec aux = function - | [] -> apply_from_ns fnil [] sort - | a::l -> - apply_from_ns fcons [of_term' cnv a;aux l] sort - in - aux l - | Qed.Engine.F_bool_prop (s,_), Bool | Qed.Engine.F_bool_prop (_,s), Prop -> - apply_from_ns' s l expected - | Qed.Engine.F_bool_prop (_,_), _ -> - Wp_parameters.fatal "badly expected type %a for term %a" - Lang.F.pp_tau expected Lang.F.pp_term t - end - | Rget(a,f), _ , _ -> begin - let s = Lang.name_of_field f in - match Why3.Theory.(ns_find_ls (get_namespace cnv.th) (cut_path s)) with - | ls -> Why3.Term.t_app ls [of_term' cnv a] (of_tau cnv expected) - | exception Not_found -> Wp_parameters.fatal "Can't find [%s] in why3 namespace" s - end - | Rdef(l), Data(Comp c,_) , _ -> begin - (* l is already sorted by field *) - let s = Lang.comp_id c in - match Why3.Theory.(ns_find_ls (get_namespace cnv.th) (cut_path s)) with - | ls -> - let l = List.map (fun (_,t) -> of_term' cnv t) l in - Why3.Term.t_app ls l (of_tau cnv expected) - | exception Not_found -> Wp_parameters.fatal "Can't find [%s] in why3 namespace" s - end - | (Rdef _, Data ((Mtype _|Mrecord (_, _)|Atype _), _), _) - | (Rdef _, (Prop|Bool|Int|Real|Tvar _|Array (_, _)), _) - | (Aset (_, _, _), (Prop|Bool|Int|Real|Tvar _|Record _|Data (_, _)), _) - | (Neq (_, _), _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) - | (Eq (_, _), _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) - | (Not _, _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) - | (Or _, _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) - | (And _, _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) - | (Lt (_, _), _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) - | (Leq (_, _), _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) - | (Div (_, _), (Prop|Bool|Tvar _|Array (_, _)|Record _|Data (_, _)), _) - | (Mod (_, _), (Prop|Bool|Real|Tvar _|Array (_, _)|Record _|Data (_, _)), _) - | (Mul _, (Prop|Bool|Tvar _|Array (_, _)|Record _|Data (_, _)), _) - | (Add _, (Prop|Bool|Tvar _|Array (_, _)|Record _|Data (_, _)), _) - | (Times (_, _), (Prop|Bool|Tvar _|Array (_, _)|Record _|Data (_, _)), _) - | (Kreal _, (Prop|Bool|Int|Tvar _|Array (_, _)|Record _|Data (_, _)), _) - | (Kint _, (Prop|Bool|Real|Tvar _|Array (_, _)|Record _|Data (_, _)), _) - | (False, _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) - | (True, _, (Int|Real|Tvar _|Array (_, _)|Record _|Data (_, _))) - | (Acst (_, _), (Prop|Bool|Int|Real|Tvar _|Record _|Data (_, _)), _) - -> assert false (** absurd: by typing *) - | (Bind (Lambda, _, _), _, _) - | Apply _ , _, _ - | Rdef _, Record _, _ -> - Wp_parameters.not_yet_implemented - "Can't convert to why3 the qed term %a of type %a" - Lang.F.pp_term t Lang.F.pp_tau sort - in - r - -and t_app_fold ~cnv ~f ~l ~p expected lt = - let fold acc a = - t_app ~cnv ~f ~l ~p [acc;a] - in - fold_map (of_term ~cnv expected) fold lt - -and of_term' cnv t = - of_term cnv (Lang.F.typeof t) t - -and share cnv expected t = - let l = Lang.F.QED.shared ~shareable ~shared ~subterms [t] in - let cnv,lets = mk_lets cnv l in - let t = of_term ~cnv expected t in - let t = List.fold_left (fun t (x,e') -> - Why3.Term.t_let_close x e' t - ) t lets - in - t - -and mk_lets cnv l = - List.fold_left (fun (cnv,lets) e -> - let cnv' = {cnv with polarity = `NoPolarity} in - let e' = of_term cnv' (Lang.F.typeof e) e in - match e'.t_ty with - | None -> ({cnv with subst = Lang.F.Tmap.add e e' cnv.subst},lets) - | Some ty -> - let x = Why3.Ident.id_fresh (Lang.F.basename e) in - let x = Why3.Term.create_vsymbol x ty in - (* Format.printf "lets %a = %a : %a@." - * Why3.Pretty.print_vsty x - * Why3.Pretty.print_term e' - * Why3.Pretty.print_ty (Why3.Term.t_type e'); *) - let cnv = {cnv with subst = Lang.F.Tmap.add e (Why3.Term.t_var x) cnv.subst } in - let lets = (x,e')::lets in - cnv,lets - ) (cnv,[]) l - -and successive_binders cnv q t = - match Lang.F.repr t with - | Bind((Forall|Exists) as q',tau,t) when q' = q -> - let x = Lang.F.fresh cnv.pool tau in - let x' = Why3.Ident.id_fresh (Lang.F.Tau.basename tau) in - let x' = Why3.Term.create_vsymbol x' (Why3.Opt.get (of_tau cnv tau)) in - let cnv = {cnv with subst = Lang.F.Tmap.add (Lang.F.e_var x) (Why3.Term.t_var x') cnv.subst} in - let t = Lang.F.QED.e_unbind x t in - let why3_vars, t = successive_binders cnv q t in - x'::why3_vars, t - | _ -> - [], share cnv Prop t - -and int_or_real ~cnv ~fint ~lint ~pint ~freal ~lreal ~preal a b = - match (Lang.F.typeof a), (Lang.F.typeof b) with - | Int, Int -> - t_app_fold ~f:fint ~l:lint ~p:pint ~cnv Int [a; b] - | Real, Int | Real, Real | Int, Real -> - t_app_fold ~f:freal ~l:lreal ~p:preal ~cnv Real [a; b] - | _ -> assert false - -let convert cnv expected t = - (** rewrite terms which normal form inside qed are different from the one of the provers *) - let t, convert_for_export = Lang.For_export.rebuild ~cache:cnv.convert_for_export t in - cnv.convert_for_export <- convert_for_export; - Lang.For_export.in_state (share cnv expected) t - -let mk_binders cnv l = - List.fold_left (fun (cnv,lets) v -> - match of_tau cnv (Lang.F.tau_of_var v) with - | None -> Wp_parameters.fatal "Quantification on prop" - | Some ty -> - let x = Why3.Ident.id_fresh (Lang.F.Var.basename v) in - let x = Why3.Term.create_vsymbol x ty in - let e = Lang.F.e_var v in - let cnv = {cnv with subst = Lang.F.Tmap.add e (Why3.Term.t_var x) cnv.subst } in - let lets = x::lets in - cnv,lets - ) (cnv,[]) (List.rev l) - -(** visit definitions and add them in the task *) - -module CLUSTERS = Model.Index - (struct - type key = Definitions.cluster - type data = int * Why3.Theory.theory - let name = "Why3_api.CLUSTERS" - let compare = Definitions.cluster_compare - let pretty = Definitions.pp_cluster - end) - - - -let filenoext file = - let basename = Filename.basename file in - (try Filename.chop_extension basename - with Invalid_argument _ -> basename) - -class visitor (ctx:context) c = - object(self) - - inherit Definitions.visitor c - - - (* --- Files, Theories and Clusters --- *) - - method add_builtin_lib = - self#add_import2 ["bool"] "Bool" ; - self#add_import2 ["int"] "Int" ; - self#add_import2 ["int"] "ComputerDivision" ; - self#add_import2 ["real"] "RealInfix" ; - self#on_library "qed"; - self#add_import2 ["map"] "Map" - - method on_cluster c = - let name = Definitions.cluster_id c in - Wp_parameters.debug ~dkey:dkey_api "Start on_cluster %s@." name; - let th_name = String.capitalize_ascii name in - let thy = - let age = try fst (CLUSTERS.find c) with Not_found -> (-1) in - if age < Definitions.cluster_age c then - let ctx = empty_context th_name in - let v = new visitor ctx c in - v#add_builtin_lib; - v#vself; - let th = Why3.Theory.close_theory ctx.th in - if Wp_parameters.has_dkey ProverErgo.dkey_cluster then - Log.print_on_output - begin fun fmt -> - Format.fprintf fmt "---------------------------------------------@\n" ; - Format.fprintf fmt "--- Model '%s' Cluster '%s' @\n" - (Model.get_id (Model.get_model ())) name; - Format.fprintf fmt "---------------------------------------------@\n" ; - Why3.Pretty.print_theory fmt th; - end ; - CLUSTERS.update c (Definitions.cluster_age c, th); - th - else - snd (CLUSTERS.find c) - in - let th = ctx.th in - let th = Why3.Theory.open_scope th name in - let th = Why3.Theory.use_export th thy in - let th = Why3.Theory.close_scope th true in - Wp_parameters.debug ~dkey:dkey_api "End on_cluster %s@." name; - ctx.th <- th - - - method section _ = () - - method add_import ?was thy = - match Str.split_delim regexp_dot thy with - | [] -> Wp_parameters.fatal "empty import option" - | l -> - let file, thy = Why3.Lists.chop_last l in - self#add_import4 file thy (Why3.Opt.get_def thy was) ~import:true - - method add_import2 file thy = - self#add_import4 file thy thy ~import:true - - method add_import3 file thy name = - self#add_import4 file thy name ~import:false - - method add_import4 ~import file thy name = - Wp_parameters.debug ~dkey:dkey_api - "@[use@ %s@ @[%a.%s@]@ as@ %s@]" - (if import then "import" else "") - Why3.Pp.(print_list (Why3.Pp.constant_string ".") string) file - thy name ; - let thy = Why3.Env.read_theory ctx.env file thy in - let th = ctx.th in - let th = Why3.Theory.open_scope th name in - let th = Why3.Theory.use_export th thy in - let th = Why3.Theory.close_scope th import in - ctx.th <- th - - method on_library thy = - let copy_file source = - if Filepath.normalize (Filename.dirname source) <> - Filepath.normalize (Wp_parameters.Share.dir ()) - then - let tgtdir = Model.directory () in - let why3src = Filename.basename source in - let target = Printf.sprintf "%s/%s" tgtdir why3src in - Command.copy source target - in - let iter_file opt = - match Str.split_delim regexp_col opt with - | [file] -> - let filenoext = filenoext file in - copy_file file; - self#add_import2 [filenoext] - (String.capitalize_ascii filenoext); - | [file;lib] -> - copy_file file; - self#add_import2 [filenoext file] lib; - | [file;lib;name] -> - copy_file file; - self#add_import3 [filenoext file] lib name; - | _ -> Wp_parameters.failure ~current:false - "Driver: why3.file %S not recognized (theory %s)" - opt thy - in - let iter_import opt = - List.iter (fun import -> - match Str.split_delim regexp_col import with - | [ th ] -> self#add_import th - | [ th ; was ] -> self#add_import ~was th - | _ -> Wp_parameters.failure ~current:false - "Driver: why3.import %S not recognized (theory %s)" - opt thy - ) (Str.split regexp_com opt) - in - begin - List.iter iter_file - (LogicBuiltins.get_option option_file ~library:thy) ; - List.iter iter_import - (LogicBuiltins.get_option option_import ~library:thy) ; - end - - method on_type lt def = - match def with - | Tabs -> - let id = Why3.Ident.id_fresh (Lang.type_id lt) in - let map i _ = tvar i in - let tv_args = List.mapi map lt.lt_params in - let id = Why3.Ty.create_tysymbol id tv_args NoDef in - let decl = Why3.Decl.create_ty_decl id in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - | Tdef t -> - let id = Why3.Ident.id_fresh (Lang.type_id lt) in - let map i _ = tvar i in - let tv_args = List.mapi map lt.lt_params in - let cnv = empty_cnv ctx in - let t = Why3.Opt.get (of_tau ~cnv t) in - let id = Why3.Ty.create_tysymbol id tv_args (Alias t) in - let decl = Why3.Decl.create_ty_decl id in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - | Tsum cases -> - let id = Why3.Ident.id_fresh (Lang.type_id lt) in - let map i _ = tvar i in - let tv_args = List.mapi map lt.lt_params in - let tys = Why3.Ty.create_tysymbol id tv_args NoDef in - let tv_args = List.map Why3.Ty.ty_var tv_args in - let return_ty = Why3.Ty.ty_app tys tv_args in - let cnv = empty_cnv ctx in - let constr = List.length cases in - let cases = List.map (fun (c,targs) -> - let name = match c with | Lang.CTOR c -> Lang.ctor_id c | _ -> assert false in - let id = Why3.Ident.id_fresh name in - let targs = List.map (fun t -> Why3.Opt.get (of_tau ~cnv t)) targs in - let ls = Why3.Term.create_fsymbol ~constr id targs return_ty in - let proj = List.map (fun _ -> None) targs in - (ls,proj) - ) cases in - let decl = Why3.Decl.create_data_decl [tys,cases] in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - | Trec fields -> - let id = Why3.Ident.id_fresh (Lang.type_id lt) in - let map i _ = tvar i in - let tv_args = List.mapi map lt.lt_params in - let tys = Why3.Ty.create_tysymbol id tv_args NoDef in - let tv_args = List.map Why3.Ty.ty_var tv_args in - let return_ty = Why3.Ty.ty_app tys tv_args in - let cnv = empty_cnv ctx in - let fields,args = List.split @@ List.map (fun (f,ty) -> - let name = Lang.name_of_field f in - let id = Why3.Ident.id_fresh name in - let ty = Why3.Opt.get (of_tau ~cnv ty) in - let ls = Why3.Term.create_fsymbol id [return_ty] ty in - Some ls,ty - ) fields in - let id = Why3.Ident.id_fresh (Lang.type_id lt) in - let cstr = Why3.Term.create_fsymbol ~constr:1 id args return_ty in - let decl = Why3.Decl.create_data_decl [tys,[cstr,fields]] in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - - method on_comp c (fts:(Lang.field * Lang.tau) list) = - begin - let compare_field (f,_) (g,_) = - let cmp = Lang.Field.compare f g in - if cmp = 0 then assert false (* by definition *) else cmp - in - let fts = List.sort compare_field fts in - (*TODO:NUPW: manage UNIONS *) - let id = Why3.Ident.id_fresh (Lang.comp_id c) in - let ts = Why3.Ty.create_tysymbol id [] Why3.Ty.NoDef in - let ty = Why3.Ty.ty_app ts [] in - let id = Why3.Ident.id_fresh (Lang.comp_id c) in - let cnv = empty_cnv ctx in - let map (f,tau) = - let ty_ctr = of_tau ~cnv tau in - let id = Why3.Ident.id_fresh (Lang.name_of_field f) in - let ls = Why3.Term.create_lsymbol id [ty] ty_ctr in - (Some ls,Why3.Opt.get ty_ctr) - in - let fields = List.map map fts in - let constr = Why3.Term.create_fsymbol ~constr:1 id (List.map snd fields) ty in - let decl = Why3.Decl.create_data_decl [ts,[constr,List.map fst fields]] in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - end - - method on_dlemma l = - begin - let kind = Why3.Decl.(if l.l_assumed then Paxiom else Plemma) in - let id = Why3.Ident.id_fresh (Lang.lemma_id l.l_name) in - let id = Why3.Decl.create_prsymbol id in - let cnv = empty_cnv ctx in - List.iter (Lang.F.add_var cnv.pool) l.l_forall; - let cnv, vars = Lang.For_export.in_state (mk_binders cnv) l.l_forall in - let t = convert cnv Prop (Lang.F.e_prop l.l_lemma) in - let triggers = full_triggers l.l_triggers in - let triggers = Lang.For_export.in_state (List.map (List.map (of_trigger ~cnv))) triggers in - let t = Why3.Term.t_forall_close vars triggers t in - let decl = Why3.Decl.create_prop_decl kind id t in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - end - - method on_dfun d = - let cnv = empty_cnv ctx in - List.iter (Lang.F.add_var cnv.pool) d.d_params; - begin - match d.d_definition with - | Logic t -> - let id = Why3.Ident.id_fresh (Qed.Export.link_name (lfun_name d.d_lfun)) in - let map e = Why3.Opt.get (of_tau ~cnv (Lang.F.tau_of_var e)) in - let ty_args = List.map map d.d_params in - let id = Why3.Term.create_lsymbol id ty_args (of_tau ~cnv t) in - let decl = Why3.Decl.create_param_decl id in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - | Function(t,mu,v) -> begin - match mu with - | Rec -> (* transform recursive function into an axioms *) - let name = Qed.Export.link_name (lfun_name d.d_lfun) in - let id = Why3.Ident.id_fresh name in - let map e = Why3.Opt.get (of_tau ~cnv (Lang.F.tau_of_var e)) in - let ty_args = List.map map d.d_params in - let result = of_tau ~cnv t in - let id = Why3.Term.create_lsymbol id ty_args result in - let decl = Why3.Decl.create_param_decl id in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - let cnv = empty_cnv ctx in - List.iter (Lang.F.add_var cnv.pool) d.d_params; - let cnv, vars = mk_binders cnv d.d_params in - let t = share cnv t v in - let t = - Why3.Term.t_forall_close vars [] - (Why3.Term.t_equ - (Why3.Term.t_app id (List.map Why3.Term.t_var vars) result) - t) - in - let decl = - Why3.Decl.create_prop_decl Why3.Decl.Paxiom - (Why3.Decl.create_prsymbol (Why3.Ident.id_fresh (name^"_def"))) - t in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - | Def -> - let id = Why3.Ident.id_fresh (Qed.Export.link_name (lfun_name d.d_lfun)) in - let map e = Why3.Opt.get (of_tau ~cnv (Lang.F.tau_of_var e)) in - let ty_args = List.map map d.d_params in - let result = of_tau ~cnv t in - let id = Why3.Term.create_lsymbol id ty_args result in - let cnv, vars = mk_binders cnv d.d_params in - let t = share cnv t v in - let decl = Why3.Decl.make_ls_defn id vars t in - let decl = Why3.Decl.create_logic_decl [decl] in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl - end - | Predicate(mu,p) -> begin - match mu with - | Rec -> - let name = Qed.Export.link_name (lfun_name d.d_lfun) in - let id = Why3.Ident.id_fresh name in - let map e = Why3.Opt.get (of_tau ~cnv (Lang.F.tau_of_var e)) in - let ty_args = List.map map d.d_params in - let result = None in - let id = Why3.Term.create_lsymbol id ty_args result in - let decl = Why3.Decl.create_param_decl id in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - let cnv = empty_cnv ctx in - List.iter (Lang.F.add_var cnv.pool) d.d_params; - let cnv, vars = mk_binders cnv d.d_params in - let t = share cnv Prop (Lang.F.e_prop p) in - let t = - Why3.Term.t_forall_close vars [] - (Why3.Term.t_equ - (Why3.Term.t_app id (List.map Why3.Term.t_var vars) result) - t) - in - let decl = - Why3.Decl.create_prop_decl Why3.Decl.Paxiom - (Why3.Decl.create_prsymbol (Why3.Ident.id_fresh (name^"_def"))) - t in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl; - | Def -> - let id = Why3.Ident.id_fresh (Qed.Export.link_name (lfun_name d.d_lfun)) in - let map e = Why3.Opt.get (of_tau ~cnv (Lang.F.tau_of_var e)) in - let ty_args = List.map map d.d_params in - let id = Why3.Term.create_lsymbol id ty_args None in - let cnv, vars = mk_binders cnv d.d_params in - let t = share cnv Prop (Lang.F.e_prop p) in - let decl = Why3.Decl.make_ls_defn id vars t in - let decl = Why3.Decl.create_logic_decl [decl] in - ctx.th <- Why3.Theory.add_decl ~warn:false ctx.th decl - end - | Inductive _dl -> - Wp_parameters.not_yet_implemented "inductive" - (* engine#declare_signature fmt - * d.d_lfun (List.map F.tau_of_var d.d_params) Logic.Prop; - * List.iter self#on_dlemma dl *) - end - - end - - -let goal_id = (Why3.Decl.create_prsymbol (Why3.Ident.id_fresh "wp_goal")) - -let why3_of_qed ~id ~title ~name ?axioms t = - (* Format.printf "why3_of_qed start@."; *) - let goal = Definitions.cluster ~id ~title () in - let ctx = empty_context name in - let v = new visitor ctx goal in - v#add_builtin_lib; - v#vgoal axioms t; - let cnv = empty_cnv ~in_goal:true ~polarity:`Positive ctx in - let t = convert cnv Prop (Lang.F.e_prop t) in - let decl = Why3.Decl.create_prop_decl Pgoal goal_id t in - let th = Why3.Theory.close_theory ctx.th in - if Wp_parameters.has_print_generated () then begin - let th_uc_tmp = Why3.Theory.add_decl ~warn:false ctx.th decl in - let th_tmp = Why3.Theory.close_theory th_uc_tmp in - Wp_parameters.debug ~dkey:Wp_parameters.cat_print_generated "%a" Why3.Pretty.print_theory th_tmp - end; - th, decl - -(** Prover call *) - -let prove_prop ?axioms ~pid ~prop = - let id = WpPropId.get_propid pid in - let title = Pretty_utils.to_string WpPropId.pretty pid in - let name = "WP" in - let th, decl = why3_of_qed ?axioms ~id ~title ~name prop in - let t = None in - let t = Why3.Task.use_export t th in - Why3.Task.add_decl t decl - - -let task_of_wpo wpo = - let pid = wpo.Wpo.po_pid in - match wpo.Wpo.po_formula with - | Wpo.GoalAnnot v -> - let pid = wpo.Wpo.po_pid in - let axioms = v.Wpo.VC_Annot.axioms in - let prop = Wpo.GOAL.compute_proof v.Wpo.VC_Annot.goal in - (* Format.printf "Goal: %a@." Lang.F.pp_pred prop; *) - prove_prop ~pid ~prop ?axioms - | Wpo.GoalLemma v -> - let lemma = v.Wpo.VC_Lemma.lemma in - let depends = v.Wpo.VC_Lemma.depends in - let prop = Lang.F.p_forall lemma.l_forall lemma.l_lemma in - let axioms = Some(lemma.l_cluster,depends) in - prove_prop ~pid ~prop ?axioms - | Wpo.GoalCheck v -> - let prop = v.Wpo.VC_Check.goal in - let axioms = None in - prove_prop ~pid ~prop ?axioms - -let altergo_step_limit = Str.regexp "^Steps limit reached:" - -let call_prover ~timeout ~steplimit prover task wpo = - let steplimit = match steplimit with Some 0 -> None | _ -> steplimit in - let config = Lazy.force config in - let env = get_why3_env () in - let prover_config = Why3.Whyconf.get_prover_config config prover in - let command = Why3.Whyconf.get_complete_command prover_config ~with_steps:(steplimit<>None) in - let drv = - Why3.Whyconf.load_driver (Why3.Whyconf.get_main config) env prover_config.driver prover_config.extra_drivers in - let limit = - let def = Why3.Call_provers.empty_limit in - { def with - Why3.Call_provers.limit_time = Why3.Opt.get_def def.limit_time timeout; - Why3.Call_provers.limit_steps = Why3.Opt.get_def def.limit_time steplimit; - } in - let remove_for_prover = - if prover.prover_name = "Alt-Ergo" - then Filter_axioms.remove_for_altergo - else Filter_axioms.remove_for_why3 - in - let trans = Why3.Trans.seq [remove_for_prover; Filter_axioms.trans; Filter_axioms.def_into_axiom] in - let task = - if prover.prover_name = "Coq" - then task - else Why3.Trans.apply trans task in - let task = Why3.Driver.prepare_task drv task in - let file = Wpo.DISK.file_goal ~pid:wpo.Wpo.po_pid ~model:wpo.Wpo.po_model ~prover:(VCS.Why3 prover) in - (* This printing is currently just for debugging *) - let _ = Command.print_file file (fun fmt -> Why3.Driver.print_task_prepared drv fmt task) in - if Wp_parameters.Check.get () - then (** Why3 typed checked the task during its build *) - Task.return VCS.checked - else - let call = - Why3.Driver.prove_task_prepared ~command ~limit drv task in - Wp_parameters.debug ~dkey - "@[@[Why3 run prover %a with %i timeout %i steplimit@]@]@." - Why3.Whyconf.print_prover prover (Why3.Opt.get_def (-1) timeout) (Why3.Opt.get_def (-1) steplimit); - let ping _ (* why3 seems not to be able to kill a started prover *) = - match Why3.Call_provers.query_call call with - | NoUpdates - | ProverStarted -> Task.Yield - | InternalFailure exn -> - Task.Return (Task.Result (VCS.failed (Format.asprintf "%a" Why3.Exn_printer.exn_printer exn))) - | ProverInterrupted -> Task.Return (Task.Result (VCS.failed "interrupted")) - | ProverFinished pr -> - let r = match pr.pr_answer with - | Timeout -> VCS.timeout (int_of_float pr.pr_time) - | Valid -> VCS.result ~time:pr.pr_time ~steps:pr.pr_steps VCS.Valid - | Invalid -> VCS.result ~time:pr.pr_time ~steps:pr.pr_steps VCS.Invalid - | OutOfMemory -> VCS.failed "out of memory" - | StepLimitExceeded -> VCS.stepout - | Unknown _ -> VCS.unknown - | Failure s -> VCS.failed s - | HighFailure -> - let alt_ergo_hack = prover.prover_name = "Alt-Ergo" && - Str.string_match altergo_step_limit pr.pr_output 0 - in - if alt_ergo_hack then VCS.stepout - else VCS.failed "Unknown error" - in - Wp_parameters.debug ~dkey - "@[@[Why3 result for %a:@] @[%a@] and @[%a@]@." - Why3.Whyconf.print_prover prover - (* why3 1.3 (Why3.Call_provers.print_prover_result ~json_model:false) pr *) - (Why3.Call_provers.print_prover_result) pr - VCS.pp_result r; - Task.Return (Task.Result r) - in - Task.async ping - -let add_specific_equality ~for_tau ~mk_new_eq = - specific_equalities := { for_tau; mk_new_eq }::!specific_equalities - -let version = Why3.Config.version - -let prove ?timeout ?steplimit ~prover wpo = - try - let do_ () = - let task = task_of_wpo wpo in - if Wp_parameters.Generate.get () - then if Wp_parameters.Check.get () - then Task.return VCS.checked - else Task.return VCS.no_result - else call_prover ~timeout ~steplimit prover task wpo - in - Model.with_model wpo.Wpo.po_model do_ () - with exn -> - let bt = Printexc.get_raw_backtrace () in - Wp_parameters.fatal "Error in why3:%a@.%s@." - Why3.Exn_printer.exn_printer exn - (Printexc.raw_backtrace_to_string bt) - -let parse_why3_options = - let todo = ref true in - fun () -> - if !todo then begin - let args = Array.of_list ("why3"::Wp_parameters.WhyFlags.get ()) in - begin try - Arg.parse_argv ~current:(ref 0) args - (Why3.Debug.Args.[desc_debug;desc_debug_all;desc_debug_list]) - (fun _ -> raise (Arg.Help "Unknown why3 option")) - "Why3 options" - with Arg.Bad s -> Wp_parameters.abort "%s" s - end; - ignore (Why3.Debug.Args.option_list ()); - Why3.Debug.Args.set_flags_selected (); - todo := false - end diff --git a/src/plugins/wp/why3_xml.mli b/src/plugins/wp/why3_xml.mli deleted file mode 100644 index 788c602b9904b9d52a668e32c9ff9225c4d72246..0000000000000000000000000000000000000000 --- a/src/plugins/wp/why3_xml.mli +++ /dev/null @@ -1,38 +0,0 @@ -(**************************************************************************) -(* *) -(* The Why3 Verification Platform / The Why3 Development Team *) -(* Copyright 2010-2019 -- Inria - CNRS - Paris-Sud University *) -(* *) -(* This software is distributed under the terms of the GNU Lesser *) -(* General Public License version 2.1, with the special exception *) -(* on linking described in file LICENSE. *) -(* *) -(* File modified by CEA (Commissariat à l'énergie atomique et aux *) -(* énergies alternatives). *) -(* *) -(**************************************************************************) - -type element = - { name : string; - attributes : (string * string) list; - elements : element list; - } - -val pretty : Format.formatter -> element -> unit -(* Opening, attributes only *) - -type t = - { version : string; - encoding : string; - doctype : string; - dtd : string; - content : element; - } - -exception Parse_error of string - -val from_file : string -> t -(** returns the list of XML elements from the given file. - raise [Sys_error] if the file cannot be opened. - raise [Parse_error] if the file does not follow XML syntax -*) diff --git a/src/plugins/wp/why3_xml.mll b/src/plugins/wp/why3_xml.mll deleted file mode 100644 index f178197c0d62c4e680731ddc588344a11c43fe3f..0000000000000000000000000000000000000000 --- a/src/plugins/wp/why3_xml.mll +++ /dev/null @@ -1,198 +0,0 @@ -(**************************************************************************) -(* *) -(* The Why3 Verification Platform / The Why3 Development Team *) -(* Copyright 2010-2019 -- Inria - CNRS - Paris-Sud University *) -(* *) -(* This software is distributed under the terms of the GNU Lesser *) -(* General Public License version 2.1, with the special exception *) -(* on linking described in file LICENSE. *) -(* *) -(* File modified by CEA (Commissariat à l'énergie atomique et aux *) -(* énergies alternatives). *) -(* *) -(**************************************************************************) - -{ - type element = - { name : string; - attributes : (string * string) list; - elements : element list; - } - - type t = - { version : string; - encoding : string; - doctype : string; - dtd : string; - content : element; - } - - let pretty fmt e = - begin - Format.fprintf fmt "@[<hov 2><%s" e.name ; - List.iter - (fun (name,value) -> Format.fprintf fmt "@ %s=%S" name value) - e.attributes ; - Format.fprintf fmt ">@]" ; - end - - let buf = Buffer.create 17 - - let rec pop_all group_stack element_stack = - match group_stack with - | [] -> element_stack - | (elem,att,elems)::g -> - let e = { - name = elem; - attributes = att; - elements = List.rev element_stack; - } - in pop_all g (e::elems) - - exception Parse_error of string - - let parse_error s = raise (Parse_error s) -} - -let space = [' ' '\t' '\r' '\n'] -let digit = ['0'-'9'] -let letter = ['a'-'z' 'A'-'Z'] -let ident = (letter | digit | '_') + -let sign = '-' | '+' -let integer = sign? digit+ -let mantissa = ['e''E'] sign? digit+ -let real = sign? digit* '.' digit* mantissa? -let escape = ['\\''"''n''t''r'] - -rule xml_prolog = parse -| space+ - { xml_prolog lexbuf } -| "<?xml" space+ "version=\"1.0\"" space+ "?>" - { xml_doctype "1.0" "" lexbuf } -| "<?xml" space+ "version=\"1.0\"" space+ "encoding=\"UTF-8\"" space+ "?>" - { xml_doctype "1.0" "" lexbuf } -| "<?xml" ([^'?']|'?'[^'>'])* "?>" - { (* dprintf debug "[Xml warning] prolog ignored@."; *) - xml_doctype "1.0" "" lexbuf } -| _ - { parse_error "wrong prolog" } - -and xml_doctype version encoding = parse -| space+ - { xml_doctype version encoding lexbuf } -| "<!DOCTYPE" space+ (ident as doctype) space+ [^'>']* ">" - { match elements [] [] lexbuf with - | [x] -> - { version = version; - encoding = encoding; - doctype = doctype; - dtd = ""; - content = x; - } - | _ -> parse_error "there should be exactly one root element" - } -| _ - { parse_error "wrong DOCTYPE" } - -and elements group_stack element_stack = parse - | space+ - { elements group_stack element_stack lexbuf } - | '<' (ident as elem) - { attributes group_stack element_stack elem [] lexbuf } - | "</" (ident as _celem) space* '>' - { match group_stack with - | [] -> - (* dprintf debug *) - (* "[Xml warning] unexpected closing Xml element `%s'@." *) - (* celem; *) - elements group_stack element_stack lexbuf - | (elem,att,stack)::g -> - (* if celem <> elem then *) - (* dprintf debug *) - (* "[Xml warning] Xml element `%s' closed by `%s'@." *) - (* elem celem; *) - let e = { - name = elem; - attributes = att; - elements = List.rev element_stack; - } - in elements g (e::stack) lexbuf - } - | '<' - { (* dprintf debug "[Xml warning] unexpected '<'@."; *) - elements group_stack element_stack lexbuf } - | eof - { match group_stack with - | [] -> element_stack - | (_elem,_,_)::_ -> - (* dprintf debug "[Xml warning] unclosed Xml element `%s'@." - elem; *) - pop_all group_stack element_stack - } - | _ as c - { parse_error ("invalid element starting with " ^ String.make 1 c) } - -and attributes groupe_stack element_stack elem acc = parse - | space+ - { attributes groupe_stack element_stack elem acc lexbuf } - | (ident as key) space* '=' - { let v = value lexbuf in - attributes groupe_stack element_stack elem ((key,v)::acc) lexbuf } - | '>' - { elements ((elem,acc,element_stack)::groupe_stack) [] lexbuf } - | "/>" - { let e = { name = elem ; - attributes = acc; - elements = [] } - in - elements groupe_stack (e::element_stack) lexbuf } - | _ as c - { parse_error ("'>' expected, got " ^ String.make 1 c) } - | eof - { parse_error "unclosed element, `>' expected" } - -and value = parse - | space+ - { value lexbuf } - | '"' - { Buffer.clear buf; - string_val lexbuf } - | _ as c - { parse_error ("invalid value starting with " ^ String.make 1 c) } - | eof - { parse_error "unterminated keyval pair" } - -and string_val = parse - | '"' - { Buffer.contents buf } - | "<" - { Buffer.add_char buf '<'; - string_val lexbuf } - | ">" - { Buffer.add_char buf '>'; - string_val lexbuf } - | """ - { Buffer.add_char buf '"'; - string_val lexbuf } - | "'" - { Buffer.add_char buf '\''; - string_val lexbuf } - | "&" - { Buffer.add_char buf '&'; - string_val lexbuf } - | [^ '"'] as c - { Buffer.add_char buf c; - string_val lexbuf } - | eof - { parse_error "unterminated string" } - -{ - - let from_file f = - let c = open_in f in - let lb = Lexing.from_channel c in - let t = xml_prolog lb in - close_in c; - t - -} diff --git a/src/plugins/wp/wpAnnot.ml b/src/plugins/wp/wpAnnot.ml index 2a72d9e6b032833fb7532cd4c9a371db7496f2cd..3c4b166db900c8676bb09277b0e6b474cc28bfc6 100644 --- a/src/plugins/wp/wpAnnot.ml +++ b/src/plugins/wp/wpAnnot.ml @@ -1294,7 +1294,7 @@ let process_unreached_annots cfg = (*----------------------------------------------------------------------------*) let get_cfg kf model = - if Wp_parameters.RTE.get () then WpRTE.generate kf model ; + if Wp_parameters.RTE.get () then WpRTE.generate model kf ; let cfg = Cil2cfg.get kf in let _ = process_unreached_annots cfg in cfg diff --git a/src/plugins/wp/wpAnnot.mli b/src/plugins/wp/wpAnnot.mli index 66cc5693d72c7781b525eab9b6c134368b081061..370c9ce55dbdd3f39ac4d582d4dead278f5b521e 100644 --- a/src/plugins/wp/wpAnnot.mli +++ b/src/plugins/wp/wpAnnot.mli @@ -64,15 +64,15 @@ val get_called_assigns : kernel_function -> Property.t list type asked_assigns = NoAssigns | OnlyAssigns | WithAssigns val get_id_prop_strategies : - model:Model.t -> + model:WpContext.model -> ?assigns:asked_assigns -> Property.t -> WpStrategy.strategy list val get_call_pre_strategies : - model:Model.t -> + model:WpContext.model -> stmt -> WpStrategy.strategy list val get_function_strategies : - model:Model.t -> + model:WpContext.model -> ?assigns:asked_assigns -> ?bhv:string list -> ?prop:string list -> diff --git a/src/plugins/wp/Model.ml b/src/plugins/wp/wpContext.ml similarity index 66% rename from src/plugins/wp/Model.ml rename to src/plugins/wp/wpContext.ml index a69ac68fabd0e5f415491a0310c9752eb5ef3791..c6459a5af4949559d41c32a9dcfc7b16ffc0f42e 100644 --- a/src/plugins/wp/Model.ml +++ b/src/plugins/wp/wpContext.ml @@ -29,42 +29,32 @@ type model = { descr : string ; (* Title of the Model (for pretty) *) emitter : Emitter.t ; hypotheses : hypotheses ; - mutable tuning : tuning list ; + tuning : tuning list ; } and tuning = unit -> unit -and hypotheses = Kernel_function.t -> MemoryContext.clause list +and scope = Global | Kf of Kernel_function.t +and hypotheses = unit -> MemoryContext.clause list +and context = model * scope +and t = context let nohyp (_kf) = [] -let repr = { - id = "?model" ; descr = "?model" ; - emitter = Emitter.kernel ; - tuning = [ fun () -> () ] ; - hypotheses = nohyp ; -} - -module D = Datatype.Make_with_collections(struct - type t = model - let name = "WP.Model" - - let rehash = Datatype.identity (** TODO: register and find below? *) - let structural_descr = - let open Structural_descr in - t_record [| p_string; p_string; pack (t_option t_string) ; - Emitter.packed_descr; pack (t_list t_unknown) |] - - let reprs = [repr] - - let equal x y = Datatype.String.equal x.id y.id - let compare x y = Datatype.String.compare x.id y.id - let hash x = Datatype.String.hash x.id - let copy = Datatype.identity - let internal_pretty_code _ fmt x = Format.pp_print_string fmt x.id - let pretty fmt x = Format.pp_print_string fmt x.descr - let mem_project = Datatype.never_any_project - let varname _ = "m" - end) +module MODEL = +struct + type t = model + let id a = a.id + let descr a = a.descr + let hash a = Hashtbl.hash a.id + let equal a b = String.equal a.id b.id + let compare a b = String.compare a.id b.id + let repr = { + id = "?model" ; descr = "?model" ; + emitter = Emitter.kernel ; + tuning = [ fun () -> () ] ; + hypotheses = nohyp ; + } +end module MODELS = struct @@ -76,14 +66,9 @@ struct let mem id = H.mem id !h let add m = h := H.add m.id m !h - let find id = H.find id !h - let iter f = H.iter (fun _ m -> f m) !h end -let find ~id = MODELS.find id -let iter f = MODELS.iter f - let register ~id ?(descr=id) ?(tuning=[]) ?(hypotheses=nohyp) () = if MODELS.mem id then Wp_parameters.fatal "Duplicate model '%s'" id ; @@ -102,38 +87,68 @@ let register ~id ?(descr=id) ?(tuning=[]) ?(hypotheses=nohyp) () = } in MODELS.add model ; model -let get_id m = m.id let get_descr m = m.descr -let get_hypotheses m = m.hypotheses +let get_emitter m = m.emitter -type scope = Kernel_function.t option -let scope : scope Context.value = Context.create "Wp.Scope" -let model : model Context.value = Context.create "Wp.Model" +module SCOPE = +struct + type t = scope + let id = function + | Global -> "__frama_c_global" + | Kf f -> Kernel_function.get_name f + let compare f g = + match f,g with + | Global , Global -> 0 + | Global , _ -> (-1) + | _ , Global -> 1 + | Kf f , Kf g -> Kernel_function.compare f g + let equal f g = (compare f g = 0) + let hash = function Global -> 0 | Kf kf -> Kernel_function.hash kf +end + +module S = +struct + type t = context + let id (model,scope) = + match scope with + | Global -> model.id + | Kf kf -> Printf.sprintf "%s_%s" model.id (Kernel_function.get_name kf) + let hash (m,s) = match s with + | Global -> 2 * MODEL.hash m + | Kf kf -> 3 * MODEL.hash m + 5 * Kernel_function.hash kf + let equal (m1,s1) (m2,s2) = MODEL.equal m1 m2 && SCOPE.equal s1 s2 + let compare (m1,s1) (m2,s2) = + let cmp = MODEL.compare m1 m2 in + if cmp<>0 then cmp else SCOPE.compare s1 s2 +end + +let context : (string * context) Context.value = Context.create "WpContext" -let rec bind = function [] -> () | f::fs -> f () ; bind fs -let back = function None -> () | Some c -> bind c.tuning -let with_model m f x = - let current = Context.push model m in +let configure (model,_) = List.iter (fun f -> f()) model.tuning +let rollback = function None -> () | Some (_,ctxt) -> configure ctxt + +let on_context gamma f x = + let id = S.id gamma in + let current = Context.push context (id,gamma) in try Context.configure () ; - bind m.tuning ; + configure gamma ; let result = f x in - Context.pop model current ; - back current ; result + Context.pop context current ; + rollback current ; result with err -> - Context.pop model current ; - back current ; raise err -let on_model m f = with_model m f () -let on_scope s f a = Context.bind scope s f a -let on_kf kf f = on_scope (Some kf) f () -let on_global f = on_scope None f () -let get_scope () = Context.get scope + Context.pop context current ; + rollback current ; raise err + +let is_defined () = Context.defined context +let get_ident () = Context.get context |> fst +let get_context () = Context.get context |> snd +let get_model () = get_context () |> fst +let get_scope () = get_context () |> snd -let get_model () = Context.get model -let get_emitter model = model.emitter -let is_model_defined () = Context.defined model +let compute_hypotheses m f = on_context (m,Kf f) m.hypotheses () -let directory () = Wp_parameters.get_output_dir (Context.get model).id +let directory () = get_model () |> MODEL.id |> Wp_parameters.get_output_dir module type Entries = sig @@ -150,6 +165,7 @@ sig type key = E.key type data = E.data + val id : basename:string -> key -> string val mem : key -> bool val find : key -> data val get : key -> data option @@ -173,6 +189,8 @@ let freetype a = with Not_found -> Hashtbl.add types a 1 ; a +module NAMES = FCMap.Make(String) + module Index(E : Entries) = struct @@ -189,35 +207,43 @@ struct type entries = { mutable index : E.data MAP.t ; + mutable ident : string MAP.t ; + mutable names : int NAMES.t ; mutable lock : SET.t ; } + let create () = { + index=MAP.empty; + ident=MAP.empty; + names=NAMES.empty; + lock=SET.empty; + } + module ENTRIES : Datatype.S with type t = entries = Datatype.Make (struct type t = entries include Datatype.Undefined let mem_project = Datatype.never_any_project - let reprs = [{index=MAP.empty;lock=SET.empty}] - let name = freetype ("Wp.Model.Index." ^ E.name) + let reprs = [create ()] + let name = freetype ("Wp.Context.Index." ^ E.name) end) module REGISTRY = State_builder.Hashtbl (Datatype.String.Hashtbl) (ENTRIES) (struct - let name = freetype ("Wp.Model." ^ E.name) + let name = freetype ("Wp.Context." ^ E.name) let dependencies = [Ast.self] let size = 32 end) (* Projectified entry map, indexed by model *) let entries () : entries = - let mid = (Context.get model).id in - try REGISTRY.find mid + let cid = get_ident () in + try REGISTRY.find cid with Not_found -> - let e = { index=MAP.empty ; lock=SET.empty } in - REGISTRY.add mid e ; e + let e = create () in REGISTRY.add cid e ; e let clear () = begin @@ -238,6 +264,21 @@ struct let get k = try Some (find k) with Not_found -> None + let id ~basename k = + begin + let e = entries () in + try MAP.find k e.ident with Not_found -> + let kid,id = + try + let kid = succ (NAMES.find basename e.names) in + kid,Printf.sprintf "%s_%d" basename kid + with Not_found -> + 0,basename + in + e.names <- NAMES.add basename kid e.names ; + e.ident <- MAP.add k id e.ident ; id + end + let fire k d = List.iter (fun f -> f k d) !demon @@ -301,25 +342,34 @@ struct type entries = { mutable index : E.data MAP.t ; + mutable ident : string MAP.t ; + mutable names : int NAMES.t ; mutable lock : SET.t ; } + let create () = { + index=MAP.empty; + ident=MAP.empty; + names=NAMES.empty; + lock=SET.empty; + } + module ENTRIES : Datatype.S with type t = entries = Datatype.Make (struct type t = entries include Datatype.Undefined - let reprs = [{index=MAP.empty;lock=SET.empty}] - let name = "Wp.Model.Index." ^ E.name + let reprs = [create ()] + let name = "Wp.Context.Index." ^ E.name let mem_project = Datatype.never_any_project end) module REGISTRY = State_builder.Ref (ENTRIES) (struct - let name = "Wp.Model." ^ E.name + let name = "Wp.Context." ^ E.name let dependencies = [Ast.self] - let default () = { index=MAP.empty ; lock=SET.empty } + let default = create end) (* Projectified entry map *) @@ -344,6 +394,21 @@ struct let find k = let e = entries () in MAP.find k e.index let get k = try Some (find k) with Not_found -> None + let id ~basename k = + begin + let e = entries () in + try MAP.find k e.ident with Not_found -> + let kid,id = + try + let kid = succ (NAMES.find basename e.names) in + kid,Printf.sprintf "%s_%d" basename kid + with Not_found -> + 0,basename + in + e.names <- NAMES.add basename kid e.names ; + e.ident <- MAP.add k id e.ident ; id + end + let fire k d = List.iter (fun f -> f k d) !demon @@ -406,6 +471,15 @@ sig val compile : key -> data end +module type IData = +sig + type key + type data + val name : string + val basename : key -> string + val compile : key -> string -> data +end + module type Generator = sig type key @@ -450,5 +524,36 @@ struct let remove = G.remove end -module S = D -type t = S.t +module GeneratorID(K : Key)(D : IData with type key = K.t) = +struct + + module G = Index + (struct + include K + include D + end) + + type key = D.key + type data = D.data + let get = G.memoize (fun k -> D.compile k (G.id ~basename:(D.basename k) k)) + let mem = G.mem + let clear = G.clear + let remove = G.remove +end + +module StaticGeneratorID(K : Key)(D : IData with type key = K.t) = +struct + + module G = Static + (struct + include K + include D + end) + + type key = D.key + type data = D.data + let get = G.memoize (fun k -> D.compile k (G.id ~basename:(D.basename k) k)) + let mem = G.mem + let clear = G.clear + let remove = G.remove +end diff --git a/src/plugins/wp/Model.mli b/src/plugins/wp/wpContext.mli similarity index 72% rename from src/plugins/wp/Model.mli rename to src/plugins/wp/wpContext.mli index 948e6e08ea68419eeef685e9dda8bdca2c18d143..d118296a75ccfb444359add87addc6ba812cb83d 100644 --- a/src/plugins/wp/Model.mli +++ b/src/plugins/wp/wpContext.mli @@ -22,13 +22,11 @@ (** Model Registration *) -module S : Datatype.S_with_collections -type t = S.t -type model = S.t +type model +type scope = Global | Kf of Kernel_function.t type tuning = (unit -> unit) -type hypotheses = Kernel_function.t -> MemoryContext.clause list +type hypotheses = unit -> MemoryContext.clause list -val repr : model val register : id:string -> ?descr:string -> @@ -36,24 +34,48 @@ val register : ?hypotheses:hypotheses -> unit -> model -val get_id : model -> string val get_descr : model -> string val get_emitter : model -> Emitter.t -val get_hypotheses : model -> hypotheses -val find : id:string -> model -val iter : (model -> unit) -> unit +val compute_hypotheses : model -> Kernel_function.t -> MemoryContext.clause list -val with_model : model -> ('a -> 'b) -> 'a -> 'b -val on_model : model -> (unit -> unit) -> unit -val get_model : unit -> model (** Current model *) -val is_model_defined : unit -> bool +type context = model * scope +type t = context -type scope = Kernel_function.t option -val on_scope : scope -> ('a -> 'b) -> 'a -> 'b -val on_kf : Kernel_function.t -> (unit -> unit) -> unit (** on_scope (Some kf) *) -val on_global : (unit -> unit) -> unit (** on_scope None *) +module S : +sig + type t = context + val id : t -> string + val hash : t -> int + val equal : t -> t -> bool + val compare : t -> t -> int +end + +module MODEL : +sig + type t = model + val id : t -> string + val descr : t -> string + val hash : t -> int + val equal : t -> t -> bool + val compare : t -> t -> int + val repr : t +end + +module SCOPE : +sig + type t = scope + val id : t -> string + val hash : t -> int + val equal : t -> t -> bool + val compare : t -> t -> int +end + +val is_defined : unit -> bool +val on_context : context -> ('a -> 'b) -> 'a -> 'b +val get_model : unit -> model val get_scope : unit -> scope +val get_context : unit -> context val directory : unit -> string (** Current model in ["-wp-out"] directory *) @@ -73,6 +95,7 @@ sig type key = E.key type data = E.data + val id : basename:string -> key -> string val mem : key -> bool val find : key -> data val get : key -> data option @@ -114,6 +137,15 @@ sig val compile : key -> data end +module type IData = +sig + type key + type data + val name : string + val basename : key -> string + val compile : key -> string -> data +end + module type Generator = sig type key @@ -133,3 +165,13 @@ module Generator(K : Key)(D : Data with type key = K.t) : Generator module StaticGenerator(K : Key)(D : Data with type key = K.t) : Generator with type key = D.key and type data = D.data + +(** projectified, depend on the model, not serialized *) +module GeneratorID(K : Key)(D : IData with type key = K.t) : Generator + with type key = D.key + and type data = D.data + +(** projectified, independent from the model, not serialized *) +module StaticGeneratorID(K : Key)(D : IData with type key = K.t) : Generator + with type key = D.key + and type data = D.data diff --git a/src/plugins/wp/wpRTE.ml b/src/plugins/wp/wpRTE.ml index e3e8d851d6212aec2d862333b4f8b9009a76a768..debd97623b88b4a3ed5ec58be042138600d26349 100644 --- a/src/plugins/wp/wpRTE.ml +++ b/src/plugins/wp/wpRTE.ml @@ -96,14 +96,16 @@ let generator = status = Db.RteGen.get_bool_value_status } ; ] -let generate kf model = +let generate model kf = let update = ref false in - let cint = Model.with_model model Cint.current () in + let cint = WpContext.on_context (model,WpContext.Kf kf) Cint.current () in List.iter (configure ~update ~generate:true kf cint) generator ; if !update then !Db.RteGen.annotate_kf kf -let missing_guards kf model = +let missing_guards model kf = let update = ref false in - let cint = Model.with_model model Cint.current () in + let cint = WpContext.on_context (model,WpContext.Kf kf) Cint.current () in List.iter (configure ~update ~generate:false kf cint) generator ; !update + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/wp/wpRTE.mli b/src/plugins/wp/wpRTE.mli index 59fb39aed5bf2925bf55d9efa10d94a3a59ff3e0..002f94211b6282f65072273311f9659a02ce8f45 100644 --- a/src/plugins/wp/wpRTE.mli +++ b/src/plugins/wp/wpRTE.mli @@ -22,8 +22,8 @@ (** Invoke RTE to generate missing annotations for the given function and model. *) -val generate : Kernel_function.t -> Model.t -> unit +val generate : WpContext.model -> Kernel_function.t -> unit (** Returns [true] if RTE annotations should be generated for the given function and model (and are not generated yet). *) -val missing_guards : Kernel_function.t -> Model.t -> bool +val missing_guards : WpContext.model -> Kernel_function.t -> bool diff --git a/src/plugins/wp/wp_parameters.ml b/src/plugins/wp/wp_parameters.ml index fd0a578c9bfc470d1027b7c1d141139e6c0511eb..521d61ef385abcbf80ea69639788b4a6ec8a030a 100644 --- a/src/plugins/wp/wp_parameters.ml +++ b/src/plugins/wp/wp_parameters.ml @@ -219,6 +219,13 @@ module InHeap = let help = "Consider variable names aliased." end) +let () = Parameter_customize.set_group wp_model +module AliasInit = + False(struct + let option_name = "-wp-alias-init" + let help = "Use initializers for aliasing propagation." + end) + let () = Parameter_customize.set_group wp_model module InCtxt = String_set @@ -235,13 +242,6 @@ module ExternArrays = let help = "Put some default size for extern arrays." end) -let () = Parameter_customize.set_group wp_model -module ExtEqual = - False(struct - let option_name = "-wp-extensional" - let help = "Use extensional equality on compounds (hypotheses only)." - end) - let () = Parameter_customize.set_group wp_model module Overflows = False(struct @@ -350,17 +350,11 @@ let wp_strategy = add_group "Computation Strategies" let () = Parameter_customize.set_group wp_strategy module Init = - False(struct + True(struct let option_name = "-wp-init-const" let help = "Use initializers for global const variables." end) -module InitAlias = - False(struct - let option_name = "-wp-init-alias" - let help = "Use initializers for aliasing propagation." - end) - let () = Parameter_customize.set_group wp_strategy module CalleePreCond = True(struct @@ -468,11 +462,18 @@ module Reduce = let help = "Reduce function equalities with precedence to constructors." end) +let () = Parameter_customize.set_group wp_simplifier +module ExtEqual = + True(struct + let option_name = "-wp-extensional" + let help = "Use extensional equality on compounds (hypotheses only)." + end) + let () = Parameter_customize.set_group wp_simplifier module Filter = True(struct let option_name = "-wp-filter" - let help = "Use variable filtering." + let help = "Filter non-used variables and related hypotheses." end) let () = Parameter_customize.set_group wp_simplifier @@ -540,14 +541,6 @@ module BoundForallUnfolding = let default = 1000 end) -let () = Parameter_customize.set_group wp_simplifier -module QedChecks = - String_set(struct - let option_name = "-wp-qed-checks" - let arg_name = "qed-key,..." - let help = "Check internal simplifications." - end) - (* ------------------------------------------------------------------------ *) (* --- Prover Interface --- *) (* ------------------------------------------------------------------------ *) @@ -566,13 +559,30 @@ module Provers = String_list - 'tip' (failed scripts only)\n\ - 'alt-ergo' (default)\n\ - 'altgr-ergo' (gui)\n\ - - 'coq', 'coqide' (see also -wp-script)\n\ + - 'coq', 'coqide' (see also -wp-coq-script)\n\ - 'why3:<dp>' or '<dp>' (why3 prover, see -wp-detect)\n\ - 'native:alt-ergo'\n\ - - 'native:altgr-ergo'\n\ - 'native:coq'\n\ - - 'native:coqide'\n\ - - 'why3ide' (why3 gui)" + - 'native:coqide'\ + " + end) + +let () = Parameter_customize.set_group wp_prover +module Cache = String + (struct + let option_name = "-wp-cache" + let arg_name = "mode" + let default = "" + let help = + "WP cache mode:\n\ + - 'none': no cache, run provers (default)\n\ + - 'update': use cache or run provers and update cache\n\ + - 'cleanup': update mode with garbage collection\n\ + - 'replay': update mode with no cache update\n\ + - 'rebuild': always run provers and update cache\n\ + - 'offline': use cache but never run provers\n\ + This option is overriden by environment variable FRAMAC_WP_CACHE.\ + " end) let () = Parameter_customize.set_group wp_prover @@ -600,15 +610,6 @@ module Drivers = let help = "Load drivers for linking to external libraries" end) -let () = Parameter_customize.set_group wp_prover -module Depth = - Int(struct - let option_name = "-wp-depth" - let default = 0 - let arg_name = "p" - let help = "Set depth of exploration for provers." - end) - let () = Parameter_customize.set_group wp_prover module Steps = Int(struct @@ -686,8 +687,7 @@ module Auto = String_list let arg_name = "s" let help = "Activate auto-search with strategy <s>.\n\ - Implies -wp-prover 'tip'.\n\ - Use '-wp-prover ?' for listing strategies." + Use '-wp-auto <?>' for available strategies." end) let () = Parameter_customize.set_group wp_prover @@ -726,7 +726,7 @@ module BackTrack = Int let () = Parameter_customize.set_group wp_prover_options module Script = String(struct - let option_name = "-wp-script" + let option_name = "-wp-coq-script" let arg_name = "f.script" let default = "" let help = "Set user's file for Coq proofs." @@ -735,7 +735,7 @@ module Script = let () = Parameter_customize.set_group wp_prover_options module UpdateScript = True(struct - let option_name = "-wp-update-script" + let option_name = "-wp-update-coq-script" let help = "If turned off, do not save or modify user's proofs." end) @@ -789,7 +789,7 @@ let () = Parameter_customize.set_group wp_prover_options module CoqTactic = String (struct - let option_name = "-wp-tactic" + let option_name = "-wp-coq-tactic" let arg_name = "proof" let default = "auto with zarith" let help = "Default tactic for Coq" @@ -799,7 +799,7 @@ let () = Parameter_customize.set_group wp_prover_options module TryHints = False (struct - let option_name = "-wp-tryhints" + let option_name = "-wp-coq-tryhints" let help = "Try scripts from other goals (see also -wp-hints)" end) @@ -807,7 +807,7 @@ let () = Parameter_customize.set_group wp_prover_options module Hints = Int (struct - let option_name = "-wp-hints" + let option_name = "-wp-coq-hints" let arg_name = "n" let default = 3 let help = "Maximum number of proposed Coq scripts (default 3)" @@ -1084,7 +1084,6 @@ let base_output () = output | Some output -> output - let get_session () = Session.dir ~error:false () let get_session_dir d = diff --git a/src/plugins/wp/wp_parameters.mli b/src/plugins/wp/wp_parameters.mli index 1df512eaa3da2dd5b1761894d40693d0990556f5..a25d76270d259a539cbb604339121f161ce20bae 100644 --- a/src/plugins/wp/wp_parameters.mli +++ b/src/plugins/wp/wp_parameters.mli @@ -56,9 +56,9 @@ module Model : Parameter_sig.String_list module ByValue : Parameter_sig.String_set module ByRef : Parameter_sig.String_set module InHeap : Parameter_sig.String_set +module AliasInit: Parameter_sig.Bool module InCtxt : Parameter_sig.String_set module ExternArrays: Parameter_sig.Bool -module ExtEqual : Parameter_sig.Bool module Literals : Parameter_sig.Bool module Volatile : Parameter_sig.Bool (* module Overflows : Parameter_sig.Bool *) @@ -78,7 +78,6 @@ module Region_cluster: Parameter_sig.Bool (** {2 Computation Strategies} *) module Init: Parameter_sig.Bool -module InitAlias: Parameter_sig.Bool module InitWithForall: Parameter_sig.Bool module BoundForallUnfolding: Parameter_sig.Int module RTE: Parameter_sig.Bool @@ -93,7 +92,7 @@ module Prenex: Parameter_sig.Bool module Bits: Parameter_sig.Bool module Ground: Parameter_sig.Bool module Reduce: Parameter_sig.Bool -module QedChecks : Parameter_sig.String_set +module ExtEqual : Parameter_sig.Bool module UnfoldAssigns : Parameter_sig.Bool module Split: Parameter_sig.Bool module SplitDepth: Parameter_sig.Int @@ -110,6 +109,7 @@ module PrecondWeakening : Parameter_sig.Bool module Detect: Parameter_sig.Bool module Generate:Parameter_sig.Bool module Provers: Parameter_sig.String_list +module Cache: Parameter_sig.String module Drivers: Parameter_sig.String_list module Script: Parameter_sig.String module UpdateScript: Parameter_sig.Bool @@ -120,7 +120,6 @@ module CoqTimeout: Parameter_sig.Int module CoqCompiler : Parameter_sig.String module CoqIde : Parameter_sig.String module CoqProject : Parameter_sig.String -module Depth: Parameter_sig.Int module Steps: Parameter_sig.Int module Procs: Parameter_sig.Int module ProofTrace: Parameter_sig.Bool diff --git a/src/plugins/wp/wpo.ml b/src/plugins/wp/wpo.ml index 293b4105c96595b883234dee44e49602e9f1a1ec..35dc073533823b56ab12d0b505b77fc6b7e3a5b7 100644 --- a/src/plugins/wp/wpo.ml +++ b/src/plugins/wp/wpo.ml @@ -85,7 +85,7 @@ module DISK = struct let file ~id ~model ?prover ?suffix ~ext () = - let mid = Wp_parameters.get_output_dir (Model.get_id model) in + let mid = Wp_parameters.get_output_dir (WpContext.MODEL.id model) in let buffer = Buffer.create 80 in let fmt = Format.formatter_of_buffer buffer in Format.fprintf fmt "%s/%s" mid id ; @@ -357,20 +357,6 @@ struct end -(* ------------------------------------------------------------------------ *) -(* --- VC-Check --- *) -(* ------------------------------------------------------------------------ *) - -module VC_Check = -struct - type t = { qed : F.term ; raw : F.term ; goal : F.pred } - let pretty fmt v = - Format.fprintf fmt "Class %d - instance %d@\n" - (F.QED.id v.qed) (F.QED.id v.raw) ; - Format.fprintf fmt "@[<hov 2>Prove %a@]@." - F.pp_pred v.goal -end - (* ------------------------------------------------------------------------ *) (* --- Proof Obligations Database --- *) (* ------------------------------------------------------------------------ *) @@ -378,7 +364,6 @@ end type formula = | GoalLemma of VC_Lemma.t | GoalAnnot of VC_Annot.t - | GoalCheck of VC_Check.t type po = t and t = { po_gid : string ; (* goal identifier *) @@ -386,7 +371,7 @@ type po = t and t = { po_sid : string ; (* goal short identifier (without model) *) po_name : string ; (* goal informal name *) po_idx : index ; (* goal index *) - po_model : Model.t ; + po_model : WpContext.model ; po_pid : WpPropId.prop_id ; (* goal target property *) po_formula : formula ; (* proof obligation *) } @@ -394,14 +379,16 @@ type po = t and t = { let get_index w = w.po_idx let get_label w = WpPropId.label_of_prop_id w.po_pid let get_model x = x.po_model -let get_model_id w = Model.get_id (get_model w) -let get_model_name w = Model.get_descr (get_model w) +let get_scope w = match w.po_idx with + | Axiomatic _ -> WpContext.Global + | Function(kf,_) -> WpContext.Kf kf +let get_context w = w.po_model , get_scope w + let get_depend = function | { po_formula = GoalAnnot { VC_Annot.deps = ips } } -> Property.Set.elements ips | { po_formula = GoalLemma { VC_Lemma.depends = ips } } -> List.map LogicUsage.ip_lemma ips - | { po_formula = GoalCheck _ } -> [] let get_file_logout w prover = DISK.file_logout ~pid:w.po_pid ~model:(get_model w) ~prover @@ -445,8 +432,8 @@ module S = if c<>0 then c else let c = WpPropId.compare_prop_id a.po_pid b.po_pid in if c<>0 then c else - let ma = get_model_name a in - let mb = get_model_name b in + let ma = get_model a |> WpContext.MODEL.descr in + let mb = get_model b |> WpContext.MODEL.descr in let c = String.compare ma mb in if c<>0 then c else String.compare a.po_gid b.po_gid @@ -459,7 +446,7 @@ module S = po_sid = ""; po_gid = ""; po_leg = ""; - po_model = Model.repr ; + po_model = WpContext.MODEL.repr ; po_name = "dummy"; po_formula = GoalAnnot VC_Annot.repr ; }] @@ -510,17 +497,13 @@ let get_property = let qed_time wpo = match wpo.po_formula with - | GoalCheck _ | GoalLemma _ -> 0.0 + | GoalLemma _ -> 0.0 | GoalAnnot { VC_Annot.goal = g } -> GOAL.qed_time g (* -------------------------------------------------------------------------- *) (* --- Proof Collector --- *) (* -------------------------------------------------------------------------- *) -let is_check t = match t.po_formula with - | GoalCheck _ -> true - | _ -> false - let is_tactic t = WpPropId.is_tactic t.po_pid module Hproof = Hashtbl.Make(Datatype.Pair(Datatype.String)(Property)) @@ -649,12 +632,13 @@ let age g = let current_age = ref (-1) +let proof g ip = ( get_context g |> WpContext.S.id , ip ) + let add g = let system = SYSTEM.get () in begin let ip = WpPropId.property_of_id g.po_pid in - let proof = ( get_model_id g , ip ) in - Hproof.remove system.proofs proof ; + Hproof.remove system.proofs (proof g ip) ; let age = incr current_age; !current_age in system.age <- WPOmap.add g age system.age ; system.results <- WPOmap.remove g system.results ; @@ -696,13 +680,12 @@ let remove g = | Axiomatic _ -> () end ; system.results <- WPOmap.remove g system.results ; - Hproof.remove system.proofs (get_model_id g , ip ) ; + Hproof.remove system.proofs (proof g ip) ; end let warnings = function | { po_formula = GoalAnnot vcq } -> vcq.VC_Annot.warn | { po_formula = GoalLemma _ } -> [] - | { po_formula = GoalCheck _ } -> [] let get_time = function { prover_time=t } -> t let get_steps= function { prover_steps=n } -> n @@ -712,8 +695,7 @@ let get_proof g = let target = WpPropId.property_of_id g.po_pid in let status = try - let pi = ( get_model_id g , target ) in - let proof = Hproof.find system.proofs pi in + let proof = Hproof.find system.proofs (proof g target) in WpAnnot.is_proved proof with Not_found -> false in status , target @@ -721,7 +703,7 @@ let get_proof g = let update_property_status g r = let system = SYSTEM.get () in try - let pi = ( get_model_id g , WpPropId.property_of_id g.po_pid ) in + let pi = proof g (WpPropId.property_of_id g.po_pid) in let proof = try Hproof.find system.proofs pi with Not_found -> @@ -735,7 +717,7 @@ let update_property_status g r = in let target = WpAnnot.target proof in let depends = WpAnnot.dependencies proof in - let emitter = Model.get_emitter g.po_model in + let emitter = WpContext.get_emitter g.po_model in Property_status.emit emitter ~hyps:depends target status ; with err -> Wp_parameters.failure "Update-status failed (%s)" (Printexc.to_string err) ; @@ -783,14 +765,12 @@ let is_trivial g = match g.po_formula with | GoalLemma vc -> VC_Lemma.is_trivial vc | GoalAnnot vc -> VC_Annot.is_trivial vc - | GoalCheck _ -> false let reduce g = match g.po_formula with - | GoalCheck _ -> false - | GoalLemma vc -> Model.with_model g.po_model VC_Lemma.is_trivial vc - | GoalAnnot vc -> Model.with_model g.po_model VC_Annot.resolve vc + | GoalLemma vc -> WpContext.on_context (get_context g) VC_Lemma.is_trivial vc + | GoalAnnot vc -> WpContext.on_context (get_context g) VC_Annot.resolve vc let resolve g = let valid = reduce g in @@ -800,15 +780,14 @@ let resolve g = valid let compute g = + let ctxt = get_context g in match g.po_formula with | GoalAnnot { VC_Annot.axioms ; VC_Annot.goal = goal } -> - axioms , Model.with_model g.po_model GOAL.compute_descr goal + axioms , WpContext.on_context ctxt GOAL.compute_descr goal | GoalLemma ({ VC_Lemma.depends = depends ; VC_Lemma.lemma = lemma } as w) -> let open Definitions in Some( lemma.l_cluster , depends ) , - Model.with_model g.po_model VC_Lemma.sequent w - | GoalCheck { VC_Check.goal = goal } -> - None , Model.with_model g.po_model Conditions.lemma goal + WpContext.on_context ctxt VC_Lemma.sequent w let is_proved g = is_trivial g || List.exists (fun (_,r) -> VCS.is_valid r) (get_results g) @@ -839,11 +818,9 @@ let pp_goal_model fmt w = VC_Annot.pretty fmt w.po_pid vcq (get_results w) | GoalLemma vca -> VC_Lemma.pretty fmt vca (get_results w) - | GoalCheck vck -> - VC_Check.pretty fmt vck end -let pp_goal fmt w = Model.with_model w.po_model (pp_goal_model fmt) w +let pp_goal fmt w = WpContext.on_context (get_context w) (pp_goal_model fmt) w let pp_goal_flow fmt g = begin @@ -968,7 +945,6 @@ let get_files w = [ "Goal" , VC_Annot.cache_descr ~pid:w.po_pid vcq results ] | GoalLemma vca -> [ "Lemma" , VC_Lemma.cache_descr vca results ] - | GoalCheck _ -> [] in let result_files = List.fold_right diff --git a/src/plugins/wp/wpo.mli b/src/plugins/wp/wpo.mli index ffe0871674f0f168c3d62bae4c5d4a78d1960e0b..aba0f8ad7d67cf1c8cf2c7dcdc4101837ed2af88 100644 --- a/src/plugins/wp/wpo.mli +++ b/src/plugins/wp/wpo.mli @@ -36,14 +36,14 @@ type index = module DISK : sig - val cache_log : pid:prop_id -> model:Model.t -> + val cache_log : pid:prop_id -> model:WpContext.model -> prover:prover -> result:result -> string - val pretty : pid:prop_id -> model:Model.t -> + val pretty : pid:prop_id -> model:WpContext.model -> prover:prover -> result:result -> Format.formatter -> unit - val file_kf : kf:kernel_function -> model:Model.t -> prover:prover -> string - val file_goal : pid:prop_id -> model:Model.t -> prover:prover -> string - val file_logout : pid:prop_id -> model:Model.t -> prover:prover -> string - val file_logerr : pid:prop_id -> model:Model.t -> prover:prover -> string + val file_kf : kf:kernel_function -> model:WpContext.model -> prover:prover -> string + val file_goal : pid:prop_id -> model:WpContext.model -> prover:prover -> string + val file_logout : pid:prop_id -> model:WpContext.model -> prover:prover -> string + val file_logerr : pid:prop_id -> model:WpContext.model -> prover:prover -> string end module GOAL : @@ -94,17 +94,6 @@ sig end -module VC_Check : -sig - - type t = { - qed : Lang.F.term ; - raw : Lang.F.term ; - goal : Lang.F.pred ; - } - -end - (* ------------------------------------------------------------------------ *) (**{1 Proof Obligations} *) (* ------------------------------------------------------------------------ *) @@ -112,7 +101,6 @@ end type formula = | GoalLemma of VC_Lemma.t | GoalAnnot of VC_Annot.t - | GoalCheck of VC_Check.t type po = t and t = { po_gid : string ; (** goal identifier *) @@ -120,7 +108,7 @@ type po = t and t = { po_sid : string ; (** goal short identifier (without model) *) po_name : string ; (** goal informal name *) po_idx : index ; (** goal index *) - po_model : Model.t ; + po_model : WpContext.model ; po_pid : WpPropId.prop_id ; (* goal target property *) po_formula : formula ; (* proof obligation *) } @@ -140,9 +128,9 @@ val get_gid: t -> string val get_property: t -> Property.t val get_index : t -> index val get_label : t -> string -val get_model : t -> Model.t -val get_model_id : t -> string -val get_model_name : t -> string +val get_model : t -> WpContext.model +val get_scope : t -> WpContext.scope +val get_context : t -> WpContext.context val get_file_logout : t -> prover -> string (** only filename, might not exists *) val get_file_logerr : t -> prover -> string (** only filename, might not exists *) @@ -181,7 +169,6 @@ val is_valid: result -> bool val get_time: result -> float val get_steps: result -> int -val is_check : t -> bool val is_tactic : t -> bool val iter : diff --git a/tests/fc_script/main.c b/tests/fc_script/main.c index 176bf1c3e843ae5c5e9967c7c2607ec6006562d3..74d57214aa95bddef791ede03759c1a863e371da 100644 --- a/tests/fc_script/main.c +++ b/tests/fc_script/main.c @@ -1,6 +1,6 @@ /* run.config OPT: - EXECNOW: LOG GNUmakefile LOG make_template.res LOG make_template.err bin/frama-c-script make-template @PTEST_DIR@/result < @PTEST_DIR@/make_template.input > @PTEST_DIR@/result/make_template.res 2> @PTEST_DIR@/result/make_template.err + EXECNOW: LOG GNUmakefile LOG make_template.res LOG make_template.err PTESTS_TESTING= bin/frama-c-script make-template @PTEST_DIR@/result < @PTEST_DIR@/make_template.input > @PTEST_DIR@/result/make_template.res 2> @PTEST_DIR@/result/make_template.err EXECNOW: LOG list_files.res LOG list_files.err bin/frama-c-script list-files @PTEST_DIR@/list_files.json > @PTEST_DIR@/result/list_files.res 2> @PTEST_DIR@/result/list_files.err EXECNOW: LOG flamegraph.html LOG flamegraph.res LOG flamegraph.err NOGUI=1 bin/frama-c-script flamegraph @PTEST_DIR@/flamegraph.txt @PTEST_DIR@/result > @PTEST_DIR@/result/flamegraph.res 2> @PTEST_DIR@/result/flamegraph.err && rm -f @PTEST_DIR@/result/flamegraph.svg EXECNOW: LOG find_fun1.res LOG find_fun1.err bin/frama-c-script find-fun main2 @PTEST_DIR@ > @PTEST_DIR@/result/find_fun1.res 2> @PTEST_DIR@/result/find_fun1.err diff --git a/tests/fc_script/make_template.input b/tests/fc_script/make_template.input index 7d303e9f0445bd48f79321001776a02c34d473d3..62488cfcb339f48b9263e611e5e7422074143ddb 100644 --- a/tests/fc_script/make_template.input +++ b/tests/fc_script/make_template.input @@ -1,2 +1,7 @@ fc_script_main file1.c file*.c dir/more_files.c +y +y +invalid_machdep +n +x86_64 diff --git a/tests/fc_script/oracle/GNUmakefile b/tests/fc_script/oracle/GNUmakefile index 12cd496ed85d9e8a6db443df0b585e81836f2339..32e5f33f164497fed2b82f1f27117a01a2286360 100644 --- a/tests/fc_script/oracle/GNUmakefile +++ b/tests/fc_script/oracle/GNUmakefile @@ -29,6 +29,8 @@ CPPFLAGS += # (Optional) Frama-C general flags (parsing and kernel) FCFLAGS += \ + -machdep x86_64 \ + -json-compilation-database . \ -kernel-warn-key annot:missing-spec=abort \ -kernel-warn-key typing:implicit-function-declaration=abort \ @@ -48,7 +50,7 @@ all: $(TARGETS) # (MANDATORY) List of source files used by MAIN_TARGET. # If there is a JSON compilation database, # 'frama-c-script list-files' can help obtain it -$(MAIN_TARGET).parse: file1.c file*.c dir/more_files.c +$(MAIN_TARGET).parse: fc_stubs.c file1.c file*.c dir/more_files.c # The following targets are optional and provided for convenience only diff --git a/tests/fc_script/oracle/make_template.res b/tests/fc_script/oracle/make_template.res index 280e7bb79e5a815f6d82b1eabec5b59fae3bb21f..9f38d9c7e745cbea6fe458c9fc77cdcd03f48e1e 100644 --- a/tests/fc_script/oracle/make_template.res +++ b/tests/fc_script/oracle/make_template.res @@ -1 +1,6 @@ -Template created: tests/fc_script/result/GNUmakefile +Running ptests: setting up mock files... +Main target name: Source files separated by spaces (default if empty: *.c): compile_commands.json exists, add option -json-compilation-database? [Y/n] Add stub for function main (only needed if it uses command-line arguments)? [y/N] Please define the architectural model (machdep) of the target machine. +Known machdeps: x86_16 x86_32 x86_64 gcc_x86_16 gcc_x86_32 gcc_x86_64 ppc_32 msvc_x86_64 +Please enter the machdep [x86_32]: 'invalid_machdep' is not a standard machdep. Proceed anyway? [y/N]Please enter the machdep [x86_32]: Created stub for main function: fc_stubs.c +Template created: GNUmakefile +Running ptests: cleaning up after tests... diff --git a/tests/idct/oracle/ieee_1180_1990.res.oracle b/tests/idct/oracle/ieee_1180_1990.res.oracle index a0c2c414fd9f4785327dea18761f3ff05f3f9fa8..0f3499f8f38e8e1815a6b7f9bb68d54d3019a961 100644 --- a/tests/idct/oracle/ieee_1180_1990.res.oracle +++ b/tests/idct/oracle/ieee_1180_1990.res.oracle @@ -3852,7 +3852,7 @@ [ Extern ] Froms (file tests/idct/ieee_1180_1990.c, line 195) assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, + (indirect: __fc_stdout->__fc_FILE_data), (indirect: *(format + (0 ..))); Unverifiable but considered Valid. [ Valid ] Default behavior @@ -3878,7 +3878,7 @@ [ Extern ] Froms (file tests/idct/ieee_1180_1990.c, line 196) assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, + (indirect: __fc_stdout->__fc_FILE_data), (indirect: *(format + (0 ..))); Unverifiable but considered Valid. [ Valid ] Default behavior diff --git a/tests/libc/check_compliance.ml b/tests/libc/check_compliance.ml new file mode 100644 index 0000000000000000000000000000000000000000..ce69f25c601c328fdde8185f26d6a87ccc7d4e4f --- /dev/null +++ b/tests/libc/check_compliance.ml @@ -0,0 +1,144 @@ +open Cil_types + +let add_headers tbl id headers = + try + let old_headers = Hashtbl.find tbl id in + Hashtbl.replace tbl id (old_headers @ headers) + with Not_found -> + Hashtbl.replace tbl id headers + +class stdlib_visitor = object + inherit Visitor.frama_c_inplace + val in_stdlib = ref false + val idents : (string, string list) Hashtbl.t = Hashtbl.create 500 + + method! vglob_aux g = + match Cil.findAttribute "fc_stdlib" (Cil.global_attributes g) with + | [] -> + in_stdlib := false; + Cil.SkipChildren + | attrparams -> + let headers = + Extlib.filter_map' (fun ap -> + match ap with + | AStr s -> s + | _ -> assert false + ) (Extlib.string_suffix ".h") attrparams + in + in_stdlib := true; + begin + match g with + | GEnumTag ({eorig_name = id}, _loc) | GEnumTagDecl ({eorig_name = id}, _loc) + | GCompTag ({corig_name = id}, _loc) | GCompTagDecl ({corig_name = id}, _loc) + | GVar ({vorig_name = id}, _, _loc) | GVarDecl ({vorig_name = id}, _loc) + | GFunDecl (_, {vorig_name = id}, _loc) + | GFun ({svar = {vorig_name = id}}, _loc) -> + add_headers idents id headers + | _ -> () + end; + Cil.DoChildren + + method get_idents = idents +end + +let run_once = ref false + +module StringSet = Set.Make(String) + +let get_idents dir f = + let file = Filename.concat dir f in + let open Yojson.Basic.Util in + Kernel.feedback "parsing %s" f; + let json = Yojson.Basic.from_file file in + let elements = json |> member "data" |> to_list in + List.fold_left (fun acc e -> + let ident = e |> member "ident" |> to_string in + StringSet.add ident acc + ) StringSet.empty elements + +let get_ident_headers dir f = + let file = Filename.concat dir f in + let idents = Hashtbl.create 500 in + let open Yojson.Basic.Util in + Kernel.feedback "parsing %s" f; + let json = Yojson.Basic.from_file file in + let elements = json |> member "data" |> to_list in + List.iter (fun e -> + let ident = e |> member "ident" |> to_string in + let header = e |> member "header" |> to_string in + Hashtbl.replace idents ident header + ) elements; + idents + +let get_ident_headers_and_extensions dir f = + let file = Filename.concat dir f in + let idents = Hashtbl.create 500 in + let open Yojson.Basic.Util in + Kernel.feedback "parsing %s" f; + let json = Yojson.Basic.from_file file in + let elements = json |> member "data" |> to_list in + List.iter (fun e -> + let ident = e |> member "ident" |> to_string in + let header = e |> member "header" |> to_string in + let extensions = e |> member "extensions" |> to_list in + Hashtbl.replace idents ident (header, extensions) + ) elements; + idents + +let () = + Db.Main.extend (fun () -> + if not !run_once then begin + run_once := true; + let vis = new stdlib_visitor in + ignore (Visitor.visitFramacFile (vis :> Visitor.frama_c_visitor) (Ast.get ())); + let fc_stdlib_idents = vis#get_idents in + let dir = Filename.concat Config.datadir "compliance" in + let c11_idents = get_ident_headers dir "c11_functions.json" in + let glibc_idents = get_idents dir "glibc_functions.json" in + let posix_idents = get_ident_headers_and_extensions dir "posix_identifiers.json" in + let nonstandard_idents = get_idents dir "nonstandard_identifiers.json" in + Hashtbl.iter (fun id headers -> + if not (Extlib.string_prefix "__" id) && + not (Extlib.string_prefix "Frama_C" id) && + List.filter (fun h -> not (Extlib.string_prefix "__fc" h)) + headers <> [] + then + let id_in_c11 = Hashtbl.mem c11_idents id in + let id_in_posix = Hashtbl.mem posix_idents id in + let id_in_glibc = StringSet.mem id glibc_idents in + let id_in_nonstd = StringSet.mem id nonstandard_idents in + if id_in_c11 then begin + (* Check that the header is the expected one. + Note that some symbols may appear in more than one header, + possibly due to collisions + (e.g. 'flock' as type and function). *) + let h = Hashtbl.find c11_idents id in + if not (List.mem h headers) then + Kernel.warning "<%a>:%s : C11 says %s" + (Pretty_utils.pp_list ~sep:"," Format.pp_print_string) headers + id h + end + else if id_in_posix then begin + (* check the header is the expected one *) + let (h, _) = Hashtbl.find posix_idents id in + (* arpa/inet.h and netinet/in.h are special cases: due to mutual + inclusion, there are always issues with their symbols; + also, timezone is a special case, since it is a type in + sys/time.h, but a variable in time.h in POSIX. However, its + declaration as extern is erased by rmtmps, since it is + unused. *) + if not (List.mem h headers) && + not (List.mem "arpa/inet.h" headers && h = "netinet/in.h" || + List.mem "netinet/in.h" headers && h = "arpa/inet.h") && + id <> "timezone" + then + Kernel.warning "<%a>:%s : POSIX says %s" + (Pretty_utils.pp_list ~sep:"," Format.pp_print_string) headers + id h + end + else if not (id_in_glibc || id_in_nonstd) then + Kernel.warning "<%a>:%s : unknown identifier" + (Pretty_utils.pp_list ~sep:"," Format.pp_print_string) headers + id + ) fc_stdlib_idents; + end) diff --git a/tests/libc/check_libc_anonymous_tags.ml b/tests/libc/check_libc_anonymous_tags.ml new file mode 100644 index 0000000000000000000000000000000000000000..62bb754fb908f86bb3bbb7bdb0fc903341eb20f4 --- /dev/null +++ b/tests/libc/check_libc_anonymous_tags.ml @@ -0,0 +1,57 @@ +(* Checks that the Frama-C libc does not declare any anonymous + enums/structs/unions *) + +open Cil_types + +class tags_visitor = object + inherit Visitor.frama_c_inplace + val in_stdlib = ref false + + method! vglob_aux g = + if Cil.hasAttribute "fc_stdlib" (Cil.global_attributes g) then + begin + in_stdlib := true; + begin + match g with + | GEnumTag (ei, loc) | GEnumTagDecl (ei, loc) -> + if ei.eorig_name = "" && !in_stdlib then + Kernel.warning ~source:(fst loc) ~once:true + "anonymous enum in Frama-C stdlib"; + | GCompTag (ci, loc) | GCompTagDecl (ci, loc) -> + if ci.corig_name = "" && !in_stdlib then + Kernel.warning ~source:(fst loc) ~once:true + "anonymous %s in Frama-C stdlib" + (if ci.cstruct then "struct" else "union"); + | _ -> () + end; + Cil.DoChildren + end + else begin + in_stdlib := false; + Cil.SkipChildren + end + + method! vtype typ = + begin + match typ with + | TEnum (ei, _) when ei.eorig_name = "" && !in_stdlib -> + Kernel.warning ~current:true ~once:true + "anonymous enum in Frama-C stdlib"; + () + | TComp (ci, _, _) when ci.corig_name = "" && !in_stdlib -> + Kernel.warning ~current:true ~once:true + "anonymous %s in Frama-C stdlib" + (if ci.cstruct then "struct" else "union") + | _ -> () + end; + Cil.DoChildren +end + +let run_once = ref false + +let () = + Db.Main.extend (fun () -> + if not !run_once then begin + run_once := true; + Visitor.visitFramacFile (new tags_visitor) (Ast.get ()) + end) diff --git a/tests/libc/fc_libc.c b/tests/libc/fc_libc.c index 3baf405b45968983fc9f4ef2316aaf1822b023ba..fc52ca5ff0ad17a4190b6bb394a20cd090e22d0f 100644 --- a/tests/libc/fc_libc.c +++ b/tests/libc/fc_libc.c @@ -2,9 +2,13 @@ EXECNOW: make -s @PTEST_DIR@/check_libc_naming_conventions.cmxs EXECNOW: make -s @PTEST_DIR@/check_const.cmxs EXECNOW: make -s @PTEST_DIR@/check_parsing_individual_headers.cmxs + EXECNOW: make -s @PTEST_DIR@/check_libc_anonymous_tags.cmxs + EXECNOW: make -s @PTEST_DIR@/check_compliance.cmxs OPT: -load-module @PTEST_DIR@/check_libc_naming_conventions -print -cpp-extra-args='-nostdinc -Ishare/libc' -metrics -metrics-libc -load-module @PTEST_DIR@/check_const -load-module metrics -eva @EVA_CONFIG@ -then -lib-entry -no-print -metrics-no-libc OPT: -print -print-libc OPT: -load-module @PTEST_DIR@/check_parsing_individual_headers + OPT: -load-module @PTEST_DIR@/check_libc_anonymous_tags + OPT: -load-module @PTEST_DIR@/check_compliance -kernel-msg-key printer:attrs CMD: ./tests/libc/check_full_libc.sh OPT: **/ diff --git a/tests/libc/oracle/fc_libc.0.res.oracle b/tests/libc/oracle/fc_libc.0.res.oracle index 6e3d1931e3a29df6f54f71de3d15181b471bbc54..d64ea807afda96b59b16bcca76633b124b9864dc 100644 --- a/tests/libc/oracle/fc_libc.0.res.oracle +++ b/tests/libc/oracle/fc_libc.0.res.oracle @@ -4,10 +4,10 @@ [eva] Initial state computed [eva:initial-state] Values of globals at initialization -[eva] tests/libc/fc_libc.c:149: assertion got status valid. -[eva] tests/libc/fc_libc.c:150: assertion got status valid. -[eva] tests/libc/fc_libc.c:151: assertion got status valid. -[eva] tests/libc/fc_libc.c:152: assertion got status valid. +[eva] tests/libc/fc_libc.c:153: assertion got status valid. +[eva] tests/libc/fc_libc.c:154: assertion got status valid. +[eva] tests/libc/fc_libc.c:155: assertion got status valid. +[eva] tests/libc/fc_libc.c:156: assertion got status valid. [eva] Recording results for main [eva] done for function main [eva] ====== VALUES COMPUTED ====== @@ -157,12 +157,12 @@ wcstombs (0 call); wctomb (0 call); wmemchr (0 call); wmemcmp (0 call); wmemmove (0 call); write (0 call); - 'Extern' global variables (15) + 'Extern' global variables (17) ============================== __fc_basename; __fc_dirname; __fc_getpwuid_pw_dir; __fc_getpwuid_pw_name; - __fc_getpwuid_pw_passwd; __fc_getpwuid_pw_shell; __fc_hostname; - __fc_mblen_state; __fc_mbtowc_state; __fc_ttyname; __fc_wctomb_state; - optarg; opterr; optopt; tzname + __fc_getpwuid_pw_passwd; __fc_getpwuid_pw_shell; __fc_hostname; __fc_locale; + __fc_locale_names; __fc_mblen_state; __fc_mbtowc_state; __fc_ttyname; + __fc_wctomb_state; optarg; opterr; optopt; tzname Potential entry points (1) ========================== @@ -172,7 +172,7 @@ ============== Sloc = 1083 Decision point = 204 - Global variables = 66 + Global variables = 68 If = 195 Loop = 43 Goto = 89 @@ -186,7 +186,6 @@ #include "__fc_builtin.c" #include "__fc_builtin.h" #include "__fc_define_fd_set_t.h" -#include "__fc_define_useconds_t.h" #include "__fc_gcc_builtins.h" #include "__fc_select.h" #include "alloca.h" @@ -214,6 +213,7 @@ #include "math.h" #include "netdb.c" #include "netdb.h" +#include "netinet/in.h" #include "poll.h" #include "pthread.h" #include "pwd.h" diff --git a/tests/libc/oracle/fc_libc.1.res.oracle b/tests/libc/oracle/fc_libc.1.res.oracle index 417ea214e24ff7f7103182badf324309869ad81f..d0942621eceadea65324eea022577dd0fad7f0f9 100644 --- a/tests/libc/oracle/fc_libc.1.res.oracle +++ b/tests/libc/oracle/fc_libc.1.res.oracle @@ -17,6 +17,13 @@ struct __fc_fenv_t { unsigned short __unused5 ; }; typedef struct __fc_fenv_t fenv_t; +typedef int wchar_t; +typedef int ssize_t; +typedef unsigned int gid_t; +typedef unsigned int uid_t; +typedef long off_t; +typedef int pid_t; +typedef unsigned int useconds_t; struct option { char const *name ; int has_arg ; @@ -35,7 +42,6 @@ struct __fc_glob_t { int (*gl_stat)(char const * __restrict , void * __restrict ) ; }; typedef struct __fc_glob_t glob_t; -typedef int wchar_t; struct __fc_div_t { int quot ; int rem ; @@ -119,9 +125,6 @@ struct __fc_pthread_t { int _fc ; }; typedef struct __fc_pthread_t pthread_t; -typedef int pid_t; -typedef unsigned int gid_t; -typedef unsigned int uid_t; typedef unsigned long sigset_t; union sigval { int sival_int ; @@ -151,7 +154,6 @@ struct sockaddr { sa_family_t sa_family ; char sa_data[14] ; }; -typedef int ssize_t; struct iovec { void *iov_base ; size_t iov_len ; @@ -239,7 +241,6 @@ typedef unsigned int blksize_t; typedef unsigned int dev_t; typedef unsigned int mode_t; typedef unsigned int nlink_t; -typedef long off_t; struct stat { dev_t st_dev ; ino_t st_ino ; @@ -301,7 +302,6 @@ struct __fc_fd_set { long __fc_fd_set[(unsigned int)1024 / ((unsigned int)8 * sizeof(long))] ; }; typedef struct __fc_fd_set fd_set; -typedef unsigned int useconds_t; struct flock { short l_type ; short l_whence ; @@ -343,11 +343,11 @@ struct __fc_sigjmp_buf { sigset_t sigs ; }; typedef struct __fc_sigjmp_buf sigjmp_buf; -struct _code { +struct __fc_code { char const *c_name ; int c_val ; }; -typedef struct _code CODE; +typedef struct __fc_code CODE; typedef unsigned long rlim_t; struct rlimit { rlim_t rlim_cur ; @@ -1147,95 +1147,6 @@ int fesetenv(fenv_t const *envp) return __retres; } -extern char *optarg; - -int optind; - -extern int opterr; - -extern int optopt; - -/*@ assigns \result, *optarg, optind, opterr, optopt; - assigns \result - \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..)); - assigns *optarg - \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..)); - assigns optind - \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..)); - assigns opterr - \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..)); - assigns optopt - \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..)); - */ -extern int getopt(int argc, char * const *argv, char const *optstring); - -/*@ assigns \result, *optarg, optind, opterr, optopt, - *((longopts + (0 ..))->flag); - assigns \result - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - assigns *optarg - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - assigns optind - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - assigns opterr - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - assigns optopt - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - assigns *((longopts + (0 ..))->flag) - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - */ -extern int getopt_long(int argc, char * const *argv, char const *shortopts, - struct option const *longopts, int *longind); - -/*@ assigns \result, *optarg, optind, opterr, optopt, - *((longopts + (0 ..))->flag); - assigns \result - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - assigns *optarg - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - assigns optind - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - assigns opterr - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - assigns optopt - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - assigns *((longopts + (0 ..))->flag) - \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), - *(longopts + (0 ..)); - */ -extern int getopt_long_only(int argc, char * const *argv, - char const *shortopts, - struct option const *longopts, int *longind); - -int optind = 1; -int glob(char const *pattern, int flags, - int (*errfunc)(char const *epath, int eerrno), glob_t *pglob); - -void globfree(glob_t *pglob); - -/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */ - -/*@ -axiomatic dynamic_allocation { - predicate is_allocable{L}(ℤ n) - reads __fc_heap_status; - - axiom never_allocable{L}: - ∀ ℤ i; i < 0 ∨ i > 4294967295U ⇒ ¬is_allocable(i); - - } - */ /*@ axiomatic MemCmp { logic ℤ memcmp{L1, L2}(char *s1, char *s2, ℤ n) @@ -1523,3398 +1434,2896 @@ predicate valid_wstring_or_null{L}(wchar_t *s) = s ≡ \null ∨ valid_wstring(s); */ -/*@ requires valid_nptr: \valid_read(nptr); +/*@ ghost int __fc_fds[1024]; */ +/*@ requires valid_string_path: valid_read_string(path); + requires valid_amode: (amode & ~((4 | 2) | 1)) ≡ 0 ∨ amode ≡ 0; + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: path), (indirect: *(path + (0 ..))), (indirect: amode); */ -extern double atof(char const *nptr); - -int atoi(char const *p); +extern int access(char const *path, int amode); -/*@ requires valid_nptr: \valid_read(nptr); +/*@ requires valid_string_path: valid_read_string(path); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result \from (indirect: path), (indirect: *(path + (0 ..))); */ -extern long atol(char const *nptr); +extern int chdir(char const *path); -/*@ requires valid_nptr: \valid_read(nptr); +/*@ requires valid_string_path: valid_read_string(path); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result \from (indirect: path), (indirect: *(path + (0 ..))); */ -extern long long atoll(char const *nptr); +extern int chroot(char const *path); -/*@ requires valid_nptr: \valid_read(nptr); - requires separation: \separated(nptr, endptr); - assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - - behavior no_storage: - assumes null_endptr: endptr ≡ \null; - assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - - behavior store_position: - assumes nonnull_endptr: endptr ≢ \null; - requires valid_endptr: \valid(endptr); - ensures initialization: \initialized(\old(endptr)); - ensures valid_endptr: \valid_read(\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); - assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - - complete behaviors store_position, no_storage; - disjoint behaviors store_position, no_storage; +/*@ requires valid_string_path: valid_read_string(path); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; + assigns \result + \from (indirect: path), (indirect: *(path + (0 ..))), + (indirect: owner), (indirect: group); */ -extern double strtod(char const * __restrict nptr, char ** __restrict endptr); +extern int chown(char const *path, uid_t owner, gid_t group); -/*@ requires valid_nptr: \valid_read(nptr); - requires separation: \separated(nptr, endptr); - assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - - behavior no_storage: - assumes null_endptr: endptr ≡ \null; - assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - - behavior store_position: - assumes nonnull_endptr: endptr ≢ \null; - requires valid_endptr: \valid(endptr); - ensures initialization: \initialized(\old(endptr)); - ensures valid_endptr: \valid_read(\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); - assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - - complete behaviors store_position, no_storage; - disjoint behaviors store_position, no_storage; +/*@ requires valid_fd: 0 ≤ fd < 1024; + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns __fc_fds[fd], \result; + assigns __fc_fds[fd] \from fd, __fc_fds[fd]; + assigns \result \from (indirect: fd), (indirect: __fc_fds[fd]); */ -extern float strtof(char const * __restrict nptr, char ** __restrict endptr); +extern int close(int fd); -/*@ requires valid_nptr: \valid_read(nptr); - requires separation: \separated(nptr, endptr); - assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - - behavior no_storage: - assumes null_endptr: endptr ≡ \null; - assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - - behavior store_position: - assumes nonnull_endptr: endptr ≢ \null; - requires valid_endptr: \valid(endptr); - ensures initialization: \initialized(\old(endptr)); - ensures valid_endptr: \valid_read(\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); - assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - - complete behaviors store_position, no_storage; - disjoint behaviors store_position, no_storage; +/*@ requires valid_fildes: 0 ≤ fildes < 1024; + ensures + result_valid_fildes_or_error: + \result ≡ -1 ∨ (\old(fildes) ≤ \result < 1024); + assigns __fc_fds[fildes ..], \result; + assigns __fc_fds[fildes ..] \from fildes; + assigns \result \from fildes; */ -extern long double strtold(char const * __restrict nptr, - char ** __restrict endptr); +extern int dup(int fildes); -/*@ requires valid_nptr: \valid_read(nptr); - requires separation: \separated(nptr, endptr); - requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); - assigns \result, *endptr; +/*@ requires valid_fildes: 0 ≤ fildes < 1024; + requires valid_fildes2: 0 ≤ fildes2 < 1024; + ensures + result_fildes2_or_error: \result ≡ \old(fildes2) ∨ \result ≡ -1; + assigns __fc_fds[fildes2], \result; + assigns __fc_fds[fildes2] \from fildes, fildes2, __fc_fds[fildes2]; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); - - behavior no_storage: - assumes null_endptr: endptr ≡ \null; - assigns \result; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), - (indirect: base); - - behavior store_position: - assumes nonnull_endptr: endptr ≢ \null; - requires valid_endptr: \valid(endptr); - ensures initialization: \initialized(\old(endptr)); - ensures valid_endptr: \valid_read(\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); - assigns \result, *endptr; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), - (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); - - complete behaviors store_position, no_storage; - disjoint behaviors store_position, no_storage; + \from fildes, fildes2, __fc_fds[fildes], __fc_fds[fildes2]; */ -extern long strtol(char const * __restrict nptr, char ** __restrict endptr, - int base); +extern int dup2(int fildes, int fildes2); -/*@ requires valid_nptr: \valid_read(nptr); - requires separation: \separated(nptr, endptr); - requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); - assigns \result, *endptr; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); - - behavior no_storage: - assumes null_endptr: endptr ≡ \null; - assigns \result; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), - (indirect: base); - - behavior store_position: - assumes nonnull_endptr: endptr ≢ \null; - requires valid_endptr: \valid(endptr); - ensures initialization: \initialized(\old(endptr)); - ensures valid_endptr: \valid_read(\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); - assigns \result, *endptr; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), - (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); - - complete behaviors store_position, no_storage; - disjoint behaviors store_position, no_storage; +/*@ requires valid_string_path: valid_read_string(path); + requires valid_string_arg: valid_read_string(arg); + assigns \result; + assigns \result \from *(path + (0 ..)), *(arg + (0 ..)); */ -extern long long strtoll(char const * __restrict nptr, - char ** __restrict endptr, int base); +extern int execl(char const *path, char const *arg, void * const *__va_params); -/*@ requires valid_nptr: \valid_read(nptr); - requires separation: \separated(nptr, endptr); - requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); - assigns \result, *endptr; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); - - behavior no_storage: - assumes null_endptr: endptr ≡ \null; - assigns \result; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), - (indirect: base); - - behavior store_position: - assumes nonnull_endptr: endptr ≢ \null; - requires valid_endptr: \valid(endptr); - ensures initialization: \initialized(\old(endptr)); - ensures valid_endptr: \valid_read(\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); - assigns \result, *endptr; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), - (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); - - complete behaviors store_position, no_storage; - disjoint behaviors store_position, no_storage; +/*@ requires valid_string_path: valid_read_string(path); + requires valid_string_arg: valid_read_string(arg); + assigns \result; + assigns \result \from *(path + (0 ..)), *(arg + (0 ..)); */ -extern unsigned long strtoul(char const * __restrict nptr, - char ** __restrict endptr, int base); +extern int execle(char const *path, char const *arg, + void * const *__va_params); -/*@ requires valid_nptr: \valid_read(nptr); - requires separation: \separated(nptr, endptr); - requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); - assigns \result, *endptr; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); - - behavior no_storage: - assumes null_endptr: endptr ≡ \null; - assigns \result; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), - (indirect: base); - - behavior store_position: - assumes nonnull_endptr: endptr ≢ \null; - requires valid_endptr: \valid(endptr); - ensures initialization: \initialized(\old(endptr)); - ensures valid_endptr: \valid_read(\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); - assigns \result, *endptr; - assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), - (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); - - complete behaviors store_position, no_storage; - disjoint behaviors store_position, no_storage; +/*@ requires valid_string_path: valid_read_string(path); + requires valid_string_arg: valid_read_string(arg); + assigns \result; + assigns \result \from *(path + (0 ..)), *(arg + (0 ..)); */ -extern unsigned long long strtoull(char const * __restrict nptr, - char ** __restrict endptr, int base); - -/*@ ghost -extern int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__)); -*/ +extern int execlp(char const *path, char const *arg, + void * const *__va_params); -unsigned long const __fc_rand_max = (unsigned long)32767; -/*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max; - assigns \result, __fc_random_counter; - assigns \result \from __fc_random_counter; - assigns __fc_random_counter \from __fc_random_counter; +/*@ requires valid_string_path: valid_read_string(path); + requires valid_string_argv0: valid_read_string(*(argv + 0)); + assigns \result; + assigns \result \from *(path + (0 ..)), *(argv + (0 ..)); */ -extern int rand(void); +extern int execv(char const *path, char * const *argv); -/*@ assigns __fc_random_counter; - assigns __fc_random_counter \from seed; */ -extern void srand(unsigned int seed); +/*@ requires valid_path: valid_read_string(path); + requires valid_argv0: valid_read_string(*(argv + 0)); + assigns \result; + assigns \result \from *(path + (0 ..)), *(argv + (0 ..)); + */ +extern int execve(char const *path, char * const *argv, char * const *env); -/*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max; +/*@ requires valid_string_path: valid_read_string(path); + requires valid_string_argv0: valid_read_string(*(argv + 0)); assigns \result; - assigns \result \from __fc_random_counter; + assigns \result \from *(path + (0 ..)), *(argv + (0 ..)); */ -extern long random(void); +extern int execvp(char const *path, char * const *argv); -/*@ assigns __fc_random_counter; - assigns __fc_random_counter \from seed; */ -extern void srandom(unsigned int seed); +/*@ ensures never_terminates: \false; + assigns \nothing; */ +extern __attribute__((__noreturn__)) void _exit(int); -int __fc_random48_init __attribute__((__FRAMA_C_MODEL__)); -unsigned short __fc_random48_counter[3] __attribute__((__FRAMA_C_MODEL__)); -unsigned short *__fc_p_random48_counter = __fc_random48_counter; -/*@ ensures random48_initialized: __fc_random48_init ≡ 1; - assigns __fc_random48_counter[0 .. 2], __fc_random48_init; - assigns __fc_random48_counter[0 .. 2] \from seed; - assigns __fc_random48_init \from \nothing; +/*@ ensures + result_ok_child_or_error: + \result ≡ 0 ∨ \result > 0 ∨ \result ≡ -1; + assigns \result; + assigns \result \from \nothing; */ -extern void srand48(long seed); +extern pid_t fork(void); -/*@ requires - initialization: initialized_seed16v: \initialized(seed16v + (0 .. 2)); - ensures random48_initialized: __fc_random48_init ≡ 1; - ensures result_counter: \result ≡ __fc_p_random48_counter; - assigns __fc_random48_counter[0 .. 2], __fc_random48_init, \result; - assigns __fc_random48_counter[0 .. 2] - \from (indirect: *(seed16v + (0 .. 2))); - assigns __fc_random48_init \from \nothing; - assigns \result \from __fc_p_random48_counter; +/*@ requires valid_buf: \valid(buf + (0 .. size - 1)); + ensures result_ok_or_error: \result ≡ \null ∨ \result ≡ \old(buf); + assigns *(buf + (0 .. size - 1)), \result; + assigns *(buf + (0 .. size - 1)) \from (indirect: buf), (indirect: size); + assigns \result \from buf, (indirect: size); */ -extern unsigned short *seed48(unsigned short * /*[3]*/ seed16v); +extern char *getcwd(char *buf, size_t size); -/*@ ensures random48_initialized: __fc_random48_init ≡ 1; - assigns __fc_random48_counter[0 .. 2], __fc_random48_init; - assigns __fc_random48_counter[0 .. 2] \from *(param + (0 .. 5)); - assigns __fc_random48_init \from \nothing; - */ -extern void lcong48(unsigned short * /*[7]*/ param); +/*@ assigns \result; + assigns \result \from \nothing; */ +extern gid_t getegid(void); -/*@ requires random48_initialized: __fc_random48_init ≡ 1; - ensures result_range: \is_finite(\result) ∧ 0.0 ≤ \result < 1.0; - assigns __fc_random48_counter[0 .. 2], \result; - assigns __fc_random48_counter[0 .. 2] - \from __fc_random48_counter[0 .. 2]; - assigns \result \from __fc_random48_counter[0 .. 2]; - */ -extern double drand48(void); +/*@ assigns \result; + assigns \result \from \nothing; */ +extern uid_t geteuid(void); -/*@ requires - initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2)); - ensures result_range: \is_finite(\result) ∧ 0.0 ≤ \result < 1.0; - assigns __fc_random48_counter[0 .. 2], \result; - assigns __fc_random48_counter[0 .. 2] - \from __fc_random48_counter[0 .. 2]; - assigns \result \from __fc_random48_counter[0 .. 2]; - */ -extern double erand48(unsigned short * /*[3]*/ xsubi); +/*@ assigns \result; + assigns \result \from \nothing; */ +extern gid_t getgid(void); -/*@ requires random48_initialized: __fc_random48_init ≡ 1; - ensures result_range: 0 ≤ \result < 2147483648; - assigns __fc_random48_counter[0 .. 2], \result; - assigns __fc_random48_counter[0 .. 2] - \from __fc_random48_counter[0 .. 2]; - assigns \result \from __fc_random48_counter[0 .. 2]; +extern char volatile __fc_hostname[64]; + +/*@ requires name_has_room: \valid(name + (0 .. len - 1)); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result, *(name + (0 .. len - 1)); + assigns \result + \from (indirect: __fc_hostname[0 .. len]), (indirect: len); + assigns *(name + (0 .. len - 1)) + \from (indirect: __fc_hostname[0 .. len]), (indirect: len); */ -extern long lrand48(void); +extern int gethostname(char *name, size_t len); -/*@ requires - initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2)); - ensures result_range: 0 ≤ \result < 2147483648; - assigns __fc_random48_counter[0 .. 2], \result; - assigns __fc_random48_counter[0 .. 2] - \from __fc_random48_counter[0 .. 2]; - assigns \result \from __fc_random48_counter[0 .. 2]; - */ -extern long nrand48(unsigned short * /*[3]*/ xsubi); - -/*@ requires random48_initialized: __fc_random48_init ≡ 1; - ensures result_range: -2147483648 ≤ \result < 2147483648; - assigns __fc_random48_counter[0 .. 2], \result; - assigns __fc_random48_counter[0 .. 2] - \from __fc_random48_counter[0 .. 2]; - assigns \result \from __fc_random48_counter[0 .. 2]; - */ -extern long mrand48(void); - -/*@ requires - initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2)); - ensures result_range: -2147483648 ≤ \result < 2147483648; - assigns __fc_random48_counter[0 .. 2], \result; - assigns __fc_random48_counter[0 .. 2] - \from __fc_random48_counter[0 .. 2]; - assigns \result \from __fc_random48_counter[0 .. 2]; - */ -extern long jrand48(unsigned short * /*[3]*/ xsubi); - -void *calloc(size_t nmemb, size_t size); - -/*@ assigns __fc_heap_status, \result; - assigns __fc_heap_status \from size, __fc_heap_status; - assigns \result \from (indirect: size), (indirect: __fc_heap_status); - allocates \result; - - behavior allocation: - assumes can_allocate: is_allocable(size); - ensures allocation: \fresh{Old, Here}(\result,\old(size)); - assigns __fc_heap_status, \result; - assigns __fc_heap_status \from size, __fc_heap_status; - assigns \result \from (indirect: size), (indirect: __fc_heap_status); - - behavior no_allocation: - assumes cannot_allocate: ¬is_allocable(size); - ensures null_result: \result ≡ \null; - assigns \result; - assigns \result \from \nothing; - allocates \nothing; - - complete behaviors no_allocation, allocation; - disjoint behaviors no_allocation, allocation; +/*@ requires name_valid_string: valid_read_nstring(name, len); + requires bounded_len: len ≤ 64; + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns __fc_hostname[0 .. len], \result; + assigns __fc_hostname[0 .. len] + \from *(name + (0 .. len - 1)), (indirect: len); + assigns \result \from (indirect: __fc_hostname[0 .. len]); */ -extern void *malloc(size_t size); +extern int sethostname(char const *name, size_t len); -/*@ requires freeable: p ≡ \null ∨ \freeable(p); - assigns __fc_heap_status; - assigns __fc_heap_status \from __fc_heap_status; - frees p; - - behavior deallocation: - assumes nonnull_p: p ≢ \null; - ensures freed: \allocable(\old(p)); - assigns __fc_heap_status; - assigns __fc_heap_status \from __fc_heap_status; - - behavior no_deallocation: - assumes null_p: p ≡ \null; - assigns \nothing; - allocates \nothing; - - complete behaviors no_deallocation, deallocation; - disjoint behaviors no_deallocation, deallocation; - */ -extern void free(void *p); +/*@ assigns \result; + assigns \result \from (indirect: pid); */ +extern pid_t getpgid(pid_t pid); -/*@ requires freeable: ptr ≡ \null ∨ \freeable(ptr); - assigns __fc_heap_status, \result; - assigns __fc_heap_status \from __fc_heap_status; - assigns \result \from size, ptr, __fc_heap_status; - frees ptr; - allocates \result; - - behavior allocation: - assumes can_allocate: is_allocable(size); - ensures allocation: \fresh{Old, Here}(\result,\old(size)); - assigns \result; - assigns \result \from size, __fc_heap_status; - allocates \result; - - behavior deallocation: - assumes nonnull_ptr: ptr ≢ \null; - assumes can_allocate: is_allocable(size); - ensures freed: \allocable(\old(ptr)); - ensures freeable: \result ≡ \null ∨ \freeable(\result); - frees ptr; - - behavior fail: - assumes cannot_allocate: ¬is_allocable(size); - ensures null_result: \result ≡ \null; - assigns \result; - assigns \result \from size, __fc_heap_status; - allocates \nothing; - - complete behaviors fail, deallocation, allocation; - disjoint behaviors allocation, fail; - disjoint behaviors deallocation, fail; - */ -extern void *realloc(void *ptr, size_t size); +/*@ assigns \result; + assigns \result \from \nothing; */ +extern pid_t getpgrp(void); -/*@ ensures never_terminates: \false; - assigns \nothing; */ -extern __attribute__((__noreturn__)) void abort(void); +/*@ assigns \result; + assigns \result \from \nothing; */ +extern pid_t getpid(void); /*@ assigns \result; assigns \result \from \nothing; */ -extern int atexit(void (*func)(void)); +extern pid_t getppid(void); /*@ assigns \result; assigns \result \from \nothing; */ -extern int at_quick_exit(void (*func)(void)); +extern pid_t getsid(pid_t); -/*@ ensures never_terminates: \false; - assigns \nothing; */ -extern __attribute__((__noreturn__)) void exit(int status); +/*@ assigns \result; + assigns \result \from \nothing; */ +extern uid_t getuid(void); -/*@ ensures never_terminates: \false; - assigns \nothing; */ -extern __attribute__((__noreturn__)) void _Exit(int status); +/*@ ensures result_true_or_false: \result ≡ 0 ∨ \result ≡ 1; + assigns \result; + assigns \result \from (indirect: fd), (indirect: __fc_fds[fd]); + */ +extern int isatty(int fd); -char *__fc_env[4096] __attribute__((__FRAMA_C_MODEL__)); -char *getenv(char const *name); +/*@ requires valid_fd: 0 ≤ fd < 1024; + requires valid_whence: whence ≡ 0 ∨ whence ≡ 1 ∨ whence ≡ 2; + ensures result_error_or_offset: \result ≡ -1 ∨ 0 ≤ \result; + assigns \result, __fc_fds[fd]; + assigns \result + \from (indirect: fd), (indirect: __fc_fds[fd]), (indirect: offset), + (indirect: whence); + assigns __fc_fds[fd] + \from (indirect: fd), __fc_fds[fd], (indirect: offset), + (indirect: whence); + */ +extern off_t lseek(int fd, off_t offset, int whence); -int putenv(char *string); +/*@ requires valid_path: valid_read_string(path); + assigns \result; + assigns \result \from (indirect: *(path + (0 ..))), (indirect: name); + */ +extern long pathconf(char const *path, int name); -int setenv(char const *name, char const *value, int overwrite); +/*@ ensures initialization: pipefd: \initialized(\old(pipefd) + (0 .. 1)); + ensures valid_fd0: 0 ≤ *(\old(pipefd) + 0) < 1024; + ensures valid_fd1: 0 ≤ *(\old(pipefd) + 1) < 1024; + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns *(pipefd + (0 .. 1)), \result; + assigns *(pipefd + (0 .. 1)) \from (indirect: __fc_fds[0 ..]); + assigns \result \from (indirect: __fc_fds[0 ..]); + */ +extern int pipe(int * /*[2]*/ pipefd); -int unsetenv(char const *name); +/*@ requires valid_fd: 0 ≤ fd < 1024; + requires buf_has_room: \valid((char *)buf + (0 .. count - 1)); + ensures + result_error_or_read_length: + (0 ≤ \result ≤ \old(count)) ∨ \result ≡ -1; + ensures + initialization: buf: + \initialized((char *)\old(buf) + (0 .. \result - 1)); + assigns __fc_fds[fd], \result, *((char *)buf + (0 .. count - 1)); + assigns __fc_fds[fd] \from __fc_fds[fd]; + assigns \result \from (indirect: __fc_fds[fd]), (indirect: count); + assigns *((char *)buf + (0 .. count - 1)) + \from (indirect: __fc_fds[fd]), (indirect: count); + */ +extern ssize_t read(int fd, void *buf, size_t count); -/*@ ensures never_terminates: \false; - assigns \nothing; */ -extern __attribute__((__noreturn__)) void quick_exit(int status); +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; + assigns \result \from (indirect: gid); + */ +extern int setegid(gid_t gid); -/*@ requires - null_or_valid_string_command: - command ≡ \null ∨ valid_read_string(command); +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; assigns \result; - assigns \result - \from (indirect: command), (indirect: *(command + (0 ..))); + assigns \result \from (indirect: uid); */ -extern int system(char const *command); +extern int seteuid(uid_t uid); -/*@ requires valid_function_compar: \valid_function(compar); - ensures - null_or_correct_result: - \result ≡ \null ∨ - \subset(\result, - (void *)((char *)\old(base) + - (0 .. \old(size) * (\old(nmemb) - 1)))); +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; assigns \result; - assigns \result - \from (indirect: key), *((char *)key + (0 .. size - 1)), base, - *((char *)base + (0 .. size * (nmemb - 1))), (indirect: nmemb), - (indirect: size), (indirect: *compar); + assigns \result \from (indirect: gid); */ -extern void *bsearch(void const *key, void const *base, size_t nmemb, - size_t size, int (*compar)(void const *, void const *)); +extern int setgid(gid_t gid); -/*@ requires valid_function_compar: \valid_function(compar); - assigns *((char *)base + (0 ..)); - assigns *((char *)base + (0 ..)) - \from (indirect: base), *((char *)base + (0 ..)), (indirect: nmemb), - (indirect: size), (indirect: compar), (indirect: *compar); +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; + assigns \result \from (indirect: pid), (indirect: pgid); */ -extern void qsort(void *base, size_t nmemb, size_t size, - int (*compar)(void const *, void const *)); +extern int setpgid(pid_t pid, pid_t pgid); -int abs(int i); +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; + assigns \result \from (indirect: rgid), (indirect: egid); + */ +extern int setregid(gid_t rgid, gid_t egid); -/*@ requires abs_representable: j > -2147483647L - 1L; +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; assigns \result; - assigns \result \from j; - - behavior negative: - assumes negative: j < 0; - ensures opposite_result: \result ≡ -\old(j); - - behavior nonnegative: - assumes nonnegative: j ≥ 0; - ensures same_result: \result ≡ \old(j); - - complete behaviors nonnegative, negative; - disjoint behaviors nonnegative, negative; + assigns \result \from (indirect: ruid), (indirect: euid); */ -extern long labs(long j); +extern int setreuid(uid_t ruid, uid_t euid); -/*@ requires abs_representable: j > -9223372036854775807LL - 1LL; +/*@ ensures result_pgid_or_error: \result ≡ -1 ∨ \result ≥ 0; assigns \result; - assigns \result \from j; - - behavior negative: - assumes negative: j < 0; - ensures opposite_result: \result ≡ -\old(j); - - behavior nonnegative: - assumes nonnegative: j ≥ 0; - ensures same_result: \result ≡ \old(j); - - complete behaviors nonnegative, negative; - disjoint behaviors nonnegative, negative; + assigns \result \from \nothing; */ -extern long long llabs(long long j); +extern pid_t setsid(void); -/*@ assigns \result; - assigns \result \from numer, denom; */ -extern div_t div(int numer, int denom); +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; + assigns \result \from (indirect: uid); + */ +extern int setuid(uid_t uid); -/*@ assigns \result; - assigns \result \from numer, denom; */ -extern ldiv_t ldiv(long numer, long denom); +/*@ assigns \nothing; */ +extern void sync(void); /*@ assigns \result; - assigns \result \from numer, denom; */ -extern lldiv_t lldiv(long long numer, long long denom); + assigns \result \from (indirect: name); */ +extern long sysconf(int name); -/*@ ghost extern int __fc_mblen_state; */ +extern char volatile __fc_ttyname[32]; -/*@ assigns \result, __fc_mblen_state; - assigns \result - \from (indirect: s), (indirect: *(s + (0 ..))), (indirect: n), - __fc_mblen_state; - assigns __fc_mblen_state - \from (indirect: s), (indirect: *(s + (0 ..))), (indirect: n), - __fc_mblen_state; +char volatile *__fc_p_ttyname = __fc_ttyname; +/*@ ensures + result_name_or_null: \result ≡ __fc_p_ttyname ∨ \result ≡ \null; + assigns \result; + assigns \result \from __fc_p_ttyname, (indirect: fildes); */ -extern int mblen(char const *s, size_t n); +extern char *ttyname(int fildes); -/*@ ghost extern int __fc_mbtowc_state; */ +/*@ requires valid_string_path: valid_read_string(path); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; + assigns \result \from *(path + (0 ..)); + */ +extern int unlink(char const *path); -/*@ requires separation: \separated(pwc, s); - ensures consumed_range: \result ≤ \old(n); - assigns \result, *(pwc + (0 .. \result - 1)), __fc_mbtowc_state; +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result, Frama_C_entropy_source; assigns \result - \from (indirect: s), (indirect: *(s + (0 .. n - 1))), (indirect: n), - __fc_mbtowc_state; - assigns *(pwc + (0 .. \result - 1)) - \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n), - __fc_mbtowc_state; - assigns __fc_mbtowc_state - \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n), - __fc_mbtowc_state; + \from (indirect: usec), (indirect: Frama_C_entropy_source); + assigns Frama_C_entropy_source \from Frama_C_entropy_source; */ -extern int mbtowc(wchar_t * __restrict pwc, char const * __restrict s, - size_t n); - -/*@ ghost extern int __fc_wctomb_state; */ +extern int usleep(useconds_t usec); -/*@ assigns \result, *(s + (0 ..)), __fc_wctomb_state; - assigns \result \from (indirect: wc), __fc_wctomb_state; - assigns *(s + (0 ..)) \from wc, __fc_wctomb_state; - assigns __fc_wctomb_state \from wc, __fc_wctomb_state; +/*@ requires valid_fd: 0 ≤ fd < 1024; + requires buf_has_room: \valid_read((char *)buf + (0 .. count - 1)); + ensures + result_error_or_written_bytes: + \result ≡ -1 ∨ (0 ≤ \result ≤ \old(count)); + assigns __fc_fds[fd], \result; + assigns __fc_fds[fd] + \from (indirect: fd), (indirect: count), __fc_fds[fd]; + assigns \result + \from (indirect: fd), (indirect: count), (indirect: __fc_fds[fd]); */ -extern int wctomb(char *s, wchar_t wc); +extern ssize_t write(int fd, void const *buf, size_t count); -/*@ requires separation: \separated(pwcs, s); - assigns \result, *(pwcs + (0 .. n - 1)); +/*@ requires valid_ruid: \valid(ruid); + requires valid_euid: \valid(suid); + requires valid_suid: \valid(euid); + ensures + initialization: result_ok_or_error: + (\result ≡ 0 ∧ \initialized(\old(ruid)) ∧ + \initialized(\old(euid)) ∧ \initialized(\old(suid))) ∨ + \result ≡ -1; + assigns *ruid, *euid, *suid, \result; + assigns *ruid \from \nothing; + assigns *euid \from \nothing; + assigns *suid \from \nothing; assigns \result - \from (indirect: s), (indirect: *(s + (0 .. n - 1))), (indirect: n); - assigns *(pwcs + (0 .. n - 1)) - \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n); + \from (indirect: ruid), (indirect: euid), (indirect: suid); */ -extern size_t mbstowcs(wchar_t * __restrict pwcs, char const * __restrict s, - size_t n); +int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); -/*@ requires separation: \separated(s, pwcs); - assigns \result, *(s + (0 .. n - 1)); +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; assigns \result - \from (indirect: pwcs), (indirect: *(pwcs + (0 .. n - 1))), - (indirect: n); - assigns *(s + (0 .. n - 1)) - \from (indirect: pwcs), *(pwcs + (0 .. n - 1)), (indirect: n); + \from (indirect: ruid), (indirect: euid), (indirect: suid); */ -extern size_t wcstombs(char * __restrict s, wchar_t const * __restrict pwcs, - size_t n); - -int posix_memalign(void **memptr, size_t alignment, size_t size); +int setresuid(uid_t ruid, uid_t euid, uid_t suid); -/*@ requires valid_template: valid_string(templat); +/*@ requires valid_rgid: \valid(rgid); + requires valid_egid: \valid(sgid); + requires valid_sgid: \valid(egid); ensures - result_error_or_valid_fd: \result ≡ -1 ∨ (0 ≤ \result < 16); - assigns *(templat + (0 ..)), \result; - assigns *(templat + (0 ..)) \from \nothing; - assigns \result \from \nothing; + initialization: result_ok_or_error: + (\result ≡ 0 ∧ \initialized(\old(rgid)) ∧ + \initialized(\old(egid)) ∧ \initialized(\old(sgid))) ∨ + \result ≡ -1; + assigns *rgid, *egid, *sgid, \result; + assigns *rgid \from \nothing; + assigns *egid \from \nothing; + assigns *sgid \from \nothing; + assigns \result + \from (indirect: rgid), (indirect: egid), (indirect: sgid); */ -extern int mkstemp(char *templat); +int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); -int glob(char const *pattern, int flags, - int (*errfunc)(char const *epath, int eerrno), glob_t *pglob) -{ - int __retres; - int tmp; - unsigned int tmp_0; - char **tmp_1; - int tmp_4; - tmp = Frama_C_interval(0,10); - pglob->gl_pathc = (unsigned int)tmp; - if (flags & (1 << 3)) tmp_0 = pglob->gl_offs; else tmp_0 = (unsigned int)0; - size_t reserve_offs = tmp_0; - size_t prev_len = (unsigned int)0; - if (flags & (1 << 5)) - while (*(pglob->gl_pathv + (reserve_offs + prev_len))) prev_len += (size_t)1; - if (flags & (1 << 5)) tmp_1 = pglob->gl_pathv; else tmp_1 = (char **)0; - char **path = tmp_1; - if (pglob->gl_pathc == (unsigned int)0) - if (flags & (1 << 4)) { - pglob->gl_pathv = (char **)realloc((void *)path, - ((reserve_offs + prev_len) + (size_t)2) * sizeof(char *)); - if (! pglob->gl_pathv) { - __retres = 1; - goto return_label; - } - { - size_t i = (unsigned int)0; - while (i < reserve_offs) { - *(pglob->gl_pathv + i) = (char *)0; - i += (size_t)1; - } - } - *(pglob->gl_pathv + (reserve_offs + prev_len)) = (char *)pattern; - *(pglob->gl_pathv + ((reserve_offs + prev_len) + (size_t)1)) = (char *)0; - __retres = 0; - goto return_label; - } - else { - __retres = 3; - goto return_label; - } - pglob->gl_pathv = (char **)realloc((void *)path, - (((reserve_offs + prev_len) + pglob->gl_pathc) + (size_t)1) * sizeof(char *)); - if (! pglob->gl_pathv) { - __retres = 1; - goto return_label; - } - { - size_t i_0 = (unsigned int)0; - while (i_0 < reserve_offs) { - *(pglob->gl_pathv + i_0) = (char *)0; - i_0 += (size_t)1; - } - } - { - size_t i_1 = (unsigned int)0; - while (i_1 < pglob->gl_pathc) { - *(pglob->gl_pathv + ((reserve_offs + prev_len) + i_1)) = (char *)"glob result"; - i_1 += (size_t)1; - } - } - *(pglob->gl_pathv + ((prev_len + reserve_offs) + pglob->gl_pathc)) = (char *)0; - tmp_4 = Frama_C_nondet(0,1); - if (tmp_4) { - __retres = 0; - goto return_label; - } - else { - if (errfunc) { - int tmp_3; - int tmp_2; - tmp_2 = Frama_C_interval(0,255); - tmp_3 = (*errfunc)("glob.c error path",tmp_2); - int res = tmp_3; - if (res) { - __retres = 2; - goto return_label; - } - else - if (flags & (1 << 0)) { - __retres = 2; - goto return_label; - } - } - __retres = 0; - goto return_label; - } - return_label: return __retres; -} +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; + assigns \result + \from (indirect: rgid), (indirect: egid), (indirect: sgid); + */ +int setresgid(gid_t rgid, gid_t egid, gid_t sgid); -void globfree(glob_t *pglob) -{ - if (pglob->gl_pathc > (unsigned int)0) free((void *)pglob->gl_pathv); - return; -} +extern char *optarg; -intmax_t imaxabs(intmax_t c); +int optind; -imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom); +extern int opterr; -/*@ assigns \result, *(endptr + (..)), __fc_errno; - assigns \result \from *(nptr + (..)), base; - assigns *(endptr + (..)) \from *(nptr + (..)), base; - assigns __fc_errno \from *(nptr + (..)), base; - */ -extern intmax_t strtoimax(char const * __restrict nptr, - char ** __restrict endptr, int base); +extern int optopt; -/*@ requires abs_representable: (long long)(-c) ≢ c; - assigns \result; - assigns \result \from c; +/*@ assigns \result, *optarg, optind, opterr, optopt; + assigns \result + \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..)); + assigns *optarg + \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..)); + assigns optind + \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..)); + assigns opterr + \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..)); + assigns optopt + \from argc, *(argv + (0 .. argc - 1)), *(optstring + (0 ..)); */ -intmax_t imaxabs(intmax_t c) -{ - intmax_t __retres; - if (c > (intmax_t)0) { - __retres = c; - goto return_label; - } - else { - __retres = - c; - goto return_label; - } - return_label: return __retres; -} +extern int getopt(int argc, char * const *argv, char const *optstring); -/*@ requires no_div_by_zero: denom ≢ 0; - requires no_overflow: denom ≢ -1 ∨ (long long)(-numer) ≢ numer; - ensures correct_div: \result.quot ≡ \old(numer) / \old(denom); - ensures correct_mod: \result.rem ≡ \old(numer) % \old(denom); - assigns \result; - assigns \result \from numer, denom; +/*@ assigns \result, *optarg, optind, opterr, optopt, + *((longopts + (0 ..))->flag); + assigns \result + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + assigns *optarg + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + assigns optind + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + assigns opterr + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + assigns optopt + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + assigns *((longopts + (0 ..))->flag) + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); */ -imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom) -{ - imaxdiv_t r; - r.quot = numer / denom; - r.rem = numer % denom; - return r; -} +extern int getopt_long(int argc, char * const *argv, char const *shortopts, + struct option const *longopts, int *longind); -struct lconv *__frama_c_locale; +/*@ assigns \result, *optarg, optind, opterr, optopt, + *((longopts + (0 ..))->flag); + assigns \result + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + assigns *optarg + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + assigns optind + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + assigns opterr + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + assigns optopt + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + assigns *((longopts + (0 ..))->flag) + \from argc, *(argv + (0 .. argc - 1)), *(shortopts + (0 ..)), + *(longopts + (0 ..)); + */ +extern int getopt_long_only(int argc, char * const *argv, + char const *shortopts, + struct option const *longopts, int *longind); -char *__frama_c_locale_names[512]; +int optind = 1; +int glob(char const *pattern, int flags, + int (*errfunc)(char const *epath, int eerrno), glob_t *pglob); -char *setlocale(int category, char const *locale); +void globfree(glob_t *pglob); -struct lconv *localeconv(void); +/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */ -struct lconv __C_locale = - {.decimal_point = (char *)".", - .thousands_sep = (char *)"", - .grouping = (char *)"", - .int_curr_symbol = (char *)"", - .currency_symbol = (char *)"", - .mon_decimal_point = (char *)"", - .mon_thousands_sep = (char *)"", - .mon_grouping = (char *)"", - .positive_sign = (char *)"", - .negative_sign = (char *)"", - .int_frac_digits = (char)127, - .frac_digits = (char)127, - .p_cs_precedes = (char)127, - .p_sep_by_space = (char)127, - .n_cs_precedes = (char)127, - .n_sep_by_space = (char)127, - .p_sign_posn = (char)127, - .n_sign_posn = (char)127, - .int_p_cs_precedes = (char)127, - .int_p_sep_by_space = (char)127, - .int_n_cs_precedes = (char)127, - .int_n_sep_by_space = (char)127, - .int_p_sign_posn = (char)127, - .int_n_sign_posn = (char)127}; -struct lconv *__frama_c_locale = & __C_locale; -char *__frama_c_locale_names[512] = {(char *)"C"}; -/*@ requires - locale_null_or_valid_string: - locale ≡ \null ∨ valid_read_string(locale); - ensures - result_null_or_locale_name: - \result ≡ \null ∨ - (\valid(\result) ∧ - (∃ ℤ i; \result ≡ __frama_c_locale_names[i])); - assigns __frama_c_locale, \result; - assigns __frama_c_locale \from category, *(locale + (..)); - assigns \result \from __frama_c_locale, category, *(locale + (..)); - */ -char *setlocale(int category, char const *locale) -{ - char *__retres; - if ((int)*locale == 'C') { - __frama_c_locale = & __C_locale; - __retres = __frama_c_locale_names[0]; - goto return_label; +/*@ +axiomatic dynamic_allocation { + predicate is_allocable{L}(ℤ n) + reads __fc_heap_status; + + axiom never_allocable{L}: + ∀ ℤ i; i < 0 ∨ i > 4294967295U ⇒ ¬is_allocable(i); + } - __retres = (char *)0; - return_label: return __retres; -} -/*@ ensures result_current_locale: \result ≡ __frama_c_locale; - assigns \nothing; +*/ +/*@ requires valid_nptr: \valid_read(nptr); + assigns \result; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); */ -struct lconv *localeconv(void) -{ - return __frama_c_locale; -} +extern double atof(char const *nptr); -/*@ assigns \result; - assigns \result \from x; +int atoi(char const *p); + +/*@ requires valid_nptr: \valid_read(nptr); + assigns \result; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + */ +extern long atol(char const *nptr); + +/*@ requires valid_nptr: \valid_read(nptr); + assigns \result; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + */ +extern long long atoll(char const *nptr); + +/*@ requires valid_nptr: \valid_read(nptr); + requires separation: \separated(nptr, endptr); + assigns \result, *endptr; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - behavior nan: - assumes is_nan: \is_NaN(x); - ensures fp_nan: \result ≡ 0; + behavior no_storage: + assumes null_endptr: endptr ≡ \null; + assigns \result; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - behavior inf: - assumes is_infinite: ¬\is_NaN(x) ∧ ¬\is_finite(x); - ensures fp_infinite: \result ≡ 1; + behavior store_position: + assumes nonnull_endptr: endptr ≢ \null; + requires valid_endptr: \valid(endptr); + ensures initialization: \initialized(\old(endptr)); + ensures valid_endptr: \valid_read(\old(endptr)); + ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + assigns \result, *endptr; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - behavior zero: - assumes is_a_zero: x ≡ 0.0; - ensures fp_zero: \result ≡ 2; + complete behaviors store_position, no_storage; + disjoint behaviors store_position, no_storage; + */ +extern double strtod(char const * __restrict nptr, char ** __restrict endptr); + +/*@ requires valid_nptr: \valid_read(nptr); + requires separation: \separated(nptr, endptr); + assigns \result, *endptr; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - behavior subnormal: - assumes is_finite: \is_finite(x); - assumes - is_subnormal: - (x > 0.0 ∧ x < 0x1p-126) ∨ (x < 0.0 ∧ x > -0x1p-126); - ensures fp_subnormal: \result ≡ 3; + behavior no_storage: + assumes null_endptr: endptr ≡ \null; + assigns \result; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - behavior normal: - assumes is_finite: \is_finite(x); - assumes not_subnormal: x ≤ -0x1p-126 ∨ x ≥ 0x1p-126; - ensures fp_normal: \result ≡ 4; + behavior store_position: + assumes nonnull_endptr: endptr ≢ \null; + requires valid_endptr: \valid(endptr); + ensures initialization: \initialized(\old(endptr)); + ensures valid_endptr: \valid_read(\old(endptr)); + ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + assigns \result, *endptr; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - complete behaviors normal, subnormal, zero, inf, nan; - disjoint behaviors normal, subnormal, zero, inf, nan; + complete behaviors store_position, no_storage; + disjoint behaviors store_position, no_storage; */ -int __fc_fpclassifyf(float x); +extern float strtof(char const * __restrict nptr, char ** __restrict endptr); -/*@ assigns \result; - assigns \result \from x; - - behavior nan: - assumes is_nan: \is_NaN(x); - ensures fp_nan: \result ≡ 0; +/*@ requires valid_nptr: \valid_read(nptr); + requires separation: \separated(nptr, endptr); + assigns \result, *endptr; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - behavior inf: - assumes is_infinite: ¬\is_NaN(x) ∧ ¬\is_finite(x); - ensures fp_infinite: \result ≡ 1; - - behavior zero: - assumes is_a_zero: x ≡ 0.0; - ensures fp_zero: \result ≡ 2; - - behavior subnormal: - assumes is_finite: \is_finite(x); - assumes - is_subnormal: - (x > 0.0 ∧ x < 0x1p-1022) ∨ (x < 0.0 ∧ x > -0x1p-1022); - ensures fp_subnormal: \result ≡ 3; - - behavior normal: - assumes is_finite: \is_finite(x); - assumes not_subnormal: x ≤ -0x1p-1022 ∨ x ≥ 0x1p-1022; - ensures fp_normal: \result ≡ 4; - - complete behaviors normal, subnormal, zero, inf, nan; - disjoint behaviors normal, subnormal, zero, inf, nan; - */ -int __fc_fpclassify(double x); - -/*@ assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; - - behavior normal: - assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; - ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; + behavior no_storage: + assumes null_endptr: endptr ≡ \null; assigns \result; - assigns \result \from x; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - behavior domain_error: - assumes - out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); - ensures errno_set: __fc_errno ≡ 1; - assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; + behavior store_position: + assumes nonnull_endptr: endptr ≢ \null; + requires valid_endptr: \valid(endptr); + ensures initialization: \initialized(\old(endptr)); + ensures valid_endptr: \valid_read(\old(endptr)); + ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + assigns \result, *endptr; + assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); - disjoint behaviors domain_error, normal; + complete behaviors store_position, no_storage; + disjoint behaviors store_position, no_storage; */ -extern double acos(double x); +extern long double strtold(char const * __restrict nptr, + char ** __restrict endptr); -/*@ assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; +/*@ requires valid_nptr: \valid_read(nptr); + requires separation: \separated(nptr, endptr); + requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); + assigns \result, *endptr; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + (indirect: base); - behavior normal: - assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; - ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; + behavior no_storage: + assumes null_endptr: endptr ≡ \null; assigns \result; - assigns \result \from x; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + (indirect: base); - behavior domain_error: - assumes - out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); - ensures errno_set: __fc_errno ≡ 1; - assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; + behavior store_position: + assumes nonnull_endptr: endptr ≢ \null; + requires valid_endptr: \valid(endptr); + ensures initialization: \initialized(\old(endptr)); + ensures valid_endptr: \valid_read(\old(endptr)); + ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + assigns \result, *endptr; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + (indirect: base); - disjoint behaviors domain_error, normal; + complete behaviors store_position, no_storage; + disjoint behaviors store_position, no_storage; */ -extern float acosf(float x); +extern long strtol(char const * __restrict nptr, char ** __restrict endptr, + int base); -/*@ assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; +/*@ requires valid_nptr: \valid_read(nptr); + requires separation: \separated(nptr, endptr); + requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); + assigns \result, *endptr; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + (indirect: base); - behavior normal: - assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; - ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; + behavior no_storage: + assumes null_endptr: endptr ≡ \null; assigns \result; - assigns \result \from x; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + (indirect: base); - behavior domain_error: - assumes - out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); - ensures errno_set: __fc_errno ≡ 1; - assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; + behavior store_position: + assumes nonnull_endptr: endptr ≢ \null; + requires valid_endptr: \valid(endptr); + ensures initialization: \initialized(\old(endptr)); + ensures valid_endptr: \valid_read(\old(endptr)); + ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + assigns \result, *endptr; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + (indirect: base); - disjoint behaviors domain_error, normal; + complete behaviors store_position, no_storage; + disjoint behaviors store_position, no_storage; */ -extern long double acosl(long double x); +extern long long strtoll(char const * __restrict nptr, + char ** __restrict endptr, int base); -/*@ assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; +/*@ requires valid_nptr: \valid_read(nptr); + requires separation: \separated(nptr, endptr); + requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); + assigns \result, *endptr; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + (indirect: base); - behavior normal: - assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; - ensures finite_result: \is_finite(\result); + behavior no_storage: + assumes null_endptr: endptr ≡ \null; assigns \result; - assigns \result \from x; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + (indirect: base); - behavior domain_error: - assumes - out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); - ensures errno_set: __fc_errno ≡ 1; - assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; + behavior store_position: + assumes nonnull_endptr: endptr ≢ \null; + requires valid_endptr: \valid(endptr); + ensures initialization: \initialized(\old(endptr)); + ensures valid_endptr: \valid_read(\old(endptr)); + ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + assigns \result, *endptr; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + (indirect: base); - disjoint behaviors domain_error, normal; + complete behaviors store_position, no_storage; + disjoint behaviors store_position, no_storage; */ -extern double asin(double x); +extern unsigned long strtoul(char const * __restrict nptr, + char ** __restrict endptr, int base); -/*@ assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; +/*@ requires valid_nptr: \valid_read(nptr); + requires separation: \separated(nptr, endptr); + requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); + assigns \result, *endptr; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + (indirect: base); - behavior normal: - assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; - ensures finite_result: \is_finite(\result); + behavior no_storage: + assumes null_endptr: endptr ≡ \null; assigns \result; - assigns \result \from x; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + (indirect: base); - behavior domain_error: - assumes - out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); - ensures errno_set: __fc_errno ≡ 1; - assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; + behavior store_position: + assumes nonnull_endptr: endptr ≢ \null; + requires valid_endptr: \valid(endptr); + ensures initialization: \initialized(\old(endptr)); + ensures valid_endptr: \valid_read(\old(endptr)); + ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + assigns \result, *endptr; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + (indirect: base); - disjoint behaviors domain_error, normal; + complete behaviors store_position, no_storage; + disjoint behaviors store_position, no_storage; */ -extern float asinf(float x); +extern unsigned long long strtoull(char const * __restrict nptr, + char ** __restrict endptr, int base); -/*@ assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; - - behavior normal: - assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - - behavior domain_error: - assumes - out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); - ensures errno_set: __fc_errno ≡ 1; - assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; - - disjoint behaviors domain_error, normal; - */ -extern long double asinl(long double x); +/*@ ghost +extern int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__)); +*/ -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - ensures result_domain: -1.571 ≤ \result ≤ 1.571; - assigns \result; - assigns \result \from x; +unsigned long const __fc_rand_max = (unsigned long)32767; +/*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max; + assigns \result, __fc_random_counter; + assigns \result \from __fc_random_counter; + assigns __fc_random_counter \from __fc_random_counter; */ -extern float atanf(float x); +extern int rand(void); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - ensures result_domain: -1.571 ≤ \result ≤ 1.571; +/*@ assigns __fc_random_counter; + assigns __fc_random_counter \from seed; */ +extern void srand(unsigned int seed); + +/*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max; assigns \result; - assigns \result \from x; + assigns \result \from __fc_random_counter; */ -extern double atan(double x); +extern long random(void); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - ensures result_domain: -1.571 ≤ \result ≤ 1.571; - assigns \result; - assigns \result \from x; +/*@ assigns __fc_random_counter; + assigns __fc_random_counter \from seed; */ +extern void srandom(unsigned int seed); + +int __fc_random48_init __attribute__((__FRAMA_C_MODEL__)); +unsigned short __fc_random48_counter[3] __attribute__((__FRAMA_C_MODEL__)); +unsigned short *__fc_p_random48_counter = __fc_random48_counter; +/*@ ensures random48_initialized: __fc_random48_init ≡ 1; + assigns __fc_random48_counter[0 .. 2], __fc_random48_init; + assigns __fc_random48_counter[0 .. 2] \from seed; + assigns __fc_random48_init \from \nothing; */ -extern long double atanl(long double x); +extern void srand48(long seed); -/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); - requires finite_result: \is_finite(atan2(x, y)); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x, y; +/*@ requires + initialization: initialized_seed16v: \initialized(seed16v + (0 .. 2)); + ensures random48_initialized: __fc_random48_init ≡ 1; + ensures result_counter: \result ≡ __fc_p_random48_counter; + assigns __fc_random48_counter[0 .. 2], __fc_random48_init, \result; + assigns __fc_random48_counter[0 .. 2] + \from (indirect: *(seed16v + (0 .. 2))); + assigns __fc_random48_init \from \nothing; + assigns \result \from __fc_p_random48_counter; */ -extern double atan2(double y, double x); +extern unsigned short *seed48(unsigned short * /*[3]*/ seed16v); -/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); - requires finite_logic_result: \is_finite(atan2f(x, y)); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x, y; +/*@ ensures random48_initialized: __fc_random48_init ≡ 1; + assigns __fc_random48_counter[0 .. 2], __fc_random48_init; + assigns __fc_random48_counter[0 .. 2] \from *(param + (0 .. 5)); + assigns __fc_random48_init \from \nothing; */ -extern float atan2f(float y, float x); +extern void lcong48(unsigned short * /*[7]*/ param); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - ensures result_domain: -1. ≤ \result ≤ 1.; - assigns \result; - assigns \result \from x; +/*@ requires random48_initialized: __fc_random48_init ≡ 1; + ensures result_range: \is_finite(\result) ∧ 0.0 ≤ \result < 1.0; + assigns __fc_random48_counter[0 .. 2], \result; + assigns __fc_random48_counter[0 .. 2] + \from __fc_random48_counter[0 .. 2]; + assigns \result \from __fc_random48_counter[0 .. 2]; */ -extern double cos(double x); +extern double drand48(void); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - ensures result_domain: -1. ≤ \result ≤ 1.; - assigns \result; - assigns \result \from x; +/*@ requires + initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2)); + ensures result_range: \is_finite(\result) ∧ 0.0 ≤ \result < 1.0; + assigns __fc_random48_counter[0 .. 2], \result; + assigns __fc_random48_counter[0 .. 2] + \from __fc_random48_counter[0 .. 2]; + assigns \result \from __fc_random48_counter[0 .. 2]; */ -extern float cosf(float x); +extern double erand48(unsigned short * /*[3]*/ xsubi); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - ensures result_domain: -1. ≤ \result ≤ 1.; - assigns \result; - assigns \result \from x; +/*@ requires random48_initialized: __fc_random48_init ≡ 1; + ensures result_range: 0 ≤ \result < 2147483648; + assigns __fc_random48_counter[0 .. 2], \result; + assigns __fc_random48_counter[0 .. 2] + \from __fc_random48_counter[0 .. 2]; + assigns \result \from __fc_random48_counter[0 .. 2]; */ -extern long double cosl(long double x); +extern long lrand48(void); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - ensures result_domain: -1. ≤ \result ≤ 1.; - assigns \result; - assigns \result \from x; +/*@ requires + initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2)); + ensures result_range: 0 ≤ \result < 2147483648; + assigns __fc_random48_counter[0 .. 2], \result; + assigns __fc_random48_counter[0 .. 2] + \from __fc_random48_counter[0 .. 2]; + assigns \result \from __fc_random48_counter[0 .. 2]; */ -extern double sin(double x); +extern long nrand48(unsigned short * /*[3]*/ xsubi); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - ensures result_domain: -1. ≤ \result ≤ 1.; - assigns \result; - assigns \result \from x; +/*@ requires random48_initialized: __fc_random48_init ≡ 1; + ensures result_range: -2147483648 ≤ \result < 2147483648; + assigns __fc_random48_counter[0 .. 2], \result; + assigns __fc_random48_counter[0 .. 2] + \from __fc_random48_counter[0 .. 2]; + assigns \result \from __fc_random48_counter[0 .. 2]; */ -extern float sinf(float x); +extern long mrand48(void); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - ensures result_domain: -1. ≤ \result ≤ 1.; - assigns \result; - assigns \result \from x; +/*@ requires + initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2)); + ensures result_range: -2147483648 ≤ \result < 2147483648; + assigns __fc_random48_counter[0 .. 2], \result; + assigns __fc_random48_counter[0 .. 2] + \from __fc_random48_counter[0 .. 2]; + assigns \result \from __fc_random48_counter[0 .. 2]; */ -extern long double sinl(long double x); +extern long jrand48(unsigned short * /*[3]*/ xsubi); -/*@ assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; +void *calloc(size_t nmemb, size_t size); + +/*@ assigns __fc_heap_status, \result; + assigns __fc_heap_status \from size, __fc_heap_status; + assigns \result \from (indirect: size), (indirect: __fc_heap_status); + allocates \result; - behavior normal: - assumes in_domain: \is_finite(x) ∧ x ≥ 1; - ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; - assigns \result; - assigns \result \from x; + behavior allocation: + assumes can_allocate: is_allocable(size); + ensures allocation: \fresh{Old, Here}(\result,\old(size)); + assigns __fc_heap_status, \result; + assigns __fc_heap_status \from size, __fc_heap_status; + assigns \result \from (indirect: size), (indirect: __fc_heap_status); - behavior infinite: - assumes is_plus_infinity: \is_plus_infinity(x); - ensures result_plus_infinity: \is_plus_infinity(\result); + behavior no_allocation: + assumes cannot_allocate: ¬is_allocable(size); + ensures null_result: \result ≡ \null; assigns \result; - assigns \result \from x; - - behavior domain_error: - assumes - out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1); - ensures errno_set: __fc_errno ≡ 1; - assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; + assigns \result \from \nothing; + allocates \nothing; - disjoint behaviors domain_error, infinite, normal; + complete behaviors no_allocation, allocation; + disjoint behaviors no_allocation, allocation; */ -extern double acosh(double x); +extern void *malloc(size_t size); -/*@ assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; - - behavior normal: - assumes in_domain: \is_finite(x) ∧ x ≥ 1; - ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; - assigns \result; - assigns \result \from x; +/*@ requires freeable: p ≡ \null ∨ \freeable(p); + assigns __fc_heap_status; + assigns __fc_heap_status \from __fc_heap_status; + frees p; - behavior infinite: - assumes is_plus_infinity: \is_plus_infinity(x); - ensures result_plus_infinity: \is_plus_infinity(\result); - assigns \result; - assigns \result \from x; + behavior deallocation: + assumes nonnull_p: p ≢ \null; + ensures freed: \allocable(\old(p)); + assigns __fc_heap_status; + assigns __fc_heap_status \from __fc_heap_status; - behavior domain_error: - assumes - out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1); - ensures errno_set: __fc_errno ≡ 1; - assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; + behavior no_deallocation: + assumes null_p: p ≡ \null; + assigns \nothing; + allocates \nothing; - disjoint behaviors domain_error, infinite, normal; + complete behaviors no_deallocation, deallocation; + disjoint behaviors no_deallocation, deallocation; */ -extern float acoshf(float x); +extern void free(void *p); -/*@ assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; +/*@ requires freeable: ptr ≡ \null ∨ \freeable(ptr); + assigns __fc_heap_status, \result; + assigns __fc_heap_status \from __fc_heap_status; + assigns \result \from size, ptr, __fc_heap_status; + frees ptr; + allocates \result; - behavior normal: - assumes in_domain: \is_finite(x) ∧ x ≥ 1; - ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; + behavior allocation: + assumes can_allocate: is_allocable(size); + ensures allocation: \fresh{Old, Here}(\result,\old(size)); assigns \result; - assigns \result \from x; + assigns \result \from size, __fc_heap_status; + allocates \result; - behavior infinite: - assumes is_plus_infinity: \is_plus_infinity(x); - ensures result_plus_infinity: \is_plus_infinity(\result); - assigns \result; - assigns \result \from x; + behavior deallocation: + assumes nonnull_ptr: ptr ≢ \null; + assumes can_allocate: is_allocable(size); + ensures freed: \allocable(\old(ptr)); + ensures freeable: \result ≡ \null ∨ \freeable(\result); + frees ptr; - behavior domain_error: - assumes - out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1); - ensures errno_set: __fc_errno ≡ 1; - assigns __fc_errno, \result; - assigns __fc_errno \from x; - assigns \result \from x; + behavior fail: + assumes cannot_allocate: ¬is_allocable(size); + ensures null_result: \result ≡ \null; + assigns \result; + assigns \result \from size, __fc_heap_status; + allocates \nothing; - disjoint behaviors domain_error, infinite, normal; + complete behaviors fail, deallocation, allocation; + disjoint behaviors allocation, fail; + disjoint behaviors deallocation, fail; */ -extern long double acoshl(long double x); +extern void *realloc(void *ptr, size_t size); -/*@ requires finite_arg: \is_finite(x); - requires finite_domain: x ≤ 0x1.62e42fefa39efp+9; - ensures res_finite: \is_finite(\result); - ensures positive_result: \result > 0.; - assigns \result; - assigns \result \from x; - */ -extern double exp(double x); +/*@ ensures never_terminates: \false; + assigns \nothing; */ +extern __attribute__((__noreturn__)) void abort(void); -/*@ requires finite_arg: \is_finite(x); - requires res_finite: x ≤ 0x1.62e42ep+6; - ensures res_finite: \is_finite(\result); - ensures positive_result: \result > 0.; - assigns \result; - assigns \result \from x; - */ -extern float expf(float x); +/*@ assigns \result; + assigns \result \from \nothing; */ +extern int atexit(void (*func)(void)); -/*@ requires finite_arg: \is_finite(x); - requires arg_positive: x > 0; - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern double log(double x); +/*@ assigns \result; + assigns \result \from \nothing; */ +extern int at_quick_exit(void (*func)(void)); -/*@ requires finite_arg: \is_finite(x); - requires arg_positive: x > 0; - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern float logf(float x); +/*@ ensures never_terminates: \false; + assigns \nothing; */ +extern __attribute__((__noreturn__)) void exit(int status); -/*@ requires finite_arg: \is_finite(x); - requires arg_pos: x > 0; - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern long double logl(long double x); +/*@ ensures never_terminates: \false; + assigns \nothing; */ +extern __attribute__((__noreturn__)) void _Exit(int status); -/*@ requires finite_arg: \is_finite(x); - requires arg_positive: x > 0; - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern double log10(double x); +char *__fc_env[4096] __attribute__((__FRAMA_C_MODEL__)); +char *getenv(char const *name); -/*@ requires finite_arg: \is_finite(x); - requires arg_positive: x > 0; - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern float log10f(float x); +int putenv(char *string); -/*@ requires finite_arg: \is_finite(x); - requires arg_postive: x > 0; - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern long double log10l(long double x); +int setenv(char const *name, char const *value, int overwrite); -/*@ requires finite_arg: \is_finite(x); - requires arg_positive: x > 0; - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern double log2(double x); +int unsetenv(char const *name); -/*@ requires finite_arg: \is_finite(x); - requires arg_positive: x > 0; - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern float log2f(float x); +/*@ ensures never_terminates: \false; + assigns \nothing; */ +extern __attribute__((__noreturn__)) void quick_exit(int status); -/*@ requires finite_arg: \is_finite(x); - requires arg_positive: x > 0; - ensures finite_result: \is_finite(\result); +/*@ requires + null_or_valid_string_command: + command ≡ \null ∨ valid_read_string(command); assigns \result; - assigns \result \from x; + assigns \result + \from (indirect: command), (indirect: *(command + (0 ..))); */ -extern long double log2l(long double x); - -double fabs(double x); - -float fabsf(float x); +extern int system(char const *command); -/*@ requires finite_arg: \is_finite(x); - ensures res_finite: \is_finite(\result); - ensures positive_result: \result ≥ 0.; +/*@ requires valid_function_compar: \valid_function(compar); ensures - equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x); + null_or_correct_result: + \result ≡ \null ∨ + \subset(\result, + (void *)((char *)\old(base) + + (0 .. \old(size) * (\old(nmemb) - 1)))); assigns \result; - assigns \result \from x; + assigns \result + \from (indirect: key), *((char *)key + (0 .. size - 1)), base, + *((char *)base + (0 .. size * (nmemb - 1))), (indirect: nmemb), + (indirect: size), (indirect: *compar); */ -extern long double fabsl(long double x); +extern void *bsearch(void const *key, void const *base, size_t nmemb, + size_t size, int (*compar)(void const *, void const *)); -/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); - requires finite_logic_res: \is_finite(pow(x, y)); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x, y; +/*@ requires valid_function_compar: \valid_function(compar); + assigns *((char *)base + (0 ..)); + assigns *((char *)base + (0 ..)) + \from (indirect: base), *((char *)base + (0 ..)), (indirect: nmemb), + (indirect: size), (indirect: compar), (indirect: *compar); */ -extern double pow(double x, double y); +extern void qsort(void *base, size_t nmemb, size_t size, + int (*compar)(void const *, void const *)); -/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); - requires finite_logic_res: \is_finite(powf(x, y)); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x, y; - */ -extern float powf(float x, float y); +int abs(int i); -/*@ requires finite_arg: \is_finite(x); - requires arg_positive: x ≥ -0.; - ensures finite_result: \is_finite(\result); - ensures positive_result: \result ≥ -0.; +/*@ requires abs_representable: j > -2147483647L - 1L; assigns \result; - assigns \result \from x; + assigns \result \from j; + + behavior negative: + assumes negative: j < 0; + ensures opposite_result: \result ≡ -\old(j); + + behavior nonnegative: + assumes nonnegative: j ≥ 0; + ensures same_result: \result ≡ \old(j); + + complete behaviors nonnegative, negative; + disjoint behaviors nonnegative, negative; */ -extern double sqrt(double x); +extern long labs(long j); -/*@ requires finite_arg: \is_finite(x); - requires arg_positive: x ≥ -0.; - ensures finite_result: \is_finite(\result); - ensures positive_result: \result ≥ -0.; +/*@ requires abs_representable: j > -9223372036854775807LL - 1LL; assigns \result; - assigns \result \from x; + assigns \result \from j; + + behavior negative: + assumes negative: j < 0; + ensures opposite_result: \result ≡ -\old(j); + + behavior nonnegative: + assumes nonnegative: j ≥ 0; + ensures same_result: \result ≡ \old(j); + + complete behaviors nonnegative, negative; + disjoint behaviors nonnegative, negative; */ -extern float sqrtf(float x); +extern long long llabs(long long j); -/*@ requires finite_arg: \is_finite(x); - requires arg_positive: x ≥ -0.; - ensures finite_result: \is_finite(\result); - ensures positive_result: \result ≥ -0.; - assigns \result; - assigns \result \from x; - */ -extern long double sqrtl(long double x); +/*@ assigns \result; + assigns \result \from numer, denom; */ +extern div_t div(int numer, int denom); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern double ceil(double x); +/*@ assigns \result; + assigns \result \from numer, denom; */ +extern ldiv_t ldiv(long numer, long denom); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern float ceilf(float x); +/*@ assigns \result; + assigns \result \from numer, denom; */ +extern lldiv_t lldiv(long long numer, long long denom); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern long double ceill(long double x); +/*@ ghost extern int __fc_mblen_state; */ -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; +/*@ assigns \result, __fc_mblen_state; + assigns \result + \from (indirect: s), (indirect: *(s + (0 ..))), (indirect: n), + __fc_mblen_state; + assigns __fc_mblen_state + \from (indirect: s), (indirect: *(s + (0 ..))), (indirect: n), + __fc_mblen_state; */ -extern double floor(double x); +extern int mblen(char const *s, size_t n); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern float floorf(float x); +/*@ ghost extern int __fc_mbtowc_state; */ -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; +/*@ requires separation: \separated(pwc, s); + ensures consumed_range: \result ≤ \old(n); + assigns \result, *(pwc + (0 .. \result - 1)), __fc_mbtowc_state; + assigns \result + \from (indirect: s), (indirect: *(s + (0 .. n - 1))), (indirect: n), + __fc_mbtowc_state; + assigns *(pwc + (0 .. \result - 1)) + \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n), + __fc_mbtowc_state; + assigns __fc_mbtowc_state + \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n), + __fc_mbtowc_state; */ -extern long double floorl(long double x); +extern int mbtowc(wchar_t * __restrict pwc, char const * __restrict s, + size_t n); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern double round(double x); +/*@ ghost extern int __fc_wctomb_state; */ -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; +/*@ assigns \result, *(s + (0 ..)), __fc_wctomb_state; + assigns \result \from (indirect: wc), __fc_wctomb_state; + assigns *(s + (0 ..)) \from wc, __fc_wctomb_state; + assigns __fc_wctomb_state \from wc, __fc_wctomb_state; */ -extern float roundf(float x); +extern int wctomb(char *s, wchar_t wc); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; +/*@ requires separation: \separated(pwcs, s); + assigns \result, *(pwcs + (0 .. n - 1)); + assigns \result + \from (indirect: s), (indirect: *(s + (0 .. n - 1))), (indirect: n); + assigns *(pwcs + (0 .. n - 1)) + \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n); */ -extern long double roundl(long double x); +extern size_t mbstowcs(wchar_t * __restrict pwcs, char const * __restrict s, + size_t n); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; +/*@ requires separation: \separated(s, pwcs); + assigns \result, *(s + (0 .. n - 1)); + assigns \result + \from (indirect: pwcs), (indirect: *(pwcs + (0 .. n - 1))), + (indirect: n); + assigns *(s + (0 .. n - 1)) + \from (indirect: pwcs), *(pwcs + (0 .. n - 1)), (indirect: n); */ -extern double trunc(double x); +extern size_t wcstombs(char * __restrict s, wchar_t const * __restrict pwcs, + size_t n); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; - */ -extern float truncf(float x); +int posix_memalign(void **memptr, size_t alignment, size_t size); -/*@ requires finite_arg: \is_finite(x); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x; +/*@ requires valid_template: valid_string(templat); + ensures + result_error_or_valid_fd: \result ≡ -1 ∨ (0 ≤ \result < 16); + assigns *(templat + (0 ..)), \result; + assigns *(templat + (0 ..)) \from \nothing; + assigns \result \from \nothing; */ -extern long double truncl(long double x); +extern int mkstemp(char *templat); -/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); - requires finite_logic_result: \is_finite(fmod(x, y)); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x, y; - */ -extern double fmod(double x, double y); +int glob(char const *pattern, int flags, + int (*errfunc)(char const *epath, int eerrno), glob_t *pglob) +{ + int __retres; + int tmp; + unsigned int tmp_0; + char **tmp_1; + int tmp_4; + tmp = Frama_C_interval(0,10); + pglob->gl_pathc = (unsigned int)tmp; + if (flags & (1 << 3)) tmp_0 = pglob->gl_offs; else tmp_0 = (unsigned int)0; + size_t reserve_offs = tmp_0; + size_t prev_len = (unsigned int)0; + if (flags & (1 << 5)) + while (*(pglob->gl_pathv + (reserve_offs + prev_len))) prev_len += (size_t)1; + if (flags & (1 << 5)) tmp_1 = pglob->gl_pathv; else tmp_1 = (char **)0; + char **path = tmp_1; + if (pglob->gl_pathc == (unsigned int)0) + if (flags & (1 << 4)) { + pglob->gl_pathv = (char **)realloc((void *)path, + ((reserve_offs + prev_len) + (size_t)2) * sizeof(char *)); + if (! pglob->gl_pathv) { + __retres = 1; + goto return_label; + } + { + size_t i = (unsigned int)0; + while (i < reserve_offs) { + *(pglob->gl_pathv + i) = (char *)0; + i += (size_t)1; + } + } + *(pglob->gl_pathv + (reserve_offs + prev_len)) = (char *)pattern; + *(pglob->gl_pathv + ((reserve_offs + prev_len) + (size_t)1)) = (char *)0; + __retres = 0; + goto return_label; + } + else { + __retres = 3; + goto return_label; + } + pglob->gl_pathv = (char **)realloc((void *)path, + (((reserve_offs + prev_len) + pglob->gl_pathc) + (size_t)1) * sizeof(char *)); + if (! pglob->gl_pathv) { + __retres = 1; + goto return_label; + } + { + size_t i_0 = (unsigned int)0; + while (i_0 < reserve_offs) { + *(pglob->gl_pathv + i_0) = (char *)0; + i_0 += (size_t)1; + } + } + { + size_t i_1 = (unsigned int)0; + while (i_1 < pglob->gl_pathc) { + *(pglob->gl_pathv + ((reserve_offs + prev_len) + i_1)) = (char *)"glob result"; + i_1 += (size_t)1; + } + } + *(pglob->gl_pathv + ((prev_len + reserve_offs) + pglob->gl_pathc)) = (char *)0; + tmp_4 = Frama_C_nondet(0,1); + if (tmp_4) { + __retres = 0; + goto return_label; + } + else { + if (errfunc) { + int tmp_3; + int tmp_2; + tmp_2 = Frama_C_interval(0,255); + tmp_3 = (*errfunc)("glob.c error path",tmp_2); + int res = tmp_3; + if (res) { + __retres = 2; + goto return_label; + } + else + if (flags & (1 << 0)) { + __retres = 2; + goto return_label; + } + } + __retres = 0; + goto return_label; + } + return_label: return __retres; +} -/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); - requires finite_logic_result: \is_finite(fmodf(x, y)); - ensures finite_result: \is_finite(\result); - assigns \result; - assigns \result \from x, y; - */ -extern float fmodf(float x, float y); +void globfree(glob_t *pglob) +{ + if (pglob->gl_pathc > (unsigned int)0) free((void *)pglob->gl_pathv); + return; +} -/*@ requires tagp_valid_string: valid_read_string(tagp); - ensures result_is_nan: \is_NaN(\result); - assigns \result; - assigns \result \from (indirect: *(tagp + (0 ..))); - */ -extern double nan(char const *tagp); +intmax_t imaxabs(intmax_t c); -/*@ requires tagp_valid_string: valid_read_string(tagp); - ensures result_is_nan: \is_NaN(\result); - assigns \result; - assigns \result \from (indirect: *(tagp + (0 ..))); - */ -extern float nanf(char const *tagp); +imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom); -/*@ requires tagp_valid_string: valid_read_string(tagp); - ensures result_is_nan: \is_NaN(\result); - assigns \result; - assigns \result \from (indirect: *(tagp + (0 ..))); +/*@ assigns \result, *(endptr + (..)), __fc_errno; + assigns \result \from *(nptr + (..)), base; + assigns *(endptr + (..)) \from *(nptr + (..)), base; + assigns __fc_errno \from *(nptr + (..)), base; */ -extern long double nanl(char const *tagp); - -int __finitef(float f); - -int __finite(double d); +extern intmax_t strtoimax(char const * __restrict nptr, + char ** __restrict endptr, int base); -/*@ requires finite_arg: \is_finite(x); - ensures res_finite: \is_finite(\result); - ensures positive_result: \result ≥ 0.; - ensures - equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x); +/*@ requires abs_representable: (long long)(-c) ≢ c; assigns \result; - assigns \result \from x; + assigns \result \from c; */ -double fabs(double x) +intmax_t imaxabs(intmax_t c) { - double __retres; - if (x == 0.0) { - __retres = 0.0; + intmax_t __retres; + if (c > (intmax_t)0) { + __retres = c; goto return_label; } - if (x > 0.0) { - __retres = x; + else { + __retres = - c; goto return_label; } - __retres = - x; return_label: return __retres; } -/*@ requires finite_arg: \is_finite(x); - ensures res_finite: \is_finite(\result); - ensures positive_result: \result ≥ 0.; - ensures - equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x); +/*@ requires no_div_by_zero: denom ≢ 0; + requires no_overflow: denom ≢ -1 ∨ (long long)(-numer) ≢ numer; + ensures correct_div: \result.quot ≡ \old(numer) / \old(denom); + ensures correct_mod: \result.rem ≡ \old(numer) % \old(denom); assigns \result; - assigns \result \from x; + assigns \result \from numer, denom; */ -float fabsf(float x) +imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom) { - float __retres; - if (x == 0.0f) { - __retres = 0.0f; - goto return_label; - } - else - if (x > 0.0f) { - __retres = x; - goto return_label; - } - else { - __retres = - x; - goto return_label; - } - return_label: return __retres; + imaxdiv_t r; + r.quot = numer / denom; + r.rem = numer % denom; + return r; } -int __finitef(float f) -{ - int __retres; - union __fc_u_finitef u; - unsigned short usExp; - u.f = f; - usExp = (unsigned short)((int)u.w[1] & 0x7F80); - usExp = (unsigned short)((int)usExp >> 7); - __retres = ! ((int)usExp == 0xff); - return __retres; -} +extern struct lconv *__fc_locale; -int __finite(double d) -{ - int __retres; - union __fc_u_finite u; - unsigned short usExp; - u.d = d; - usExp = (unsigned short)((int)u.w[3] & 0x7F80); - usExp = (unsigned short)((int)usExp >> 7); - __retres = ! ((int)usExp == 0xff); - return __retres; -} +extern char *__fc_locale_names[512]; -/*@ assigns \nothing; */ -extern void (*signal(int sig, void (*func)(int )))(int ); +char *setlocale(int category, char const *locale); -/*@ ensures never_terminates: \false; - assigns \nothing; */ -extern int raise(int sig); +struct lconv *localeconv(void); -/*@ requires valid_set: \valid(set); - ensures initialization: set: \initialized(\old(set)); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns *set, \result; - assigns *set \from \nothing; - assigns \result \from \nothing; +struct lconv __C_locale = + {.decimal_point = (char *)".", + .thousands_sep = (char *)"", + .grouping = (char *)"", + .int_curr_symbol = (char *)"", + .currency_symbol = (char *)"", + .mon_decimal_point = (char *)"", + .mon_thousands_sep = (char *)"", + .mon_grouping = (char *)"", + .positive_sign = (char *)"", + .negative_sign = (char *)"", + .int_frac_digits = (char)127, + .frac_digits = (char)127, + .p_cs_precedes = (char)127, + .p_sep_by_space = (char)127, + .n_cs_precedes = (char)127, + .n_sep_by_space = (char)127, + .p_sign_posn = (char)127, + .n_sign_posn = (char)127, + .int_p_cs_precedes = (char)127, + .int_p_sep_by_space = (char)127, + .int_n_cs_precedes = (char)127, + .int_n_sep_by_space = (char)127, + .int_p_sign_posn = (char)127, + .int_n_sign_posn = (char)127}; +struct lconv *__frama_c_locale = & __C_locale; +char *__frama_c_locale_names[512] = {(char *)"C"}; +/*@ requires + locale_null_or_valid_string: + locale ≡ \null ∨ valid_read_string(locale); + ensures + result_null_or_locale_name: + \result ≡ \null ∨ + (\valid(\result) ∧ (∃ ℤ i; \result ≡ __fc_locale_names[i])); + assigns __fc_locale, \result; + assigns __fc_locale \from category, *(locale + (..)); + assigns \result \from __fc_locale, category, *(locale + (..)); */ -extern int sigemptyset(sigset_t *set); +char *setlocale(int category, char const *locale) +{ + char *__retres; + if ((int)*locale == 'C') { + __frama_c_locale = & __C_locale; + __retres = __frama_c_locale_names[0]; + goto return_label; + } + __retres = (char *)0; + return_label: return __retres; +} -/*@ requires valid_set: \valid(set); - ensures initialization: set: \initialized(\old(set)); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns *set, \result; - assigns *set \from \nothing; - assigns \result \from \nothing; +/*@ ensures result_current_locale: \result ≡ __fc_locale; + assigns \nothing; */ -extern int sigfillset(sigset_t *set); +struct lconv *localeconv(void) +{ + return __frama_c_locale; +} -/*@ requires valid_set: \valid(set); - requires initialization: set: \initialized(set); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns *set, \result; - assigns *set \from (indirect: signum); - assigns \result \from signum; +/*@ assigns \result; + assigns \result \from x; + + behavior nan: + assumes is_nan: \is_NaN(x); + ensures fp_nan: \result ≡ 0; + + behavior inf: + assumes is_infinite: ¬\is_NaN(x) ∧ ¬\is_finite(x); + ensures fp_infinite: \result ≡ 1; + + behavior zero: + assumes is_a_zero: x ≡ 0.0; + ensures fp_zero: \result ≡ 2; + + behavior subnormal: + assumes is_finite: \is_finite(x); + assumes + is_subnormal: + (x > 0.0 ∧ x < 0x1p-126) ∨ (x < 0.0 ∧ x > -0x1p-126); + ensures fp_subnormal: \result ≡ 3; + + behavior normal: + assumes is_finite: \is_finite(x); + assumes not_subnormal: x ≤ -0x1p-126 ∨ x ≥ 0x1p-126; + ensures fp_normal: \result ≡ 4; + + complete behaviors normal, subnormal, zero, inf, nan; + disjoint behaviors normal, subnormal, zero, inf, nan; */ -extern int sigaddset(sigset_t *set, int signum); +int __fc_fpclassifyf(float x); -/*@ requires valid_set: \valid(set); - requires initialization: set: \initialized(set); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns *set, \result; - assigns *set \from (indirect: signum); - assigns \result \from signum; +/*@ assigns \result; + assigns \result \from x; + + behavior nan: + assumes is_nan: \is_NaN(x); + ensures fp_nan: \result ≡ 0; + + behavior inf: + assumes is_infinite: ¬\is_NaN(x) ∧ ¬\is_finite(x); + ensures fp_infinite: \result ≡ 1; + + behavior zero: + assumes is_a_zero: x ≡ 0.0; + ensures fp_zero: \result ≡ 2; + + behavior subnormal: + assumes is_finite: \is_finite(x); + assumes + is_subnormal: + (x > 0.0 ∧ x < 0x1p-1022) ∨ (x < 0.0 ∧ x > -0x1p-1022); + ensures fp_subnormal: \result ≡ 3; + + behavior normal: + assumes is_finite: \is_finite(x); + assumes not_subnormal: x ≤ -0x1p-1022 ∨ x ≥ 0x1p-1022; + ensures fp_normal: \result ≡ 4; + + complete behaviors normal, subnormal, zero, inf, nan; + disjoint behaviors normal, subnormal, zero, inf, nan; */ -extern int sigdelset(sigset_t *set, int signum); +int __fc_fpclassify(double x); -/*@ requires valid_read_set: \valid_read(set); - requires initialization: set: \initialized(set); - ensures - result_found_not_found_or_error: - \result ≡ 0 ∨ \result ≡ 1 ∨ \result ≡ -1; - assigns \result; - assigns \result \from *set, signum; +/*@ assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + behavior normal: + assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; + ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; + assigns \result; + assigns \result \from x; + + behavior domain_error: + assumes + out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); + ensures errno_set: __fc_errno ≡ 1; + assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + disjoint behaviors domain_error, normal; */ -extern int sigismember(sigset_t const *set, int signum); +extern double acos(double x); -struct sigaction __fc_sigaction[64 + 1]; -struct sigaction *__fc_p_sigaction = __fc_sigaction; -/*@ requires valid_signal: 0 ≤ signum ≤ 64; - requires valid_oldact_or_null: oldact ≡ \null ∨ \valid(oldact); - requires valid_read_act_or_null: act ≡ \null ∨ \valid_read(act); - requires separation: separated_acts: \separated(act, oldact); - ensures - act_changed: - \old(act) ≡ \null ∨ - \subset(*(__fc_p_sigaction + \old(signum)), *\old(act)); - ensures - oldact_assigned: - \old(oldact) ≡ \null ∨ - *\old(oldact) ∈ *(__fc_p_sigaction + \old(signum)); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns *oldact, *(__fc_p_sigaction + signum), \result; - assigns *oldact \from __fc_p_sigaction; - assigns *(__fc_p_sigaction + signum) \from *act; - assigns \result - \from (indirect: signum), (indirect: act), (indirect: *act), - (indirect: oldact), (indirect: *oldact); +/*@ assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + behavior normal: + assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; + ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; + assigns \result; + assigns \result \from x; + + behavior domain_error: + assumes + out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); + ensures errno_set: __fc_errno ≡ 1; + assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + disjoint behaviors domain_error, normal; */ -extern int sigaction(int signum, struct sigaction const * __restrict act, - struct sigaction * __restrict oldact); +extern float acosf(float x); -/*@ requires valid_set_or_null: set ≡ \null ∨ \valid_read(set); - requires valid_how: set ≢ \null ⇒ how ∈ {0, 2, 1}; - requires valid_oldset_or_null: oldset ≡ \null ∨ \valid(oldset); - requires - separation: (set ≡ oldset ≡ \null) ∨ \separated(set, oldset); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - ensures - initialization: oldset_initialized: - \old(oldset) ≢ \null ∧ \result ≡ 0 ⇒ - \initialized(\old(oldset)); - assigns \result, *oldset; - assigns \result - \from (indirect: how), (indirect: set), (indirect: oldset); - assigns *oldset \from (indirect: how), (indirect: oldset); +/*@ assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + behavior normal: + assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; + ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; + assigns \result; + assigns \result \from x; + + behavior domain_error: + assumes + out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); + ensures errno_set: __fc_errno ≡ 1; + assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + disjoint behaviors domain_error, normal; */ -extern int sigprocmask(int how, sigset_t const * __restrict set, - sigset_t * __restrict oldset); +extern long double acosl(long double x); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from (indirect: pid), (indirect: sig); +/*@ assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + behavior normal: + assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + + behavior domain_error: + assumes + out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); + ensures errno_set: __fc_errno ≡ 1; + assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + disjoint behaviors domain_error, normal; */ -extern int kill(pid_t pid, int sig); +extern double asin(double x); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from (indirect: pgrp), (indirect: sig); +/*@ assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + behavior normal: + assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + + behavior domain_error: + assumes + out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); + ensures errno_set: __fc_errno ≡ 1; + assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + disjoint behaviors domain_error, normal; */ -extern int killpg(pid_t pgrp, int sig); - -/*@ ghost struct __fc_sockfds_type __fc_sockfds[1024]; */ -/*@ ghost extern int __fc_socket_counter __attribute__((__FRAMA_C_MODEL__)); -*/ +extern float asinf(float x); -/*@ ghost int volatile __fc_open_sock_fds; */ -/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; - ensures - result_error_or_valid_new_sockfd: - \result ≡ -1 ∨ (0 ≤ \result < 1024); - assigns \result, *((char *)addr + (0 .. *addrlen - 1)), - __fc_sockfds[sockfd]; - assigns \result \from *addr, *addrlen, __fc_sockfds[sockfd]; - assigns *((char *)addr + (0 .. *addrlen - 1)) - \from *addr, *addrlen, __fc_sockfds[sockfd]; - assigns __fc_sockfds[sockfd] \from *addr, *addrlen, __fc_sockfds[sockfd]; +/*@ assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; - behavior addr_null: - assumes addr_is_null: addr ≡ \null; - requires addrlen_should_be_null: addrlen ≡ \null; - assigns \result, __fc_sockfds[sockfd]; - assigns \result \from __fc_sockfds[sockfd]; - assigns __fc_sockfds[sockfd] \from __fc_sockfds[sockfd]; + behavior normal: + assumes in_domain: \is_finite(x) ∧ \abs(x) ≤ 1; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; - behavior addr_not_null: - assumes addr_is_not_null: addr ≢ \null; - requires valid_addrlen: \valid(addrlen); - requires addr_has_room: \valid((char *)addr + (0 .. *addrlen - 1)); - ensures - initialization: addr: - \initialized((char *)\old(addr) + (0 .. *\old(addrlen) - 1)); + behavior domain_error: + assumes + out_of_domain: \is_infinite(x) ∨ (\is_finite(x) ∧ \abs(x) > 1); + ensures errno_set: __fc_errno ≡ 1; + assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; - disjoint behaviors addr_not_null, addr_null; + disjoint behaviors domain_error, normal; */ -extern int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); +extern long double asinl(long double x); -/*@ requires valid_sockfd: sockfd: 0 ≤ sockfd < 1024; - requires valid_read_addr: \valid_read((char *)addr + (0 .. addrlen - 1)); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns __fc_sockfds[sockfd], \result; - assigns __fc_sockfds[sockfd] - \from sockfd, *addr, addrlen, __fc_sockfds[sockfd]; - assigns \result - \from (indirect: sockfd), (indirect: *addr), (indirect: addrlen), - (indirect: __fc_sockfds[sockfd]); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + ensures result_domain: -1.571 ≤ \result ≤ 1.571; + assigns \result; + assigns \result \from x; */ -extern int bind(int sockfd, struct sockaddr const *addr, socklen_t addrlen); +extern float atanf(float x); -/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; - requires valid_read_addr: \valid_read((char *)addr + (0 .. addrlen - 1)); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns __fc_sockfds[sockfd], \result; - assigns __fc_sockfds[sockfd] - \from __fc_sockfds[sockfd], (indirect: sockfd), (indirect: addr), - (indirect: *addr), (indirect: addrlen); - assigns \result - \from (indirect: __fc_sockfds[sockfd]), (indirect: sockfd), - (indirect: addr), (indirect: *addr), (indirect: addrlen); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + ensures result_domain: -1.571 ≤ \result ≤ 1.571; + assigns \result; + assigns \result \from x; */ -extern int connect(int sockfd, struct sockaddr const *addr, socklen_t addrlen); +extern double atan(double x); -/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; - requires valid_optlen: \valid(optlen); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns *((char *)optval + (0 ..)), \result, *optlen; - assigns *((char *)optval + (0 ..)) - \from (indirect: sockfd), (indirect: level), (indirect: optname), - (indirect: *optlen), (indirect: optval), - (indirect: __fc_sockfds[sockfd]); - assigns \result - \from (indirect: sockfd), (indirect: level), (indirect: optname), - (indirect: *optlen), (indirect: optval), - (indirect: __fc_sockfds[sockfd]); - assigns *optlen - \from (indirect: sockfd), (indirect: level), (indirect: optname), - *optlen, (indirect: optval), (indirect: __fc_sockfds[sockfd]); - - behavior so_error: - assumes optname_is_error: level ≡ 1 ∧ optname ≡ 4; - requires valid_optlen: \valid(optlen); - requires optlen_value: *optlen ≡ sizeof(int); - requires valid_optval: \valid((int *)optval); - assigns *((int *)optval), \result; - assigns *((int *)optval) - \from (indirect: sockfd), (indirect: optlen), - (indirect: __fc_sockfds[sockfd]); - assigns \result - \from (indirect: sockfd), (indirect: optlen), - (indirect: __fc_sockfds[sockfd]); - - behavior other_options: - assumes optname_not_error: ¬(level ≡ 1 ∧ optname ≡ 4); - requires - optval_null_or_valid: - optval ≡ \null ∨ \valid((char *)optval + (0 ..)); - assigns *((char *)optval + (0 ..)), \result, *optlen; - assigns *((char *)optval + (0 ..)) - \from (indirect: sockfd), (indirect: level), (indirect: optname), - (indirect: *optlen), (indirect: optval), - (indirect: __fc_sockfds[sockfd]); - assigns \result - \from (indirect: sockfd), (indirect: level), (indirect: optname), - (indirect: *optlen), (indirect: optval), - (indirect: __fc_sockfds[sockfd]); - assigns *optlen - \from (indirect: sockfd), (indirect: level), (indirect: optname), - *optlen, (indirect: optval), (indirect: __fc_sockfds[sockfd]); - - complete behaviors other_options, so_error; - disjoint behaviors other_options, so_error; +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + ensures result_domain: -1.571 ≤ \result ≤ 1.571; + assigns \result; + assigns \result \from x; */ -extern int getsockopt(int sockfd, int level, int optname, void *optval, - socklen_t *optlen); +extern long double atanl(long double x); -/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result, __fc_sockfds[sockfd]; - assigns \result \from sockfd, __fc_sockfds[sockfd]; - assigns __fc_sockfds[sockfd] \from sockfd, backlog, __fc_sockfds[sockfd]; +/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); + requires finite_result: \is_finite(atan2(x, y)); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x, y; */ -extern int listen(int sockfd, int backlog); - -/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; - requires valid_buffer_length: \valid((char *)buf + (0 .. len - 1)); - ensures - result_error_or_received_length: - \result ≡ -1 ∨ (0 ≤ \result ≤ \old(len)); - ensures - initialization: \initialized((char *)\old(buf) + (0 .. \result - 1)); - assigns *((char *)buf + (0 .. len - 1)), __fc_sockfds[sockfd], \result; - assigns *((char *)buf + (0 .. len - 1)) - \from sockfd, len, flags, __fc_sockfds[sockfd]; - assigns __fc_sockfds[sockfd] - \from sockfd, len, flags, __fc_sockfds[sockfd]; - assigns \result \from sockfd, len, flags, __fc_sockfds[sockfd]; - */ -extern ssize_t recv(int sockfd, void *buf, size_t len, int flags); - -/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; - requires - msg_control_has_room: - \valid((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1)); - requires - msg_iov_has_room: \valid(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1)); - requires - msg_name_null_or_has_room: - hdr->msg_name ≡ \null ∨ - \valid((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1)); - ensures - result_error_or_received_length: - \result ≡ -1 ∨ (0 ≤ \result ≤ \old(hdr)->msg_iovlen); - assigns *((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1)), - hdr->msg_namelen, - *((char *)(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1))->iov_base + - (0 ..)), - *((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1)), - \result, hdr->msg_controllen, hdr->msg_flags, - __fc_sockfds[sockfd]; - assigns *((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1)) - \from __fc_sockfds[sockfd]; - assigns hdr->msg_namelen \from __fc_sockfds[sockfd]; - assigns - *((char *)(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1))->iov_base + (0 ..)) - \from __fc_sockfds[sockfd]; - assigns *((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1)) - \from __fc_sockfds[sockfd]; - assigns \result \from __fc_sockfds[sockfd]; - assigns hdr->msg_controllen \from __fc_sockfds[sockfd]; - assigns hdr->msg_flags \from __fc_sockfds[sockfd]; - assigns __fc_sockfds[sockfd] \from __fc_sockfds[sockfd]; - */ -extern ssize_t recvmsg(int sockfd, struct msghdr *hdr, int flags); +extern double atan2(double y, double x); -/*@ requires available_sockfd: 0 ≤ sockfd < 1024; - requires buf_len_ok: \valid_read((char *)buf + (0 .. len - 1)); - ensures - error_or_chars_sent: \result ≡ -1 ∨ (0 ≤ \result ≤ \old(len)); - assigns __fc_errno, __fc_sockfds[sockfd], \result; - assigns __fc_errno - \from (indirect: sockfd), (indirect: __fc_sockfds[sockfd]), - (indirect: *((char *)buf + (0 .. len))), flags; - assigns __fc_sockfds[sockfd] - \from __fc_sockfds[sockfd], *((char *)buf + (0 .. len)), flags; - assigns \result - \from (indirect: sockfd), (indirect: __fc_sockfds[sockfd]), - (indirect: *((char *)buf + (0 .. len))), (indirect: flags); +/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); + requires finite_logic_result: \is_finite(atan2f(x, y)); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x, y; */ -extern ssize_t send(int sockfd, void const *buf, size_t len, int flags); +extern float atan2f(float y, float x); -/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; - requires - optval_null_or_has_room: - optval ≡ \null ∨ \valid_read((char *)optval + (0 .. optlen - 1)); - ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1; - assigns \result, __fc_sockfds[sockfd]; - assigns \result - \from __fc_sockfds[sockfd], level, optname, - *((char *)optval + (0 .. optlen - 1)), optlen; - assigns __fc_sockfds[sockfd] - \from __fc_sockfds[sockfd], level, optname, - *((char *)optval + (0 .. optlen - 1)), optlen; +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + ensures result_domain: -1. ≤ \result ≤ 1.; + assigns \result; + assigns \result \from x; */ -extern int setsockopt(int sockfd, int level, int optname, void const *optval, - socklen_t optlen); +extern double cos(double x); -/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; - ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1; - assigns \result, __fc_sockfds[sockfd]; - assigns \result \from how, __fc_sockfds[sockfd]; - assigns __fc_sockfds[sockfd] \from how, __fc_sockfds[sockfd]; +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + ensures result_domain: -1. ≤ \result ≤ 1.; + assigns \result; + assigns \result \from x; */ -extern int shutdown(int sockfd, int how); +extern float cosf(float x); -/*@ ensures - result_error_or_valid_new_sockfd: - (0 ≤ \result < 1024) ∨ \result ≡ -1; - assigns \result, __fc_socket_counter; - assigns \result - \from (indirect: domain), (indirect: type), (indirect: protocol), - (indirect: __fc_socket_counter); - assigns __fc_socket_counter - \from (indirect: domain), (indirect: type), (indirect: protocol), - __fc_socket_counter; +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + ensures result_domain: -1. ≤ \result ≤ 1.; + assigns \result; + assigns \result \from x; */ -extern int socket(int domain, int type, int protocol); +extern long double cosl(long double x); -/*@ requires valid_socket_sector: \valid(sv + (0 .. 1)); - ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1; - ensures initialization: sv: \initialized(\old(sv) + (0 .. 1)); - ensures valid_new_sockfd: sv0: 0 ≤ *(\old(sv) + 0) < 1024; - ensures valid_new_sockfd: sv1: 0 ≤ *(\old(sv) + 1) < 1024; - assigns \result, __fc_socket_counter, *(sv + (0 .. 1)); - assigns \result \from __fc_socket_counter; - assigns __fc_socket_counter \from __fc_socket_counter; - assigns *(sv + (0 .. 1)) \from __fc_socket_counter; +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + ensures result_domain: -1. ≤ \result ≤ 1.; + assigns \result; + assigns \result \from x; */ -extern int socketpair(int domain, int type, int protocol, int * /*[2]*/ sv); - -struct in6_addr const in6addr_any = {.s6_addr = {(unsigned char)0}}; -struct in6_addr const in6addr_loopback = - {.s6_addr = {(unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF, - (unsigned char)0xFF}}; -/*@ assigns \result; - assigns \result \from arg; */ -extern uint32_t htonl(uint32_t arg); - -/*@ assigns \result; - assigns \result \from arg; */ -extern uint16_t htons(uint16_t arg); - -/*@ assigns \result; - assigns \result \from arg; */ -extern uint32_t ntohl(uint32_t arg); - -/*@ assigns \result; - assigns \result \from arg; */ -extern uint16_t ntohs(uint16_t arg); +extern double sin(double x); -/*@ requires valid_arg: valid_read_string(arg); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + ensures result_domain: -1. ≤ \result ≤ 1.; assigns \result; - assigns \result \from (indirect: *(arg + (0 ..))); + assigns \result \from x; */ -extern in_addr_t inet_addr(char const *arg); +extern float sinf(float x); -char volatile __fc_inet_ntoa_array[16]; -char *__fc_inet_ntoa = (char *)(__fc_inet_ntoa_array); -/*@ ensures result_static_string: \result ≡ __fc_inet_ntoa; - ensures result_null_terminated: *(\result + 15) ≡ 0; - ensures result_valid_string: valid_read_string(\result); - assigns \result, *(__fc_inet_ntoa + (0 ..)); - assigns \result \from (indirect: arg), __fc_inet_ntoa; - assigns *(__fc_inet_ntoa + (0 ..)) \from (indirect: arg); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + ensures result_domain: -1. ≤ \result ≤ 1.; + assigns \result; + assigns \result \from x; */ -extern char *inet_ntoa(struct in_addr arg); +extern long double sinl(long double x); -/*@ assigns \result, *(dst + (0 .. size - 1)); - assigns \result \from dst, af, *((char *)src + (0 ..)); - assigns *(dst + (0 .. size - 1)) \from af, *((char *)src + (0 ..)); +/*@ assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + behavior normal: + assumes in_domain: \is_finite(x) ∧ x ≥ 1; + ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; + assigns \result; + assigns \result \from x; + + behavior infinite: + assumes is_plus_infinity: \is_plus_infinity(x); + ensures result_plus_infinity: \is_plus_infinity(\result); + assigns \result; + assigns \result \from x; + + behavior domain_error: + assumes + out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1); + ensures errno_set: __fc_errno ≡ 1; + assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + disjoint behaviors domain_error, infinite, normal; */ -extern char const *inet_ntop(int af, void const *src, char *dst, - socklen_t size); +extern double acosh(double x); -/*@ assigns \result, *((char *)dst + (0 ..)); - assigns \result \from af, *(src + (..)); - assigns *((char *)dst + (0 ..)) \from af, *(src + (0 ..)); +/*@ assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + behavior normal: + assumes in_domain: \is_finite(x) ∧ x ≥ 1; + ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; + assigns \result; + assigns \result \from x; + + behavior infinite: + assumes is_plus_infinity: \is_plus_infinity(x); + ensures result_plus_infinity: \is_plus_infinity(\result); + assigns \result; + assigns \result \from x; + + behavior domain_error: + assumes + out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1); + ensures errno_set: __fc_errno ≡ 1; + assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + disjoint behaviors domain_error, infinite, normal; */ -extern int inet_pton(int af, char const *src, void *dst); +extern float acoshf(float x); -int h_errno; -/*@ requires addrinfo_valid: \valid(addrinfo); - ensures allocation: \allocable(\old(addrinfo)); - assigns \nothing; - frees addrinfo; +/*@ assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + behavior normal: + assumes in_domain: \is_finite(x) ∧ x ≥ 1; + ensures positive_result: \is_finite(\result) ∧ \result ≥ 0; + assigns \result; + assigns \result \from x; + + behavior infinite: + assumes is_plus_infinity: \is_plus_infinity(x); + ensures result_plus_infinity: \is_plus_infinity(\result); + assigns \result; + assigns \result \from x; + + behavior domain_error: + assumes + out_of_domain: \is_minus_infinity(x) ∨ (\is_finite(x) ∧ x < 1); + ensures errno_set: __fc_errno ≡ 1; + assigns __fc_errno, \result; + assigns __fc_errno \from x; + assigns \result \from x; + + disjoint behaviors domain_error, infinite, normal; */ -extern void freeaddrinfo(struct addrinfo *addrinfo); +extern long double acoshl(long double x); -char *__fc_gai_strerror = (char *)"<error message reported by gai_strerror>"; -/*@ ensures result_string: \result ≡ __fc_gai_strerror; - ensures result_valid_string: valid_read_string(\result); +/*@ requires finite_arg: \is_finite(x); + requires finite_domain: x ≤ 0x1.62e42fefa39efp+9; + ensures res_finite: \is_finite(\result); + ensures positive_result: \result > 0.; assigns \result; - assigns \result \from (indirect: errcode), __fc_gai_strerror; + assigns \result \from x; */ -extern char const *gai_strerror(int errcode); +extern double exp(double x); -int getaddrinfo(char const * __restrict nodename, - char const * __restrict servname, - struct addrinfo const * __restrict hints, - struct addrinfo ** __restrict res); +/*@ requires finite_arg: \is_finite(x); + requires res_finite: x ≤ 0x1.62e42ep+6; + ensures res_finite: \is_finite(\result); + ensures positive_result: \result > 0.; + assigns \result; + assigns \result \from x; + */ +extern float expf(float x); -struct hostent *gethostbyname(char const *name); +/*@ requires finite_arg: \is_finite(x); + requires arg_positive: x > 0; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + */ +extern double log(double x); -/*@ -predicate non_escaping{L}(void *s, size_t n) = - ∀ unsigned int i; 0 ≤ i < n ⇒ ¬\dangling((char *)s + i); +/*@ requires finite_arg: \is_finite(x); + requires arg_positive: x > 0; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; */ -/*@ -predicate empty_block{L}(void *s) = - \block_length((char *)s) ≡ 0 ∧ \offset((char *)s) ≡ 0; +extern float logf(float x); + +/*@ requires finite_arg: \is_finite(x); + requires arg_pos: x > 0; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; */ -/*@ -predicate valid_or_empty{L}(void *s, size_t n) = - (empty_block(s) ∨ \valid_read((char *)s)) ∧ - \valid((char *)s + (0 .. n - 1)); +extern long double logl(long double x); + +/*@ requires finite_arg: \is_finite(x); + requires arg_positive: x > 0; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; */ -/*@ -predicate valid_read_or_empty{L}(void *s, size_t n) = - (empty_block(s) ∨ \valid_read((char *)s)) ∧ - \valid_read((char *)s + (1 .. n - 1)); +extern double log10(double x); -*/ -int memcmp(void const *s1, void const *s2, size_t n); +/*@ requires finite_arg: \is_finite(x); + requires arg_positive: x > 0; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + */ +extern float log10f(float x); -void *memchr(void const *s, int c, size_t n); +/*@ requires finite_arg: \is_finite(x); + requires arg_postive: x > 0; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + */ +extern long double log10l(long double x); -void *memcpy(void * __restrict dest, void const * __restrict src, size_t n); +/*@ requires finite_arg: \is_finite(x); + requires arg_positive: x > 0; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + */ +extern double log2(double x); -void *memmove(void *dest, void const *src, size_t n); +/*@ requires finite_arg: \is_finite(x); + requires arg_positive: x > 0; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + */ +extern float log2f(float x); -void *memset(void *s, int c, size_t n); +/*@ requires finite_arg: \is_finite(x); + requires arg_positive: x > 0; + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + */ +extern long double log2l(long double x); -size_t strlen(char const *s); +double fabs(double x); -size_t strnlen(char const *s, size_t maxlen); +float fabsf(float x); -int strcmp(char const *s1, char const *s2); +/*@ requires finite_arg: \is_finite(x); + ensures res_finite: \is_finite(\result); + ensures positive_result: \result ≥ 0.; + ensures + equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x); + assigns \result; + assigns \result \from x; + */ +extern long double fabsl(long double x); -int strncmp(char const *s1, char const *s2, size_t n); +/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); + requires finite_logic_res: \is_finite(pow(x, y)); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x, y; + */ +extern double pow(double x, double y); -/*@ requires valid_string_s1: valid_read_string(s1); - requires valid_string_s2: valid_read_string(s2); +/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); + requires finite_logic_res: \is_finite(powf(x, y)); + ensures finite_result: \is_finite(\result); assigns \result; - assigns \result - \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..))); + assigns \result \from x, y; */ -extern int strcoll(char const *s1, char const *s2); +extern float powf(float x, float y); -char *strchr(char const *s, int c); +/*@ requires finite_arg: \is_finite(x); + requires arg_positive: x ≥ -0.; + ensures finite_result: \is_finite(\result); + ensures positive_result: \result ≥ -0.; + assigns \result; + assigns \result \from x; + */ +extern double sqrt(double x); -char *strrchr(char const *s, int c); +/*@ requires finite_arg: \is_finite(x); + requires arg_positive: x ≥ -0.; + ensures finite_result: \is_finite(\result); + ensures positive_result: \result ≥ -0.; + assigns \result; + assigns \result \from x; + */ +extern float sqrtf(float x); -/*@ requires valid_string_s: valid_read_string(s); - requires valid_string_reject: valid_read_string(reject); - ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s)); +/*@ requires finite_arg: \is_finite(x); + requires arg_positive: x ≥ -0.; + ensures finite_result: \is_finite(\result); + ensures positive_result: \result ≥ -0.; assigns \result; - assigns \result - \from (indirect: *(s + (0 ..))), (indirect: *(reject + (0 ..))); + assigns \result \from x; */ -extern size_t strcspn(char const *s, char const *reject); +extern long double sqrtl(long double x); -/*@ requires valid_string_s: valid_read_string(s); - requires valid_string_accept: valid_read_string(accept); - ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s)); - assigns \result, \result; - assigns \result \from *(s + (0 ..)), *(accept + (0 ..)); - assigns \result - \from (indirect: *(s + (0 ..))), (indirect: *(accept + (0 ..))); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; */ -extern size_t strspn(char const *s, char const *accept); +extern double ceil(double x); -/*@ requires valid_string_s: valid_read_string(s); - requires valid_string_accept: valid_read_string(accept); - ensures - result_null_or_same_base: - \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s)); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); assigns \result; - assigns \result \from s, *(s + (0 ..)), *(accept + (0 ..)); + assigns \result \from x; */ -extern char *strpbrk(char const *s, char const *accept); +extern float ceilf(float x); -char *strstr(char const *haystack, char const *needle); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + */ +extern long double ceill(long double x); -/*@ requires valid_string_haystack: valid_read_string(haystack); - requires valid_string_needle: valid_read_string(needle); - ensures - result_null_or_in_haystack: - \result ≡ \null ∨ - (\subset(\result, \old(haystack) + (0 ..)) ∧ \valid_read(\result)); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); assigns \result; - assigns \result - \from haystack, (indirect: *(haystack + (0 ..))), - (indirect: *(needle + (0 ..))); + assigns \result \from x; */ -extern char *strcasestr(char const *haystack, char const *needle); +extern double floor(double x); -char *__fc_strtok_ptr; -/*@ requires valid_string_delim: valid_read_string(delim); - assigns *(s + (0 ..)), *(__fc_strtok_ptr + (0 ..)), \result, - __fc_strtok_ptr; - assigns *(s + (0 ..)) - \from *(s + (0 ..)), (indirect: s), (indirect: __fc_strtok_ptr), - (indirect: *(delim + (0 ..))); - assigns *(__fc_strtok_ptr + (0 ..)) - \from *(__fc_strtok_ptr + (0 ..)), (indirect: s), - (indirect: __fc_strtok_ptr), (indirect: *(delim + (0 ..))); - assigns \result - \from s, __fc_strtok_ptr, (indirect: *(s + (0 ..))), - (indirect: *(__fc_strtok_ptr + (0 ..))), - (indirect: *(delim + (0 ..))); - assigns __fc_strtok_ptr - \from \old(__fc_strtok_ptr), s, - (indirect: *(__fc_strtok_ptr + (0 ..))), - (indirect: *(delim + (0 ..))); - - behavior new_str: - assumes s_not_null: s ≢ \null; - requires - valid_string_s_or_delim_not_found: - valid_string(s) ∨ - (valid_read_string(s) ∧ - (∀ int i; - 0 ≤ i < strlen(delim) ⇒ - ¬(strchr(s, *(delim + i)) ≡ \true))); - ensures - result_subset: - \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..)); - ensures ptr_subset: \subset(__fc_strtok_ptr, \old(s) + (0 ..)); - assigns __fc_strtok_ptr, *(s + (0 ..)), \result; - assigns __fc_strtok_ptr - \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); - assigns *(s + (0 ..)) - \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..))); - assigns \result - \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); - - behavior resume_str: - assumes s_null: s ≡ \null; - requires not_first_call: __fc_strtok_ptr ≢ \null; - ensures - result_subset: - \result ≡ \null ∨ - \subset(\result, \old(__fc_strtok_ptr) + (0 ..)); - ensures - ptr_subset: \subset(__fc_strtok_ptr, \old(__fc_strtok_ptr) + (0 ..)); - assigns *(__fc_strtok_ptr + (0 ..)), __fc_strtok_ptr, \result; - assigns *(__fc_strtok_ptr + (0 ..)) - \from *(__fc_strtok_ptr + (0 ..)), (indirect: __fc_strtok_ptr), - (indirect: *(delim + (0 ..))); - assigns __fc_strtok_ptr - \from \old(__fc_strtok_ptr), (indirect: *(__fc_strtok_ptr + (0 ..))), - (indirect: *(delim + (0 ..))); - assigns \result - \from __fc_strtok_ptr, (indirect: *(__fc_strtok_ptr + (0 ..))), - (indirect: *(delim + (0 ..))); - - complete behaviors resume_str, new_str; - disjoint behaviors resume_str, new_str; +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; */ -extern char *strtok(char * __restrict s, char const * __restrict delim); +extern float floorf(float x); -/*@ requires valid_string_delim: valid_read_string(delim); - requires valid_saveptr: \valid(saveptr); - assigns *(s + (0 ..)), *(*saveptr + (0 ..)), \result, *saveptr; - assigns *(s + (0 ..)) - \from *(s + (0 ..)), (indirect: s), (indirect: *saveptr), - (indirect: *(delim + (0 ..))); - assigns *(*saveptr + (0 ..)) - \from *(*saveptr + (0 ..)), (indirect: s), (indirect: *saveptr), - (indirect: *(delim + (0 ..))); - assigns \result - \from s, *saveptr, (indirect: *(s + (0 ..))), - (indirect: *(*saveptr + (0 ..))), (indirect: *(delim + (0 ..))); - assigns *saveptr - \from \old(*saveptr), s, (indirect: *(*saveptr + (0 ..))), - (indirect: *(delim + (0 ..))); - - behavior new_str: - assumes s_not_null: s ≢ \null; - requires - valid_string_s_or_delim_not_found: - valid_string(s) ∨ - (valid_read_string(s) ∧ - (∀ int i; - 0 ≤ i < strlen(delim) ⇒ - ¬(strchr(s, *(delim + i)) ≡ \true))); - ensures - result_subset: - \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..)); - ensures initialization: \initialized(\old(saveptr)); - ensures saveptr_subset: \subset(*\old(saveptr), \old(s) + (0 ..)); - assigns *saveptr, *(s + (0 ..)), \result; - assigns *saveptr - \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); - assigns *(s + (0 ..)) - \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..))); - assigns \result - \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); - - behavior resume_str: - assumes s_null: s ≡ \null; - requires not_first_call: *saveptr ≢ \null; - requires initialization: saveptr: \initialized(saveptr); - ensures - result_subset: - \result ≡ \null ∨ \subset(\result, \old(*saveptr) + (0 ..)); - ensures - saveptr_subset: \subset(*\old(saveptr), \old(*saveptr) + (0 ..)); - assigns *(*saveptr + (0 ..)), *saveptr, \result; - assigns *(*saveptr + (0 ..)) - \from *(*saveptr + (0 ..)), (indirect: *saveptr), - (indirect: *(delim + (0 ..))); - assigns *saveptr - \from \old(*saveptr), (indirect: *(*saveptr + (0 ..))), - (indirect: *(delim + (0 ..))); - assigns \result - \from *saveptr, (indirect: *(*saveptr + (0 ..))), - (indirect: *(delim + (0 ..))); - - complete behaviors resume_str, new_str; - disjoint behaviors resume_str, new_str; +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; */ -extern char *strtok_r(char * __restrict s, char const * __restrict delim, - char ** __restrict saveptr); +extern long double floorl(long double x); -/*@ requires - valid_string_stringp: \valid(stringp) ∧ valid_string(*stringp); - requires valid_string_delim: valid_read_string(delim); - assigns *stringp, \result; - assigns *stringp \from *(delim + (..)), *(*(stringp + (..))); - assigns \result \from *(delim + (..)), *(*(stringp + (..))); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; */ -extern char *strsep(char **stringp, char const *delim); +extern double round(double x); -char __fc_strerror[64]; -char * const __fc_p_strerror = __fc_strerror; -char *strerror(int errnum); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + */ +extern float roundf(float x); -char *strcpy(char *dest, char const *src); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + */ +extern long double roundl(long double x); -char *strncpy(char *dest, char const *src, size_t n); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; + */ +extern double trunc(double x); -/*@ requires valid_string_src: valid_read_string(src); - requires room_nstring: \valid(dest + (0 .. n - 1)); - requires - separation: - \separated( - dest + (0 .. n - 1), src + (0 .. \max(n - 1, strlen(src))) - ); - ensures - initialization: - \initialized(\old(dest) + (0 .. \min(strlen(\old(src)), \old(n) - 1))); - ensures bounded_result: \result ≡ strlen(\old(src)); - assigns *(dest + (0 .. n - 1)), \result; - assigns *(dest + (0 .. n - 1)) \from *(src + (0 .. n - 1)); - assigns \result - \from (indirect: src), (indirect: *(src + (0 .. n - 1))), (indirect: n); +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; */ -size_t strlcpy(char * __restrict dest, char const * __restrict src, size_t n); +extern float truncf(float x); -/*@ requires valid_string_src: valid_read_string(src); - requires room_string: \valid(dest + (0 .. strlen(src))); - requires - separation: - \separated(dest + (0 .. strlen(src)), src + (0 .. strlen(src))); - ensures equal_contents: strcmp(\old(dest), \old(src)) ≡ 0; - ensures points_to_end: \result ≡ \old(dest) + strlen(\old(dest)); - assigns *(dest + (0 .. strlen{Old}(src))), \result; - assigns *(dest + (0 .. strlen{Old}(src))) - \from *(src + (0 .. strlen{Old}(src))); - assigns \result \from dest; +/*@ requires finite_arg: \is_finite(x); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x; */ -extern char *stpcpy(char * __restrict dest, char const * __restrict src); +extern long double truncl(long double x); -char *strcat(char *dest, char const *src); +/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); + requires finite_logic_result: \is_finite(fmod(x, y)); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x, y; + */ +extern double fmod(double x, double y); -char *strncat(char *dest, char const *src, size_t n); +/*@ requires finite_args: \is_finite(x) ∧ \is_finite(y); + requires finite_logic_result: \is_finite(fmodf(x, y)); + ensures finite_result: \is_finite(\result); + assigns \result; + assigns \result \from x, y; + */ +extern float fmodf(float x, float y); -/*@ requires valid_string_src: valid_read_string(src); - requires valid_string_dest: valid_string(dest); - requires room_nstring: \valid(dest + (0 .. n - 1)); - ensures - bounded_result: \result ≡ strlen(\old(dest)) + strlen(\old(src)); - assigns *(dest + (strlen{Old}(dest) .. n)), \result; - assigns *(dest + (strlen{Old}(dest) .. n)) - \from (indirect: n), *(src + (0 .. strlen{Old}(src))); - assigns \result - \from (indirect: src), (indirect: *(src + (0 .. n - 1))), (indirect: n); +/*@ requires tagp_valid_string: valid_read_string(tagp); + ensures result_is_nan: \is_NaN(\result); + assigns \result; + assigns \result \from (indirect: *(tagp + (0 ..))); */ -extern size_t strlcat(char * __restrict dest, char const * __restrict src, - size_t n); +extern double nan(char const *tagp); -/*@ requires valid_dest: \valid(dest + (0 .. n - 1)); - requires valid_string_src: valid_read_string(src); - assigns *(dest + (0 .. n - 1)), \result; - assigns *(dest + (0 .. n - 1)) - \from (indirect: *(src + (0 ..))), (indirect: n); - assigns \result \from dest; +/*@ requires tagp_valid_string: valid_read_string(tagp); + ensures result_is_nan: \is_NaN(\result); + assigns \result; + assigns \result \from (indirect: *(tagp + (0 ..))); */ -extern size_t strxfrm(char * __restrict dest, char const * __restrict src, - size_t n); +extern float nanf(char const *tagp); -char *strdup(char const *s); +/*@ requires tagp_valid_string: valid_read_string(tagp); + ensures result_is_nan: \is_NaN(\result); + assigns \result; + assigns \result \from (indirect: *(tagp + (0 ..))); + */ +extern long double nanl(char const *tagp); -char *strndup(char const *s, size_t n); +int __finitef(float f); -char __fc_strsignal[64]; -char * const __fc_p_strsignal = __fc_strsignal; -char *strsignal(int signum); +int __finite(double d); -/*@ requires valid_memory_area: \valid((char *)s + (0 .. n - 1)); - ensures - s_initialized: initialization: - \initialized((char *)\old(s) + (0 .. \old(n) - 1)); +/*@ requires finite_arg: \is_finite(x); + ensures res_finite: \is_finite(\result); + ensures positive_result: \result ≥ 0.; ensures - zero_initialized: \subset(*((char *)\old(s) + (0 .. \old(n) - 1)), {0}); - assigns *((char *)s + (0 .. n - 1)); - assigns *((char *)s + (0 .. n - 1)) \from \nothing; - */ -extern void bzero(void *s, size_t n); - -int strcasecmp(char const *s1, char const *s2); - -/*@ requires valid_string_s1: valid_read_nstring(s1, n); - requires valid_string_s2: valid_read_nstring(s2, n); + equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x); assigns \result; - assigns \result - \from (indirect: n), (indirect: *(s1 + (0 .. n - 1))), - (indirect: *(s2 + (0 .. n - 1))); - */ -extern int strncasecmp(char const *s1, char const *s2, size_t n); - -static unsigned int volatile getaddrinfo_net_state; -/*@ requires - nodename_string: nodename ≡ \null ∨ valid_read_string(nodename); - requires - servname_string: servname ≡ \null ∨ valid_read_string(servname); - requires hints_option: hints ≡ \null ∨ \valid_read(hints); - requires valid_res: \valid(res); - assigns *res, \result, __fc_errno; - assigns *res - \from (indirect: nodename), (indirect: servname), (indirect: hints); - assigns \result - \from (indirect: nodename), (indirect: servname), (indirect: hints); - assigns __fc_errno - \from (indirect: nodename), (indirect: servname), (indirect: hints); - allocates *\old(res); - - behavior empty_request: - assumes empty: nodename ≡ \null ∧ servname ≡ \null; - ensures no_name: \result ≡ -2; - assigns \result; - assigns \result \from (indirect: nodename), (indirect: servname); - - behavior normal_request: - assumes has_name: nodename ≢ \null ∨ servname ≢ \null; - ensures - initialization: allocation: success_or_error: - (\result ≡ 0 ∧ - \fresh{Old, Here}(*\old(res),sizeof(*\old(res))) ∧ - \initialized(*\old(res))) ∨ - \result ≡ -3 ∨ \result ≡ -1 ∨ \result ≡ -4 ∨ - \result ≡ -6 ∨ \result ≡ -10 ∨ \result ≡ -8 ∨ - \result ≡ -7 ∨ \result ≡ -11; - - complete behaviors normal_request, empty_request; - disjoint behaviors normal_request, empty_request; + assigns \result \from x; */ -int getaddrinfo(char const * __restrict nodename, - char const * __restrict servname, - struct addrinfo const * __restrict hints, - struct addrinfo ** __restrict res) +double fabs(double x) { - int __retres; - if (nodename == (char const *)0) - if (servname == (char const *)0) { - __retres = -2; - goto return_label; - } - switch (getaddrinfo_net_state) { - case (unsigned int)0: __retres = -1; - goto return_label; - case (unsigned int)1: __retres = -3; - goto return_label; - case (unsigned int)2: __retres = -4; - goto return_label; - case (unsigned int)3: __retres = -6; + double __retres; + if (x == 0.0) { + __retres = 0.0; goto return_label; - case (unsigned int)5: __retres = -8; + } + if (x > 0.0) { + __retres = x; goto return_label; - case (unsigned int)6: __retres = -7; + } + __retres = - x; + return_label: return __retres; +} + +/*@ requires finite_arg: \is_finite(x); + ensures res_finite: \is_finite(\result); + ensures positive_result: \result ≥ 0.; + ensures + equal_magnitude_result: \result ≡ \old(x) ∨ \result ≡ -\old(x); + assigns \result; + assigns \result \from x; + */ +float fabsf(float x) +{ + float __retres; + if (x == 0.0f) { + __retres = 0.0f; goto return_label; - case (unsigned int)7: - { - __fc_errno = 5; - __retres = -11; + } + else + if (x > 0.0f) { + __retres = x; goto return_label; } - default: - { - struct addrinfo *tmp_0; - struct sockaddr *tmp_2; - int tmp_3; - struct addrinfo *ai = malloc(sizeof(*tmp_0)); - if (! ai) { - __retres = -10; - goto return_label; - } - struct sockaddr *sa = malloc(sizeof(*tmp_2)); - if (! sa) { - __retres = -10; - goto return_label; - } - tmp_3 = Frama_C_interval(0,43); - sa->sa_family = (unsigned short)tmp_3; - /*@ slevel 15; */ - { - int i = 0; - while (i < 14) { - { - int tmp_4; - tmp_4 = Frama_C_interval(-128,127); - sa->sa_data[i] = (char)tmp_4; - } - i ++; - } - } - /*@ slevel default; */ - ai->ai_flags = 0; - ai->ai_family = (int)sa->sa_family; - ai->ai_socktype = Frama_C_interval(0,5); - ai->ai_protocol = Frama_C_interval(0,IPPROTO_MAX); - ai->ai_addrlen = sizeof(*sa); - ai->ai_addr = sa; - ai->ai_canonname = (char *)"dummy"; - ai->ai_next = (struct addrinfo *)0; - *res = ai; - __retres = 0; + else { + __retres = - x; goto return_label; } - } return_label: return __retres; } -struct __fc_gethostbyname __fc_ghbn; -int res_search(char const *dname, int class, int type, char *answer, - int anslen) +int __finitef(float f) { - int tmp; - { - int i = 0; - while (i < anslen - 1) { - *(answer + i) = Frama_C_char_interval((char)(-128),(char)127); - i ++; - } - } - *(answer + (anslen - 1)) = (char)0; - tmp = Frama_C_interval(-1,anslen); - return tmp; + int __retres; + union __fc_u_finitef u; + unsigned short usExp; + u.f = f; + usExp = (unsigned short)((int)u.w[1] & 0x7F80); + usExp = (unsigned short)((int)usExp >> 7); + __retres = ! ((int)usExp == 0xff); + return __retres; } -struct hostent *gethostbyname(char const *name) +int __finite(double d) { - struct hostent *__retres; - char buf[128]; - char const *cp; - int n; - int tmp; - __fc_ghbn.host.h_addrtype = 2; - __fc_ghbn.host.h_length = (int)sizeof(struct in_addr); - if ((int)*name >= '0') - if ((int)*name <= '9') { - cp = name; - while (1) { - if (! *cp) { - struct in_addr addr; - cp --; - ; - if ((int)*cp == '.') break; - addr.s_addr = inet_addr(name); - if (addr.s_addr == 0xffffffff) { - __retres = (struct hostent *)0; - goto return_label; - } - memcpy((void *)(__fc_ghbn.host_addr),(void const *)(& addr), - (unsigned int)__fc_ghbn.host.h_length); - strncpy(__fc_ghbn.hostbuf,name,(unsigned int)(128 - 1)); - __fc_ghbn.hostbuf[128 - 1] = (char)'\000'; - __fc_ghbn.host.h_name = __fc_ghbn.hostbuf; - __fc_ghbn.host.h_aliases = __fc_ghbn.host_aliases; - __fc_ghbn.host_aliases[0] = (char *)0; - __fc_ghbn.h_addr_ptrs[0] = (char *)(__fc_ghbn.host_addr); - __fc_ghbn.h_addr_ptrs[1] = (char *)0; - __fc_ghbn.host.h_addr_list = __fc_ghbn.h_addr_ptrs; - __retres = & __fc_ghbn.host; - goto return_label; - } - if ((int)*cp < '0') - if ((int)*cp > '9') - if ((int)*cp != '.') break; - cp ++; - } - } - n = res_search(name,1,1,buf,(int)sizeof(buf)); - if (n < 0) { - __retres = (struct hostent *)0; - goto return_label; - } - tmp = Frama_C_nondet(0,1); - if (tmp) { - __retres = (struct hostent *)0; - goto return_label; - } - else { - struct in_addr addr_0; - addr_0.s_addr = inet_addr(name); - memcpy((void *)(__fc_ghbn.host_addr),(void const *)(& addr_0), - (unsigned int)__fc_ghbn.host.h_length); - strncpy(__fc_ghbn.hostbuf,name,(unsigned int)(128 - 1)); - __fc_ghbn.hostbuf[128 - 1] = (char)'\000'; - __fc_ghbn.host.h_name = __fc_ghbn.hostbuf; - __fc_ghbn.host.h_aliases = __fc_ghbn.host_aliases; - __fc_ghbn.host_aliases[0] = (char *)0; - __fc_ghbn.h_addr_ptrs[0] = (char *)(__fc_ghbn.host_addr); - __fc_ghbn.h_addr_ptrs[1] = (char *)0; - __fc_ghbn.host.h_addr_list = __fc_ghbn.h_addr_ptrs; - __retres = & __fc_ghbn.host; - goto return_label; - } - return_label: return __retres; + int __retres; + union __fc_u_finite u; + unsigned short usExp; + u.d = d; + usExp = (unsigned short)((int)u.w[3] & 0x7F80); + usExp = (unsigned short)((int)usExp >> 7); + __retres = ! ((int)usExp == 0xff); + return __retres; } -FILE *__fc_stderr; - -FILE *__fc_stdin; - -FILE *__fc_stdout; - /*@ assigns \nothing; */ -extern int remove(char const *filename); +extern void (*signal(int sig, void (*func)(int )))(int ); -/*@ assigns \nothing; */ -extern int rename(char const *old_name, char const *new_name); +/*@ ensures never_terminates: \false; + assigns \nothing; */ +extern int raise(int sig); -FILE __fc_fopen[16]; -FILE * const __fc_p_fopen = __fc_fopen; -/*@ ensures - result_null_or_valid_fd: - \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]); - assigns \result; - assigns \result \from __fc_p_fopen; +/*@ requires valid_set: \valid(set); + ensures initialization: set: \initialized(\old(set)); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns *set, \result; + assigns *set \from \nothing; + assigns \result \from \nothing; */ -extern FILE *tmpfile(void); +extern int sigemptyset(sigset_t *set); -/*@ assigns \result, *(s + (..)); - assigns \result \from *(s + (..)); - assigns *(s + (..)) \from \nothing; +/*@ requires valid_set: \valid(set); + ensures initialization: set: \initialized(\old(set)); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns *set, \result; + assigns *set \from \nothing; + assigns \result \from \nothing; */ -extern char *tmpnam(char *s); +extern int sigfillset(sigset_t *set); -/*@ requires valid_stream: \valid(stream); - ensures result_zero_or_EOF: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from stream, stream->__fc_FILE_id; +/*@ requires valid_set: \valid(set); + requires initialization: set: \initialized(set); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns *set, \result; + assigns *set \from (indirect: signum); + assigns \result \from signum; */ -extern int fclose(FILE *stream); +extern int sigaddset(sigset_t *set, int signum); -/*@ requires null_or_valid_stream: stream ≡ \null ∨ \valid_read(stream); - ensures result_zero_or_EOF: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from stream, stream->__fc_FILE_id; +/*@ requires valid_set: \valid(set); + requires initialization: set: \initialized(set); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns *set, \result; + assigns *set \from (indirect: signum); + assigns \result \from signum; */ -extern int fflush(FILE *stream); +extern int sigdelset(sigset_t *set, int signum); -/*@ requires valid_filename: valid_read_string(filename); - requires valid_mode: valid_read_string(mode); +/*@ requires valid_read_set: \valid_read(set); + requires initialization: set: \initialized(set); ensures - result_null_or_valid_fd: - \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]); + result_found_not_found_or_error: + \result ≡ 0 ∨ \result ≡ 1 ∨ \result ≡ -1; assigns \result; - assigns \result - \from (indirect: *(filename + (..))), (indirect: *(mode + (..))), - __fc_p_fopen; + assigns \result \from *set, signum; */ -extern FILE *fopen(char const * __restrict filename, - char const * __restrict mode); +extern int sigismember(sigset_t const *set, int signum); -/*@ requires valid_mode: valid_read_string(mode); +struct sigaction __fc_sigaction[64 + 1]; +struct sigaction *__fc_p_sigaction = __fc_sigaction; +/*@ requires valid_signal: 0 ≤ signum ≤ 64; + requires valid_oldact_or_null: oldact ≡ \null ∨ \valid(oldact); + requires valid_read_act_or_null: act ≡ \null ∨ \valid_read(act); + requires separation: separated_acts: \separated(act, oldact); ensures - result_null_or_valid_fd: - \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]); - assigns \result, __fc_fopen[fd]; + act_changed: + \old(act) ≡ \null ∨ + \subset(*(__fc_p_sigaction + \old(signum)), *\old(act)); + ensures + oldact_assigned: + \old(oldact) ≡ \null ∨ + *\old(oldact) ∈ *(__fc_p_sigaction + \old(signum)); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns *oldact, *(__fc_p_sigaction + signum), \result; + assigns *oldact \from __fc_p_sigaction; + assigns *(__fc_p_sigaction + signum) \from *act; assigns \result - \from (indirect: fd), (indirect: *(mode + (0 ..))), - (indirect: __fc_fopen[fd]), __fc_p_fopen; - assigns __fc_fopen[fd] - \from (indirect: fd), (indirect: *(mode + (0 ..))), - (indirect: __fc_fopen[fd]), __fc_p_fopen; + \from (indirect: signum), (indirect: act), (indirect: *act), + (indirect: oldact), (indirect: *oldact); */ -extern FILE *fdopen(int fd, char const *mode); +extern int sigaction(int signum, struct sigaction const * __restrict act, + struct sigaction * __restrict oldact); -/*@ requires valid_filename: valid_read_string(filename); - requires valid_mode: valid_read_string(mode); - requires valid_stream: \valid(stream); +/*@ requires valid_set_or_null: set ≡ \null ∨ \valid_read(set); + requires valid_how: set ≢ \null ⇒ how ∈ {0, 2, 1}; + requires valid_oldset_or_null: oldset ≡ \null ∨ \valid(oldset); + requires + separation: (set ≡ oldset ≡ \null) ∨ \separated(set, oldset); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; ensures - result_null_or_valid_fd: - \result ≡ \null ∨ \result ∈ &__fc_fopen[0 .. 16 - 1]; - ensures stream_opened: *\old(stream) ∈ __fc_fopen[0 .. 16 - 1]; - assigns \result, *stream; + initialization: oldset_initialized: + \old(oldset) ≢ \null ∧ \result ≡ 0 ⇒ + \initialized(\old(oldset)); + assigns \result, *oldset; assigns \result - \from (indirect: *(filename + (..))), (indirect: *(mode + (..))), - __fc_p_fopen, (indirect: stream); - assigns *stream - \from (indirect: *(filename + (..))), (indirect: *(mode + (..))), - __fc_p_fopen, (indirect: stream); + \from (indirect: how), (indirect: set), (indirect: oldset); + assigns *oldset \from (indirect: how), (indirect: oldset); */ -extern FILE *freopen(char const * __restrict filename, - char const * __restrict mode, FILE * __restrict stream); - -/*@ assigns *stream; - assigns *stream \from buf; */ -extern void setbuf(FILE * __restrict stream, char * __restrict buf); - -/*@ assigns *stream; - assigns *stream \from buf, mode, size; */ -extern int setvbuf(FILE * __restrict stream, char * __restrict buf, int mode, - size_t size); - -/*@ axiomatic format_length { - logic ℤ format_length{L}(char *format) ; - - } - -*/ -/*@ assigns *stream; - assigns *stream \from *(format + (..)), arg; */ -extern int vfprintf(FILE * __restrict stream, char const * __restrict format, - va_list arg); - -/*@ assigns *stream; - assigns *stream \from *(format + (..)), *stream; */ -extern int vfscanf(FILE * __restrict stream, char const * __restrict format, - va_list arg); - -/*@ assigns *__fc_stdout; - assigns *__fc_stdout \from arg; */ -extern int vprintf(char const * __restrict format, va_list arg); - -/*@ assigns *__fc_stdin; - assigns *__fc_stdin \from *(format + (..)); */ -extern int vscanf(char const * __restrict format, va_list arg); +extern int sigprocmask(int how, sigset_t const * __restrict set, + sigset_t * __restrict oldset); -/*@ assigns *(s + (0 .. n - 1)); - assigns *(s + (0 .. n - 1)) \from *(format + (..)), arg; +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; + assigns \result \from (indirect: pid), (indirect: sig); */ -extern int vsnprintf(char * __restrict s, size_t n, - char const * __restrict format, va_list arg); +extern int kill(pid_t pid, int sig); -/*@ assigns *(s + (0 ..)); - assigns *(s + (0 ..)) \from *(format + (..)), arg; +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; + assigns \result \from (indirect: pgrp), (indirect: sig); */ -extern int vsprintf(char * __restrict s, char const * __restrict format, - va_list arg); +extern int killpg(pid_t pgrp, int sig); -/*@ requires valid_stream: \valid(stream); - ensures result_uchar_or_eof: (0 ≤ \result ≤ 255) ∨ \result ≡ -1; - assigns *stream, \result; - assigns *stream \from *stream; - assigns \result \from (indirect: *stream); +/*@ requires valid_read_iov: \valid_read(iov + (0 .. iovcnt - 1)); + assigns *((char *)(iov + (0 .. iovcnt - 1))->iov_base + (0 ..)); */ -extern int fgetc(FILE *stream); +extern ssize_t readv(int fd, struct iovec const *iov, int iovcnt); -/*@ requires valid_stream: \valid(stream); - ensures result_null_or_same: \result ≡ \null ∨ \result ≡ \old(s); +/*@ ghost struct __fc_sockfds_type __fc_sockfds[1024]; */ +/*@ ghost extern int __fc_socket_counter __attribute__((__FRAMA_C_MODEL__)); +*/ + +/*@ ghost int volatile __fc_open_sock_fds; */ +/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; ensures - terminated_string_on_success: - \result ≢ \null ⇒ valid_string(\old(s)); - assigns *(s + (0 .. size)), \result; - assigns *(s + (0 .. size)) \from (indirect: size), (indirect: *stream); - assigns \result \from s, (indirect: size), (indirect: *stream); + result_error_or_valid_new_sockfd: + \result ≡ -1 ∨ (0 ≤ \result < 1024); + assigns \result, *((char *)addr + (0 .. *addrlen - 1)), + __fc_sockfds[sockfd]; + assigns \result \from *addr, *addrlen, __fc_sockfds[sockfd]; + assigns *((char *)addr + (0 .. *addrlen - 1)) + \from *addr, *addrlen, __fc_sockfds[sockfd]; + assigns __fc_sockfds[sockfd] \from *addr, *addrlen, __fc_sockfds[sockfd]; + + behavior addr_null: + assumes addr_is_null: addr ≡ \null; + requires addrlen_should_be_null: addrlen ≡ \null; + assigns \result, __fc_sockfds[sockfd]; + assigns \result \from __fc_sockfds[sockfd]; + assigns __fc_sockfds[sockfd] \from __fc_sockfds[sockfd]; + + behavior addr_not_null: + assumes addr_is_not_null: addr ≢ \null; + requires valid_addrlen: \valid(addrlen); + requires addr_has_room: \valid((char *)addr + (0 .. *addrlen - 1)); + ensures + initialization: addr: + \initialized((char *)\old(addr) + (0 .. *\old(addrlen) - 1)); + + disjoint behaviors addr_not_null, addr_null; */ -extern char *fgets(char * __restrict s, int size, FILE * __restrict stream); - -/*@ assigns *stream; */ -extern int fputc(int c, FILE *stream); - -/*@ assigns *stream; - assigns *stream \from *(s + (..)); */ -extern int fputs(char const * __restrict s, FILE * __restrict stream); +extern int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); -/*@ assigns \result, *stream; - assigns \result \from *stream; - assigns *stream \from *stream; +/*@ requires valid_sockfd: sockfd: 0 ≤ sockfd < 1024; + requires valid_read_addr: \valid_read((char *)addr + (0 .. addrlen - 1)); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns __fc_sockfds[sockfd], \result; + assigns __fc_sockfds[sockfd] + \from sockfd, *addr, addrlen, __fc_sockfds[sockfd]; + assigns \result + \from (indirect: sockfd), (indirect: *addr), (indirect: addrlen), + (indirect: __fc_sockfds[sockfd]); */ -extern int getc(FILE *stream); +extern int bind(int sockfd, struct sockaddr const *addr, socklen_t addrlen); -/*@ assigns \result; - assigns \result \from *__fc_stdin; */ -extern int getchar(void); - -/*@ ensures result_null_or_same: \result ≡ \old(s) ∨ \result ≡ \null; - assigns *(s + (..)), \result; - assigns *(s + (..)) \from *__fc_stdin; - assigns \result \from s, __fc_stdin; +/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; + requires valid_read_addr: \valid_read((char *)addr + (0 .. addrlen - 1)); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns __fc_sockfds[sockfd], \result; + assigns __fc_sockfds[sockfd] + \from __fc_sockfds[sockfd], (indirect: sockfd), (indirect: addr), + (indirect: *addr), (indirect: addrlen); + assigns \result + \from (indirect: __fc_sockfds[sockfd]), (indirect: sockfd), + (indirect: addr), (indirect: *addr), (indirect: addrlen); */ -extern char *gets(char *s); - -/*@ assigns *stream; - assigns *stream \from c; */ -extern int putc(int c, FILE *stream); - -/*@ assigns *__fc_stdout; - assigns *__fc_stdout \from c; */ -extern int putchar(int c); +extern int connect(int sockfd, struct sockaddr const *addr, socklen_t addrlen); -/*@ assigns *__fc_stdout; - assigns *__fc_stdout \from *(s + (..)); */ -extern int puts(char const *s); +/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; + requires valid_optlen: \valid(optlen); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns *((char *)optval + (0 ..)), \result, *optlen; + assigns *((char *)optval + (0 ..)) + \from (indirect: sockfd), (indirect: level), (indirect: optname), + (indirect: *optlen), (indirect: optval), + (indirect: __fc_sockfds[sockfd]); + assigns \result + \from (indirect: sockfd), (indirect: level), (indirect: optname), + (indirect: *optlen), (indirect: optval), + (indirect: __fc_sockfds[sockfd]); + assigns *optlen + \from (indirect: sockfd), (indirect: level), (indirect: optname), + *optlen, (indirect: optval), (indirect: __fc_sockfds[sockfd]); + + behavior so_error: + assumes optname_is_error: level ≡ 1 ∧ optname ≡ 4; + requires valid_optlen: \valid(optlen); + requires optlen_value: *optlen ≡ sizeof(int); + requires valid_optval: \valid((int *)optval); + assigns *((int *)optval), \result; + assigns *((int *)optval) + \from (indirect: sockfd), (indirect: optlen), + (indirect: __fc_sockfds[sockfd]); + assigns \result + \from (indirect: sockfd), (indirect: optlen), + (indirect: __fc_sockfds[sockfd]); + + behavior other_options: + assumes optname_not_error: ¬(level ≡ 1 ∧ optname ≡ 4); + requires + optval_null_or_valid: + optval ≡ \null ∨ \valid((char *)optval + (0 ..)); + assigns *((char *)optval + (0 ..)), \result, *optlen; + assigns *((char *)optval + (0 ..)) + \from (indirect: sockfd), (indirect: level), (indirect: optname), + (indirect: *optlen), (indirect: optval), + (indirect: __fc_sockfds[sockfd]); + assigns \result + \from (indirect: sockfd), (indirect: level), (indirect: optname), + (indirect: *optlen), (indirect: optval), + (indirect: __fc_sockfds[sockfd]); + assigns *optlen + \from (indirect: sockfd), (indirect: level), (indirect: optname), + *optlen, (indirect: optval), (indirect: __fc_sockfds[sockfd]); + + complete behaviors other_options, so_error; + disjoint behaviors other_options, so_error; + */ +extern int getsockopt(int sockfd, int level, int optname, void *optval, + socklen_t *optlen); -/*@ assigns *stream; - assigns *stream \from c; */ -extern int ungetc(int c, FILE *stream); +/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result, __fc_sockfds[sockfd]; + assigns \result \from sockfd, __fc_sockfds[sockfd]; + assigns __fc_sockfds[sockfd] \from sockfd, backlog, __fc_sockfds[sockfd]; + */ +extern int listen(int sockfd, int backlog); -/*@ requires valid_ptr_block: \valid((char *)ptr + (0 .. nmemb * size - 1)); - requires valid_stream: \valid(stream); - ensures size_read: \result ≤ \old(nmemb); +/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; + requires valid_buffer_length: \valid((char *)buf + (0 .. len - 1)); ensures - initialization: - \initialized((char *)\old(ptr) + (0 .. \result * \old(size) - 1)); - assigns *((char *)ptr + (0 .. nmemb * size - 1)), \result; - assigns *((char *)ptr + (0 .. nmemb * size - 1)) - \from size, nmemb, *stream; - assigns \result \from size, *stream; + result_error_or_received_length: + \result ≡ -1 ∨ (0 ≤ \result ≤ \old(len)); + ensures + initialization: \initialized((char *)\old(buf) + (0 .. \result - 1)); + assigns *((char *)buf + (0 .. len - 1)), __fc_sockfds[sockfd], \result; + assigns *((char *)buf + (0 .. len - 1)) + \from sockfd, len, flags, __fc_sockfds[sockfd]; + assigns __fc_sockfds[sockfd] + \from sockfd, len, flags, __fc_sockfds[sockfd]; + assigns \result \from sockfd, len, flags, __fc_sockfds[sockfd]; */ -extern size_t fread(void * __restrict ptr, size_t size, size_t nmemb, - FILE * __restrict stream); +extern ssize_t recv(int sockfd, void *buf, size_t len, int flags); -/*@ requires - valid_ptr_block: \valid_read((char *)ptr + (0 .. nmemb * size - 1)); - requires valid_stream: \valid(stream); - ensures size_written: \result ≤ \old(nmemb); - assigns *stream, \result; - assigns *stream \from *((char *)ptr + (0 .. nmemb * size - 1)); - assigns \result \from *((char *)ptr + (0 .. nmemb * size - 1)); +/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; + requires + msg_control_has_room: + \valid((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1)); + requires + msg_iov_has_room: \valid(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1)); + requires + msg_name_null_or_has_room: + hdr->msg_name ≡ \null ∨ + \valid((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1)); + ensures + result_error_or_received_length: + \result ≡ -1 ∨ (0 ≤ \result ≤ \old(hdr)->msg_iovlen); + assigns *((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1)), + hdr->msg_namelen, + *((char *)(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1))->iov_base + + (0 ..)), + *((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1)), + \result, hdr->msg_controllen, hdr->msg_flags, + __fc_sockfds[sockfd]; + assigns *((char *)hdr->msg_name + (0 .. hdr->msg_namelen - 1)) + \from __fc_sockfds[sockfd]; + assigns hdr->msg_namelen \from __fc_sockfds[sockfd]; + assigns + *((char *)(hdr->msg_iov + (0 .. hdr->msg_iovlen - 1))->iov_base + (0 ..)) + \from __fc_sockfds[sockfd]; + assigns *((char *)hdr->msg_control + (0 .. hdr->msg_controllen - 1)) + \from __fc_sockfds[sockfd]; + assigns \result \from __fc_sockfds[sockfd]; + assigns hdr->msg_controllen \from __fc_sockfds[sockfd]; + assigns hdr->msg_flags \from __fc_sockfds[sockfd]; + assigns __fc_sockfds[sockfd] \from __fc_sockfds[sockfd]; */ -extern size_t fwrite(void const * __restrict ptr, size_t size, size_t nmemb, - FILE * __restrict stream); - -/*@ assigns *pos; - assigns *pos \from *stream; */ -extern int fgetpos(FILE * __restrict stream, fpos_t * __restrict pos); +extern ssize_t recvmsg(int sockfd, struct msghdr *hdr, int flags); -/*@ requires valid_stream: \valid(stream); - requires whence_enum: whence ≡ 0 ∨ whence ≡ 1 ∨ whence ≡ 2; - assigns *stream, \result, __fc_errno; - assigns *stream \from *stream, (indirect: offset), (indirect: whence); - assigns \result - \from (indirect: *stream), (indirect: offset), (indirect: whence); +/*@ requires available_sockfd: 0 ≤ sockfd < 1024; + requires buf_len_ok: \valid_read((char *)buf + (0 .. len - 1)); + ensures + error_or_chars_sent: \result ≡ -1 ∨ (0 ≤ \result ≤ \old(len)); + assigns __fc_errno, __fc_sockfds[sockfd], \result; assigns __fc_errno - \from (indirect: *stream), (indirect: offset), (indirect: whence); + \from (indirect: sockfd), (indirect: __fc_sockfds[sockfd]), + (indirect: *((char *)buf + (0 .. len))), flags; + assigns __fc_sockfds[sockfd] + \from __fc_sockfds[sockfd], *((char *)buf + (0 .. len)), flags; + assigns \result + \from (indirect: sockfd), (indirect: __fc_sockfds[sockfd]), + (indirect: *((char *)buf + (0 .. len))), (indirect: flags); */ -extern int fseek(FILE *stream, long offset, int whence); - -/*@ assigns *stream; - assigns *stream \from *pos; */ -extern int fsetpos(FILE *stream, fpos_t const *pos); +extern ssize_t send(int sockfd, void const *buf, size_t len, int flags); -/*@ requires valid_stream: \valid(stream); - ensures - success_or_error: - \result ≡ -1 ∨ - (\result ≥ 0 ∧ __fc_errno ≡ \old(__fc_errno)); - assigns \result, __fc_errno; - assigns \result \from (indirect: *stream); - assigns __fc_errno \from (indirect: *stream); +/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; + requires + optval_null_or_has_room: + optval ≡ \null ∨ \valid_read((char *)optval + (0 .. optlen - 1)); + ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1; + assigns \result, __fc_sockfds[sockfd]; + assigns \result + \from __fc_sockfds[sockfd], level, optname, + *((char *)optval + (0 .. optlen - 1)), optlen; + assigns __fc_sockfds[sockfd] + \from __fc_sockfds[sockfd], level, optname, + *((char *)optval + (0 .. optlen - 1)), optlen; */ -extern long ftell(FILE *stream); - -/*@ assigns *stream; - assigns *stream \from \nothing; */ -extern void rewind(FILE *stream); - -/*@ assigns *stream; - assigns *stream \from \nothing; */ -extern void clearerr(FILE *stream); - -/*@ assigns \result; - assigns \result \from *stream; */ -extern int feof(FILE *stream); - -/*@ assigns \result; - assigns \result \from *stream; */ -extern int fileno(FILE *stream); - -/*@ assigns *stream; - assigns *stream \from \nothing; */ -extern void flockfile(FILE *stream); +extern int setsockopt(int sockfd, int level, int optname, void const *optval, + socklen_t optlen); -/*@ assigns *stream; - assigns *stream \from \nothing; */ -extern void funlockfile(FILE *stream); +/*@ requires valid_sockfd: 0 ≤ sockfd < 1024; + ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1; + assigns \result, __fc_sockfds[sockfd]; + assigns \result \from how, __fc_sockfds[sockfd]; + assigns __fc_sockfds[sockfd] \from how, __fc_sockfds[sockfd]; + */ +extern int shutdown(int sockfd, int how); -/*@ assigns \result, *stream; - assigns \result \from \nothing; - assigns *stream \from \nothing; +/*@ ensures + result_error_or_valid_new_sockfd: + (0 ≤ \result < 1024) ∨ \result ≡ -1; + assigns \result, __fc_socket_counter; + assigns \result + \from (indirect: domain), (indirect: type), (indirect: protocol), + (indirect: __fc_socket_counter); + assigns __fc_socket_counter + \from (indirect: domain), (indirect: type), (indirect: protocol), + __fc_socket_counter; */ -extern int ftrylockfile(FILE *stream); +extern int socket(int domain, int type, int protocol); -/*@ assigns \result; - assigns \result \from *stream; */ -extern int ferror(FILE *stream); - -/*@ assigns __fc_stdout; - assigns __fc_stdout \from __fc_errno, *(s + (..)); - */ -extern void perror(char const *s); - -/*@ assigns \result, *stream; - assigns \result \from *stream; - assigns *stream \from *stream; +/*@ requires valid_socket_sector: \valid(sv + (0 .. 1)); + ensures result_error_or_ok: \result ≡ 0 ∨ \result ≡ -1; + ensures initialization: sv: \initialized(\old(sv) + (0 .. 1)); + ensures valid_new_sockfd: sv0: 0 ≤ *(\old(sv) + 0) < 1024; + ensures valid_new_sockfd: sv1: 0 ≤ *(\old(sv) + 1) < 1024; + assigns \result, __fc_socket_counter, *(sv + (0 .. 1)); + assigns \result \from __fc_socket_counter; + assigns __fc_socket_counter \from __fc_socket_counter; + assigns *(sv + (0 .. 1)) \from __fc_socket_counter; */ -extern int getc_unlocked(FILE *stream); +extern int socketpair(int domain, int type, int protocol, int * /*[2]*/ sv); +struct in6_addr const in6addr_any = {.s6_addr = {(unsigned char)0}}; +struct in6_addr const in6addr_loopback = + {.s6_addr = {(unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF, + (unsigned char)0xFF}}; /*@ assigns \result; - assigns \result \from *__fc_stdin; */ -extern int getchar_unlocked(void); - -/*@ assigns *stream; - assigns *stream \from c; */ -extern int putc_unlocked(int c, FILE *stream); - -/*@ assigns *__fc_stdout; - assigns *__fc_stdout \from c; */ -extern int putchar_unlocked(int c); - -/*@ assigns *stream; - assigns *stream \from \nothing; */ -extern void clearerr_unlocked(FILE *stream); + assigns \result \from arg; */ +extern uint32_t htonl(uint32_t arg); /*@ assigns \result; - assigns \result \from *stream; */ -extern int feof_unlocked(FILE *stream); + assigns \result \from arg; */ +extern uint16_t htons(uint16_t arg); /*@ assigns \result; - assigns \result \from *stream; */ -extern int ferror_unlocked(FILE *stream); + assigns \result \from arg; */ +extern uint32_t ntohl(uint32_t arg); /*@ assigns \result; - assigns \result \from *stream; */ -extern int fileno_unlocked(FILE *stream); + assigns \result \from arg; */ +extern uint16_t ntohs(uint16_t arg); -/*@ axiomatic pipe_streams { - predicate is_open_pipe{L}(FILE *stream) ; - - } +/*@ requires valid_arg: valid_read_string(arg); + assigns \result; + assigns \result \from (indirect: *(arg + (0 ..))); + */ +extern in_addr_t inet_addr(char const *arg); -*/ -/*@ requires valid_command: valid_read_string(command); - requires valid_type: valid_read_string(type); - ensures - result_error_or_valid_open_pipe: - \result ≡ \null ∨ - (\subset(\result, &__fc_fopen[0 .. 16 - 1]) ∧ is_open_pipe(\result)); - assigns \result, __fc_fopen[0 ..]; - assigns \result - \from (indirect: *command), (indirect: *type), __fc_p_fopen; - assigns __fc_fopen[0 ..] - \from (indirect: *command), (indirect: *type), __fc_fopen[0 ..]; +char volatile __fc_inet_ntoa_array[16]; +char *__fc_inet_ntoa = (char *)(__fc_inet_ntoa_array); +/*@ ensures result_static_string: \result ≡ __fc_inet_ntoa; + ensures result_null_terminated: *(\result + 15) ≡ 0; + ensures result_valid_string: valid_read_string(\result); + assigns \result, *(__fc_inet_ntoa + (0 ..)); + assigns \result \from (indirect: arg), __fc_inet_ntoa; + assigns *(__fc_inet_ntoa + (0 ..)) \from (indirect: arg); */ -extern FILE *popen(char const *command, char const *type); +extern char *inet_ntoa(struct in_addr arg); -/*@ requires valid_stream: \valid(stream); - requires open_pipe: is_open_pipe(stream); - ensures closed_stream: ¬is_open_pipe(\old(stream)); - assigns \result; - assigns \result \from (indirect: *stream); +/*@ assigns \result, *(dst + (0 .. size - 1)); + assigns \result \from dst, af, *((char *)src + (0 ..)); + assigns *(dst + (0 .. size - 1)) \from af, *((char *)src + (0 ..)); */ -extern int pclose(FILE *stream); +extern char const *inet_ntop(int af, void const *src, char *dst, + socklen_t size); -ssize_t getline(char **lineptr, size_t *n, FILE *stream); +/*@ assigns \result, *((char *)dst + (0 ..)); + assigns \result \from af, *(src + (..)); + assigns *((char *)dst + (0 ..)) \from af, *(src + (0 ..)); + */ +extern int inet_pton(int af, char const *src, void *dst); -FILE __fc_initial_stdout = - {.__fc_FILE_id = (unsigned int)1, .__fc_FILE_data = 0U}; -FILE *__fc_stdout = & __fc_initial_stdout; -FILE __fc_initial_stderr = - {.__fc_FILE_id = (unsigned int)2, .__fc_FILE_data = 0U}; -FILE *__fc_stderr = & __fc_initial_stderr; -FILE __fc_initial_stdin = - {.__fc_FILE_id = (unsigned int)0, .__fc_FILE_data = 0U}; -FILE *__fc_stdin = & __fc_initial_stdin; -ssize_t getline(char **lineptr, size_t *n, FILE *stream) -{ - ssize_t __retres; - int tmp; - if (! lineptr) goto _LOR; - else - if (! n) goto _LOR; - else - if (! stream) { - _LOR: { - __fc_errno = 22; - __retres = -1; - goto return_label; - } - } - tmp = ferror(stream); - if (tmp) goto _LOR_0; - else { - int tmp_0; - tmp_0 = feof(stream); - if (tmp_0) { - _LOR_0: { - __retres = -1; - goto return_label; - } - } - } - if (! *lineptr) goto _LOR_1; - else - if (*n == (size_t)0) { - _LOR_1: - { - *lineptr = (char *)malloc((unsigned int)2); - if (! lineptr) { - __fc_errno = 12; - __retres = -1; - goto return_label; - } - *n = (unsigned int)2; - } - } - size_t cur = (unsigned int)0; - while (1) { - int tmp_3; - tmp_3 = ferror(stream); - if (tmp_3) break; - else { - int tmp_4; - tmp_4 = feof(stream); - if (tmp_4) break; - } - { - while (cur < *n - (size_t)1) { - int tmp_1; - tmp_1 = fgetc(stream); - char c = (char)tmp_1; - if ((int)c == -1) - if (cur == (size_t)0) { - __retres = -1; - goto return_label; - } - if ((int)c != -1) { - size_t tmp_2; - tmp_2 = cur; - cur += (size_t)1; - *(*lineptr + tmp_2) = c; - } - if ((int)c == '\n') goto _LOR_2; - else - if ((int)c == -1) { - _LOR_2: - { - *(*lineptr + cur) = (char)'\000'; - __retres = (int)cur; - goto return_label; - } - } - } - if (*n == (size_t)2147483647) { - __fc_errno = 75; - __retres = -1; - goto return_label; - } - size_t new_size = *n + (size_t)1; - *lineptr = (char *)realloc((void *)*lineptr,new_size); - if (! *lineptr) { - __fc_errno = 12; - __retres = -1; - goto return_label; - } - *n = new_size; - } - } - __retres = -1; - return_label: return __retres; -} +int h_errno; +/*@ requires addrinfo_valid: \valid(addrinfo); + ensures allocation: \allocable(\old(addrinfo)); + assigns \nothing; + frees addrinfo; + */ +extern void freeaddrinfo(struct addrinfo *addrinfo); -/*@ requires abs_representable: i > -2147483647 - 1; +char *__fc_gai_strerror = (char *)"<error message reported by gai_strerror>"; +/*@ ensures result_string: \result ≡ __fc_gai_strerror; + ensures result_valid_string: valid_read_string(\result); assigns \result; - assigns \result \from i; - - behavior negative: - assumes negative: i < 0; - ensures opposite_result: \result ≡ -\old(i); - - behavior nonnegative: - assumes nonnegative: i ≥ 0; - ensures same_result: \result ≡ \old(i); - - complete behaviors nonnegative, negative; - disjoint behaviors nonnegative, negative; + assigns \result \from (indirect: errcode), __fc_gai_strerror; */ -int abs(int i) -{ - int __retres; - if (i < 0) { - __retres = - i; - goto return_label; - } - __retres = i; - return_label: return __retres; -} +extern char const *gai_strerror(int errcode); -/*@ requires valid_nptr: \valid_read(p); - assigns \result; - assigns \result \from (indirect: p), (indirect: *(p + (0 ..))); +int getaddrinfo(char const * __restrict nodename, + char const * __restrict servname, + struct addrinfo const * __restrict hints, + struct addrinfo ** __restrict res); + +struct hostent *gethostbyname(char const *name); + +/*@ +predicate non_escaping{L}(void *s, size_t n) = + ∀ unsigned int i; 0 ≤ i < n ⇒ ¬\dangling((char *)s + i); */ -int atoi(char const *p) -{ - int __retres; - int n; - int c; - int tmp_1; - int tmp_3; - int neg = 0; - unsigned char *up = (unsigned char *)p; - c = (int)*up; - tmp_1 = isdigit(c); - if (! tmp_1) { - int tmp_0; - while (1) { - int tmp; - tmp = isspace(c); - if (! tmp) break; - up ++; - c = (int)*up; - } - switch (c) { - case '-': neg ++; - case '+': { /* sequence */ - up ++; - c = (int)*up; - } - } - tmp_0 = isdigit(c); - if (! tmp_0) { - __retres = 0; - goto return_label; - } - } - n = '0' - c; - while (1) { - int tmp_2; - up ++; - c = (int)*up; - tmp_2 = isdigit(c); - if (! tmp_2) break; - n *= 10; - n += '0' - c; - } - if (neg) tmp_3 = n; else tmp_3 = - n; - __retres = tmp_3; - return_label: return __retres; -} +/*@ +predicate empty_block{L}(void *s) = + \block_length((char *)s) ≡ 0 ∧ \offset((char *)s) ≡ 0; + */ +/*@ +predicate valid_or_empty{L}(void *s, size_t n) = + (empty_block(s) ∨ \valid_read((char *)s)) ∧ + \valid((char *)s + (0 .. n - 1)); + */ +/*@ +predicate valid_read_or_empty{L}(void *s, size_t n) = + (empty_block(s) ∨ \valid_read((char *)s)) ∧ + \valid_read((char *)s + (1 .. n - 1)); -/*@ assigns __fc_heap_status, \result; - assigns __fc_heap_status - \from (indirect: nmemb), (indirect: size), __fc_heap_status; +*/ +int memcmp(void const *s1, void const *s2, size_t n); + +void *memchr(void const *s, int c, size_t n); + +void *memcpy(void * __restrict dest, void const * __restrict src, size_t n); + +void *memmove(void *dest, void const *src, size_t n); + +void *memset(void *s, int c, size_t n); + +size_t strlen(char const *s); + +size_t strnlen(char const *s, size_t maxlen); + +int strcmp(char const *s1, char const *s2); + +int strncmp(char const *s1, char const *s2, size_t n); + +/*@ requires valid_string_s1: valid_read_string(s1); + requires valid_string_s2: valid_read_string(s2); + assigns \result; assigns \result - \from (indirect: nmemb), (indirect: size), (indirect: __fc_heap_status); - allocates \result; - - behavior allocation: - assumes can_allocate: is_allocable(nmemb * size); - ensures - allocation: \fresh{Old, Here}(\result,\old(nmemb) * \old(size)); - ensures - initialization: - \initialized((char *)\result + (0 .. \old(nmemb) * \old(size) - 1)); - ensures - zero_initialization: - \subset(*((char *)\result + (0 .. \old(nmemb) * \old(size) - 1)), - {0}); - - behavior no_allocation: - assumes cannot_allocate: ¬is_allocable(nmemb * size); - ensures null_result: \result ≡ \null; - assigns \result; - assigns \result \from \nothing; - allocates \nothing; - - complete behaviors no_allocation, allocation; - disjoint behaviors no_allocation, allocation; + \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..))); */ -void *calloc(size_t nmemb, size_t size) -{ - void *__retres; - size_t l = nmemb * size; - if (size != (size_t)0) - if (l / size != nmemb) { - __retres = (void *)0; - goto return_label; - } - char *p = malloc(l); - if (p) memset((void *)p,0,l); - __retres = (void *)p; - return_label: return __retres; -} +extern int strcoll(char const *s1, char const *s2); -static char __fc_env_strings[64]; -static char __fc_initenv_init; -static void __fc_initenv(void) -{ - if (! __fc_initenv_init) { - Frama_C_make_unknown(__fc_env_strings,(unsigned int)(64 - 1)); - { - int i = 0; - while (i < 4096) { - { - int tmp; - tmp = Frama_C_interval(0,64 - 1); - __fc_env[i] = & __fc_env_strings[tmp]; - } - i ++; - } - } - __fc_initenv_init = (char)1; - } - return; -} +char *strchr(char const *s, int c); -/*@ requires valid_name: valid_read_string(name); - ensures null_or_valid_result: \result ≡ \null ∨ \valid(\result); +char *strrchr(char const *s, int c); + +/*@ requires valid_string_s: valid_read_string(s); + requires valid_string_reject: valid_read_string(reject); + ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s)); assigns \result; - assigns \result \from __fc_env[0 ..], (indirect: name), *(name + (0 ..)); + assigns \result + \from (indirect: *(s + (0 ..))), (indirect: *(reject + (0 ..))); */ -char *getenv(char const *name) -{ - char *__retres; - int tmp_0; - /*@ assert ¬(strchr(name, '=') ≡ \true); */ ; - __fc_initenv(); - tmp_0 = Frama_C_nondet(0,1); - if (tmp_0) { - int tmp; - tmp = Frama_C_interval(0,4096 - 1); - ; - __retres = __fc_env[tmp]; - goto return_label; - } - else { - __retres = (char *)0; - goto return_label; - } - return_label: return __retres; -} +extern size_t strcspn(char const *s, char const *reject); -/*@ requires valid_string: valid_read_string(string); - assigns __fc_env[0 ..], \result; - assigns __fc_env[0 ..] \from __fc_env[0 ..], string; - assigns \result \from (indirect: __fc_env[0 ..]), (indirect: string); +/*@ requires valid_string_s: valid_read_string(s); + requires valid_string_accept: valid_read_string(accept); + ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s)); + assigns \result, \result; + assigns \result \from *(s + (0 ..)), *(accept + (0 ..)); + assigns \result + \from (indirect: *(s + (0 ..))), (indirect: *(accept + (0 ..))); */ -int putenv(char *string) -{ - int __retres; - int tmp_3; - char *separator = strchr((char const *)string,'='); - /*@ assert string_contains_separator: separator ≢ \null; */ ; - /*@ assert name_is_not_empty: separator ≢ string; */ ; - __fc_initenv(); - tmp_3 = Frama_C_nondet(0,1); - if (tmp_3) { - int tmp_1; - int tmp_2; - tmp_1 = Frama_C_nondet(0,1); - if (tmp_1) { - int tmp_0; - tmp_0 = Frama_C_interval(-2147483647 - 1,2147483647); - __retres = tmp_0; - goto return_label; - } - tmp_2 = Frama_C_interval(0,4096 - 1); - __fc_env[tmp_2] = string; - } - __retres = 0; - return_label: return __retres; -} +extern size_t strspn(char const *s, char const *accept); -/*@ requires valid_name: valid_read_string(name); - requires valid_value: valid_read_string(value); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result, __fc_env[0 ..]; - assigns \result - \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))), - (indirect: value), (indirect: *(value + (0 ..))), - (indirect: overwrite); - assigns __fc_env[0 ..] - \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))), - (indirect: value), (indirect: *(value + (0 ..))), - (indirect: overwrite); +/*@ requires valid_string_s: valid_read_string(s); + requires valid_string_accept: valid_read_string(accept); + ensures + result_null_or_same_base: + \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s)); + assigns \result; + assigns \result \from s, *(s + (0 ..)), *(accept + (0 ..)); */ -int setenv(char const *name, char const *value, int overwrite) -{ - int __retres; - char *tmp; - int tmp_4; - tmp = strchr(name,'='); - if (tmp) { - __retres = -1; - goto return_label; - } - size_t namelen = strlen(name); - if (namelen == (size_t)0) { - __retres = -1; - goto return_label; - } - __fc_initenv(); - tmp_4 = Frama_C_nondet(0,1); - if (tmp_4) { - __retres = -1; - goto return_label; - } - else { - int tmp_1; - int tmp_2; - int tmp_3; - tmp_1 = Frama_C_nondet(0,1); - if (tmp_1) Frama_C_make_unknown(__fc_env_strings,(unsigned int)(64 - 1)); - tmp_2 = Frama_C_interval(0,4096 - 1); - tmp_3 = Frama_C_interval(0,64 - 1); - __fc_env[tmp_2] = & __fc_env_strings[tmp_3]; - __retres = 0; - goto return_label; - } - return_label: return __retres; -} +extern char *strpbrk(char const *s, char const *accept); -/*@ requires valid_name: valid_read_string(name); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result, __fc_env[0 ..]; +char *strstr(char const *haystack, char const *needle); + +/*@ requires valid_string_haystack: valid_read_string(haystack); + requires valid_string_needle: valid_read_string(needle); + ensures + result_null_or_in_haystack: + \result ≡ \null ∨ + (\subset(\result, \old(haystack) + (0 ..)) ∧ \valid_read(\result)); + assigns \result; assigns \result - \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))); - assigns __fc_env[0 ..] - \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))); + \from haystack, (indirect: *(haystack + (0 ..))), + (indirect: *(needle + (0 ..))); */ -int unsetenv(char const *name) -{ - int __retres; - char *tmp; - int tmp_2; - tmp = strchr(name,'='); - if (tmp) { - __retres = -1; - goto return_label; - } - size_t namelen = strlen(name); - if (namelen == (size_t)0) { - __retres = -1; - goto return_label; - } - __fc_initenv(); - tmp_2 = Frama_C_nondet(0,1); - if (tmp_2) { - int tmp_1; - tmp_1 = Frama_C_interval(0,4096 - 1); - __fc_env[tmp_1] = (char *)0; - } - __retres = 0; - return_label: return __retres; -} +extern char *strcasestr(char const *haystack, char const *needle); -/*@ requires valid_memptr: \valid(memptr); - requires - alignment_is_a_suitable_power_of_two: - alignment ≥ sizeof(void *) ∧ - ((size_t)alignment & ((size_t)alignment - 1)) ≡ 0; - assigns __fc_heap_status, \result; - assigns __fc_heap_status - \from (indirect: alignment), size, __fc_heap_status; +char *__fc_strtok_ptr; +/*@ requires valid_string_delim: valid_read_string(delim); + assigns *(s + (0 ..)), *(__fc_strtok_ptr + (0 ..)), \result, + __fc_strtok_ptr; + assigns *(s + (0 ..)) + \from *(s + (0 ..)), (indirect: s), (indirect: __fc_strtok_ptr), + (indirect: *(delim + (0 ..))); + assigns *(__fc_strtok_ptr + (0 ..)) + \from *(__fc_strtok_ptr + (0 ..)), (indirect: s), + (indirect: __fc_strtok_ptr), (indirect: *(delim + (0 ..))); assigns \result - \from (indirect: alignment), (indirect: size), - (indirect: __fc_heap_status); - allocates *\old(memptr); + \from s, __fc_strtok_ptr, (indirect: *(s + (0 ..))), + (indirect: *(__fc_strtok_ptr + (0 ..))), + (indirect: *(delim + (0 ..))); + assigns __fc_strtok_ptr + \from \old(__fc_strtok_ptr), s, + (indirect: *(__fc_strtok_ptr + (0 ..))), + (indirect: *(delim + (0 ..))); - behavior allocation: - assumes can_allocate: is_allocable(size); - ensures allocation: \fresh{Old, Here}(*\old(memptr),\old(size)); - ensures result_zero: \result ≡ 0; - assigns __fc_heap_status, \result; - assigns __fc_heap_status - \from (indirect: alignment), size, __fc_heap_status; + behavior new_str: + assumes s_not_null: s ≢ \null; + requires + valid_string_s_or_delim_not_found: + valid_string(s) ∨ + (valid_read_string(s) ∧ + (∀ int i; + 0 ≤ i < strlen(delim) ⇒ + ¬(strchr(s, *(delim + i)) ≡ \true))); + ensures + result_subset: + \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..)); + ensures ptr_subset: \subset(__fc_strtok_ptr, \old(s) + (0 ..)); + assigns __fc_strtok_ptr, *(s + (0 ..)), \result; + assigns __fc_strtok_ptr + \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); + assigns *(s + (0 ..)) + \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..))); assigns \result - \from (indirect: alignment), (indirect: size), - (indirect: __fc_heap_status); + \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); - behavior no_allocation: - assumes cannot_allocate: ¬is_allocable(size); - ensures result_non_zero: \result < 0 ∨ \result > 0; - assigns \result; - assigns \result \from (indirect: alignment); - allocates \nothing; + behavior resume_str: + assumes s_null: s ≡ \null; + requires not_first_call: __fc_strtok_ptr ≢ \null; + ensures + result_subset: + \result ≡ \null ∨ + \subset(\result, \old(__fc_strtok_ptr) + (0 ..)); + ensures + ptr_subset: \subset(__fc_strtok_ptr, \old(__fc_strtok_ptr) + (0 ..)); + assigns *(__fc_strtok_ptr + (0 ..)), __fc_strtok_ptr, \result; + assigns *(__fc_strtok_ptr + (0 ..)) + \from *(__fc_strtok_ptr + (0 ..)), (indirect: __fc_strtok_ptr), + (indirect: *(delim + (0 ..))); + assigns __fc_strtok_ptr + \from \old(__fc_strtok_ptr), (indirect: *(__fc_strtok_ptr + (0 ..))), + (indirect: *(delim + (0 ..))); + assigns \result + \from __fc_strtok_ptr, (indirect: *(__fc_strtok_ptr + (0 ..))), + (indirect: *(delim + (0 ..))); - complete behaviors no_allocation, allocation; - disjoint behaviors no_allocation, allocation; - */ -int posix_memalign(void **memptr, size_t alignment, size_t size) -{ - int __retres; - /*@ - assert - alignment_is_a_suitable_power_of_two: - alignment ≥ sizeof(void *) ∧ - ((size_t)alignment & ((size_t)alignment - 1)) ≡ 0; - */ - ; - *memptr = malloc(size); - if (! *memptr) { - __retres = 12; - goto return_label; - } - __retres = 0; - return_label: return __retres; -} - -/*@ requires valid_dest: valid_or_empty(dest, n); - requires valid_src: valid_read_or_empty(src, n); - requires - separation: - \separated((char *)dest + (0 .. n - 1), (char *)src + (0 .. n - 1)); - ensures - copied_contents: - memcmp{Post, Pre}((char *)\old(dest), (char *)\old(src), \old(n)) ≡ - 0; - ensures result_ptr: \result ≡ \old(dest); - assigns *((char *)dest + (0 .. n - 1)), \result; - assigns *((char *)dest + (0 .. n - 1)) - \from *((char *)src + (0 .. n - 1)); - assigns \result \from dest; + complete behaviors resume_str, new_str; + disjoint behaviors resume_str, new_str; */ -void *memcpy(void * __restrict dest, void const * __restrict src, size_t n) -{ - { - size_t i = (unsigned int)0; - /*@ loop invariant no_eva: 0 ≤ i ≤ n; - loop invariant - no_eva: - ∀ ℤ k; - 0 ≤ k < i ⇒ *((char *)dest + k) ≡ *((char *)src + k); - loop assigns i, *((char *)dest + (0 .. n - 1)); - loop variant n - i; - */ - while (i < n) { - *((char *)dest + i) = *((char *)src + i); - i += (size_t)1; - } - } - return dest; -} +extern char *strtok(char * __restrict s, char const * __restrict delim); -/*@ assigns \result; - assigns \result \from (indirect: p), (indirect: q), (indirect: n); +/*@ requires valid_string_delim: valid_read_string(delim); + requires valid_saveptr: \valid(saveptr); + assigns *(s + (0 ..)), *(*saveptr + (0 ..)), \result, *saveptr; + assigns *(s + (0 ..)) + \from *(s + (0 ..)), (indirect: s), (indirect: *saveptr), + (indirect: *(delim + (0 ..))); + assigns *(*saveptr + (0 ..)) + \from *(*saveptr + (0 ..)), (indirect: s), (indirect: *saveptr), + (indirect: *(delim + (0 ..))); + assigns \result + \from s, *saveptr, (indirect: *(s + (0 ..))), + (indirect: *(*saveptr + (0 ..))), (indirect: *(delim + (0 ..))); + assigns *saveptr + \from \old(*saveptr), s, (indirect: *(*saveptr + (0 ..))), + (indirect: *(delim + (0 ..))); - behavior separated: - assumes - separation: no_overlap: - \separated(p + (0 .. n - 1), q + (0 .. n - 1)); - ensures result_no_overlap: \result ≡ 0; + behavior new_str: + assumes s_not_null: s ≢ \null; + requires + valid_string_s_or_delim_not_found: + valid_string(s) ∨ + (valid_read_string(s) ∧ + (∀ int i; + 0 ≤ i < strlen(delim) ⇒ + ¬(strchr(s, *(delim + i)) ≡ \true))); + ensures + result_subset: + \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..)); + ensures initialization: \initialized(\old(saveptr)); + ensures saveptr_subset: \subset(*\old(saveptr), \old(s) + (0 ..)); + assigns *saveptr, *(s + (0 ..)), \result; + assigns *saveptr + \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); + assigns *(s + (0 ..)) + \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..))); + assigns \result + \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); - behavior not_separated_lt: - assumes - separation: overlap: ¬\separated(p + (0 .. n - 1), q + (0 .. n - 1)); - assumes p_before_q: p ≤ q < p + n; - ensures result_p_before_q: \result ≡ -1; + behavior resume_str: + assumes s_null: s ≡ \null; + requires not_first_call: *saveptr ≢ \null; + requires initialization: saveptr: \initialized(saveptr); + ensures + result_subset: + \result ≡ \null ∨ \subset(\result, \old(*saveptr) + (0 ..)); + ensures + saveptr_subset: \subset(*\old(saveptr), \old(*saveptr) + (0 ..)); + assigns *(*saveptr + (0 ..)), *saveptr, \result; + assigns *(*saveptr + (0 ..)) + \from *(*saveptr + (0 ..)), (indirect: *saveptr), + (indirect: *(delim + (0 ..))); + assigns *saveptr + \from \old(*saveptr), (indirect: *(*saveptr + (0 ..))), + (indirect: *(delim + (0 ..))); + assigns \result + \from *saveptr, (indirect: *(*saveptr + (0 ..))), + (indirect: *(delim + (0 ..))); - behavior not_separated_gt: - assumes - separation: overlap: ¬\separated(p + (0 .. n - 1), q + (0 .. n - 1)); - assumes p_after_q: q < p ≤ q + n; - ensures result_p_after_q: \result ≡ 1; + complete behaviors resume_str, new_str; + disjoint behaviors resume_str, new_str; + */ +extern char *strtok_r(char * __restrict s, char const * __restrict delim, + char ** __restrict saveptr); + +/*@ requires + valid_string_stringp: \valid(stringp) ∧ valid_string(*stringp); + requires valid_string_delim: valid_read_string(delim); + assigns *stringp, \result; + assigns *stringp \from *(delim + (..)), *(*(stringp + (..))); + assigns \result \from *(delim + (..)), *(*(stringp + (..))); + */ +extern char *strsep(char **stringp, char const *delim); + +char __fc_strerror[64]; +char * const __fc_p_strerror = __fc_strerror; +char *strerror(int errnum); + +char *strcpy(char *dest, char const *src); + +char *strncpy(char *dest, char const *src, size_t n); + +/*@ requires valid_string_src: valid_read_string(src); + requires room_nstring: \valid(dest + (0 .. n - 1)); + requires + separation: + \separated( + dest + (0 .. n - 1), src + (0 .. \max(n - 1, strlen(src))) + ); + ensures + initialization: + \initialized(\old(dest) + (0 .. \min(strlen(\old(src)), \old(n) - 1))); + ensures bounded_result: \result ≡ strlen(\old(src)); + assigns *(dest + (0 .. n - 1)), \result; + assigns *(dest + (0 .. n - 1)) \from *(src + (0 .. n - 1)); + assigns \result + \from (indirect: src), (indirect: *(src + (0 .. n - 1))), (indirect: n); + */ +size_t strlcpy(char * __restrict dest, char const * __restrict src, size_t n); + +/*@ requires valid_string_src: valid_read_string(src); + requires room_string: \valid(dest + (0 .. strlen(src))); + requires + separation: + \separated(dest + (0 .. strlen(src)), src + (0 .. strlen(src))); + ensures equal_contents: strcmp(\old(dest), \old(src)) ≡ 0; + ensures points_to_end: \result ≡ \old(dest) + strlen(\old(dest)); + assigns *(dest + (0 .. strlen{Old}(src))), \result; + assigns *(dest + (0 .. strlen{Old}(src))) + \from *(src + (0 .. strlen{Old}(src))); + assigns \result \from dest; + */ +extern char *stpcpy(char * __restrict dest, char const * __restrict src); + +char *strcat(char *dest, char const *src); + +char *strncat(char *dest, char const *src, size_t n); + +/*@ requires valid_string_src: valid_read_string(src); + requires valid_string_dest: valid_string(dest); + requires room_nstring: \valid(dest + (0 .. n - 1)); + ensures + bounded_result: \result ≡ strlen(\old(dest)) + strlen(\old(src)); + assigns *(dest + (strlen{Old}(dest) .. n)), \result; + assigns *(dest + (strlen{Old}(dest) .. n)) + \from (indirect: n), *(src + (0 .. strlen{Old}(src))); + assigns \result + \from (indirect: src), (indirect: *(src + (0 .. n - 1))), (indirect: n); + */ +extern size_t strlcat(char * __restrict dest, char const * __restrict src, + size_t n); + +/*@ requires valid_dest: \valid(dest + (0 .. n - 1)); + requires valid_string_src: valid_read_string(src); + assigns *(dest + (0 .. n - 1)), \result; + assigns *(dest + (0 .. n - 1)) + \from (indirect: *(src + (0 ..))), (indirect: n); + assigns \result \from dest; + */ +extern size_t strxfrm(char * __restrict dest, char const * __restrict src, + size_t n); + +char *strdup(char const *s); + +char *strndup(char const *s, size_t n); + +char __fc_strsignal[64]; +char * const __fc_p_strsignal = __fc_strsignal; +char *strsignal(int signum); + +/*@ requires valid_memory_area: \valid((char *)s + (0 .. n - 1)); + ensures + s_initialized: initialization: + \initialized((char *)\old(s) + (0 .. \old(n) - 1)); + ensures + zero_initialized: \subset(*((char *)\old(s) + (0 .. \old(n) - 1)), {0}); + assigns *((char *)s + (0 .. n - 1)); + assigns *((char *)s + (0 .. n - 1)) \from \nothing; + */ +extern void bzero(void *s, size_t n); + +int strcasecmp(char const *s1, char const *s2); + +/*@ requires valid_string_s1: valid_read_nstring(s1, n); + requires valid_string_s2: valid_read_nstring(s2, n); + assigns \result; + assigns \result + \from (indirect: n), (indirect: *(s1 + (0 .. n - 1))), + (indirect: *(s2 + (0 .. n - 1))); + */ +extern int strncasecmp(char const *s1, char const *s2, size_t n); + +static unsigned int volatile getaddrinfo_net_state; +/*@ requires + nodename_string: nodename ≡ \null ∨ valid_read_string(nodename); + requires + servname_string: servname ≡ \null ∨ valid_read_string(servname); + requires hints_option: hints ≡ \null ∨ \valid_read(hints); + requires valid_res: \valid(res); + assigns *res, \result, __fc_errno; + assigns *res + \from (indirect: nodename), (indirect: servname), (indirect: hints); + assigns \result + \from (indirect: nodename), (indirect: servname), (indirect: hints); + assigns __fc_errno + \from (indirect: nodename), (indirect: servname), (indirect: hints); + allocates *\old(res); - complete behaviors not_separated_gt, not_separated_lt, separated; - disjoint behaviors not_separated_gt, not_separated_lt, separated; + behavior empty_request: + assumes empty: nodename ≡ \null ∧ servname ≡ \null; + ensures no_name: \result ≡ -2; + assigns \result; + assigns \result \from (indirect: nodename), (indirect: servname); + + behavior normal_request: + assumes has_name: nodename ≢ \null ∨ servname ≢ \null; + ensures + initialization: allocation: success_or_error: + (\result ≡ 0 ∧ + \fresh{Old, Here}(*\old(res),sizeof(*\old(res))) ∧ + \initialized(*\old(res))) ∨ + \result ≡ -3 ∨ \result ≡ -1 ∨ \result ≡ -4 ∨ + \result ≡ -6 ∨ \result ≡ -10 ∨ \result ≡ -8 ∨ + \result ≡ -7 ∨ \result ≡ -11; + + complete behaviors normal_request, empty_request; + disjoint behaviors normal_request, empty_request; */ -static int memoverlap(char const *p, char const *q, size_t n) +int getaddrinfo(char const * __restrict nodename, + char const * __restrict servname, + struct addrinfo const * __restrict hints, + struct addrinfo ** __restrict res) { int __retres; - uintptr_t p1 = (unsigned int)p; - uintptr_t p2 = (unsigned int)(p + n); - uintptr_t q1 = (unsigned int)q; - uintptr_t q2 = (unsigned int)(q + n); - if (p1 <= q1) { - if (p2 > q1) { - __retres = -1; + if (nodename == (char const *)0) + if (servname == (char const *)0) { + __retres = -2; goto return_label; } - else goto _LAND; - } - else { - _LAND: ; - if (q1 <= p1) - if (q2 > p1) { - __retres = 1; + switch (getaddrinfo_net_state) { + case (unsigned int)0: __retres = -1; + goto return_label; + case (unsigned int)1: __retres = -3; + goto return_label; + case (unsigned int)2: __retres = -4; + goto return_label; + case (unsigned int)3: __retres = -6; + goto return_label; + case (unsigned int)5: __retres = -8; + goto return_label; + case (unsigned int)6: __retres = -7; + goto return_label; + case (unsigned int)7: + { + __fc_errno = 5; + __retres = -11; + goto return_label; + } + default: + { + struct addrinfo *tmp_0; + struct sockaddr *tmp_2; + int tmp_3; + struct addrinfo *ai = malloc(sizeof(*tmp_0)); + if (! ai) { + __retres = -10; goto return_label; } - else { - __retres = 0; + struct sockaddr *sa = malloc(sizeof(*tmp_2)); + if (! sa) { + __retres = -10; goto return_label; } - else { + tmp_3 = Frama_C_interval(0,43); + sa->sa_family = (unsigned short)tmp_3; + /*@ slevel 15; */ + { + int i = 0; + while (i < 14) { + { + int tmp_4; + tmp_4 = Frama_C_interval(-128,127); + sa->sa_data[i] = (char)tmp_4; + } + i ++; + } + } + /*@ slevel default; */ + ai->ai_flags = 0; + ai->ai_family = (int)sa->sa_family; + ai->ai_socktype = Frama_C_interval(0,5); + ai->ai_protocol = Frama_C_interval(0,IPPROTO_MAX); + ai->ai_addrlen = sizeof(*sa); + ai->ai_addr = sa; + ai->ai_canonname = (char *)"dummy"; + ai->ai_next = (struct addrinfo *)0; + *res = ai; __retres = 0; goto return_label; } @@ -4922,2762 +4331,3353 @@ static int memoverlap(char const *p, char const *q, size_t n) return_label: return __retres; } -/*@ requires valid_dest: valid_or_empty(dest, n); - requires valid_src: valid_read_or_empty(src, n); - ensures - copied_contents: - memcmp{Post, Pre}((char *)\old(dest), (char *)\old(src), \old(n)) ≡ - 0; - ensures result_ptr: \result ≡ \old(dest); - assigns *((char *)dest + (0 .. n - 1)), \result; - assigns *((char *)dest + (0 .. n - 1)) - \from *((char *)src + (0 .. n - 1)); - assigns \result \from dest; - */ -void *memmove(void *dest, void const *src, size_t n) +struct __fc_gethostbyname __fc_ghbn; +int res_search(char const *dname, int class, int type, char *answer, + int anslen) { - void *__retres; int tmp; - if (n == (size_t)0) { - __retres = dest; - goto return_label; - } - char *s = (char *)src; - char *d = (char *)dest; - tmp = memoverlap((char const *)dest,(char const *)src,n); - if (tmp <= 0) { - size_t i = (unsigned int)0; - /*@ loop invariant no_eva: 0 ≤ i ≤ n; - loop invariant - no_eva: - ∀ ℤ k; - 0 ≤ k < i ⇒ - *((char *)dest + k) ≡ \at(*((char *)src + k),LoopEntry); - loop invariant - no_eva: - ∀ ℤ k; - i ≤ k < n ⇒ - *((char *)src + k) ≡ \at(*((char *)src + k),LoopEntry); - loop assigns i, *((char *)dest + (0 .. n - 1)); - loop variant n - i; - */ - while (i < n) { - *(d + i) = *(s + i); - i += (size_t)1; + { + int i = 0; + while (i < anslen - 1) { + *(answer + i) = Frama_C_char_interval((char)(-128),(char)127); + i ++; } } - else { - { - size_t i_0 = n - (size_t)1; - /*@ loop invariant no_eva: 0 ≤ i_0 < n; - loop invariant - no_eva: - ∀ ℤ k; - i_0 < k < n ⇒ - *((char *)dest + k) ≡ \at(*((char *)src + k),LoopEntry); - loop invariant - no_eva: - ∀ ℤ k; - 0 ≤ k ≤ i_0 ⇒ - *((char *)src + k) ≡ \at(*((char *)src + k),LoopEntry); - loop assigns i_0, *((char *)dest + (0 .. n - 1)); - loop variant i_0; - */ - while (i_0 > (size_t)0) { - *(d + i_0) = *(s + i_0); - i_0 -= (size_t)1; + *(answer + (anslen - 1)) = (char)0; + tmp = Frama_C_interval(-1,anslen); + return tmp; +} + +struct hostent *gethostbyname(char const *name) +{ + struct hostent *__retres; + char buf[128]; + char const *cp; + int n; + int tmp; + __fc_ghbn.host.h_addrtype = 2; + __fc_ghbn.host.h_length = (int)sizeof(struct in_addr); + if ((int)*name >= '0') + if ((int)*name <= '9') { + cp = name; + while (1) { + if (! *cp) { + struct in_addr addr; + cp --; + ; + if ((int)*cp == '.') break; + addr.s_addr = inet_addr(name); + if (addr.s_addr == 0xffffffff) { + __retres = (struct hostent *)0; + goto return_label; + } + memcpy((void *)(__fc_ghbn.host_addr),(void const *)(& addr), + (unsigned int)__fc_ghbn.host.h_length); + strncpy(__fc_ghbn.hostbuf,name,(unsigned int)(128 - 1)); + __fc_ghbn.hostbuf[128 - 1] = (char)'\000'; + __fc_ghbn.host.h_name = __fc_ghbn.hostbuf; + __fc_ghbn.host.h_aliases = __fc_ghbn.host_aliases; + __fc_ghbn.host_aliases[0] = (char *)0; + __fc_ghbn.h_addr_ptrs[0] = (char *)(__fc_ghbn.host_addr); + __fc_ghbn.h_addr_ptrs[1] = (char *)0; + __fc_ghbn.host.h_addr_list = __fc_ghbn.h_addr_ptrs; + __retres = & __fc_ghbn.host; + goto return_label; + } + if ((int)*cp < '0') + if ((int)*cp > '9') + if ((int)*cp != '.') break; + cp ++; } } - *(d + 0) = *(s + 0); + n = res_search(name,1,1,buf,(int)sizeof(buf)); + if (n < 0) { + __retres = (struct hostent *)0; + goto return_label; + } + tmp = Frama_C_nondet(0,1); + if (tmp) { + __retres = (struct hostent *)0; + goto return_label; + } + else { + struct in_addr addr_0; + addr_0.s_addr = inet_addr(name); + memcpy((void *)(__fc_ghbn.host_addr),(void const *)(& addr_0), + (unsigned int)__fc_ghbn.host.h_length); + strncpy(__fc_ghbn.hostbuf,name,(unsigned int)(128 - 1)); + __fc_ghbn.hostbuf[128 - 1] = (char)'\000'; + __fc_ghbn.host.h_name = __fc_ghbn.hostbuf; + __fc_ghbn.host.h_aliases = __fc_ghbn.host_aliases; + __fc_ghbn.host_aliases[0] = (char *)0; + __fc_ghbn.h_addr_ptrs[0] = (char *)(__fc_ghbn.host_addr); + __fc_ghbn.h_addr_ptrs[1] = (char *)0; + __fc_ghbn.host.h_addr_list = __fc_ghbn.h_addr_ptrs; + __retres = & __fc_ghbn.host; + goto return_label; } - __retres = dest; return_label: return __retres; } -/*@ requires valid_string_s: valid_read_string(s); - ensures acsl_c_equiv: \result ≡ strlen(\old(s)); +FILE *__fc_stderr; + +FILE *__fc_stdin; + +FILE *__fc_stdout; + +/*@ assigns \nothing; */ +extern int remove(char const *filename); + +/*@ assigns \nothing; */ +extern int rename(char const *old_name, char const *new_name); + +FILE __fc_fopen[16]; +FILE * const __fc_p_fopen = __fc_fopen; +/*@ ensures + result_null_or_valid_fd: + \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]); assigns \result; - assigns \result \from (indirect: *(s + (0 ..))); + assigns \result \from __fc_p_fopen; */ -size_t strlen(char const *s) -{ - size_t i; - i = (unsigned int)0; - while ((int)*(s + i) != 0) i += (size_t)1; - return i; -} +extern FILE *tmpfile(void); -/*@ requires valid_string_s: valid_read_nstring(s, maxlen); - ensures - result_bounded: - \result ≡ strlen(\old(s)) ∨ \result ≡ \old(maxlen); - assigns \result; - assigns \result - \from (indirect: *(s + (0 .. maxlen - 1))), (indirect: maxlen); +/*@ assigns \result, *(s + (..)); + assigns \result \from *(s + (..)); + assigns *(s + (..)) \from \nothing; */ -size_t strnlen(char const *s, size_t maxlen) -{ - size_t i; - i = (unsigned int)0; - while (1) { - if (i < maxlen) { - if (! ((int)*(s + i) != 0)) break; - } - else break; - i += (size_t)1; - } - return i; -} +extern char *tmpnam(char *s); -/*@ requires valid_s: valid_or_empty(s, n); - ensures - acsl_c_equiv: memset((char *)\old(s), \old(c), \old(n)) ≡ \true; - ensures result_ptr: \result ≡ \old(s); - assigns *((char *)s + (0 .. n - 1)), \result; - assigns *((char *)s + (0 .. n - 1)) \from c; - assigns \result \from s; +/*@ requires valid_stream: \valid(stream); + ensures result_zero_or_EOF: \result ≡ 0 ∨ \result ≡ -1; + assigns \result; + assigns \result \from stream, stream->__fc_FILE_id; */ -void *memset(void *s, int c, size_t n) -{ - unsigned char *p = (unsigned char *)s; - { - size_t i = (unsigned int)0; - while (i < n) { - *(p + i) = (unsigned char)c; - i += (size_t)1; - } - } - return s; -} +extern int fclose(FILE *stream); -/*@ requires valid_string_s1: valid_read_string(s1); - requires valid_string_s2: valid_read_string(s2); - ensures acsl_c_equiv: \result ≡ strcmp(\old(s1), \old(s2)); +/*@ requires null_or_valid_stream: stream ≡ \null ∨ \valid_read(stream); + ensures result_zero_or_EOF: \result ≡ 0 ∨ \result ≡ -1; assigns \result; - assigns \result - \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..))); + assigns \result \from stream, stream->__fc_FILE_id; */ -int strcmp(char const *s1, char const *s2) -{ - int __retres; - size_t i; - i = (unsigned int)0; - while ((int)*(s1 + i) == (int)*(s2 + i)) { - if ((int)*(s1 + i) == 0) { - __retres = 0; - goto return_label; - } - i += (size_t)1; - } - __retres = (int)*((unsigned char *)s1 + i) - (int)*((unsigned char *)s2 + i); - return_label: return __retres; -} +extern int fflush(FILE *stream); -/*@ requires valid_string_s1: valid_read_nstring(s1, n); - requires valid_string_s2: valid_read_nstring(s2, n); - ensures acsl_c_equiv: \result ≡ strncmp(\old(s1), \old(s2), \old(n)); +/*@ requires valid_filename: valid_read_string(filename); + requires valid_mode: valid_read_string(mode); + ensures + result_null_or_valid_fd: + \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]); assigns \result; assigns \result - \from (indirect: *(s1 + (0 .. n - 1))), - (indirect: *(s2 + (0 .. n - 1))), (indirect: n); + \from (indirect: *(filename + (..))), (indirect: *(mode + (..))), + __fc_p_fopen; */ -int strncmp(char const *s1, char const *s2, size_t n) -{ - int __retres; - { - size_t i = (unsigned int)0; - while (i < n) { - if ((int)*(s1 + i) != (int)*(s2 + i)) { - __retres = (int)*((unsigned char *)s1 + i) - (int)*((unsigned char *)s2 + i); - goto return_label; - } - if ((int)*(s1 + i) == 0) { - __retres = 0; - goto return_label; - } - i += (size_t)1; - } - } - __retres = 0; - return_label: return __retres; -} +extern FILE *fopen(char const * __restrict filename, + char const * __restrict mode); -/*@ requires valid_s1: valid_read_or_empty(s1, n); - requires valid_s2: valid_read_or_empty(s2, n); - requires initialization: s1: \initialized((char *)s1 + (0 .. n - 1)); - requires initialization: s2: \initialized((char *)s2 + (0 .. n - 1)); - requires danglingness: s1: non_escaping(s1, n); - requires danglingness: s2: non_escaping(s2, n); +/*@ requires valid_mode: valid_read_string(mode); ensures - logic_spec: - \result ≡ - memcmp{Pre, Pre}((char *)\old(s1), (char *)\old(s2), \old(n)); - assigns \result; + result_null_or_valid_fd: + \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 16 - 1]); + assigns \result, __fc_fopen[fd]; assigns \result - \from (indirect: *((char *)s1 + (0 .. n - 1))), - (indirect: *((char *)s2 + (0 .. n - 1))); + \from (indirect: fd), (indirect: *(mode + (0 ..))), + (indirect: __fc_fopen[fd]), __fc_p_fopen; + assigns __fc_fopen[fd] + \from (indirect: fd), (indirect: *(mode + (0 ..))), + (indirect: __fc_fopen[fd]), __fc_p_fopen; */ -int memcmp(void const *s1, void const *s2, size_t n) -{ - int __retres; - unsigned char const *p1; - unsigned char const *p2; - p1 = (unsigned char const *)s1; - p2 = (unsigned char const *)s2; - { - size_t i = (unsigned int)0; - while (i < n) { - if ((int)*(p1 + i) != (int)*(p2 + i)) { - __retres = (int)*(p1 + i) - (int)*(p2 + i); - goto return_label; - } - i += (size_t)1; - } - } - __retres = 0; - return_label: return __retres; -} - -static int char_equal_ignore_case(char c1, char c2) -{ - int __retres; - if ((int)c1 >= 'A') - if ((int)c1 <= 'Z') c1 = (char)((int)c1 - ('A' - 'a')); - if ((int)c2 >= 'A') - if ((int)c2 <= 'Z') c2 = (char)((int)c2 - ('A' - 'a')); - if ((int)c1 == (int)c2) { - __retres = 0; - goto return_label; - } - else { - __retres = (int)((unsigned char)c2) - (int)((unsigned char)c1); - goto return_label; - } - return_label: return __retres; -} +extern FILE *fdopen(int fd, char const *mode); -/*@ requires valid_string_s1: valid_read_string(s1); - requires valid_string_s2: valid_read_string(s2); - assigns \result; +/*@ requires valid_filename: valid_read_string(filename); + requires valid_mode: valid_read_string(mode); + requires valid_stream: \valid(stream); + ensures + result_null_or_valid_fd: + \result ≡ \null ∨ \result ∈ &__fc_fopen[0 .. 16 - 1]; + ensures stream_opened: *\old(stream) ∈ __fc_fopen[0 .. 16 - 1]; + assigns \result, *stream; assigns \result - \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..))); + \from (indirect: *(filename + (..))), (indirect: *(mode + (..))), + __fc_p_fopen, (indirect: stream); + assigns *stream + \from (indirect: *(filename + (..))), (indirect: *(mode + (..))), + __fc_p_fopen, (indirect: stream); */ -int strcasecmp(char const *s1, char const *s2) -{ - int __retres; - size_t i; - i = (unsigned int)0; - while (1) { - if ((int)*(s1 + i) != 0) { - if (! ((int)*(s2 + i) != 0)) break; - } - else break; - { - int res = char_equal_ignore_case(*(s1 + i),*(s2 + i)); - if (res != 0) { - __retres = res; - goto return_label; +extern FILE *freopen(char const * __restrict filename, + char const * __restrict mode, FILE * __restrict stream); + +/*@ assigns *stream; + assigns *stream \from buf; */ +extern void setbuf(FILE * __restrict stream, char * __restrict buf); + +/*@ assigns *stream; + assigns *stream \from buf, mode, size; */ +extern int setvbuf(FILE * __restrict stream, char * __restrict buf, int mode, + size_t size); + +/*@ axiomatic format_length { + logic ℤ format_length{L}(char *format) ; + } - } - i += (size_t)1; - } - if ((int)*(s1 + i) == 0) { - if ((int)*(s2 + i) == 0) { - __retres = 0; - goto return_label; - } - else goto _LAND; - } - else { - _LAND: ; - if ((int)*(s1 + i) == 0) { - __retres = -1; - goto return_label; - } - else { - __retres = 1; - goto return_label; - } - } - return_label: return __retres; -} -/*@ requires valid_string_src: valid_read_string(src); - requires valid_string_dest: valid_string(dest); - requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src))); - ensures - sum_of_lengths: strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src)); - ensures - initialization: dest: - \initialized(\old(dest) + (0 .. \old(strlen(dest) + strlen(src)))); - ensures - dest_null_terminated: - *(\old(dest) + \old(strlen(dest) + strlen(src))) ≡ 0; - ensures result_ptr: \result ≡ \old(dest); - assigns *(dest + - (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))), - \result; - assigns - *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))) - \from *(src + (0 .. strlen{Old}(src))); - assigns \result \from dest; +*/ +/*@ assigns *stream; + assigns *stream \from *(format + (..)), arg; */ +extern int vfprintf(FILE * __restrict stream, char const * __restrict format, + va_list arg); + +/*@ assigns *stream; + assigns *stream \from *(format + (..)), *stream; */ +extern int vfscanf(FILE * __restrict stream, char const * __restrict format, + va_list arg); + +/*@ assigns *__fc_stdout; + assigns *__fc_stdout \from arg; */ +extern int vprintf(char const * __restrict format, va_list arg); + +/*@ assigns *__fc_stdin; + assigns *__fc_stdin \from *(format + (..)); */ +extern int vscanf(char const * __restrict format, va_list arg); + +/*@ assigns *(s + (0 .. n - 1)); + assigns *(s + (0 .. n - 1)) \from *(format + (..)), arg; */ -char *strcat(char *dest, char const *src) -{ - size_t i; - size_t n = strlen((char const *)dest); - i = (unsigned int)0; - while ((int)*(src + i) != 0) { - *(dest + (n + i)) = *(src + i); - i += (size_t)1; - } - *(dest + (n + i)) = (char)0; - return dest; -} +extern int vsnprintf(char * __restrict s, size_t n, + char const * __restrict format, va_list arg); -/*@ requires valid_nstring_src: valid_read_nstring(src, n); - requires valid_string_dest: valid_string(dest); - ensures result_ptr: \result ≡ \old(dest); - assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result; - assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)) - \from *(src + (0 .. n)); - assigns \result \from dest; - - behavior complete: - assumes - valid_string_src_fits: valid_read_string(src) ∧ strlen(src) ≤ n; - requires - room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src))); - ensures - sum_of_lengths: - strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src)); - assigns *(dest + - (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))), - \result; - assigns - *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))) - \from *(src + (0 .. strlen{Old}(src))); - assigns \result \from dest; - - behavior partial: - assumes - valid_string_src_too_large: - ¬(valid_read_string(src) ∧ strlen(src) ≤ n); - requires room_string: \valid((dest + strlen(dest)) + (0 .. n)); - ensures - sum_of_bounded_lengths: - strlen(\old(dest)) ≡ \old(strlen(dest)) + \old(n); - assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), - \result; - assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)) - \from *(src + (0 .. strlen{Old}(src))); - assigns \result \from dest; +/*@ assigns *(s + (0 ..)); + assigns *(s + (0 ..)) \from *(format + (..)), arg; */ -char *strncat(char *dest, char const *src, size_t n) -{ - size_t i; - size_t dest_len = strlen((char const *)dest); - i = (unsigned int)0; - while (i < n) { - if ((int)*(src + i) == 0) break; - *(dest + (dest_len + i)) = *(src + i); - i += (size_t)1; - } - *(dest + (dest_len + i)) = (char)0; - return dest; -} +extern int vsprintf(char * __restrict s, char const * __restrict format, + va_list arg); -/*@ requires valid_string_src: valid_read_string(src); - requires room_string: \valid(dest + (0 .. strlen(src))); - requires - separation: - \separated(dest + (0 .. strlen(src)), src + (0 .. strlen(src))); - ensures equal_contents: strcmp(\old(dest), \old(src)) ≡ 0; - ensures result_ptr: \result ≡ \old(dest); - assigns *(dest + (0 .. strlen{Old}(src))), \result; - assigns *(dest + (0 .. strlen{Old}(src))) - \from *(src + (0 .. strlen{Old}(src))); - assigns \result \from dest; +/*@ requires valid_stream: \valid(stream); + ensures result_uchar_or_eof: (0 ≤ \result ≤ 255) ∨ \result ≡ -1; + assigns *stream, \result; + assigns *stream \from *stream; + assigns \result \from (indirect: *stream); */ -char *strcpy(char *dest, char const *src) -{ - size_t i; - i = (unsigned int)0; - while ((int)*(src + i) != 0) { - *(dest + i) = *(src + i); - i += (size_t)1; - } - *(dest + i) = (char)0; - return dest; -} +extern int fgetc(FILE *stream); -/*@ requires valid_string_src: valid_read_string(src); - requires room_nstring: \valid(dest + (0 .. n - 1)); - requires separation: \separated(dest + (0 .. n - 1), src + (0 .. n - 1)); - ensures result_ptr: \result ≡ \old(dest); - ensures initialization: \initialized(\old(dest) + (0 .. \old(n) - 1)); - assigns *(dest + (0 .. n - 1)), \result; - assigns *(dest + (0 .. n - 1)) \from *(src + (0 .. n - 1)); - assigns \result \from dest; - - behavior complete: - assumes src_fits: strlen(src) < n; - ensures equal_after_copy: strcmp(\old(dest), \old(src)) ≡ 0; - - behavior partial: - assumes src_too_long: n ≤ strlen(src); - ensures - equal_prefix: - memcmp{Post, Post}(\old(dest), \old(src), \old(n)) ≡ 0; +/*@ requires valid_stream: \valid(stream); + ensures result_null_or_same: \result ≡ \null ∨ \result ≡ \old(s); + ensures + terminated_string_on_success: + \result ≢ \null ⇒ valid_string(\old(s)); + assigns *(s + (0 .. size)), \result; + assigns *(s + (0 .. size)) \from (indirect: size), (indirect: *stream); + assigns \result \from s, (indirect: size), (indirect: *stream); */ -char *strncpy(char *dest, char const *src, size_t n) -{ - size_t i; - i = (unsigned int)0; - while (i < n) { - *(dest + i) = *(src + i); - if ((int)*(src + i) == 0) break; - i += (size_t)1; - } - while (i < n) { - *(dest + i) = (char)0; - i += (size_t)1; - } - return dest; -} +extern char *fgets(char * __restrict s, int size, FILE * __restrict stream); -/*@ requires valid_string_s: valid_read_string(s); - assigns \result; - assigns \result \from s, *(s + (0 ..)), c; - - behavior found: - assumes char_found: strchr(s, c) ≡ \true; - ensures result_char: *\result ≡ (char)\old(c); - ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); - ensures - result_in_length: \old(s) ≤ \result ≤ \old(s) + strlen(\old(s)); - ensures result_valid_string: valid_read_string(\result); - ensures - result_first_occur: - ∀ char *p; \old(s) ≤ p < \result ⇒ *p ≢ (char)\old(c); - - behavior not_found: - assumes char_not_found: ¬(strchr(s, c) ≡ \true); - ensures result_null: \result ≡ \null; - - behavior default: - ensures - result_null_or_same_base: - \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s)); - */ -char *strchr(char const *s, int c) -{ - char *__retres; - size_t i; - char const ch = (char)c; - i = (unsigned int)0; - while ((int)*(s + i) != (int)ch) { - if ((int)*(s + i) == 0) { - __retres = (char *)0; - goto return_label; - } - i += (size_t)1; - } - __retres = (char *)(s + i); - return_label: return __retres; -} +/*@ assigns *stream; */ +extern int fputc(int c, FILE *stream); -/*@ requires valid_string_s: valid_read_string(s); - assigns \result; - assigns \result \from s, *(s + (0 ..)), c; - - behavior found: - assumes char_found: strchr(s, c) ≡ \true; - ensures result_char: (int)*\result ≡ \old(c); - ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); - ensures result_valid_string: valid_read_string(\result); - - behavior not_found: - assumes char_not_found: ¬(strchr(s, c) ≡ \true); - ensures result_null: \result ≡ \null; - - behavior default: - ensures - result_null_or_same_base: - \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s)); +/*@ assigns *stream; + assigns *stream \from *(s + (..)); */ +extern int fputs(char const * __restrict s, FILE * __restrict stream); + +/*@ assigns \result, *stream; + assigns \result \from *stream; + assigns *stream \from *stream; */ -char *strrchr(char const *s, int c) -{ - char *__retres; - char const ch = (char)c; - { - size_t tmp; - tmp = strlen(s); - size_t i = tmp + (size_t)1; - while (i > (size_t)0) { - if ((int)*(s + (i - (size_t)1)) == (int)ch) { - __retres = (char *)(s + (i - (size_t)1)); - goto return_label; - } - i -= (size_t)1; - } - } - __retres = (char *)0; - return_label: return __retres; -} +extern int getc(FILE *stream); -/*@ requires - valid: - valid_read_or_empty(s, n) ∨ - \valid_read((unsigned char *)s + (0 .. memchr_off((char *)s, c, n))); - requires - initialization: - \initialized((unsigned char *)s + (0 .. n - 1)) ∨ - \initialized((unsigned char *)s + (0 .. memchr_off((char *)s, c, n))); - requires - danglingness: - non_escaping(s, n) ∨ - non_escaping(s, (unsigned int)(memchr_off((char *)s, c, n) + 1)); - assigns \result; - assigns \result \from s, c, *((unsigned char *)s + (0 .. n - 1)); - - behavior found: - assumes char_found: memchr((char *)s, c, n) ≡ \true; - ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); - ensures result_char: (int)*((char *)\result) ≡ \old(c); - ensures - result_in_str: - ∀ ℤ i; - 0 ≤ i < \old(n) ⇒ - *((unsigned char *)\old(s) + i) ≡ \old(c) ⇒ - \result ≤ \old(s) + i; - - behavior not_found: - assumes char_not_found: ¬(memchr((char *)s, c, n) ≡ \true); - ensures result_null: \result ≡ \null; +/*@ assigns \result; + assigns \result \from *__fc_stdin; */ +extern int getchar(void); + +/*@ ensures result_null_or_same: \result ≡ \old(s) ∨ \result ≡ \null; + assigns *(s + (..)), \result; + assigns *(s + (..)) \from *__fc_stdin; + assigns \result \from s, __fc_stdin; */ -void *memchr(void const *s, int c, size_t n) -{ - void *__retres; - unsigned char const ch = (unsigned char)c; - unsigned char const *ss = (unsigned char const *)s; - { - size_t i = (unsigned int)0; - while (i < n) { - if ((int)*(ss + i) == (int)ch) { - __retres = (void *)(ss + i); - goto return_label; - } - i += (size_t)1; - } - } - __retres = (void *)0; - return_label: return __retres; -} +extern char *gets(char *s); -void *memrchr(void const *s, int c, size_t n) -{ - void *__retres; - unsigned char const ch = (unsigned char)c; - unsigned char const *ss = (unsigned char const *)s; - { - size_t i = n; - while (i > (size_t)0) { - if ((int)*(ss + (i - (size_t)1)) == (int)ch) { - __retres = (void *)(ss + (i - (size_t)1)); - goto return_label; - } - i -= (size_t)1; - } - } - __retres = (void *)0; - return_label: return __retres; -} +/*@ assigns *stream; + assigns *stream \from c; */ +extern int putc(int c, FILE *stream); -/*@ requires valid_string_haystack: valid_read_string(haystack); - requires valid_string_needle: valid_read_string(needle); +/*@ assigns *__fc_stdout; + assigns *__fc_stdout \from c; */ +extern int putchar(int c); + +/*@ assigns *__fc_stdout; + assigns *__fc_stdout \from *(s + (..)); */ +extern int puts(char const *s); + +/*@ assigns *stream; + assigns *stream \from c; */ +extern int ungetc(int c, FILE *stream); + +/*@ requires valid_ptr_block: \valid((char *)ptr + (0 .. nmemb * size - 1)); + requires valid_stream: \valid(stream); + ensures size_read: \result ≤ \old(nmemb); ensures - result_null_or_in_haystack: - \result ≡ \null ∨ - (\subset(\result, \old(haystack) + (0 ..)) ∧ - \valid_read(\result) ∧ - memcmp{Pre, Pre}(\result, \old(needle), strlen(\old(needle))) ≡ 0); - assigns \result; - assigns \result - \from haystack, (indirect: *(haystack + (0 ..))), - (indirect: *(needle + (0 ..))); + initialization: + \initialized((char *)\old(ptr) + (0 .. \result * \old(size) - 1)); + assigns *((char *)ptr + (0 .. nmemb * size - 1)), \result; + assigns *((char *)ptr + (0 .. nmemb * size - 1)) + \from size, nmemb, *stream; + assigns \result \from size, *stream; */ -char *strstr(char const *haystack, char const *needle) -{ - char *__retres; - if ((int)*(needle + 0) == 0) { - __retres = (char *)haystack; - goto return_label; - } - { - size_t i = (unsigned int)0; - while ((int)*(haystack + i) != 0) { - { - size_t j; - j = (unsigned int)0; - while ((int)*(haystack + (i + j)) != 0) { - if ((int)*(haystack + (i + j)) != (int)*(needle + j)) break; - j += (size_t)1; - } - if ((int)*(needle + j) == 0) { - __retres = (char *)(haystack + i); - goto return_label; - } - } - i += (size_t)1; - } - } - __retres = (char *)0; - return_label: return __retres; -} +extern size_t fread(void * __restrict ptr, size_t size, size_t nmemb, + FILE * __restrict stream); -static int __fc_strerror_init; -/*@ ensures result_internal_str: \result ≡ __fc_p_strerror; - ensures result_nul_terminated: *(\result + 63) ≡ 0; - ensures result_valid_string: valid_read_string(\result); - assigns \result; - assigns \result \from __fc_p_strerror, (indirect: errnum); +/*@ requires + valid_ptr_block: \valid_read((char *)ptr + (0 .. nmemb * size - 1)); + requires valid_stream: \valid(stream); + ensures size_written: \result ≤ \old(nmemb); + assigns *stream, \result; + assigns *stream \from *((char *)ptr + (0 .. nmemb * size - 1)); + assigns \result \from *((char *)ptr + (0 .. nmemb * size - 1)); */ -char *strerror(int errnum) -{ - char *__retres; - if (! __fc_strerror_init) { - Frama_C_make_unknown(__fc_strerror,(unsigned int)63); - __fc_strerror[63] = (char)0; - __fc_strerror_init = 1; - } - __retres = __fc_strerror; - return __retres; -} +extern size_t fwrite(void const * __restrict ptr, size_t size, size_t nmemb, + FILE * __restrict stream); -/*@ requires valid_string_s: valid_read_string(s); - assigns \result; - assigns \result - \from (indirect: *(s + (0 .. strlen{Old}(s)))), - (indirect: __fc_heap_status); - allocates \result; - - behavior allocation: - assumes can_allocate: is_allocable(strlen(s)); - ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s))); - ensures - result_valid_string_and_same_contents: - valid_string(\result) ∧ strcmp(\result, \old(s)) ≡ 0; - assigns __fc_heap_status, \result; - assigns __fc_heap_status \from (indirect: s), __fc_heap_status; - assigns \result - \from (indirect: *(s + (0 .. strlen{Old}(s)))), - (indirect: __fc_heap_status); - - behavior no_allocation: - assumes cannot_allocate: ¬is_allocable(strlen(s)); - ensures result_null: \result ≡ \null; - assigns \result; - assigns \result \from \nothing; - allocates \nothing; - */ -char *strdup(char const *s) -{ - char *__retres; - size_t tmp; - tmp = strlen(s); - size_t l = tmp + (size_t)1; - char *p = malloc(l); - if (! p) { - __fc_errno = 12; - __retres = (char *)0; - goto return_label; - } - memcpy((void *)p,(void const *)s,l); - __retres = p; - return_label: return __retres; -} +/*@ assigns *pos; + assigns *pos \from *stream; */ +extern int fgetpos(FILE * __restrict stream, fpos_t * __restrict pos); -/*@ assigns \result; +/*@ requires valid_stream: \valid(stream); + requires whence_enum: whence ≡ 0 ∨ whence ≡ 1 ∨ whence ≡ 2; + assigns *stream, \result, __fc_errno; + assigns *stream \from *stream, (indirect: offset), (indirect: whence); assigns \result - \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: n), - (indirect: __fc_heap_status); - allocates \result; - - behavior allocation: - assumes can_allocate: is_allocable(\min(strlen(s), n + 1)); - ensures - allocation: - \fresh{Old, Here}(\result,\min(strlen(\old(s)), \old(n) + 1)); - ensures - result_valid_string_bounded_and_same_prefix: - \valid(\result + (0 .. \min(strlen(\old(s)), \old(n)))) ∧ - valid_string(\result) ∧ strlen(\result) ≤ \old(n) ∧ - strncmp(\result, \old(s), \old(n)) ≡ 0; - assigns __fc_heap_status, \result; - assigns __fc_heap_status - \from (indirect: s), (indirect: n), __fc_heap_status; - assigns \result - \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: n), - (indirect: __fc_heap_status); - - behavior no_allocation: - assumes cannot_allocate: ¬is_allocable(\min(strlen(s), n + 1)); - ensures result_null: \result ≡ \null; - assigns \result; - assigns \result \from \nothing; - allocates \nothing; + \from (indirect: *stream), (indirect: offset), (indirect: whence); + assigns __fc_errno + \from (indirect: *stream), (indirect: offset), (indirect: whence); */ -char *strndup(char const *s, size_t n) -{ - char *__retres; - size_t l; - l = (unsigned int)0; - while (l < n) { - if ((int)*(s + l) == 0) break; - l += (size_t)1; - } - char *p = malloc(l + (size_t)1); - if (! p) { - __fc_errno = 12; - __retres = (char *)0; - goto return_label; - } - memcpy((void *)p,(void const *)s,l); - *(p + l) = (char)0; - __retres = p; - return_label: return __retres; -} +extern int fseek(FILE *stream, long offset, int whence); -static int __fc_strsignal_init; -/*@ ensures result_internal_str: \result ≡ __fc_p_strsignal; - ensures result_nul_terminated: *(\result + 63) ≡ 0; - ensures result_valid_string: valid_read_string(\result); - assigns \result; - assigns \result \from __fc_p_strsignal, (indirect: signum); +/*@ assigns *stream; + assigns *stream \from *pos; */ +extern int fsetpos(FILE *stream, fpos_t const *pos); + +/*@ requires valid_stream: \valid(stream); + ensures + success_or_error: + \result ≡ -1 ∨ + (\result ≥ 0 ∧ __fc_errno ≡ \old(__fc_errno)); + assigns \result, __fc_errno; + assigns \result \from (indirect: *stream); + assigns __fc_errno \from (indirect: *stream); */ -char *strsignal(int signum) -{ - char *__retres; - if (! __fc_strsignal_init) { - Frama_C_make_unknown(__fc_strsignal,(unsigned int)63); - __fc_strsignal[63] = (char)0; - __fc_strsignal_init = 1; - } - __retres = __fc_strsignal; - return __retres; -} +extern long ftell(FILE *stream); + +/*@ assigns *stream; + assigns *stream \from \nothing; */ +extern void rewind(FILE *stream); + +/*@ assigns *stream; + assigns *stream \from \nothing; */ +extern void clearerr(FILE *stream); -/*@ ghost unsigned int volatile __fc_time __attribute__((__FRAMA_C_MODEL__)); - */ /*@ assigns \result; - assigns \result \from __fc_time; */ -extern clock_t clock(void); + assigns \result \from *stream; */ +extern int feof(FILE *stream); /*@ assigns \result; - assigns \result \from time1, time0; */ -extern double difftime(time_t time1, time_t time0); + assigns \result \from *stream; */ +extern int fileno(FILE *stream); -/*@ assigns *timeptr, \result; - assigns *timeptr \from *timeptr; - assigns \result \from *timeptr; +/*@ assigns *stream; + assigns *stream \from \nothing; */ +extern void flockfile(FILE *stream); + +/*@ assigns *stream; + assigns *stream \from \nothing; */ +extern void funlockfile(FILE *stream); + +/*@ assigns \result, *stream; + assigns \result \from \nothing; + assigns *stream \from \nothing; */ -extern time_t mktime(struct tm *timeptr); +extern int ftrylockfile(FILE *stream); -/*@ assigns *timer, \result; - assigns *timer \from __fc_time; - assigns \result \from __fc_time; - - behavior null: - assumes timer_null: timer ≡ \null; - assigns \result; - assigns \result \from __fc_time; - - behavior not_null: - assumes timer_non_null: timer ≢ \null; - requires valid_timer: \valid(timer); - ensures initialization: timer: \initialized(\old(timer)); - assigns *timer, \result; - assigns *timer \from __fc_time; - assigns \result \from __fc_time; - - complete behaviors not_null, null; - disjoint behaviors not_null, null; +/*@ assigns \result; + assigns \result \from *stream; */ +extern int ferror(FILE *stream); + +/*@ assigns __fc_stdout; + assigns __fc_stdout \from __fc_errno, *(s + (..)); */ -extern time_t time(time_t *timer); +extern void perror(char const *s); -char __fc_ctime[26]; -char * const __fc_p_ctime = __fc_ctime; -/*@ requires valid_timer: \valid_read(timer); - requires initialization: init_timer: \initialized(timer); - ensures result_points_to_ctime: \result ≡ __fc_p_ctime; - ensures result_valid_string: valid_read_string(__fc_p_ctime); - assigns __fc_ctime[0 .. 25], \result; - assigns __fc_ctime[0 .. 25] - \from (indirect: *timer), (indirect: __fc_time); - assigns \result - \from (indirect: *timer), (indirect: __fc_time), __fc_p_ctime; - */ -extern char *ctime(time_t const *timer); - -struct tm __fc_time_tm; -struct tm * const __fc_p_time_tm = & __fc_time_tm; -/*@ ensures - result_null_or_internal_tm: - \result ≡ &__fc_time_tm ∨ \result ≡ \null; - assigns \result, __fc_time_tm; - assigns \result \from __fc_p_time_tm; - assigns __fc_time_tm \from *timer; +/*@ assigns \result, *stream; + assigns \result \from *stream; + assigns *stream \from *stream; */ -extern struct tm *gmtime(time_t const *timer); +extern int getc_unlocked(FILE *stream); -/*@ ensures - result_null_or_internal_tm: - \result ≡ &__fc_time_tm ∨ \result ≡ \null; - assigns \result, __fc_time_tm; - assigns \result \from __fc_p_time_tm; - assigns __fc_time_tm \from *timer; - */ -extern struct tm *localtime(time_t const *timer); +/*@ assigns \result; + assigns \result \from *__fc_stdin; */ +extern int getchar_unlocked(void); -/*@ requires dst_has_room: \valid(s + (0 .. max - 1)); - requires valid_format: valid_read_string(format); - requires valid_tm: \valid_read(tm); - ensures result_bounded: \result ≤ \old(max); - assigns *(s + (0 .. max - 1)), \result; - assigns *(s + (0 .. max - 1)) - \from (indirect: max), (indirect: *(format + (0 ..))), (indirect: *tm); - assigns \result - \from (indirect: max), (indirect: *(format + (0 ..))), (indirect: *tm); - */ -extern size_t strftime(char * __restrict s, size_t max, - char const * __restrict format, - struct tm const * __restrict tm); +/*@ assigns *stream; + assigns *stream \from c; */ +extern int putc_unlocked(int c, FILE *stream); -/*@ requires tp: \valid(tp); - assigns \result, *tp, __fc_time; - assigns \result \from __fc_time; - assigns *tp \from __fc_time; - assigns __fc_time \from __fc_time; - - behavior realtime_clock: - assumes realtime: clk_id ≡ 666; - ensures success: \result ≡ 0; - ensures initialization: \initialized(\old(tp)); - - behavior monotonic_clock: - assumes monotonic: clk_id ≡ 1; - ensures success: \result ≡ 0; - ensures initialization: \initialized(\old(tp)); - - behavior bad_clock_id: - assumes bad_id: clk_id ≢ 666 ∧ clk_id ≢ 1; - ensures error: \result ≡ 22; - assigns \result; - assigns \result \from clk_id; - - complete behaviors bad_clock_id, monotonic_clock, realtime_clock; - disjoint behaviors bad_clock_id, monotonic_clock, realtime_clock; - */ -extern int clock_gettime(clockid_t clk_id, struct timespec *tp); +/*@ assigns *__fc_stdout; + assigns *__fc_stdout \from c; */ +extern int putchar_unlocked(int c); -/*@ -axiomatic nanosleep_predicates { - predicate abs_clock_in_range{L}(clockid_t id, struct timespec *tm) - reads __fc_time; - - predicate valid_clock_id{L}(clockid_t id) - reads __fc_time; - - } +/*@ assigns *stream; + assigns *stream \from \nothing; */ +extern void clearerr_unlocked(FILE *stream); -*/ -/*@ ghost int volatile __fc_interrupted __attribute__((__FRAMA_C_MODEL__)); - */ -/*@ requires valid_request: \valid_read(rqtp); - requires - initialization: initialized_request: - \initialized(&rqtp->tv_sec) ∧ \initialized(&rqtp->tv_nsec); - requires valid_nanosecs: 0 ≤ rqtp->tv_nsec < 1000000000; - requires valid_remaining_or_null: rmtp ≡ \null ∨ \valid(rmtp); - assigns \result; - assigns \result - \from (indirect: __fc_time), (indirect: __fc_interrupted), - (indirect: clock_id), (indirect: flags), (indirect: rqtp), - (indirect: *rqtp); - - behavior absolute: - assumes absolute_time: (flags & 1) ≢ 0; - assumes - no_einval: - abs_clock_in_range(clock_id, rqtp) ∧ valid_clock_id(clock_id); - ensures - result_ok_or_error: - \result ≡ 0 ∨ \result ≡ 4 ∨ \result ≡ 22 ∨ - \result ≡ 95; - assigns \result; - assigns \result - \from (indirect: __fc_time), (indirect: __fc_interrupted), - (indirect: clock_id), (indirect: rqtp), (indirect: *rqtp); - - behavior relative_interrupted: - assumes relative_time: (flags & 1) ≡ 0; - assumes interrupted: __fc_interrupted ≢ 0; - assumes no_einval: valid_clock_id(clock_id); - ensures result_interrupted: \result ≡ 4; - ensures - initialization: interrupted_remaining: - \old(rmtp) ≢ \null ⇒ - \initialized(&\old(rmtp)->tv_sec) ∧ - \initialized(&\old(rmtp)->tv_nsec); - ensures - interrupted_remaining_decreases: - \old(rmtp) ≢ \null ⇒ - \old(rqtp)->tv_sec * 1000000000 + \old(rqtp)->tv_nsec ≥ - \old(rmtp)->tv_sec * 1000000000 + \old(rmtp)->tv_nsec; - ensures - remaining_valid: - \old(rmtp) ≢ \null ⇒ 0 ≤ \old(rmtp)->tv_nsec < 1000000000; - assigns \result, *rmtp; - assigns \result - \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp), - (indirect: *rqtp); - assigns *rmtp - \from __fc_time, (indirect: clock_id), (indirect: rqtp), - (indirect: *rqtp), (indirect: rmtp); - - behavior relative_no_error: - assumes relative_time: (flags & 1) ≡ 0; - assumes not_interrupted: __fc_interrupted ≡ 0; - assumes no_einval: valid_clock_id(clock_id); - ensures result_ok: \result ≡ 0; - assigns \result; - assigns \result - \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp), - (indirect: *rqtp); - - behavior relative_invalid_clock_id: - assumes relative_time: (flags & 1) ≡ 0; - assumes not_interrupted: __fc_interrupted ≡ 0; - assumes einval: ¬valid_clock_id(clock_id); - ensures result_einval: \result ≡ 22; - assigns \result; - assigns \result - \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp), - (indirect: *rqtp); - - complete behaviors relative_invalid_clock_id, - relative_no_error, - relative_interrupted, - absolute; - disjoint behaviors relative_invalid_clock_id, - relative_no_error, - relative_interrupted, - absolute; - */ -extern int clock_nanosleep(clockid_t clock_id, int flags, - struct timespec const *rqtp, struct timespec *rmtp); +/*@ assigns \result; + assigns \result \from *stream; */ +extern int feof_unlocked(FILE *stream); -/*@ requires valid_request: \valid_read(rqtp); - requires - initialization: initialized_request: - \initialized(&rqtp->tv_sec) ∧ \initialized(&rqtp->tv_nsec); - requires valid_nanosecs: 0 ≤ rqtp->tv_nsec < 1000000000; - requires valid_remaining_or_null: rmtp ≡ \null ∨ \valid(rmtp); - ensures result_elapsed_or_interrupted: \result ≡ 0 ∨ \result ≡ -1; - ensures - initialization: interrupted_remaining: - \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒ - \initialized(&\old(rmtp)->tv_sec) ∧ - \initialized(&\old(rmtp)->tv_nsec); - ensures - interrupted_remaining_decreases: - \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒ - \old(rqtp)->tv_sec * 1000000000 + \old(rqtp)->tv_nsec ≥ - \old(rmtp)->tv_sec * 1000000000 + \old(rmtp)->tv_nsec; - ensures - interrupted_remaining_valid: - \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒ - 0 ≤ \old(rmtp)->tv_nsec < 1000000000; - assigns \result, *rmtp; - assigns \result - \from (indirect: __fc_time), (indirect: rqtp), (indirect: *rqtp); - assigns *rmtp - \from (indirect: __fc_time), (indirect: rqtp), (indirect: *rqtp), - (indirect: rmtp); - */ -extern int nanosleep(struct timespec const *rqtp, struct timespec *rmtp); +/*@ assigns \result; + assigns \result \from *stream; */ +extern int ferror_unlocked(FILE *stream); -extern void tzset(void); +/*@ assigns \result; + assigns \result \from *stream; */ +extern int fileno_unlocked(FILE *stream); -extern char *tzname[2]; +/*@ axiomatic pipe_streams { + predicate is_open_pipe{L}(FILE *stream) ; + + } -/*@ assigns *(tzname[0 .. 1] + (0 ..)); - assigns *(tzname[0 .. 1] + (0 ..)) \from \nothing; +*/ +/*@ requires valid_command: valid_read_string(command); + requires valid_type: valid_read_string(type); + ensures + result_error_or_valid_open_pipe: + \result ≡ \null ∨ + (\subset(\result, &__fc_fopen[0 .. 16 - 1]) ∧ is_open_pipe(\result)); + assigns \result, __fc_fopen[0 ..]; + assigns \result + \from (indirect: *command), (indirect: *type), __fc_p_fopen; + assigns __fc_fopen[0 ..] + \from (indirect: *command), (indirect: *type), __fc_fopen[0 ..]; */ -extern void tzset(void); +extern FILE *popen(char const *command, char const *type); -/*@ ensures - result_null_or_inside_s: - \result ≡ \null ∨ \subset(\result, \old(s) + (0 .. \old(n) - 1)); +/*@ requires valid_stream: \valid(stream); + requires open_pipe: is_open_pipe(stream); + ensures closed_stream: ¬is_open_pipe(\old(stream)); assigns \result; - assigns \result - \from s, (indirect: *(s + (0 .. n - 1))), (indirect: c), (indirect: n); + assigns \result \from (indirect: *stream); */ -extern wchar_t *wmemchr(wchar_t const *s, wchar_t c, size_t n); +extern int pclose(FILE *stream); -/*@ assigns \result; - assigns \result - \from (indirect: *(s1 + (0 .. n - 1))), - (indirect: *(s2 + (0 .. n - 1))), (indirect: n); - */ -extern int wmemcmp(wchar_t const *s1, wchar_t const *s2, size_t n); - -wchar_t *wmemcpy(wchar_t *dest, wchar_t const *src, size_t n); - -/*@ ensures result_ptr: \result ≡ \old(dest); - assigns *(dest + (0 .. n - 1)), \result; - assigns *(dest + (0 .. n - 1)) - \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n); - assigns \result \from dest; - */ -extern wchar_t *wmemmove(wchar_t *dest, wchar_t const *src, size_t n); - -wchar_t *wmemset(wchar_t *dest, wchar_t val, size_t len); +ssize_t getline(char **lineptr, size_t *n, FILE *stream); -wchar_t *wcscat(wchar_t *dest, wchar_t const *src); +FILE __fc_initial_stdout = + {.__fc_FILE_id = (unsigned int)1, .__fc_FILE_data = 0U}; +FILE *__fc_stdout = & __fc_initial_stdout; +FILE __fc_initial_stderr = + {.__fc_FILE_id = (unsigned int)2, .__fc_FILE_data = 0U}; +FILE *__fc_stderr = & __fc_initial_stderr; +FILE __fc_initial_stdin = + {.__fc_FILE_id = (unsigned int)0, .__fc_FILE_data = 0U}; +FILE *__fc_stdin = & __fc_initial_stdin; +ssize_t getline(char **lineptr, size_t *n, FILE *stream) +{ + ssize_t __retres; + int tmp; + if (! lineptr) goto _LOR; + else + if (! n) goto _LOR; + else + if (! stream) { + _LOR: { + __fc_errno = 22; + __retres = -1; + goto return_label; + } + } + tmp = ferror(stream); + if (tmp) goto _LOR_0; + else { + int tmp_0; + tmp_0 = feof(stream); + if (tmp_0) { + _LOR_0: { + __retres = -1; + goto return_label; + } + } + } + if (! *lineptr) goto _LOR_1; + else + if (*n == (size_t)0) { + _LOR_1: + { + *lineptr = (char *)malloc((unsigned int)2); + if (! lineptr) { + __fc_errno = 12; + __retres = -1; + goto return_label; + } + *n = (unsigned int)2; + } + } + size_t cur = (unsigned int)0; + while (1) { + int tmp_3; + tmp_3 = ferror(stream); + if (tmp_3) break; + else { + int tmp_4; + tmp_4 = feof(stream); + if (tmp_4) break; + } + { + while (cur < *n - (size_t)1) { + int tmp_1; + tmp_1 = fgetc(stream); + char c = (char)tmp_1; + if ((int)c == -1) + if (cur == (size_t)0) { + __retres = -1; + goto return_label; + } + if ((int)c != -1) { + size_t tmp_2; + tmp_2 = cur; + cur += (size_t)1; + *(*lineptr + tmp_2) = c; + } + if ((int)c == '\n') goto _LOR_2; + else + if ((int)c == -1) { + _LOR_2: + { + *(*lineptr + cur) = (char)'\000'; + __retres = (int)cur; + goto return_label; + } + } + } + if (*n == (size_t)2147483647) { + __fc_errno = 75; + __retres = -1; + goto return_label; + } + size_t new_size = *n + (size_t)1; + *lineptr = (char *)realloc((void *)*lineptr,new_size); + if (! *lineptr) { + __fc_errno = 12; + __retres = -1; + goto return_label; + } + *n = new_size; + } + } + __retres = -1; + return_label: return __retres; +} -/*@ requires valid_wstring_src: valid_read_wstring(wcs); - ensures - result_null_or_inside_wcs: - \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..)); +/*@ requires abs_representable: i > -2147483647 - 1; assigns \result; - assigns \result \from wcs, (indirect: *(wcs + (0 ..))), (indirect: wc); + assigns \result \from i; + + behavior negative: + assumes negative: i < 0; + ensures opposite_result: \result ≡ -\old(i); + + behavior nonnegative: + assumes nonnegative: i ≥ 0; + ensures same_result: \result ≡ \old(i); + + complete behaviors nonnegative, negative; + disjoint behaviors nonnegative, negative; */ -extern wchar_t *wcschr(wchar_t const *wcs, wchar_t wc); +int abs(int i) +{ + int __retres; + if (i < 0) { + __retres = - i; + goto return_label; + } + __retres = i; + return_label: return __retres; +} -/*@ assigns \result; - assigns \result - \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..))); +/*@ requires valid_nptr: \valid_read(p); + assigns \result; + assigns \result \from (indirect: p), (indirect: *(p + (0 ..))); */ -extern int wcscmp(wchar_t const *s1, wchar_t const *s2); - -wchar_t *wcscpy(wchar_t *dest, wchar_t const *src); +int atoi(char const *p) +{ + int __retres; + int n; + int c; + int tmp_1; + int tmp_3; + int neg = 0; + unsigned char *up = (unsigned char *)p; + c = (int)*up; + tmp_1 = isdigit(c); + if (! tmp_1) { + int tmp_0; + while (1) { + int tmp; + tmp = isspace(c); + if (! tmp) break; + up ++; + c = (int)*up; + } + switch (c) { + case '-': neg ++; + case '+': { /* sequence */ + up ++; + c = (int)*up; + } + } + tmp_0 = isdigit(c); + if (! tmp_0) { + __retres = 0; + goto return_label; + } + } + n = '0' - c; + while (1) { + int tmp_2; + up ++; + c = (int)*up; + tmp_2 = isdigit(c); + if (! tmp_2) break; + n *= 10; + n += '0' - c; + } + if (neg) tmp_3 = n; else tmp_3 = - n; + __retres = tmp_3; + return_label: return __retres; +} -/*@ assigns \result; +/*@ assigns __fc_heap_status, \result; + assigns __fc_heap_status + \from (indirect: nmemb), (indirect: size), __fc_heap_status; assigns \result - \from (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..))); + \from (indirect: nmemb), (indirect: size), (indirect: __fc_heap_status); + allocates \result; + + behavior allocation: + assumes can_allocate: is_allocable(nmemb * size); + ensures + allocation: \fresh{Old, Here}(\result,\old(nmemb) * \old(size)); + ensures + initialization: + \initialized((char *)\result + (0 .. \old(nmemb) * \old(size) - 1)); + ensures + zero_initialization: + \subset(*((char *)\result + (0 .. \old(nmemb) * \old(size) - 1)), + {0}); + + behavior no_allocation: + assumes cannot_allocate: ¬is_allocable(nmemb * size); + ensures null_result: \result ≡ \null; + assigns \result; + assigns \result \from \nothing; + allocates \nothing; + + complete behaviors no_allocation, allocation; + disjoint behaviors no_allocation, allocation; */ -extern size_t wcscspn(wchar_t const *wcs, wchar_t const *accept); +void *calloc(size_t nmemb, size_t size) +{ + void *__retres; + size_t l = nmemb * size; + if (size != (size_t)0) + if (l / size != nmemb) { + __retres = (void *)0; + goto return_label; + } + char *p = malloc(l); + if (p) memset((void *)p,0,l); + __retres = (void *)p; + return_label: return __retres; +} -/*@ assigns *(dest + (0 ..)), \result; - assigns *(dest + (0 ..)) - \from *(dest + (0 ..)), (indirect: dest), *(src + (0 .. n - 1)), - (indirect: src), (indirect: n); - assigns \result - \from (indirect: *(dest + (0 ..))), (indirect: *(src + (0 .. n - 1))), - (indirect: n); - */ -extern size_t wcslcat(wchar_t * __restrict dest, - wchar_t const * __restrict src, size_t n); - -/*@ requires - separation: dest: src: - \separated(dest + (0 .. n - 1), src + (0 .. n - 1)); - assigns *(dest + (0 .. n - 1)), \result; - assigns *(dest + (0 .. n - 1)) - \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n); - assigns \result - \from (indirect: *(dest + (0 .. n - 1))), (indirect: dest), - (indirect: *(src + (0 .. n - 1))), (indirect: src), (indirect: n); - */ -extern size_t wcslcpy(wchar_t *dest, wchar_t const *src, size_t n); - -size_t wcslen(wchar_t const *str); - -wchar_t *wcsncat(wchar_t *dest, wchar_t const *src, size_t n); - -/*@ assigns \result; - assigns \result - \from (indirect: *(s1 + (0 .. n - 1))), - (indirect: *(s2 + (0 .. n - 1))), (indirect: n); - */ -extern int wcsncmp(wchar_t const *s1, wchar_t const *s2, size_t n); - -wchar_t *wcsncpy(wchar_t *dest, wchar_t const *src, size_t n); - -/*@ ensures - result_null_or_inside_wcs: - \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..)); - assigns \result; - assigns \result - \from wcs, (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..))); - */ -extern wchar_t *wcspbrk(wchar_t const *wcs, wchar_t const *accept); - -/*@ ensures - result_null_or_inside_wcs: - \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..)); - assigns \result; - assigns \result \from wcs, (indirect: *(wcs + (0 ..))), (indirect: wc); - */ -extern wchar_t *wcsrchr(wchar_t const *wcs, wchar_t wc); - -/*@ assigns \result; - assigns \result - \from (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..))); - */ -extern size_t wcsspn(wchar_t const *wcs, wchar_t const *accept); - -/*@ ensures - result_null_or_inside_haystack: - \result ≡ \null ∨ \subset(\result, \old(haystack) + (0 ..)); - assigns \result; - assigns \result - \from haystack, (indirect: *(haystack + (0 ..))), - (indirect: *(needle + (0 ..))); - */ -extern wchar_t *wcsstr(wchar_t const *haystack, wchar_t const *needle); - -/*@ requires valid_stream: \valid(stream); - ensures result_null_or_same: \result ≡ \null ∨ \result ≡ \old(ws); - ensures - terminated_string_on_success: - \result ≢ \null ⇒ valid_wstring(\old(ws)); - assigns *(ws + (0 .. n)), \result; - assigns *(ws + (0 .. n)) \from (indirect: n), (indirect: *stream); - assigns \result \from ws, (indirect: n), (indirect: *stream); - */ -extern wchar_t *fgetws(wchar_t * __restrict ws, int n, - FILE * __restrict stream); - -/*@ axiomatic wformat_length { - logic ℤ wformat_length{L}(wchar_t *format) ; - +static char __fc_env_strings[64]; +static char __fc_initenv_init; +static void __fc_initenv(void) +{ + if (! __fc_initenv_init) { + Frama_C_make_unknown(__fc_env_strings,(unsigned int)(64 - 1)); + { + int i = 0; + while (i < 4096) { + { + int tmp; + tmp = Frama_C_interval(0,64 - 1); + __fc_env[i] = & __fc_env_strings[tmp]; + } + i ++; } + } + __fc_initenv_init = (char)1; + } + return; +} -*/ -/*@ requires - separation: dest: src: - \separated(dest + (0 .. n - 1), src + (0 .. n - 1)); - ensures result_ptr: \result ≡ \old(dest); - assigns *(dest + (0 .. n - 1)), \result; - assigns *(dest + (0 .. n - 1)) - \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n); - assigns \result \from dest; +/*@ requires valid_name: valid_read_string(name); + ensures null_or_valid_result: \result ≡ \null ∨ \valid(\result); + assigns \result; + assigns \result \from __fc_env[0 ..], (indirect: name), *(name + (0 ..)); */ -wchar_t *wmemcpy(wchar_t *dest, wchar_t const *src, size_t n) +char *getenv(char const *name) { - { - size_t i = (unsigned int)0; - while (i < n) { - *(dest + i) = *(src + i); - i += (size_t)1; - } + char *__retres; + int tmp_0; + /*@ assert ¬(strchr(name, '=') ≡ \true); */ ; + __fc_initenv(); + tmp_0 = Frama_C_nondet(0,1); + if (tmp_0) { + int tmp; + tmp = Frama_C_interval(0,4096 - 1); + ; + __retres = __fc_env[tmp]; + goto return_label; } - return dest; + else { + __retres = (char *)0; + goto return_label; + } + return_label: return __retres; } -/*@ ensures result_ptr: \result ≡ \old(dest); - ensures - initialization: wcs: \initialized(\old(dest) + (0 .. \old(len) - 1)); - ensures - contents_equal_wc: - \subset(*(\old(dest) + (0 .. \old(len) - 1)), \old(val)); - assigns *(dest + (0 .. len - 1)), \result; - assigns *(dest + (0 .. len - 1)) \from val, (indirect: len); - assigns \result \from dest; +/*@ requires valid_string: valid_read_string(string); + assigns __fc_env[0 ..], \result; + assigns __fc_env[0 ..] \from __fc_env[0 ..], string; + assigns \result \from (indirect: __fc_env[0 ..]), (indirect: string); */ -wchar_t *wmemset(wchar_t *dest, wchar_t val, size_t len) +int putenv(char *string) { - { - size_t i = (unsigned int)0; - while (i < len) { - *(dest + i) = val; - i += (size_t)1; + int __retres; + int tmp_3; + char *separator = strchr((char const *)string,'='); + /*@ assert string_contains_separator: separator ≢ \null; */ ; + /*@ assert name_is_not_empty: separator ≢ string; */ ; + __fc_initenv(); + tmp_3 = Frama_C_nondet(0,1); + if (tmp_3) { + int tmp_1; + int tmp_2; + tmp_1 = Frama_C_nondet(0,1); + if (tmp_1) { + int tmp_0; + tmp_0 = Frama_C_interval(-2147483647 - 1,2147483647); + __retres = tmp_0; + goto return_label; } + tmp_2 = Frama_C_interval(0,4096 - 1); + __fc_env[tmp_2] = string; } - return dest; + __retres = 0; + return_label: return __retres; } -/*@ ensures result_ptr: \result ≡ \old(dest); - assigns *(dest + (0 ..)), \result; - assigns *(dest + (0 ..)) - \from *(src + (0 ..)), (indirect: src), *(dest + (0 ..)), - (indirect: dest); - assigns \result \from dest; +/*@ requires valid_name: valid_read_string(name); + requires valid_value: valid_read_string(value); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result, __fc_env[0 ..]; + assigns \result + \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))), + (indirect: value), (indirect: *(value + (0 ..))), + (indirect: overwrite); + assigns __fc_env[0 ..] + \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))), + (indirect: value), (indirect: *(value + (0 ..))), + (indirect: overwrite); */ -wchar_t *wcscpy(wchar_t *dest, wchar_t const *src) +int setenv(char const *name, char const *value, int overwrite) { - size_t i; - i = (unsigned int)0; - while (*(src + i) != 0) { - *(dest + i) = *(src + i); - i += (size_t)1; + int __retres; + char *tmp; + int tmp_4; + tmp = strchr(name,'='); + if (tmp) { + __retres = -1; + goto return_label; } - *(dest + i) = 0; - return dest; + size_t namelen = strlen(name); + if (namelen == (size_t)0) { + __retres = -1; + goto return_label; + } + __fc_initenv(); + tmp_4 = Frama_C_nondet(0,1); + if (tmp_4) { + __retres = -1; + goto return_label; + } + else { + int tmp_1; + int tmp_2; + int tmp_3; + tmp_1 = Frama_C_nondet(0,1); + if (tmp_1) Frama_C_make_unknown(__fc_env_strings,(unsigned int)(64 - 1)); + tmp_2 = Frama_C_interval(0,4096 - 1); + tmp_3 = Frama_C_interval(0,64 - 1); + __fc_env[tmp_2] = & __fc_env_strings[tmp_3]; + __retres = 0; + goto return_label; + } + return_label: return __retres; } -/*@ requires valid_string_s: valid_read_wstring(str); - assigns \result; - assigns \result \from (indirect: *(str + (0 ..))); +/*@ requires valid_name: valid_read_string(name); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns \result, __fc_env[0 ..]; + assigns \result + \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))); + assigns __fc_env[0 ..] + \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))); */ -size_t wcslen(wchar_t const *str) +int unsetenv(char const *name) { - size_t i; - i = (unsigned int)0; - while (*(str + i) != 0) i += (size_t)1; - return i; -} - -/*@ requires - separation: dest: src: - \separated(dest + (0 .. n - 1), src + (0 .. n - 1)); - ensures result_ptr: \result ≡ \old(dest); - assigns *(dest + (0 .. n - 1)), \result; - assigns *(dest + (0 .. n - 1)) - \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n); - assigns \result \from dest; - */ -wchar_t *wcsncpy(wchar_t *dest, wchar_t const *src, size_t n) -{ - size_t i; - i = (unsigned int)0; - while (i < n) { - *(dest + i) = *(src + i); - if (*(src + i) == 0) break; - i += (size_t)1; + int __retres; + char *tmp; + int tmp_2; + tmp = strchr(name,'='); + if (tmp) { + __retres = -1; + goto return_label; } - while (i < n) { - *(dest + i) = 0; - i += (size_t)1; + size_t namelen = strlen(name); + if (namelen == (size_t)0) { + __retres = -1; + goto return_label; } - return dest; + __fc_initenv(); + tmp_2 = Frama_C_nondet(0,1); + if (tmp_2) { + int tmp_1; + tmp_1 = Frama_C_interval(0,4096 - 1); + __fc_env[tmp_1] = (char *)0; + } + __retres = 0; + return_label: return __retres; } -/*@ ensures result_ptr: \result ≡ \old(dest); - assigns *(dest + (0 ..)), \result; - assigns *(dest + (0 ..)) - \from *(dest + (0 ..)), (indirect: dest), *(src + (0 ..)), - (indirect: src); - assigns \result \from dest; +/*@ requires valid_memptr: \valid(memptr); + requires + alignment_is_a_suitable_power_of_two: + alignment ≥ sizeof(void *) ∧ + ((size_t)alignment & ((size_t)alignment - 1)) ≡ 0; + assigns __fc_heap_status, \result; + assigns __fc_heap_status + \from (indirect: alignment), size, __fc_heap_status; + assigns \result + \from (indirect: alignment), (indirect: size), + (indirect: __fc_heap_status); + allocates *\old(memptr); + + behavior allocation: + assumes can_allocate: is_allocable(size); + ensures allocation: \fresh{Old, Here}(*\old(memptr),\old(size)); + ensures result_zero: \result ≡ 0; + assigns __fc_heap_status, \result; + assigns __fc_heap_status + \from (indirect: alignment), size, __fc_heap_status; + assigns \result + \from (indirect: alignment), (indirect: size), + (indirect: __fc_heap_status); + + behavior no_allocation: + assumes cannot_allocate: ¬is_allocable(size); + ensures result_non_zero: \result < 0 ∨ \result > 0; + assigns \result; + assigns \result \from (indirect: alignment); + allocates \nothing; + + complete behaviors no_allocation, allocation; + disjoint behaviors no_allocation, allocation; */ -wchar_t *wcscat(wchar_t *dest, wchar_t const *src) +int posix_memalign(void **memptr, size_t alignment, size_t size) { - size_t i; - size_t n = wcslen((wchar_t const *)dest); - i = (unsigned int)0; - while (*(src + i) != 0) { - *(dest + (n + i)) = *(src + i); - i += (size_t)1; + int __retres; + /*@ + assert + alignment_is_a_suitable_power_of_two: + alignment ≥ sizeof(void *) ∧ + ((size_t)alignment & ((size_t)alignment - 1)) ≡ 0; + */ + ; + *memptr = malloc(size); + if (! *memptr) { + __retres = 12; + goto return_label; } - *(dest + (n + i)) = 0; - return dest; + __retres = 0; + return_label: return __retres; } -/*@ ensures result_ptr: \result ≡ \old(dest); - assigns *(dest + (0 ..)), \result; - assigns *(dest + (0 ..)) - \from *(dest + (0 ..)), (indirect: dest), *(src + (0 .. n - 1)), - (indirect: src), (indirect: n); +/*@ requires valid_dest: valid_or_empty(dest, n); + requires valid_src: valid_read_or_empty(src, n); + requires + separation: + \separated((char *)dest + (0 .. n - 1), (char *)src + (0 .. n - 1)); + ensures + copied_contents: + memcmp{Post, Pre}((char *)\old(dest), (char *)\old(src), \old(n)) ≡ + 0; + ensures result_ptr: \result ≡ \old(dest); + assigns *((char *)dest + (0 .. n - 1)), \result; + assigns *((char *)dest + (0 .. n - 1)) + \from *((char *)src + (0 .. n - 1)); assigns \result \from dest; */ -wchar_t *wcsncat(wchar_t *dest, wchar_t const *src, size_t n) +void *memcpy(void * __restrict dest, void const * __restrict src, size_t n) { - size_t i; - size_t dest_len = wcslen((wchar_t const *)dest); - i = (unsigned int)0; - while (1) { - if (i < n) { - if (! (*(src + i) != 0)) break; + { + size_t i = (unsigned int)0; + /*@ loop invariant no_eva: 0 ≤ i ≤ n; + loop invariant + no_eva: + ∀ ℤ k; + 0 ≤ k < i ⇒ *((char *)dest + k) ≡ *((char *)src + k); + loop assigns i, *((char *)dest + (0 .. n - 1)); + loop variant n - i; + */ + while (i < n) { + *((char *)dest + i) = *((char *)src + i); + i += (size_t)1; } - else break; - *(dest + (dest_len + i)) = *(src + i); - i += (size_t)1; } - *(dest + (dest_len + i)) = 0; return dest; } -/*@ ghost extern int __fc_stack_status __attribute__((__FRAMA_C_MODEL__)); */ - -/*@ ensures allocation: \fresh{Old, Here}(\result,\old(size)); - assigns __fc_stack_status, \result; - assigns __fc_stack_status \from size, __fc_stack_status; - assigns \result \from (indirect: size), (indirect: __fc_stack_status); - allocates \result; - */ -extern void *alloca(size_t size); - -DIR __fc_opendir[16]; -DIR * const __fc_p_opendir = __fc_opendir; -/*@ requires - dirp_valid_dir_stream: \subset(dirp, &__fc_opendir[0 .. 16 - 1]); - ensures - err_or_closed_on_success: - (\result ≡ 0 ∧ \old(dirp)->__fc_dir_inode ≡ \null) ∨ - \result ≡ -1; - assigns \result, __fc_errno, *dirp; - assigns \result \from dirp, *dirp, __fc_p_opendir; - assigns __fc_errno \from dirp, *dirp, __fc_p_opendir; - assigns *dirp \from dirp, *dirp, __fc_p_opendir; +/*@ assigns \result; + assigns \result \from (indirect: p), (indirect: q), (indirect: n); + + behavior separated: + assumes + separation: no_overlap: + \separated(p + (0 .. n - 1), q + (0 .. n - 1)); + ensures result_no_overlap: \result ≡ 0; + + behavior not_separated_lt: + assumes + separation: overlap: ¬\separated(p + (0 .. n - 1), q + (0 .. n - 1)); + assumes p_before_q: p ≤ q < p + n; + ensures result_p_before_q: \result ≡ -1; + + behavior not_separated_gt: + assumes + separation: overlap: ¬\separated(p + (0 .. n - 1), q + (0 .. n - 1)); + assumes p_after_q: q < p ≤ q + n; + ensures result_p_after_q: \result ≡ 1; + + complete behaviors not_separated_gt, not_separated_lt, separated; + disjoint behaviors not_separated_gt, not_separated_lt, separated; */ -extern int closedir(DIR *dirp); +static int memoverlap(char const *p, char const *q, size_t n) +{ + int __retres; + uintptr_t p1 = (unsigned int)p; + uintptr_t p2 = (unsigned int)(p + n); + uintptr_t q1 = (unsigned int)q; + uintptr_t q2 = (unsigned int)(q + n); + if (p1 <= q1) { + if (p2 > q1) { + __retres = -1; + goto return_label; + } + else goto _LAND; + } + else { + _LAND: ; + if (q1 <= p1) + if (q2 > p1) { + __retres = 1; + goto return_label; + } + else { + __retres = 0; + goto return_label; + } + else { + __retres = 0; + goto return_label; + } + } + return_label: return __retres; +} -/*@ ensures result_null_or_valid: \result ≡ \null ∨ \valid(\result); - ensures - valid_dir_stream_on_success: - \result ≢ \null ⇒ \result ≡ &__fc_opendir[\result->__fc_dir_id]; +/*@ requires valid_dest: valid_or_empty(dest, n); + requires valid_src: valid_read_or_empty(src, n); ensures - stream_positioned_on_success: - \result ≢ \null ⇒ \result->__fc_dir_inode ≢ \null; - assigns \result, __fc_errno; - assigns \result \from *(path + (0 ..)), __fc_p_opendir; - assigns __fc_errno \from *(path + (0 ..)), __fc_p_opendir; - */ -extern DIR *opendir(char const *path); - -/*@ requires - dirp_valid_dir_stream: \subset(dirp, &__fc_opendir[0 .. 16 - 1]); - ensures result_null_or_valid: \result ≡ \null ∨ \valid(\result); - assigns \result, dirp->__fc_dir_position, __fc_errno; - assigns \result \from *dirp, __fc_p_opendir; - assigns dirp->__fc_dir_position \from dirp->__fc_dir_position; - assigns __fc_errno \from dirp, *dirp, __fc_p_opendir; + copied_contents: + memcmp{Post, Pre}((char *)\old(dest), (char *)\old(src), \old(n)) ≡ + 0; + ensures result_ptr: \result ≡ \old(dest); + assigns *((char *)dest + (0 .. n - 1)), \result; + assigns *((char *)dest + (0 .. n - 1)) + \from *((char *)src + (0 .. n - 1)); + assigns \result \from dest; */ -extern struct dirent *readdir(DIR *dirp); - -/*@ requires valid_fdset: \valid(fdset); - requires initialization: \initialized(fdset); - assigns *fdset; - assigns *fdset \from *fdset, (indirect: fd); - */ -extern void FD_CLR(int fd, fd_set *fdset); +void *memmove(void *dest, void const *src, size_t n) +{ + void *__retres; + int tmp; + if (n == (size_t)0) { + __retres = dest; + goto return_label; + } + char *s = (char *)src; + char *d = (char *)dest; + tmp = memoverlap((char const *)dest,(char const *)src,n); + if (tmp <= 0) { + size_t i = (unsigned int)0; + /*@ loop invariant no_eva: 0 ≤ i ≤ n; + loop invariant + no_eva: + ∀ ℤ k; + 0 ≤ k < i ⇒ + *((char *)dest + k) ≡ \at(*((char *)src + k),LoopEntry); + loop invariant + no_eva: + ∀ ℤ k; + i ≤ k < n ⇒ + *((char *)src + k) ≡ \at(*((char *)src + k),LoopEntry); + loop assigns i, *((char *)dest + (0 .. n - 1)); + loop variant n - i; + */ + while (i < n) { + *(d + i) = *(s + i); + i += (size_t)1; + } + } + else { + { + size_t i_0 = n - (size_t)1; + /*@ loop invariant no_eva: 0 ≤ i_0 < n; + loop invariant + no_eva: + ∀ ℤ k; + i_0 < k < n ⇒ + *((char *)dest + k) ≡ \at(*((char *)src + k),LoopEntry); + loop invariant + no_eva: + ∀ ℤ k; + 0 ≤ k ≤ i_0 ⇒ + *((char *)src + k) ≡ \at(*((char *)src + k),LoopEntry); + loop assigns i_0, *((char *)dest + (0 .. n - 1)); + loop variant i_0; + */ + while (i_0 > (size_t)0) { + *(d + i_0) = *(s + i_0); + i_0 -= (size_t)1; + } + } + *(d + 0) = *(s + 0); + } + __retres = dest; + return_label: return __retres; +} -/*@ requires valid_fdset: \valid_read(fdset); - requires initialization: \initialized(fdset); +/*@ requires valid_string_s: valid_read_string(s); + ensures acsl_c_equiv: \result ≡ strlen(\old(s)); assigns \result; - assigns \result \from (indirect: *fdset), (indirect: fd); - */ -extern int FD_ISSET(int fd, fd_set const *fdset); - -/*@ requires valid_fdset: \valid(fdset); - requires initialization: \initialized(fdset); - assigns *fdset; - assigns *fdset \from *fdset, (indirect: fd); - */ -extern void FD_SET(int fd, fd_set *fdset); - -/*@ requires valid_fdset: \valid(fdset); - ensures initialization: \initialized(\old(fdset)); - assigns *fdset; - assigns *fdset \from \nothing; + assigns \result \from (indirect: *(s + (0 ..))); */ -extern void FD_ZERO(fd_set *fdset); +size_t strlen(char const *s) +{ + size_t i; + i = (unsigned int)0; + while ((int)*(s + i) != 0) i += (size_t)1; + return i; +} -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (int)(\old(a) + \old(b)); +/*@ requires valid_string_s: valid_read_nstring(s, maxlen); ensures - result_overflow: - \old(a) + \old(b) ≡ (int)(\old(a) + \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; + result_bounded: + \result ≡ strlen(\old(s)) ∨ \result ≡ \old(maxlen); + assigns \result; + assigns \result + \from (indirect: *(s + (0 .. maxlen - 1))), (indirect: maxlen); */ -_Bool __builtin_sadd_overflow(int a, int b, int *res); +size_t strnlen(char const *s, size_t maxlen) +{ + size_t i; + i = (unsigned int)0; + while (1) { + if (i < maxlen) { + if (! ((int)*(s + i) != 0)) break; + } + else break; + i += (size_t)1; + } + return i; +} -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (long)(\old(a) + \old(b)); +/*@ requires valid_s: valid_or_empty(s, n); ensures - result_overflow: - \old(a) + \old(b) ≡ (long)(\old(a) + \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; + acsl_c_equiv: memset((char *)\old(s), \old(c), \old(n)) ≡ \true; + ensures result_ptr: \result ≡ \old(s); + assigns *((char *)s + (0 .. n - 1)), \result; + assigns *((char *)s + (0 .. n - 1)) \from c; + assigns \result \from s; */ -_Bool __builtin_saddl_overflow(long a, long b, long *res); +void *memset(void *s, int c, size_t n) +{ + unsigned char *p = (unsigned char *)s; + { + size_t i = (unsigned int)0; + while (i < n) { + *(p + i) = (unsigned char)c; + i += (size_t)1; + } + } + return s; +} -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) + \old(b)); - ensures - result_overflow: - \old(a) + \old(b) ≡ (long long)(\old(a) + \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; +/*@ requires valid_string_s1: valid_read_string(s1); + requires valid_string_s2: valid_read_string(s2); + ensures acsl_c_equiv: \result ≡ strcmp(\old(s1), \old(s2)); + assigns \result; + assigns \result + \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..))); */ -_Bool __builtin_saddll_overflow(long long a, long long b, long long *res); +int strcmp(char const *s1, char const *s2) +{ + int __retres; + size_t i; + i = (unsigned int)0; + while ((int)*(s1 + i) == (int)*(s2 + i)) { + if ((int)*(s1 + i) == 0) { + __retres = 0; + goto return_label; + } + i += (size_t)1; + } + __retres = (int)*((unsigned char *)s1 + i) - (int)*((unsigned char *)s2 + i); + return_label: return __retres; +} -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) + \old(b)); - ensures - result_overflow: - \old(a) + \old(b) ≡ (unsigned int)(\old(a) + \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; +/*@ requires valid_string_s1: valid_read_nstring(s1, n); + requires valid_string_s2: valid_read_nstring(s2, n); + ensures acsl_c_equiv: \result ≡ strncmp(\old(s1), \old(s2), \old(n)); + assigns \result; + assigns \result + \from (indirect: *(s1 + (0 .. n - 1))), + (indirect: *(s2 + (0 .. n - 1))), (indirect: n); */ -_Bool __builtin_uadd_overflow(unsigned int a, unsigned int b, - unsigned int *res); +int strncmp(char const *s1, char const *s2, size_t n) +{ + int __retres; + { + size_t i = (unsigned int)0; + while (i < n) { + if ((int)*(s1 + i) != (int)*(s2 + i)) { + __retres = (int)*((unsigned char *)s1 + i) - (int)*((unsigned char *)s2 + i); + goto return_label; + } + if ((int)*(s1 + i) == 0) { + __retres = 0; + goto return_label; + } + i += (size_t)1; + } + } + __retres = 0; + return_label: return __retres; +} -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) + \old(b)); +/*@ requires valid_s1: valid_read_or_empty(s1, n); + requires valid_s2: valid_read_or_empty(s2, n); + requires initialization: s1: \initialized((char *)s1 + (0 .. n - 1)); + requires initialization: s2: \initialized((char *)s2 + (0 .. n - 1)); + requires danglingness: s1: non_escaping(s1, n); + requires danglingness: s2: non_escaping(s2, n); ensures - result_overflow: - \old(a) + \old(b) ≡ (unsigned long)(\old(a) + \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; + logic_spec: + \result ≡ + memcmp{Pre, Pre}((char *)\old(s1), (char *)\old(s2), \old(n)); + assigns \result; + assigns \result + \from (indirect: *((char *)s1 + (0 .. n - 1))), + (indirect: *((char *)s2 + (0 .. n - 1))); */ -_Bool __builtin_uaddl_overflow(unsigned long a, unsigned long b, - unsigned long *res); - -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures - res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) + \old(b)); - ensures - result_overflow: - \old(a) + \old(b) ≡ (unsigned long long)(\old(a) + \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; - */ -_Bool __builtin_uaddll_overflow(unsigned long long a, unsigned long long b, - unsigned long long *res); +int memcmp(void const *s1, void const *s2, size_t n) +{ + int __retres; + unsigned char const *p1; + unsigned char const *p2; + p1 = (unsigned char const *)s1; + p2 = (unsigned char const *)s2; + { + size_t i = (unsigned int)0; + while (i < n) { + if ((int)*(p1 + i) != (int)*(p2 + i)) { + __retres = (int)*(p1 + i) - (int)*(p2 + i); + goto return_label; + } + i += (size_t)1; + } + } + __retres = 0; + return_label: return __retres; +} -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (int)(\old(a) - \old(b)); - ensures - result_overflow: - \old(a) - \old(b) ≡ (int)(\old(a) - \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; - */ -_Bool __builtin_ssub_overflow(int a, int b, int *res); +static int char_equal_ignore_case(char c1, char c2) +{ + int __retres; + if ((int)c1 >= 'A') + if ((int)c1 <= 'Z') c1 = (char)((int)c1 - ('A' - 'a')); + if ((int)c2 >= 'A') + if ((int)c2 <= 'Z') c2 = (char)((int)c2 - ('A' - 'a')); + if ((int)c1 == (int)c2) { + __retres = 0; + goto return_label; + } + else { + __retres = (int)((unsigned char)c2) - (int)((unsigned char)c1); + goto return_label; + } + return_label: return __retres; +} -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (long)(\old(a) - \old(b)); - ensures - result_overflow: - \old(a) - \old(b) ≡ (long)(\old(a) - \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; +/*@ requires valid_string_s1: valid_read_string(s1); + requires valid_string_s2: valid_read_string(s2); + assigns \result; + assigns \result + \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..))); */ -_Bool __builtin_ssubl_overflow(long a, long b, long *res); +int strcasecmp(char const *s1, char const *s2) +{ + int __retres; + size_t i; + i = (unsigned int)0; + while (1) { + if ((int)*(s1 + i) != 0) { + if (! ((int)*(s2 + i) != 0)) break; + } + else break; + { + int res = char_equal_ignore_case(*(s1 + i),*(s2 + i)); + if (res != 0) { + __retres = res; + goto return_label; + } + } + i += (size_t)1; + } + if ((int)*(s1 + i) == 0) { + if ((int)*(s2 + i) == 0) { + __retres = 0; + goto return_label; + } + else goto _LAND; + } + else { + _LAND: ; + if ((int)*(s1 + i) == 0) { + __retres = -1; + goto return_label; + } + else { + __retres = 1; + goto return_label; + } + } + return_label: return __retres; +} -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) - \old(b)); +/*@ requires valid_string_src: valid_read_string(src); + requires valid_string_dest: valid_string(dest); + requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src))); ensures - result_overflow: - \old(a) - \old(b) ≡ (long long)(\old(a) - \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; - */ -_Bool __builtin_ssubll_overflow(long long a, long long b, long long *res); - -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) - \old(b)); + sum_of_lengths: strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src)); ensures - result_overflow: - \old(a) - \old(b) ≡ (unsigned int)(\old(a) - \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; - */ -_Bool __builtin_usub_overflow(unsigned int a, unsigned int b, - unsigned int *res); - -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) - \old(b)); + initialization: dest: + \initialized(\old(dest) + (0 .. \old(strlen(dest) + strlen(src)))); ensures - result_overflow: - \old(a) - \old(b) ≡ (unsigned long)(\old(a) - \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; + dest_null_terminated: + *(\old(dest) + \old(strlen(dest) + strlen(src))) ≡ 0; + ensures result_ptr: \result ≡ \old(dest); + assigns *(dest + + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))), + \result; + assigns + *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))) + \from *(src + (0 .. strlen{Old}(src))); + assigns \result \from dest; */ -_Bool __builtin_usubl_overflow(unsigned long a, unsigned long b, - unsigned long *res); +char *strcat(char *dest, char const *src) +{ + size_t i; + size_t n = strlen((char const *)dest); + i = (unsigned int)0; + while ((int)*(src + i) != 0) { + *(dest + (n + i)) = *(src + i); + i += (size_t)1; + } + *(dest + (n + i)) = (char)0; + return dest; +} -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures - res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) - \old(b)); - ensures - result_overflow: - \old(a) - \old(b) ≡ (unsigned long long)(\old(a) - \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; +/*@ requires valid_nstring_src: valid_read_nstring(src, n); + requires valid_string_dest: valid_string(dest); + ensures result_ptr: \result ≡ \old(dest); + assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result; + assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)) + \from *(src + (0 .. n)); + assigns \result \from dest; + + behavior complete: + assumes + valid_string_src_fits: valid_read_string(src) ∧ strlen(src) ≤ n; + requires + room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src))); + ensures + sum_of_lengths: + strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src)); + assigns *(dest + + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))), + \result; + assigns + *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))) + \from *(src + (0 .. strlen{Old}(src))); + assigns \result \from dest; + + behavior partial: + assumes + valid_string_src_too_large: + ¬(valid_read_string(src) ∧ strlen(src) ≤ n); + requires room_string: \valid((dest + strlen(dest)) + (0 .. n)); + ensures + sum_of_bounded_lengths: + strlen(\old(dest)) ≡ \old(strlen(dest)) + \old(n); + assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), + \result; + assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)) + \from *(src + (0 .. strlen{Old}(src))); + assigns \result \from dest; */ -_Bool __builtin_usubll_overflow(unsigned long long a, unsigned long long b, - unsigned long long *res); +char *strncat(char *dest, char const *src, size_t n) +{ + size_t i; + size_t dest_len = strlen((char const *)dest); + i = (unsigned int)0; + while (i < n) { + if ((int)*(src + i) == 0) break; + *(dest + (dest_len + i)) = *(src + i); + i += (size_t)1; + } + *(dest + (dest_len + i)) = (char)0; + return dest; +} -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (int)(\old(a) * \old(b)); - ensures - result_overflow: - \old(a) * \old(b) ≡ (int)(\old(a) * \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; - */ -_Bool __builtin_smul_overflow(int a, int b, int *res); - -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (long)(\old(a) * \old(b)); - ensures - result_overflow: - \old(a) * \old(b) ≡ (long)(\old(a) * \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; - */ -_Bool __builtin_smull_overflow(long a, long b, long *res); - -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) * \old(b)); - ensures - result_overflow: - \old(a) * \old(b) ≡ (long long)(\old(a) * \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; - */ -_Bool __builtin_smulll_overflow(long long a, long long b, long long *res); - -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) * \old(b)); - ensures - result_overflow: - \old(a) * \old(b) ≡ (unsigned int)(\old(a) * \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; - */ -_Bool __builtin_umul_overflow(unsigned int a, unsigned int b, - unsigned int *res); - -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) * \old(b)); - ensures - result_overflow: - \old(a) * \old(b) ≡ (unsigned long)(\old(a) * \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; - */ -_Bool __builtin_umull_overflow(unsigned long a, unsigned long b, - unsigned long *res); - -/*@ requires valid_res: \valid(res); - ensures initialization: res: \initialized(\old(res)); - ensures - res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) * \old(b)); - ensures - result_overflow: - \old(a) * \old(b) ≡ (unsigned long long)(\old(a) * \old(b))? - \result ≡ 0: - \result ≡ 1; - assigns \result, *res; - assigns \result \from a, b; - assigns *res \from a, b; - */ -_Bool __builtin_umulll_overflow(unsigned long long a, unsigned long long b, - unsigned long long *res); - -/*@ requires valid_filename: valid_read_string(filename); - assigns \result; - assigns \result \from (indirect: *(filename + (0 ..))), (indirect: mode); +/*@ requires valid_string_src: valid_read_string(src); + requires room_string: \valid(dest + (0 .. strlen(src))); + requires + separation: + \separated(dest + (0 .. strlen(src)), src + (0 .. strlen(src))); + ensures equal_contents: strcmp(\old(dest), \old(src)) ≡ 0; + ensures result_ptr: \result ≡ \old(dest); + assigns *(dest + (0 .. strlen{Old}(src))), \result; + assigns *(dest + (0 .. strlen{Old}(src))) + \from *(src + (0 .. strlen{Old}(src))); + assigns \result \from dest; */ -extern int creat(char const *filename, mode_t mode); - -/*@ assigns \result; - assigns \result \from fd, cmd; */ -extern int fcntl(int fd, int cmd, void * const *__va_params); +char *strcpy(char *dest, char const *src) +{ + size_t i; + i = (unsigned int)0; + while ((int)*(src + i) != 0) { + *(dest + i) = *(src + i); + i += (size_t)1; + } + *(dest + i) = (char)0; + return dest; +} -/*@ requires valid_filename: valid_read_string(filename); - assigns \result; - assigns \result - \from (indirect: *(filename + (0 ..))), (indirect: flags); +/*@ requires valid_string_src: valid_read_string(src); + requires room_nstring: \valid(dest + (0 .. n - 1)); + requires separation: \separated(dest + (0 .. n - 1), src + (0 .. n - 1)); + ensures result_ptr: \result ≡ \old(dest); + ensures initialization: \initialized(\old(dest) + (0 .. \old(n) - 1)); + assigns *(dest + (0 .. n - 1)), \result; + assigns *(dest + (0 .. n - 1)) \from *(src + (0 .. n - 1)); + assigns \result \from dest; + + behavior complete: + assumes src_fits: strlen(src) < n; + ensures equal_after_copy: strcmp(\old(dest), \old(src)) ≡ 0; + + behavior partial: + assumes src_too_long: n ≤ strlen(src); + ensures + equal_prefix: + memcmp{Post, Post}(\old(dest), \old(src), \old(n)) ≡ 0; */ -extern int open(char const *filename, int flags, void * const *__va_params); +char *strncpy(char *dest, char const *src, size_t n) +{ + size_t i; + i = (unsigned int)0; + while (i < n) { + *(dest + i) = *(src + i); + if ((int)*(src + i) == 0) break; + i += (size_t)1; + } + while (i < n) { + *(dest + i) = (char)0; + i += (size_t)1; + } + return dest; +} -/*@ requires valid_filename: valid_read_string(filename); +/*@ requires valid_string_s: valid_read_string(s); assigns \result; - assigns \result - \from (indirect: dirfd), (indirect: *(filename + (0 ..))), - (indirect: flags); + assigns \result \from s, *(s + (0 ..)), c; + + behavior found: + assumes char_found: strchr(s, c) ≡ \true; + ensures result_char: *\result ≡ (char)\old(c); + ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); + ensures + result_in_length: \old(s) ≤ \result ≤ \old(s) + strlen(\old(s)); + ensures result_valid_string: valid_read_string(\result); + ensures + result_first_occur: + ∀ char *p; \old(s) ≤ p < \result ⇒ *p ≢ (char)\old(c); + + behavior not_found: + assumes char_not_found: ¬(strchr(s, c) ≡ \true); + ensures result_null: \result ≡ \null; + + behavior default: + ensures + result_null_or_same_base: + \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s)); */ -extern int openat(int dirfd, char const *filename, int flags, - void * const *__va_params); +char *strchr(char const *s, int c) +{ + char *__retres; + size_t i; + char const ch = (char)c; + i = (unsigned int)0; + while ((int)*(s + i) != (int)ch) { + if ((int)*(s + i) == 0) { + __retres = (char *)0; + goto return_label; + } + i += (size_t)1; + } + __retres = (char *)(s + i); + return_label: return __retres; +} -/*@ requires cmd_has_void_arg: cmd ≡ 1 ∨ cmd ≡ 3 ∨ cmd ≡ 9; +/*@ requires valid_string_s: valid_read_string(s); assigns \result; - assigns \result \from fd, cmd; + assigns \result \from s, *(s + (0 ..)), c; + + behavior found: + assumes char_found: strchr(s, c) ≡ \true; + ensures result_char: (int)*\result ≡ \old(c); + ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); + ensures result_valid_string: valid_read_string(\result); + + behavior not_found: + assumes char_not_found: ¬(strchr(s, c) ≡ \true); + ensures result_null: \result ≡ \null; + + behavior default: + ensures + result_null_or_same_base: + \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s)); */ -extern int __va_fcntl_void(int fd, int cmd); +char *strrchr(char const *s, int c) +{ + char *__retres; + char const ch = (char)c; + { + size_t tmp; + tmp = strlen(s); + size_t i = tmp + (size_t)1; + while (i > (size_t)0) { + if ((int)*(s + (i - (size_t)1)) == (int)ch) { + __retres = (char *)(s + (i - (size_t)1)); + goto return_label; + } + i -= (size_t)1; + } + } + __retres = (char *)0; + return_label: return __retres; +} /*@ requires - cmd_has_int_arg: - cmd ≡ 0 ∨ cmd ≡ 0x406 ∨ cmd ≡ 4 ∨ cmd ≡ 8 ∨ cmd ≡ 2; - assigns \result; - assigns \result \from fd, cmd, arg; - */ -extern int __va_fcntl_int(int fd, int cmd, int arg); - -/*@ requires cmd_as_flock_arg: cmd ≡ 5 ∨ cmd ≡ 6 ∨ cmd ≡ 7; - requires valid_arg: \valid(arg); - assigns \result, *arg; - assigns \result \from fd, cmd, *arg; - assigns *arg \from fd, cmd, *arg; - */ -extern int __va_fcntl_flock(int fd, int cmd, struct flock *arg); - -/*@ requires valid_filename: valid_read_string(filename); - requires flag_not_CREAT: (flags & 0x40) ≡ 0; + valid: + valid_read_or_empty(s, n) ∨ + \valid_read((unsigned char *)s + (0 .. memchr_off((char *)s, c, n))); + requires + initialization: + \initialized((unsigned char *)s + (0 .. n - 1)) ∨ + \initialized((unsigned char *)s + (0 .. memchr_off((char *)s, c, n))); + requires + danglingness: + non_escaping(s, n) ∨ + non_escaping(s, (unsigned int)(memchr_off((char *)s, c, n) + 1)); assigns \result; - assigns \result - \from (indirect: *(filename + (0 ..))), (indirect: flags); + assigns \result \from s, c, *((unsigned char *)s + (0 .. n - 1)); + + behavior found: + assumes char_found: memchr((char *)s, c, n) ≡ \true; + ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); + ensures result_char: (int)*((char *)\result) ≡ \old(c); + ensures + result_in_str: + ∀ ℤ i; + 0 ≤ i < \old(n) ⇒ + *((unsigned char *)\old(s) + i) ≡ \old(c) ⇒ + \result ≤ \old(s) + i; + + behavior not_found: + assumes char_not_found: ¬(memchr((char *)s, c, n) ≡ \true); + ensures result_null: \result ≡ \null; */ -extern int __va_open_void(char const *filename, int flags); +void *memchr(void const *s, int c, size_t n) +{ + void *__retres; + unsigned char const ch = (unsigned char)c; + unsigned char const *ss = (unsigned char const *)s; + { + size_t i = (unsigned int)0; + while (i < n) { + if ((int)*(ss + i) == (int)ch) { + __retres = (void *)(ss + i); + goto return_label; + } + i += (size_t)1; + } + } + __retres = (void *)0; + return_label: return __retres; +} -/*@ requires valid_filename: valid_read_string(filename); +void *memrchr(void const *s, int c, size_t n) +{ + void *__retres; + unsigned char const ch = (unsigned char)c; + unsigned char const *ss = (unsigned char const *)s; + { + size_t i = n; + while (i > (size_t)0) { + if ((int)*(ss + (i - (size_t)1)) == (int)ch) { + __retres = (void *)(ss + (i - (size_t)1)); + goto return_label; + } + i -= (size_t)1; + } + } + __retres = (void *)0; + return_label: return __retres; +} + +/*@ requires valid_string_haystack: valid_read_string(haystack); + requires valid_string_needle: valid_read_string(needle); + ensures + result_null_or_in_haystack: + \result ≡ \null ∨ + (\subset(\result, \old(haystack) + (0 ..)) ∧ + \valid_read(\result) ∧ + memcmp{Pre, Pre}(\result, \old(needle), strlen(\old(needle))) ≡ 0); assigns \result; assigns \result - \from (indirect: *(filename + (0 ..))), (indirect: flags), - (indirect: mode); + \from haystack, (indirect: *(haystack + (0 ..))), + (indirect: *(needle + (0 ..))); */ -extern int __va_open_mode_t(char const *filename, int flags, mode_t mode); +char *strstr(char const *haystack, char const *needle) +{ + char *__retres; + if ((int)*(needle + 0) == 0) { + __retres = (char *)haystack; + goto return_label; + } + { + size_t i = (unsigned int)0; + while ((int)*(haystack + i) != 0) { + { + size_t j; + j = (unsigned int)0; + while ((int)*(haystack + (i + j)) != 0) { + if ((int)*(haystack + (i + j)) != (int)*(needle + j)) break; + j += (size_t)1; + } + if ((int)*(needle + j) == 0) { + __retres = (char *)(haystack + i); + goto return_label; + } + } + i += (size_t)1; + } + } + __retres = (char *)0; + return_label: return __retres; +} -/*@ requires valid_filename: valid_read_string(filename); - requires flag_not_CREAT: (flags & 0x40) ≡ 0; +static int __fc_strerror_init; +/*@ ensures result_internal_str: \result ≡ __fc_p_strerror; + ensures result_nul_terminated: *(\result + 63) ≡ 0; + ensures result_valid_string: valid_read_string(\result); assigns \result; - assigns \result - \from (indirect: dirfd), (indirect: *(filename + (0 ..))), - (indirect: flags); + assigns \result \from __fc_p_strerror, (indirect: errnum); */ -extern int __va_openat_void(int dirfd, char const *filename, int flags); +char *strerror(int errnum) +{ + char *__retres; + if (! __fc_strerror_init) { + Frama_C_make_unknown(__fc_strerror,(unsigned int)63); + __fc_strerror[63] = (char)0; + __fc_strerror_init = 1; + } + __retres = __fc_strerror; + return __retres; +} -/*@ requires valid_filename: valid_read_string(filename); +/*@ requires valid_string_s: valid_read_string(s); assigns \result; assigns \result - \from (indirect: dirfd), (indirect: *(filename + (0 ..))), - (indirect: flags), (indirect: mode); + \from (indirect: *(s + (0 .. strlen{Old}(s)))), + (indirect: __fc_heap_status); + allocates \result; + + behavior allocation: + assumes can_allocate: is_allocable(strlen(s)); + ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s))); + ensures + result_valid_string_and_same_contents: + valid_string(\result) ∧ strcmp(\result, \old(s)) ≡ 0; + assigns __fc_heap_status, \result; + assigns __fc_heap_status \from (indirect: s), __fc_heap_status; + assigns \result + \from (indirect: *(s + (0 .. strlen{Old}(s)))), + (indirect: __fc_heap_status); + + behavior no_allocation: + assumes cannot_allocate: ¬is_allocable(strlen(s)); + ensures result_null: \result ≡ \null; + assigns \result; + assigns \result \from \nothing; + allocates \nothing; */ -extern int __va_openat_mode_t(int dirfd, char const *filename, int flags, - mode_t mode); - -/*@ ghost extern int __fc_tz __attribute__((__FRAMA_C_MODEL__)); */ +char *strdup(char const *s) +{ + char *__retres; + size_t tmp; + tmp = strlen(s); + size_t l = tmp + (size_t)1; + char *p = malloc(l); + if (! p) { + __fc_errno = 12; + __retres = (char *)0; + goto return_label; + } + memcpy((void *)p,(void const *)s,l); + __retres = p; + return_label: return __retres; +} /*@ assigns \result; - assigns \result \from *(path + (0 ..)), *(times + (0 .. 1)); - */ -extern int utimes(char const *path, struct timeval const * /*[2]*/ times); - -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns tv->tv_sec, tv->tv_usec, *((struct timezone *)tz), \result; - assigns tv->tv_sec \from __fc_time; - assigns tv->tv_usec \from __fc_time; - assigns *((struct timezone *)tz) \from __fc_tz; assigns \result - \from (indirect: tv), (indirect: tz), *tv, *((struct timezone *)tz), - __fc_tz; - - behavior tv_and_tz_null: - assumes null_tv_tz: tv ≡ \null ∧ tz ≡ \null; - assigns \result; - assigns \result \from (indirect: __fc_tz); + \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: n), + (indirect: __fc_heap_status); + allocates \result; - behavior tv_not_null: - assumes non_null_tv_null_tz: tv ≢ \null ∧ tz ≡ \null; + behavior allocation: + assumes can_allocate: is_allocable(\min(strlen(s), n + 1)); ensures - initialization: tv_sec: tv_usec: - \initialized(&\old(tv)->tv_sec) ∧ - \initialized(&\old(tv)->tv_usec); - ensures tv_usec_bounded: 0 ≤ \old(tv)->tv_usec ≤ 999999; - assigns tv->tv_sec, tv->tv_usec, \result; - assigns tv->tv_sec \from (indirect: __fc_time); - assigns tv->tv_usec \from (indirect: __fc_time); - assigns \result \from (indirect: *tv), (indirect: __fc_tz); - - behavior tz_not_null: - assumes null_tv_non_null_tz: tv ≡ \null ∧ tz ≢ \null; - ensures initialization: tz: \initialized((struct timezone *)\old(tz)); - assigns *((struct timezone *)tz), \result; - assigns *((struct timezone *)tz) \from __fc_tz; - assigns \result - \from (indirect: *((struct timezone *)tz)), (indirect: __fc_tz); - - behavior tv_and_tz_not_null: - assumes non_null_tv_tz: tv ≢ \null ∧ tz ≢ \null; + allocation: + \fresh{Old, Here}(\result,\min(strlen(\old(s)), \old(n) + 1)); ensures - initialization: tv_sec: tv_usec: - \initialized(&\old(tv)->tv_sec) ∧ - \initialized(&\old(tv)->tv_usec); - ensures initialization: tz: \initialized((struct timezone *)\old(tz)); - assigns tv->tv_sec, tv->tv_usec, *((struct timezone *)tz), \result; - assigns tv->tv_sec \from (indirect: __fc_time); - assigns tv->tv_usec \from (indirect: __fc_time); - assigns *((struct timezone *)tz) \from __fc_tz; + result_valid_string_bounded_and_same_prefix: + \valid(\result + (0 .. \min(strlen(\old(s)), \old(n)))) ∧ + valid_string(\result) ∧ strlen(\result) ≤ \old(n) ∧ + strncmp(\result, \old(s), \old(n)) ≡ 0; + assigns __fc_heap_status, \result; + assigns __fc_heap_status + \from (indirect: s), (indirect: n), __fc_heap_status; assigns \result - \from (indirect: *tv), (indirect: *((struct timezone *)tz)), - (indirect: __fc_tz); + \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: n), + (indirect: __fc_heap_status); - complete behaviors tv_and_tz_not_null, - tz_not_null, - tv_not_null, - tv_and_tz_null; - disjoint behaviors tv_and_tz_not_null, - tz_not_null, - tv_not_null, - tv_and_tz_null; - */ -extern int gettimeofday(struct timeval * __restrict tv, void * __restrict tz); - -/*@ assigns \result, __fc_time, __fc_tz; - assigns \result - \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest; - assigns __fc_time - \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest; - assigns __fc_tz - \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest; + behavior no_allocation: + assumes cannot_allocate: ¬is_allocable(\min(strlen(s), n + 1)); + ensures result_null: \result ≡ \null; + assigns \result; + assigns \result \from \nothing; + allocates \nothing; */ -extern int settimeofday(struct timeval const *tv, struct timezone const *tz); - -/*@ ghost - struct itimerval volatile __fc_itimer_real __attribute__((__FRAMA_C_MODEL__)); - */ -/*@ ghost - struct itimerval volatile __fc_itimer_virtual __attribute__((__FRAMA_C_MODEL__)); - */ -/*@ ghost - struct itimerval volatile __fc_itimer_prof __attribute__((__FRAMA_C_MODEL__)); +char *strndup(char const *s, size_t n) +{ + char *__retres; + size_t l; + l = (unsigned int)0; + while (l < n) { + if ((int)*(s + l) == 0) break; + l += (size_t)1; + } + char *p = malloc(l + (size_t)1); + if (! p) { + __fc_errno = 12; + __retres = (char *)0; + goto return_label; + } + memcpy((void *)p,(void const *)s,l); + *(p + l) = (char)0; + __retres = p; + return_label: return __retres; +} + +static int __fc_strsignal_init; +/*@ ensures result_internal_str: \result ≡ __fc_p_strsignal; + ensures result_nul_terminated: *(\result + 63) ≡ 0; + ensures result_valid_string: valid_read_string(\result); + assigns \result; + assigns \result \from __fc_p_strsignal, (indirect: signum); + */ +char *strsignal(int signum) +{ + char *__retres; + if (! __fc_strsignal_init) { + Frama_C_make_unknown(__fc_strsignal,(unsigned int)63); + __fc_strsignal[63] = (char)0; + __fc_strsignal_init = 1; + } + __retres = __fc_strsignal; + return __retres; +} + +/*@ ghost unsigned int volatile __fc_time __attribute__((__FRAMA_C_MODEL__)); */ -/*@ requires valid_curr_value: \valid(curr_value); - ensures initialization: curr_value: \initialized(\old(curr_value)); - assigns \result, *curr_value; - assigns \result \from (indirect: which); - assigns *curr_value - \from __fc_itimer_real, __fc_itimer_virtual, __fc_itimer_prof; - - behavior real: - assumes itimer_real: which ≡ 0; - ensures result_ok: \result ≡ 0; - assigns \result, *curr_value; - assigns \result \from \nothing; - assigns *curr_value \from __fc_itimer_real; - - behavior virtual: - assumes itimer_virtual: which ≡ 1; - ensures result_ok: \result ≡ 0; - assigns \result, *curr_value; - assigns \result \from \nothing; - assigns *curr_value \from __fc_itimer_virtual; - - behavior prof: - assumes itimer_prof: which ≡ 2; - ensures result_ok: \result ≡ 0; - assigns \result, *curr_value; - assigns \result \from \nothing; - assigns *curr_value \from __fc_itimer_prof; +/*@ assigns \result; + assigns \result \from __fc_time; */ +extern clock_t clock(void); + +/*@ assigns \result; + assigns \result \from time1, time0; */ +extern double difftime(time_t time1, time_t time0); + +/*@ assigns *timeptr, \result; + assigns *timeptr \from *timeptr; + assigns \result \from *timeptr; + */ +extern time_t mktime(struct tm *timeptr); + +/*@ assigns *timer, \result; + assigns *timer \from __fc_time; + assigns \result \from __fc_time; - behavior invalid: - assumes invalid_which: which ≢ 0 ∧ which ≢ 1 ∧ which ≢ 2; - ensures result_error: \result ≡ -1; + behavior null: + assumes timer_null: timer ≡ \null; assigns \result; - assigns \result \from \nothing; + assigns \result \from __fc_time; - complete behaviors invalid, prof, virtual, real; - disjoint behaviors invalid, prof, virtual, real; + behavior not_null: + assumes timer_non_null: timer ≢ \null; + requires valid_timer: \valid(timer); + ensures initialization: timer: \initialized(\old(timer)); + assigns *timer, \result; + assigns *timer \from __fc_time; + assigns \result \from __fc_time; + + complete behaviors not_null, null; + disjoint behaviors not_null, null; */ -extern int getitimer(int which, struct itimerval *curr_value); +extern time_t time(time_t *timer); -/*@ requires valid_new_value: \valid_read(new_value); - requires - old_value_null_or_valid: old_value ≡ \null ∨ \valid(old_value); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns *old_value, \result; - assigns *old_value - \from (indirect: which), (indirect: old_value), (indirect: new_value), - __fc_itimer_real, __fc_itimer_virtual, __fc_itimer_prof; +char __fc_ctime[26]; +char * const __fc_p_ctime = __fc_ctime; +/*@ requires valid_timer: \valid_read(timer); + requires initialization: init_timer: \initialized(timer); + ensures result_points_to_ctime: \result ≡ __fc_p_ctime; + ensures result_valid_string: valid_read_string(__fc_p_ctime); + assigns __fc_ctime[0 .. 25], \result; + assigns __fc_ctime[0 .. 25] + \from (indirect: *timer), (indirect: __fc_time); assigns \result - \from (indirect: which), (indirect: new_value), (indirect: *new_value); - - behavior real: - assumes - itimer_real_and_valid: - which ≡ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧ - 0 ≤ new_value->it_interval.tv_usec ≤ 999999; - ensures result_ok: \result ≡ 0; - ensures initialization: old_value: \initialized(\old(old_value)); - assigns \result, *old_value, __fc_itimer_real; - assigns \result \from \nothing; - assigns *old_value \from __fc_itimer_real; - assigns __fc_itimer_real \from *new_value; + \from (indirect: *timer), (indirect: __fc_time), __fc_p_ctime; + */ +extern char *ctime(time_t const *timer); + +struct tm __fc_time_tm; +struct tm * const __fc_p_time_tm = & __fc_time_tm; +/*@ ensures + result_null_or_internal_tm: + \result ≡ &__fc_time_tm ∨ \result ≡ \null; + assigns \result, __fc_time_tm; + assigns \result \from __fc_p_time_tm; + assigns __fc_time_tm \from *timer; + */ +extern struct tm *gmtime(time_t const *timer); + +/*@ ensures + result_null_or_internal_tm: + \result ≡ &__fc_time_tm ∨ \result ≡ \null; + assigns \result, __fc_time_tm; + assigns \result \from __fc_p_time_tm; + assigns __fc_time_tm \from *timer; + */ +extern struct tm *localtime(time_t const *timer); + +/*@ requires dst_has_room: \valid(s + (0 .. max - 1)); + requires valid_format: valid_read_string(format); + requires valid_tm: \valid_read(tm); + ensures result_bounded: \result ≤ \old(max); + assigns *(s + (0 .. max - 1)), \result; + assigns *(s + (0 .. max - 1)) + \from (indirect: max), (indirect: *(format + (0 ..))), (indirect: *tm); + assigns \result + \from (indirect: max), (indirect: *(format + (0 ..))), (indirect: *tm); + */ +extern size_t strftime(char * __restrict s, size_t max, + char const * __restrict format, + struct tm const * __restrict tm); + +/*@ requires tp: \valid(tp); + assigns \result, *tp, __fc_time; + assigns \result \from __fc_time; + assigns *tp \from __fc_time; + assigns __fc_time \from __fc_time; - behavior virtual: - assumes - itimer_virtual_and_valid: - which ≡ 1 ∧ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧ - 0 ≤ new_value->it_interval.tv_usec ≤ 999999; - ensures result_ok: \result ≡ 0; - ensures initialization: old_value: \initialized(\old(old_value)); - assigns \result, *old_value; - assigns \result \from \nothing; - assigns *old_value \from __fc_itimer_virtual; + behavior realtime_clock: + assumes realtime: clk_id ≡ 666; + ensures success: \result ≡ 0; + ensures initialization: \initialized(\old(tp)); - behavior prof: - assumes - itimer_prof_and_valid: - which ≡ 2 ∧ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧ - 0 ≤ new_value->it_interval.tv_usec ≤ 999999; - ensures result_ok: \result ≡ 0; - ensures initialization: old_value: \initialized(\old(old_value)); - assigns \result, *old_value; - assigns \result \from \nothing; - assigns *old_value \from __fc_itimer_prof; + behavior monotonic_clock: + assumes monotonic: clk_id ≡ 1; + ensures success: \result ≡ 0; + ensures initialization: \initialized(\old(tp)); - behavior invalid: - assumes - invalid_itimer_or_new_value: - (which ≢ 0 ∧ which ≢ 1 ∧ which ≢ 2) ∨ - ¬(0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧ - 0 ≤ new_value->it_interval.tv_usec ≤ 999999); - ensures result_error: \result ≡ -1; + behavior bad_clock_id: + assumes bad_id: clk_id ≢ 666 ∧ clk_id ≢ 1; + ensures error: \result ≡ 22; assigns \result; - assigns \result \from \nothing; + assigns \result \from clk_id; - disjoint behaviors invalid, prof, virtual, real; + complete behaviors bad_clock_id, monotonic_clock, realtime_clock; + disjoint behaviors bad_clock_id, monotonic_clock, realtime_clock; */ -extern int setitimer(int which, - struct itimerval const * __restrict new_value, - struct itimerval * __restrict old_value); +extern int clock_gettime(clockid_t clk_id, struct timespec *tp); -/*@ ghost int volatile __fc_fds_state; */ -/*@ requires nfds: nfds ≥ 0; - requires readfs: readfds ≡ \null ∨ \valid(readfds); - requires writefds: writefds ≡ \null ∨ \valid(writefds); - requires errorfds: errorfds ≡ \null ∨ \valid(errorfds); - requires timeout: timeout ≡ \null ∨ \valid(timeout); - assigns __fc_fds_state, *readfds, *writefds, *errorfds, *timeout, - \result; - assigns __fc_fds_state \from __fc_fds_state; - assigns *readfds - \from (indirect: nfds), (indirect: readfds), (indirect: *readfds), - (indirect: writefds), (indirect: *writefds), - (indirect: errorfds), (indirect: *errorfds), (indirect: timeout), - (indirect: *timeout), __fc_fds_state; - assigns *writefds - \from (indirect: nfds), (indirect: readfds), (indirect: *readfds), - (indirect: writefds), (indirect: *writefds), - (indirect: errorfds), (indirect: *errorfds), (indirect: timeout), - (indirect: *timeout), __fc_fds_state; - assigns *errorfds - \from (indirect: nfds), (indirect: readfds), (indirect: *readfds), - (indirect: writefds), (indirect: *writefds), - (indirect: errorfds), (indirect: *errorfds), (indirect: timeout), - (indirect: *timeout), __fc_fds_state; - assigns *timeout - \from (indirect: nfds), (indirect: readfds), (indirect: *readfds), - (indirect: writefds), (indirect: *writefds), - (indirect: errorfds), (indirect: *errorfds), (indirect: timeout), - (indirect: *timeout), __fc_fds_state; +/*@ +axiomatic nanosleep_predicates { + predicate abs_clock_in_range{L}(clockid_t id, struct timespec *tm) + reads __fc_time; + + predicate valid_clock_id{L}(clockid_t id) + reads __fc_time; + + } + +*/ +/*@ ghost int volatile __fc_interrupted __attribute__((__FRAMA_C_MODEL__)); + */ +/*@ requires valid_request: \valid_read(rqtp); + requires + initialization: initialized_request: + \initialized(&rqtp->tv_sec) ∧ \initialized(&rqtp->tv_nsec); + requires valid_nanosecs: 0 ≤ rqtp->tv_nsec < 1000000000; + requires valid_remaining_or_null: rmtp ≡ \null ∨ \valid(rmtp); + assigns \result; assigns \result - \from (indirect: nfds), (indirect: readfds), (indirect: *readfds), - (indirect: writefds), (indirect: *writefds), - (indirect: errorfds), (indirect: *errorfds), (indirect: timeout), - (indirect: *timeout), __fc_fds_state; + \from (indirect: __fc_time), (indirect: __fc_interrupted), + (indirect: clock_id), (indirect: flags), (indirect: rqtp), + (indirect: *rqtp); - behavior read_notnull: - assumes readfds_is_not_null: readfds ≢ \null; - ensures initialization: readfds: \initialized(\old(readfds)); + behavior absolute: + assumes absolute_time: (flags & 1) ≢ 0; + assumes + no_einval: + abs_clock_in_range(clock_id, rqtp) ∧ valid_clock_id(clock_id); + ensures + result_ok_or_error: + \result ≡ 0 ∨ \result ≡ 4 ∨ \result ≡ 22 ∨ + \result ≡ 95; + assigns \result; + assigns \result + \from (indirect: __fc_time), (indirect: __fc_interrupted), + (indirect: clock_id), (indirect: rqtp), (indirect: *rqtp); - behavior write_notnull: - assumes writefds_is_not_null: writefds ≢ \null; - ensures initialization: writefds: \initialized(\old(writefds)); + behavior relative_interrupted: + assumes relative_time: (flags & 1) ≡ 0; + assumes interrupted: __fc_interrupted ≢ 0; + assumes no_einval: valid_clock_id(clock_id); + ensures result_interrupted: \result ≡ 4; + ensures + initialization: interrupted_remaining: + \old(rmtp) ≢ \null ⇒ + \initialized(&\old(rmtp)->tv_sec) ∧ + \initialized(&\old(rmtp)->tv_nsec); + ensures + interrupted_remaining_decreases: + \old(rmtp) ≢ \null ⇒ + \old(rqtp)->tv_sec * 1000000000 + \old(rqtp)->tv_nsec ≥ + \old(rmtp)->tv_sec * 1000000000 + \old(rmtp)->tv_nsec; + ensures + remaining_valid: + \old(rmtp) ≢ \null ⇒ 0 ≤ \old(rmtp)->tv_nsec < 1000000000; + assigns \result, *rmtp; + assigns \result + \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp), + (indirect: *rqtp); + assigns *rmtp + \from __fc_time, (indirect: clock_id), (indirect: rqtp), + (indirect: *rqtp), (indirect: rmtp); - behavior error_notnull: - assumes errorfds_is_not_null: errorfds ≢ \null; - ensures initialization: errorfds: \initialized(\old(errorfds)); + behavior relative_no_error: + assumes relative_time: (flags & 1) ≡ 0; + assumes not_interrupted: __fc_interrupted ≡ 0; + assumes no_einval: valid_clock_id(clock_id); + ensures result_ok: \result ≡ 0; + assigns \result; + assigns \result + \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp), + (indirect: *rqtp); - behavior timeout_notnull: - assumes timeout_is_not_null: timeout ≢ \null; - ensures initialization: timeout: \initialized(\old(timeout)); + behavior relative_invalid_clock_id: + assumes relative_time: (flags & 1) ≡ 0; + assumes not_interrupted: __fc_interrupted ≡ 0; + assumes einval: ¬valid_clock_id(clock_id); + ensures result_einval: \result ≡ 22; + assigns \result; + assigns \result + \from (indirect: __fc_time), (indirect: clock_id), (indirect: rqtp), + (indirect: *rqtp); + + complete behaviors relative_invalid_clock_id, + relative_no_error, + relative_interrupted, + absolute; + disjoint behaviors relative_invalid_clock_id, + relative_no_error, + relative_interrupted, + absolute; + */ +extern int clock_nanosleep(clockid_t clock_id, int flags, + struct timespec const *rqtp, struct timespec *rmtp); + +/*@ requires valid_request: \valid_read(rqtp); + requires + initialization: initialized_request: + \initialized(&rqtp->tv_sec) ∧ \initialized(&rqtp->tv_nsec); + requires valid_nanosecs: 0 ≤ rqtp->tv_nsec < 1000000000; + requires valid_remaining_or_null: rmtp ≡ \null ∨ \valid(rmtp); + ensures result_elapsed_or_interrupted: \result ≡ 0 ∨ \result ≡ -1; + ensures + initialization: interrupted_remaining: + \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒ + \initialized(&\old(rmtp)->tv_sec) ∧ + \initialized(&\old(rmtp)->tv_nsec); + ensures + interrupted_remaining_decreases: + \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒ + \old(rqtp)->tv_sec * 1000000000 + \old(rqtp)->tv_nsec ≥ + \old(rmtp)->tv_sec * 1000000000 + \old(rmtp)->tv_nsec; + ensures + interrupted_remaining_valid: + \old(rmtp) ≢ \null ∧ \result ≡ -1 ⇒ + 0 ≤ \old(rmtp)->tv_nsec < 1000000000; + assigns \result, *rmtp; + assigns \result + \from (indirect: __fc_time), (indirect: rqtp), (indirect: *rqtp); + assigns *rmtp + \from (indirect: __fc_time), (indirect: rqtp), (indirect: *rqtp), + (indirect: rmtp); + */ +extern int nanosleep(struct timespec const *rqtp, struct timespec *rmtp); + +extern void tzset(void); + +extern char *tzname[2]; + +/*@ assigns *(tzname[0 .. 1] + (0 ..)); + assigns *(tzname[0 .. 1] + (0 ..)) \from \nothing; + */ +extern void tzset(void); + +/*@ ensures + result_null_or_inside_s: + \result ≡ \null ∨ \subset(\result, \old(s) + (0 .. \old(n) - 1)); + assigns \result; + assigns \result + \from s, (indirect: *(s + (0 .. n - 1))), (indirect: c), (indirect: n); + */ +extern wchar_t *wmemchr(wchar_t const *s, wchar_t c, size_t n); + +/*@ assigns \result; + assigns \result + \from (indirect: *(s1 + (0 .. n - 1))), + (indirect: *(s2 + (0 .. n - 1))), (indirect: n); + */ +extern int wmemcmp(wchar_t const *s1, wchar_t const *s2, size_t n); + +wchar_t *wmemcpy(wchar_t *dest, wchar_t const *src, size_t n); + +/*@ ensures result_ptr: \result ≡ \old(dest); + assigns *(dest + (0 .. n - 1)), \result; + assigns *(dest + (0 .. n - 1)) + \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n); + assigns \result \from dest; + */ +extern wchar_t *wmemmove(wchar_t *dest, wchar_t const *src, size_t n); + +wchar_t *wmemset(wchar_t *dest, wchar_t val, size_t len); + +wchar_t *wcscat(wchar_t *dest, wchar_t const *src); + +/*@ requires valid_wstring_src: valid_read_wstring(wcs); + ensures + result_null_or_inside_wcs: + \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..)); + assigns \result; + assigns \result \from wcs, (indirect: *(wcs + (0 ..))), (indirect: wc); + */ +extern wchar_t *wcschr(wchar_t const *wcs, wchar_t wc); + +/*@ assigns \result; + assigns \result + \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..))); + */ +extern int wcscmp(wchar_t const *s1, wchar_t const *s2); + +wchar_t *wcscpy(wchar_t *dest, wchar_t const *src); + +/*@ assigns \result; + assigns \result + \from (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..))); + */ +extern size_t wcscspn(wchar_t const *wcs, wchar_t const *accept); + +/*@ assigns *(dest + (0 ..)), \result; + assigns *(dest + (0 ..)) + \from *(dest + (0 ..)), (indirect: dest), *(src + (0 .. n - 1)), + (indirect: src), (indirect: n); + assigns \result + \from (indirect: *(dest + (0 ..))), (indirect: *(src + (0 .. n - 1))), + (indirect: n); + */ +extern size_t wcslcat(wchar_t * __restrict dest, + wchar_t const * __restrict src, size_t n); + +/*@ requires + separation: dest: src: + \separated(dest + (0 .. n - 1), src + (0 .. n - 1)); + assigns *(dest + (0 .. n - 1)), \result; + assigns *(dest + (0 .. n - 1)) + \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n); + assigns \result + \from (indirect: *(dest + (0 .. n - 1))), (indirect: dest), + (indirect: *(src + (0 .. n - 1))), (indirect: src), (indirect: n); + */ +extern size_t wcslcpy(wchar_t *dest, wchar_t const *src, size_t n); + +size_t wcslen(wchar_t const *str); + +wchar_t *wcsncat(wchar_t *dest, wchar_t const *src, size_t n); + +/*@ assigns \result; + assigns \result + \from (indirect: *(s1 + (0 .. n - 1))), + (indirect: *(s2 + (0 .. n - 1))), (indirect: n); + */ +extern int wcsncmp(wchar_t const *s1, wchar_t const *s2, size_t n); + +wchar_t *wcsncpy(wchar_t *dest, wchar_t const *src, size_t n); + +/*@ ensures + result_null_or_inside_wcs: + \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..)); + assigns \result; + assigns \result + \from wcs, (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..))); + */ +extern wchar_t *wcspbrk(wchar_t const *wcs, wchar_t const *accept); + +/*@ ensures + result_null_or_inside_wcs: + \result ≡ \null ∨ \subset(\result, \old(wcs) + (0 ..)); + assigns \result; + assigns \result \from wcs, (indirect: *(wcs + (0 ..))), (indirect: wc); + */ +extern wchar_t *wcsrchr(wchar_t const *wcs, wchar_t wc); + +/*@ assigns \result; + assigns \result + \from (indirect: *(wcs + (0 ..))), (indirect: *(accept + (0 ..))); + */ +extern size_t wcsspn(wchar_t const *wcs, wchar_t const *accept); + +/*@ ensures + result_null_or_inside_haystack: + \result ≡ \null ∨ \subset(\result, \old(haystack) + (0 ..)); + assigns \result; + assigns \result + \from haystack, (indirect: *(haystack + (0 ..))), + (indirect: *(needle + (0 ..))); + */ +extern wchar_t *wcsstr(wchar_t const *haystack, wchar_t const *needle); + +/*@ requires valid_stream: \valid(stream); + ensures result_null_or_same: \result ≡ \null ∨ \result ≡ \old(ws); + ensures + terminated_string_on_success: + \result ≢ \null ⇒ valid_wstring(\old(ws)); + assigns *(ws + (0 .. n)), \result; + assigns *(ws + (0 .. n)) \from (indirect: n), (indirect: *stream); + assigns \result \from ws, (indirect: n), (indirect: *stream); + */ +extern wchar_t *fgetws(wchar_t * __restrict ws, int n, + FILE * __restrict stream); + +/*@ axiomatic wformat_length { + logic ℤ wformat_length{L}(wchar_t *format) ; + + } + +*/ +/*@ requires + separation: dest: src: + \separated(dest + (0 .. n - 1), src + (0 .. n - 1)); + ensures result_ptr: \result ≡ \old(dest); + assigns *(dest + (0 .. n - 1)), \result; + assigns *(dest + (0 .. n - 1)) + \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n); + assigns \result \from dest; + */ +wchar_t *wmemcpy(wchar_t *dest, wchar_t const *src, size_t n) +{ + { + size_t i = (unsigned int)0; + while (i < n) { + *(dest + i) = *(src + i); + i += (size_t)1; + } + } + return dest; +} + +/*@ ensures result_ptr: \result ≡ \old(dest); + ensures + initialization: wcs: \initialized(\old(dest) + (0 .. \old(len) - 1)); + ensures + contents_equal_wc: + \subset(*(\old(dest) + (0 .. \old(len) - 1)), \old(val)); + assigns *(dest + (0 .. len - 1)), \result; + assigns *(dest + (0 .. len - 1)) \from val, (indirect: len); + assigns \result \from dest; + */ +wchar_t *wmemset(wchar_t *dest, wchar_t val, size_t len) +{ + { + size_t i = (unsigned int)0; + while (i < len) { + *(dest + i) = val; + i += (size_t)1; + } + } + return dest; +} + +/*@ ensures result_ptr: \result ≡ \old(dest); + assigns *(dest + (0 ..)), \result; + assigns *(dest + (0 ..)) + \from *(src + (0 ..)), (indirect: src), *(dest + (0 ..)), + (indirect: dest); + assigns \result \from dest; + */ +wchar_t *wcscpy(wchar_t *dest, wchar_t const *src) +{ + size_t i; + i = (unsigned int)0; + while (*(src + i) != 0) { + *(dest + i) = *(src + i); + i += (size_t)1; + } + *(dest + i) = 0; + return dest; +} + +/*@ requires valid_string_s: valid_read_wstring(str); + assigns \result; + assigns \result \from (indirect: *(str + (0 ..))); + */ +size_t wcslen(wchar_t const *str) +{ + size_t i; + i = (unsigned int)0; + while (*(str + i) != 0) i += (size_t)1; + return i; +} + +/*@ requires + separation: dest: src: + \separated(dest + (0 .. n - 1), src + (0 .. n - 1)); + ensures result_ptr: \result ≡ \old(dest); + assigns *(dest + (0 .. n - 1)), \result; + assigns *(dest + (0 .. n - 1)) + \from *(src + (0 .. n - 1)), (indirect: src), (indirect: n); + assigns \result \from dest; + */ +wchar_t *wcsncpy(wchar_t *dest, wchar_t const *src, size_t n) +{ + size_t i; + i = (unsigned int)0; + while (i < n) { + *(dest + i) = *(src + i); + if (*(src + i) == 0) break; + i += (size_t)1; + } + while (i < n) { + *(dest + i) = 0; + i += (size_t)1; + } + return dest; +} + +/*@ ensures result_ptr: \result ≡ \old(dest); + assigns *(dest + (0 ..)), \result; + assigns *(dest + (0 ..)) + \from *(dest + (0 ..)), (indirect: dest), *(src + (0 ..)), + (indirect: src); + assigns \result \from dest; + */ +wchar_t *wcscat(wchar_t *dest, wchar_t const *src) +{ + size_t i; + size_t n = wcslen((wchar_t const *)dest); + i = (unsigned int)0; + while (*(src + i) != 0) { + *(dest + (n + i)) = *(src + i); + i += (size_t)1; + } + *(dest + (n + i)) = 0; + return dest; +} + +/*@ ensures result_ptr: \result ≡ \old(dest); + assigns *(dest + (0 ..)), \result; + assigns *(dest + (0 ..)) + \from *(dest + (0 ..)), (indirect: dest), *(src + (0 .. n - 1)), + (indirect: src), (indirect: n); + assigns \result \from dest; + */ +wchar_t *wcsncat(wchar_t *dest, wchar_t const *src, size_t n) +{ + size_t i; + size_t dest_len = wcslen((wchar_t const *)dest); + i = (unsigned int)0; + while (1) { + if (i < n) { + if (! (*(src + i) != 0)) break; + } + else break; + *(dest + (dest_len + i)) = *(src + i); + i += (size_t)1; + } + *(dest + (dest_len + i)) = 0; + return dest; +} + +/*@ ghost extern int __fc_stack_status __attribute__((__FRAMA_C_MODEL__)); */ + +/*@ ensures allocation: \fresh{Old, Here}(\result,\old(size)); + assigns __fc_stack_status, \result; + assigns __fc_stack_status \from size, __fc_stack_status; + assigns \result \from (indirect: size), (indirect: __fc_stack_status); + allocates \result; */ -extern int select(int nfds, fd_set *readfds, fd_set *writefds, - fd_set *errorfds, struct timeval *timeout); +extern void *alloca(size_t size); -/*@ requires valid_string_path: valid_read_string(path); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result - \from (indirect: path), (indirect: *(path + (0 ..))), (indirect: mode); +DIR __fc_opendir[16]; +DIR * const __fc_p_opendir = __fc_opendir; +/*@ requires + dirp_valid_dir_stream: \subset(dirp, &__fc_opendir[0 .. 16 - 1]); + ensures + err_or_closed_on_success: + (\result ≡ 0 ∧ \old(dirp)->__fc_dir_inode ≡ \null) ∨ + \result ≡ -1; + assigns \result, __fc_errno, *dirp; + assigns \result \from dirp, *dirp, __fc_p_opendir; + assigns __fc_errno \from dirp, *dirp, __fc_p_opendir; + assigns *dirp \from dirp, *dirp, __fc_p_opendir; */ -extern int mkdir(char const *path, mode_t mode); +extern int closedir(DIR *dirp); -/*@ requires valid_pathname: valid_read_string(pathname); - requires valid_buf: \valid(buf); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; +/*@ ensures result_null_or_valid: \result ≡ \null ∨ \valid(\result); ensures - init_on_success: initialization: buf: - \result ≡ 0 ⇒ \initialized(\old(buf)); - assigns \result, *buf; - assigns \result \from *(pathname + (0 ..)); - assigns *buf \from *(pathname + (0 ..)); + valid_dir_stream_on_success: + \result ≢ \null ⇒ \result ≡ &__fc_opendir[\result->__fc_dir_id]; + ensures + stream_positioned_on_success: + \result ≢ \null ⇒ \result->__fc_dir_inode ≢ \null; + assigns \result, __fc_errno; + assigns \result \from *(path + (0 ..)), __fc_p_opendir; + assigns __fc_errno \from *(path + (0 ..)), __fc_p_opendir; */ -extern int stat(char const *pathname, struct stat *buf); +extern DIR *opendir(char const *path); -/*@ assigns \result; - assigns \result \from (indirect: cmask); */ -extern mode_t umask(mode_t cmask); +/*@ requires + dirp_valid_dir_stream: \subset(dirp, &__fc_opendir[0 .. 16 - 1]); + ensures result_null_or_valid: \result ≡ \null ∨ \valid(\result); + assigns \result, dirp->__fc_dir_position, __fc_errno; + assigns \result \from *dirp, __fc_p_opendir; + assigns dirp->__fc_dir_position \from dirp->__fc_dir_position; + assigns __fc_errno \from dirp, *dirp, __fc_p_opendir; + */ +extern struct dirent *readdir(DIR *dirp); -/*@ assigns *(*(outbuf + (0 .. *outbytesleft - 1))), __fc_errno; - assigns *(*(outbuf + (0 .. *outbytesleft - 1))) - \from *(*(inbuf + (0 .. *inbytesleft - 1))); +/*@ requires valid_fdset: \valid(fdset); + requires initialization: \initialized(fdset); + assigns *fdset; + assigns *fdset \from *fdset, (indirect: fd); */ -extern size_t iconv(iconv_t cd, char ** __restrict inbuf, - size_t * __restrict inbytesleft, - char ** __restrict outbuf, - size_t * __restrict outbytesleft); +extern void FD_CLR(int fd, fd_set *fdset); -/*@ ensures result_zero_or_neg: \result ≡ 0 ∨ \result ≡ -1; - assigns __fc_errno; +/*@ requires valid_fdset: \valid_read(fdset); + requires initialization: \initialized(fdset); + assigns \result; + assigns \result \from (indirect: *fdset), (indirect: fd); */ -extern int iconv_close(iconv_t); +extern int FD_ISSET(int fd, fd_set const *fdset); -/*@ assigns \result, __fc_errno; - assigns \result \from *(tocode + (..)), *(fromcode + (..)); +/*@ requires valid_fdset: \valid(fdset); + requires initialization: \initialized(fdset); + assigns *fdset; + assigns *fdset \from *fdset, (indirect: fd); */ -extern iconv_t iconv_open(char const *tocode, char const *fromcode); +extern void FD_SET(int fd, fd_set *fdset); -extern char __fc_basename[256]; +/*@ requires valid_fdset: \valid(fdset); + ensures initialization: \initialized(\old(fdset)); + assigns *fdset; + assigns *fdset \from \nothing; + */ +extern void FD_ZERO(fd_set *fdset); -char *__fc_p_basename = __fc_basename; -/*@ requires - null_or_valid_string_path: path ≡ \null ∨ valid_read_string(path); +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (int)(\old(a) + \old(b)); ensures - result_points_to_internal_storage_or_path: - \subset(\result, {__fc_p_basename, \old(path)}); - assigns *(path + (0 ..)), __fc_basename[0 ..], \result; - assigns *(path + (0 ..)) \from *(path + (0 ..)), __fc_basename[0 ..]; - assigns __fc_basename[0 ..] \from *(path + (0 ..)), __fc_basename[0 ..]; - assigns \result \from __fc_p_basename, path; + result_overflow: + \old(a) + \old(b) ≡ (int)(\old(a) + \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern char *basename(char *path); +_Bool __builtin_sadd_overflow(int a, int b, int *res); -extern char __fc_dirname[256]; +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (long)(\old(a) + \old(b)); + ensures + result_overflow: + \old(a) + \old(b) ≡ (long)(\old(a) + \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; + */ +_Bool __builtin_saddl_overflow(long a, long b, long *res); -char *__fc_p_dirname = __fc_dirname; -/*@ requires - null_or_valid_string_path: path ≡ \null ∨ valid_read_string(path); +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) + \old(b)); ensures - result_points_to_internal_storage_or_path: - \subset(\result, {__fc_p_dirname, \old(path)}); - assigns *(path + (0 ..)), __fc_dirname[0 ..], \result; - assigns *(path + (0 ..)) \from *(path + (0 ..)), __fc_dirname[0 ..]; - assigns __fc_dirname[0 ..] \from *(path + (0 ..)), __fc_dirname[0 ..]; - assigns \result \from __fc_p_dirname, path; + result_overflow: + \old(a) + \old(b) ≡ (long long)(\old(a) + \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern char *dirname(char *path); +_Bool __builtin_saddll_overflow(long long a, long long b, long long *res); -/*@ requires valid_file_descriptors: \valid(fds + (0 .. nfds - 1)); +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) + \old(b)); ensures - error_timeout_or_bounded: - \result ≡ -1 ∨ \result ≡ 0 ∨ (1 ≤ \result ≤ \old(nfds)); + result_overflow: + \old(a) + \old(b) ≡ (unsigned int)(\old(a) + \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; + */ +_Bool __builtin_uadd_overflow(unsigned int a, unsigned int b, + unsigned int *res); + +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) + \old(b)); ensures - initialization: revents: - \initialized(&(\old(fds) + (0 .. \old(nfds) - 1))->revents); - assigns (fds + (0 .. nfds - 1))->revents, \result; - assigns (fds + (0 .. nfds - 1))->revents - \from (indirect: (fds + (0 .. nfds - 1))->fd), - (fds + (0 .. nfds - 1))->events, (indirect: nfds), - (indirect: timeout), (indirect: Frama_C_entropy_source); - assigns \result - \from (indirect: (fds + (0 .. nfds - 1))->fd), - (indirect: (fds + (0 .. nfds - 1))->events), (indirect: nfds), - (indirect: timeout), (indirect: Frama_C_entropy_source); + result_overflow: + \old(a) + \old(b) ≡ (unsigned long)(\old(a) + \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern int poll(struct pollfd *fds, nfds_t nfds, int timeout); +_Bool __builtin_uaddl_overflow(unsigned long a, unsigned long b, + unsigned long *res); -/*@ requires valid_cond: \valid(cond); - ensures sucess: \result ≡ 0; - assigns \result; - assigns \result \from \nothing; +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures + res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) + \old(b)); + ensures + result_overflow: + \old(a) + \old(b) ≡ (unsigned long long)(\old(a) + \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; + */ +_Bool __builtin_uaddll_overflow(unsigned long long a, unsigned long long b, + unsigned long long *res); + +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (int)(\old(a) - \old(b)); + ensures + result_overflow: + \old(a) - \old(b) ≡ (int)(\old(a) - \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; + */ +_Bool __builtin_ssub_overflow(int a, int b, int *res); + +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (long)(\old(a) - \old(b)); + ensures + result_overflow: + \old(a) - \old(b) ≡ (long)(\old(a) - \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; + */ +_Bool __builtin_ssubl_overflow(long a, long b, long *res); + +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) - \old(b)); + ensures + result_overflow: + \old(a) - \old(b) ≡ (long long)(\old(a) - \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; + */ +_Bool __builtin_ssubll_overflow(long long a, long long b, long long *res); + +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) - \old(b)); + ensures + result_overflow: + \old(a) - \old(b) ≡ (unsigned int)(\old(a) - \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern int pthread_cond_broadcast(pthread_cond_t *cond); +_Bool __builtin_usub_overflow(unsigned int a, unsigned int b, + unsigned int *res); -/*@ requires valid_cond: \valid(cond); - ensures success_or_error: \result ≡ 0 ∨ \result ≡ 16; - assigns \result; - assigns \result \from (indirect: *cond); +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) - \old(b)); + ensures + result_overflow: + \old(a) - \old(b) ≡ (unsigned long)(\old(a) - \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern int pthread_cond_destroy(pthread_cond_t *cond); +_Bool __builtin_usubl_overflow(unsigned long a, unsigned long b, + unsigned long *res); -/*@ requires valid_cond: \valid(cond); - requires valid_null_attr: attr ≡ \null ∨ \valid_read(attr); - ensures initialization: cond: \initialized(\old(cond)); - ensures success: \result ≡ 0; - assigns *cond, \result; - assigns *cond \from *attr; - assigns \result \from \nothing; +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures + res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) - \old(b)); + ensures + result_overflow: + \old(a) - \old(b) ≡ (unsigned long long)(\old(a) - \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern int pthread_cond_init(pthread_cond_t * __restrict cond, - pthread_condattr_t const * __restrict attr); +_Bool __builtin_usubll_overflow(unsigned long long a, unsigned long long b, + unsigned long long *res); -/*@ requires valid_cond: \valid(cond); - requires valid_mutex: \valid(mutex); - ensures success: \result ≡ 0; - assigns \result; - assigns \result \from \nothing; +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (int)(\old(a) * \old(b)); + ensures + result_overflow: + \old(a) * \old(b) ≡ (int)(\old(a) * \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern int pthread_cond_wait(pthread_cond_t * __restrict cond, - pthread_mutex_t * __restrict mutex); +_Bool __builtin_smul_overflow(int a, int b, int *res); -/*@ requires valid_thread: \valid(thread); - requires valid_null_attr: attr ≡ \null ∨ \valid_read(attr); - requires valid_routine: \valid_function(start_routine); - requires valid_null_arg: arg ≡ \null ∨ \valid((char *)arg); +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (long)(\old(a) * \old(b)); ensures - success_or_error: - \result ≡ 0 ∨ \result ≡ 11 ∨ \result ≡ 22 ∨ \result ≡ 1; - assigns *thread, \result; - assigns *thread \from *attr; - assigns \result \from (indirect: *attr); + result_overflow: + \old(a) * \old(b) ≡ (long)(\old(a) * \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern int pthread_create(pthread_t * __restrict thread, - pthread_attr_t const * __restrict attr, - void *(*start_routine)(void *), - void * __restrict arg); +_Bool __builtin_smull_overflow(long a, long b, long *res); -/*@ requires valid_or_null_retval: retval ≡ \null ∨ \valid(retval); +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) * \old(b)); ensures - success_or_error: - \result ≡ 0 ∨ \result ≡ 35 ∨ \result ≡ 22 ∨ \result ≡ 3; - assigns *retval, \result; - assigns *retval \from thread; - assigns \result \from (indirect: thread); - - behavior ignore_retval: - assumes null_retval: retval ≡ \null; - assigns \result; - assigns \result \from (indirect: thread); - - behavior use_retval: - assumes valid_retval: \valid(retval); - assigns *retval, \result; - assigns *retval \from thread; - assigns \result \from (indirect: thread); + result_overflow: + \old(a) * \old(b) ≡ (long long)(\old(a) * \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern int pthread_join(pthread_t thread, void **retval); +_Bool __builtin_smulll_overflow(long long a, long long b, long long *res); -/*@ requires mutex_valid: \valid(mutex); - ensures init_or_busy: \result ≡ 0 ∨ \result ≡ 16; - assigns *mutex, \result; - assigns *mutex \from *mutex; - assigns \result \from (indirect: *mutex); +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) * \old(b)); + ensures + result_overflow: + \old(a) * \old(b) ≡ (unsigned int)(\old(a) * \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern int pthread_mutex_destroy(pthread_mutex_t *mutex); +_Bool __builtin_umul_overflow(unsigned int a, unsigned int b, + unsigned int *res); -/*@ requires mutex_valid: \valid(mutex); - requires attrs_valid_or_null: attrs ≡ \null ∨ \valid_read(attrs); +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); + ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) * \old(b)); ensures - initialization: success_or_error: - (\result ≡ 0 ∧ \initialized(\old(mutex))) ∨ \result ≡ 11 ∨ - \result ≡ 12 ∨ \result ≡ 1 ∨ \result ≡ 22; - assigns *mutex, \result; - assigns *mutex \from *mutex, *attrs; - assigns \result \from (indirect: *mutex), (indirect: *attrs); + result_overflow: + \old(a) * \old(b) ≡ (unsigned long)(\old(a) * \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern int pthread_mutex_init(pthread_mutex_t * __restrict mutex, - pthread_mutexattr_t const * __restrict attrs); +_Bool __builtin_umull_overflow(unsigned long a, unsigned long b, + unsigned long *res); -/*@ requires mutex_valid: \valid(mutex); +/*@ requires valid_res: \valid(res); + ensures initialization: res: \initialized(\old(res)); ensures - success_or_error: - \result ≡ 0 ∨ \result ≡ 11 ∨ \result ≡ 22 ∨ - \result ≡ 35; - assigns *mutex, \result; - assigns *mutex \from *mutex; - assigns \result \from (indirect: *mutex); + res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) * \old(b)); + ensures + result_overflow: + \old(a) * \old(b) ≡ (unsigned long long)(\old(a) * \old(b))? + \result ≡ 0: + \result ≡ 1; + assigns \result, *res; + assigns \result \from a, b; + assigns *res \from a, b; */ -extern int pthread_mutex_lock(pthread_mutex_t *mutex); +_Bool __builtin_umulll_overflow(unsigned long long a, unsigned long long b, + unsigned long long *res); -/*@ requires mutex_valid: \valid(mutex); - ensures success_or_error: \result ≡ 0 ∨ \result ≡ 1; - assigns *mutex, \result; - assigns *mutex \from *mutex; - assigns \result \from (indirect: *mutex); +/*@ requires valid_filename: valid_read_string(filename); + assigns \result; + assigns \result \from (indirect: *(filename + (0 ..))), (indirect: mode); */ -extern int pthread_mutex_unlock(pthread_mutex_t *mutex); - -extern char __fc_getpwuid_pw_name[64]; - -extern char __fc_getpwuid_pw_passwd[64]; - -extern char __fc_getpwuid_pw_dir[64]; +extern int creat(char const *filename, mode_t mode); -extern char __fc_getpwuid_pw_shell[64]; +/*@ assigns \result; + assigns \result \from fd, cmd; */ +extern int fcntl(int fd, int cmd, void * const *__va_params); -struct passwd __fc_pwd = - {.pw_name = __fc_getpwuid_pw_name, - .pw_passwd = __fc_getpwuid_pw_passwd, - .pw_uid = 0U, - .pw_gid = 0U, - .pw_gecos = (char *)0, - .pw_dir = __fc_getpwuid_pw_dir, - .pw_shell = __fc_getpwuid_pw_shell}; -struct passwd *__fc_p_pwd = & __fc_pwd; -/*@ requires valid_name: valid_read_string(name); - ensures - result_null_or_internal_struct: - \result ≡ \null ∨ \result ≡ __fc_p_pwd; - assigns \result, __fc_pwd; - assigns \result \from __fc_p_pwd, (indirect: *(name + (0 ..))); - assigns __fc_pwd \from (indirect: *(name + (0 ..))); +/*@ requires valid_filename: valid_read_string(filename); + assigns \result; + assigns \result + \from (indirect: *(filename + (0 ..))), (indirect: flags); */ -extern struct passwd *getpwnam(char const *name); +extern int open(char const *filename, int flags, void * const *__va_params); -/*@ ensures - result_null_or_internal_struct: - \result ≡ \null ∨ \result ≡ __fc_p_pwd; - assigns \result, __fc_pwd; - assigns \result \from __fc_p_pwd, (indirect: uid); - assigns __fc_pwd \from (indirect: uid); +/*@ requires valid_filename: valid_read_string(filename); + assigns \result; + assigns \result + \from (indirect: dirfd), (indirect: *(filename + (0 ..))), + (indirect: flags); */ -extern struct passwd *getpwuid(uid_t uid); - -/*@ assigns *(env + (0 .. 4)); */ -extern int setjmp(int * /*[5]*/ env); +extern int openat(int dirfd, char const *filename, int flags, + void * const *__va_params); -/*@ ensures never_terminates: \false; - assigns \nothing; */ -extern void longjmp(int * /*[5]*/ env, int val); +/*@ requires cmd_has_void_arg: cmd ≡ 1 ∨ cmd ≡ 3 ∨ cmd ≡ 9; + assigns \result; + assigns \result \from fd, cmd; + */ +extern int __va_fcntl_void(int fd, int cmd); -/*@ ensures never_terminates: \false; - assigns \nothing; */ -extern void siglongjmp(sigjmp_buf env, int val); +/*@ requires + cmd_has_int_arg: + cmd ≡ 0 ∨ cmd ≡ 0x406 ∨ cmd ≡ 4 ∨ cmd ≡ 8 ∨ cmd ≡ 2; + assigns \result; + assigns \result \from fd, cmd, arg; + */ +extern int __va_fcntl_int(int fd, int cmd, int arg); -/*@ assigns \result; - assigns \result \from (indirect: fd), (indirect: request); +/*@ requires cmd_as_flock_arg: cmd ≡ 5 ∨ cmd ≡ 6 ∨ cmd ≡ 7; + requires valid_arg: \valid(arg); + assigns \result, *arg; + assigns \result \from fd, cmd, *arg; + assigns *arg \from fd, cmd, *arg; */ -extern int __va_ioctl_void(int fd, int request); +extern int __va_fcntl_flock(int fd, int cmd, struct flock *arg); -/*@ assigns \result; +/*@ requires valid_filename: valid_read_string(filename); + requires flag_not_CREAT: (flags & 0x40) ≡ 0; + assigns \result; assigns \result - \from (indirect: fd), (indirect: request), (indirect: arg); + \from (indirect: *(filename + (0 ..))), (indirect: flags); */ -extern int __va_ioctl_int(int fd, int request, int arg); +extern int __va_open_void(char const *filename, int flags); -/*@ assigns \result, *((char *)argp + (0 ..)); +/*@ requires valid_filename: valid_read_string(filename); + assigns \result; assigns \result - \from (indirect: fd), (indirect: request), - (indirect: *((char *)argp + (0 ..))); - assigns *((char *)argp + (0 ..)) - \from (indirect: fd), (indirect: request), *((char *)argp + (0 ..)); + \from (indirect: *(filename + (0 ..))), (indirect: flags), + (indirect: mode); */ -extern int __va_ioctl_ptr(int fd, int request, void *argp); +extern int __va_open_mode_t(char const *filename, int flags, mode_t mode); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; +/*@ requires valid_filename: valid_read_string(filename); + requires flag_not_CREAT: (flags & 0x40) ≡ 0; assigns \result; - assigns \result \from (indirect: fd), (indirect: operation); + assigns \result + \from (indirect: dirfd), (indirect: *(filename + (0 ..))), + (indirect: flags); */ -extern int flock(int fd, int operation); - -CODE facilitynames[23] = - {{.c_name = "auth", .c_val = 4 << 3}, - {.c_name = "authpriv", .c_val = 10 << 3}, - {.c_name = "cron", .c_val = 9 << 3}, - {.c_name = "daemon", .c_val = 3 << 3}, - {.c_name = "ftp", .c_val = 11 << 3}, - {.c_name = "kern", .c_val = 0 << 3}, - {.c_name = "lpr", .c_val = 6 << 3}, - {.c_name = "mail", .c_val = 2 << 3}, - {.c_name = "mark", .c_val = 24 | 0}, - {.c_name = "news", .c_val = 7 << 3}, - {.c_name = "security", .c_val = 4 << 3}, - {.c_name = "syslog", .c_val = 5 << 3}, - {.c_name = "user", .c_val = 1 << 3}, - {.c_name = "uucp", .c_val = 8 << 3}, - {.c_name = "local0", .c_val = 16 << 3}, - {.c_name = "local1", .c_val = 17 << 3}, - {.c_name = "local2", .c_val = 18 << 3}, - {.c_name = "local3", .c_val = 19 << 3}, - {.c_name = "local4", .c_val = 20 << 3}, - {.c_name = "local5", .c_val = 21 << 3}, - {.c_name = "local6", .c_val = 22 << 3}, - {.c_name = "local7", .c_val = 23 << 3}, - {.c_name = (char const *)0, .c_val = -1}}; -CODE prioritynames[13] = - {{.c_name = "alert", .c_val = 1}, - {.c_name = "crit", .c_val = 2}, - {.c_name = "debug", .c_val = 7}, - {.c_name = "emerg", .c_val = 0}, - {.c_name = "err", .c_val = 3}, - {.c_name = "error", .c_val = 3}, - {.c_name = "info", .c_val = 6}, - {.c_name = "none", .c_val = 0x10}, - {.c_name = "notice", .c_val = 5}, - {.c_name = "panic", .c_val = 0}, - {.c_name = "warn", .c_val = 4}, - {.c_name = "warning", .c_val = 4}, - {.c_name = (char const *)0, .c_val = -1}}; -/*@ assigns \nothing; */ -extern void closelog(void); - -/*@ assigns \nothing; */ -extern void openlog(char const *, int, int); - -/*@ assigns \nothing; */ -extern int setlogmask(int); - -/*@ assigns \nothing; */ -extern void syslog(int, char const *, void * const *__va_params); - -/*@ assigns \nothing; */ -extern void vsyslog(int, char const *, va_list); - -/*@ assigns \result; - assigns \result \from which, who; */ -extern int getpriority(int which, id_t who); - -/*@ assigns \result; - assigns \result \from which, who, prio; */ -extern int setpriority(int which, id_t who, int prio); +extern int __va_openat_void(int dirfd, char const *filename, int flags); -/*@ assigns \result, rl->rlim_cur, rl->rlim_max; - assigns \result \from r; - assigns rl->rlim_cur \from r; - assigns rl->rlim_max \from r; +/*@ requires valid_filename: valid_read_string(filename); + assigns \result; + assigns \result + \from (indirect: dirfd), (indirect: *(filename + (0 ..))), + (indirect: flags), (indirect: mode); */ -extern int getrlimit(int r, struct rlimit *rl); +extern int __va_openat_mode_t(int dirfd, char const *filename, int flags, + mode_t mode); -/*@ assigns \result, ru->ru_utime, ru->ru_stime; - assigns \result \from r; - assigns ru->ru_utime \from r; - assigns ru->ru_stime \from r; - */ -extern int getrusage(int r, struct rusage *ru); +/*@ ghost extern int __fc_tz __attribute__((__FRAMA_C_MODEL__)); */ /*@ assigns \result; - assigns \result \from r, rl->rlim_cur, rl->rlim_max; */ -extern int setrlimit(int r, struct rlimit const *rl); + assigns \result \from *(path + (0 ..)), *(times + (0 .. 1)); + */ +extern int utimes(char const *path, struct timeval const * /*[2]*/ times); -/*@ requires valid_buffer: \valid(buffer); - assigns \result, *buffer; - assigns \result \from __fc_time; - assigns *buffer \from __fc_time; +/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns tv->tv_sec, tv->tv_usec, *((struct timezone *)tz), \result; + assigns tv->tv_sec \from __fc_time; + assigns tv->tv_usec \from __fc_time; + assigns *((struct timezone *)tz) \from __fc_tz; + assigns \result + \from (indirect: tv), (indirect: tz), *tv, *((struct timezone *)tz), + __fc_tz; + + behavior tv_and_tz_null: + assumes null_tv_tz: tv ≡ \null ∧ tz ≡ \null; + assigns \result; + assigns \result \from (indirect: __fc_tz); + + behavior tv_not_null: + assumes non_null_tv_null_tz: tv ≢ \null ∧ tz ≡ \null; + ensures + initialization: tv_sec: tv_usec: + \initialized(&\old(tv)->tv_sec) ∧ + \initialized(&\old(tv)->tv_usec); + ensures tv_usec_bounded: 0 ≤ \old(tv)->tv_usec ≤ 999999; + assigns tv->tv_sec, tv->tv_usec, \result; + assigns tv->tv_sec \from (indirect: __fc_time); + assigns tv->tv_usec \from (indirect: __fc_time); + assigns \result \from (indirect: *tv), (indirect: __fc_tz); + + behavior tz_not_null: + assumes null_tv_non_null_tz: tv ≡ \null ∧ tz ≢ \null; + ensures initialization: tz: \initialized((struct timezone *)\old(tz)); + assigns *((struct timezone *)tz), \result; + assigns *((struct timezone *)tz) \from __fc_tz; + assigns \result + \from (indirect: *((struct timezone *)tz)), (indirect: __fc_tz); + + behavior tv_and_tz_not_null: + assumes non_null_tv_tz: tv ≢ \null ∧ tz ≢ \null; + ensures + initialization: tv_sec: tv_usec: + \initialized(&\old(tv)->tv_sec) ∧ + \initialized(&\old(tv)->tv_usec); + ensures initialization: tz: \initialized((struct timezone *)\old(tz)); + assigns tv->tv_sec, tv->tv_usec, *((struct timezone *)tz), \result; + assigns tv->tv_sec \from (indirect: __fc_time); + assigns tv->tv_usec \from (indirect: __fc_time); + assigns *((struct timezone *)tz) \from __fc_tz; + assigns \result + \from (indirect: *tv), (indirect: *((struct timezone *)tz)), + (indirect: __fc_tz); + + complete behaviors tv_and_tz_not_null, + tz_not_null, + tv_not_null, + tv_and_tz_null; + disjoint behaviors tv_and_tz_not_null, + tz_not_null, + tv_not_null, + tv_and_tz_null; */ -extern clock_t times(struct tms *buffer); +extern int gettimeofday(struct timeval * __restrict tv, void * __restrict tz); -/*@ requires valid_read_iov: \valid_read(iov + (0 .. iovcnt - 1)); - assigns *((char *)(iov + (0 .. iovcnt - 1))->iov_base + (0 ..)); +/*@ assigns \result, __fc_time, __fc_tz; + assigns \result + \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest; + assigns __fc_time + \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest; + assigns __fc_tz + \from tv->tv_sec, tv->tv_usec, tz->tz_dsttime, tz->tz_minuteswest; */ -extern ssize_t readv(int fd, struct iovec const *iov, int iovcnt); +extern int settimeofday(struct timeval const *tv, struct timezone const *tz); -/*@ ensures result_ok_or_error: \result ≡ -1 ∨ \result ≥ 0; - ensures - initialization: stat_loc_init_on_success: - \result ≥ 0 ∧ \old(stat_loc) ≢ \null ⇒ - \initialized(\old(stat_loc)); - assigns \result, *stat_loc; - assigns \result \from \nothing; - assigns *stat_loc \from \nothing; +/*@ ghost + struct itimerval volatile __fc_itimer_real __attribute__((__FRAMA_C_MODEL__)); + */ +/*@ ghost + struct itimerval volatile __fc_itimer_virtual __attribute__((__FRAMA_C_MODEL__)); + */ +/*@ ghost + struct itimerval volatile __fc_itimer_prof __attribute__((__FRAMA_C_MODEL__)); + */ +/*@ requires valid_curr_value: \valid(curr_value); + ensures initialization: curr_value: \initialized(\old(curr_value)); + assigns \result, *curr_value; + assigns \result \from (indirect: which); + assigns *curr_value + \from __fc_itimer_real, __fc_itimer_virtual, __fc_itimer_prof; - behavior stat_loc_null: - assumes stat_loc_null: stat_loc ≡ \null; - assigns \result; + behavior real: + assumes itimer_real: which ≡ 0; + ensures result_ok: \result ≡ 0; + assigns \result, *curr_value; assigns \result \from \nothing; + assigns *curr_value \from __fc_itimer_real; - behavior stat_loc_non_null: - assumes stat_loc_non_null: stat_loc ≢ \null; - requires valid_stat_loc: \valid(stat_loc); - */ -extern pid_t wait(int *stat_loc); - -/*@ ensures result_ok_or_error: \result ≡ -1 ∨ \result ≥ 0; - ensures - initialization: stat_loc_init_on_success: - \result ≥ 0 ∧ \old(stat_loc) ≢ \null ⇒ - \initialized(\old(stat_loc)); - assigns \result, *stat_loc; - assigns \result \from (indirect: options); - assigns *stat_loc \from (indirect: options); + behavior virtual: + assumes itimer_virtual: which ≡ 1; + ensures result_ok: \result ≡ 0; + assigns \result, *curr_value; + assigns \result \from \nothing; + assigns *curr_value \from __fc_itimer_virtual; + + behavior prof: + assumes itimer_prof: which ≡ 2; + ensures result_ok: \result ≡ 0; + assigns \result, *curr_value; + assigns \result \from \nothing; + assigns *curr_value \from __fc_itimer_prof; - behavior stat_loc_null: - assumes stat_loc_null: stat_loc ≡ \null; + behavior invalid: + assumes invalid_which: which ≢ 0 ∧ which ≢ 1 ∧ which ≢ 2; + ensures result_error: \result ≡ -1; assigns \result; assigns \result \from \nothing; - behavior stat_loc_non_null: - assumes stat_loc_non_null: stat_loc ≢ \null; - requires valid_stat_loc: \valid(stat_loc); + complete behaviors invalid, prof, virtual, real; + disjoint behaviors invalid, prof, virtual, real; */ -extern pid_t waitpid(pid_t pid, int *stat_loc, int options); +extern int getitimer(int which, struct itimerval *curr_value); -/*@ requires valid_termios_p: \valid(termios_p); - assigns \result, *termios_p, Frama_C_entropy_source; - assigns \result \from (indirect: fd), (indirect: Frama_C_entropy_source); - assigns *termios_p - \from (indirect: fd), (indirect: Frama_C_entropy_source); - assigns Frama_C_entropy_source \from Frama_C_entropy_source; +/*@ requires valid_new_value: \valid_read(new_value); + requires + old_value_null_or_valid: old_value ≡ \null ∨ \valid(old_value); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns *old_value, \result; + assigns *old_value + \from (indirect: which), (indirect: old_value), (indirect: new_value), + __fc_itimer_real, __fc_itimer_virtual, __fc_itimer_prof; + assigns \result + \from (indirect: which), (indirect: new_value), (indirect: *new_value); - behavior ok: - assumes nondet: Frama_C_entropy_source ≡ 0; - ensures initialization: termios_p: \initialized(\old(termios_p)); + behavior real: + assumes + itimer_real_and_valid: + which ≡ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧ + 0 ≤ new_value->it_interval.tv_usec ≤ 999999; ensures result_ok: \result ≡ 0; + ensures initialization: old_value: \initialized(\old(old_value)); + assigns \result, *old_value, __fc_itimer_real; + assigns \result \from \nothing; + assigns *old_value \from __fc_itimer_real; + assigns __fc_itimer_real \from *new_value; - behavior error: - assumes nondet: Frama_C_entropy_source ≢ 0; + behavior virtual: + assumes + itimer_virtual_and_valid: + which ≡ 1 ∧ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧ + 0 ≤ new_value->it_interval.tv_usec ≤ 999999; + ensures result_ok: \result ≡ 0; + ensures initialization: old_value: \initialized(\old(old_value)); + assigns \result, *old_value; + assigns \result \from \nothing; + assigns *old_value \from __fc_itimer_virtual; + + behavior prof: + assumes + itimer_prof_and_valid: + which ≡ 2 ∧ 0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧ + 0 ≤ new_value->it_interval.tv_usec ≤ 999999; + ensures result_ok: \result ≡ 0; + ensures initialization: old_value: \initialized(\old(old_value)); + assigns \result, *old_value; + assigns \result \from \nothing; + assigns *old_value \from __fc_itimer_prof; + + behavior invalid: + assumes + invalid_itimer_or_new_value: + (which ≢ 0 ∧ which ≢ 1 ∧ which ≢ 2) ∨ + ¬(0 ≤ new_value->it_value.tv_usec ≤ 999999 ∧ + 0 ≤ new_value->it_interval.tv_usec ≤ 999999); ensures result_error: \result ≡ -1; + assigns \result; + assigns \result \from \nothing; - complete behaviors error, ok; - disjoint behaviors error, ok; + disjoint behaviors invalid, prof, virtual, real; */ -extern int tcgetattr(int fd, struct termios *termios_p); +extern int setitimer(int which, + struct itimerval const * __restrict new_value, + struct itimerval * __restrict old_value); -/*@ requires valid_termios_p: \valid(termios_p); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns *termios_p, Frama_C_entropy_source, \result; - assigns *termios_p - \from (indirect: fd), (indirect: optional_actions), - (indirect: Frama_C_entropy_source), *termios_p; - assigns Frama_C_entropy_source \from Frama_C_entropy_source; +/*@ ghost int volatile __fc_fds_state; */ +/*@ requires nfds: nfds ≥ 0; + requires readfs: readfds ≡ \null ∨ \valid(readfds); + requires writefds: writefds ≡ \null ∨ \valid(writefds); + requires errorfds: errorfds ≡ \null ∨ \valid(errorfds); + requires timeout: timeout ≡ \null ∨ \valid(timeout); + assigns __fc_fds_state, *readfds, *writefds, *errorfds, *timeout, + \result; + assigns __fc_fds_state \from __fc_fds_state; + assigns *readfds + \from (indirect: nfds), (indirect: readfds), (indirect: *readfds), + (indirect: writefds), (indirect: *writefds), + (indirect: errorfds), (indirect: *errorfds), (indirect: timeout), + (indirect: *timeout), __fc_fds_state; + assigns *writefds + \from (indirect: nfds), (indirect: readfds), (indirect: *readfds), + (indirect: writefds), (indirect: *writefds), + (indirect: errorfds), (indirect: *errorfds), (indirect: timeout), + (indirect: *timeout), __fc_fds_state; + assigns *errorfds + \from (indirect: nfds), (indirect: readfds), (indirect: *readfds), + (indirect: writefds), (indirect: *writefds), + (indirect: errorfds), (indirect: *errorfds), (indirect: timeout), + (indirect: *timeout), __fc_fds_state; + assigns *timeout + \from (indirect: nfds), (indirect: readfds), (indirect: *readfds), + (indirect: writefds), (indirect: *writefds), + (indirect: errorfds), (indirect: *errorfds), (indirect: timeout), + (indirect: *timeout), __fc_fds_state; assigns \result - \from (indirect: fd), (indirect: optional_actions), - (indirect: Frama_C_entropy_source), (indirect: *termios_p); + \from (indirect: nfds), (indirect: readfds), (indirect: *readfds), + (indirect: writefds), (indirect: *writefds), + (indirect: errorfds), (indirect: *errorfds), (indirect: timeout), + (indirect: *timeout), __fc_fds_state; + + behavior read_notnull: + assumes readfds_is_not_null: readfds ≢ \null; + ensures initialization: readfds: \initialized(\old(readfds)); + + behavior write_notnull: + assumes writefds_is_not_null: writefds ≢ \null; + ensures initialization: writefds: \initialized(\old(writefds)); + + behavior error_notnull: + assumes errorfds_is_not_null: errorfds ≢ \null; + ensures initialization: errorfds: \initialized(\old(errorfds)); + + behavior timeout_notnull: + assumes timeout_is_not_null: timeout ≢ \null; + ensures initialization: timeout: \initialized(\old(timeout)); */ -extern int tcsetattr(int fd, int optional_actions, struct termios *termios_p); +extern int select(int nfds, fd_set *readfds, fd_set *writefds, + fd_set *errorfds, struct timeval *timeout); -/*@ ghost int __fc_fds[1024]; */ /*@ requires valid_string_path: valid_read_string(path); - requires valid_amode: (amode & ~((4 | 2) | 1)) ≡ 0 ∨ amode ≡ 0; ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; assigns \result; assigns \result - \from (indirect: path), (indirect: *(path + (0 ..))), (indirect: amode); + \from (indirect: path), (indirect: *(path + (0 ..))), (indirect: mode); */ -extern int access(char const *path, int amode); +extern int mkdir(char const *path, mode_t mode); -/*@ requires valid_string_path: valid_read_string(path); +/*@ requires valid_pathname: valid_read_string(pathname); + requires valid_buf: \valid(buf); ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from (indirect: path), (indirect: *(path + (0 ..))); + ensures + init_on_success: initialization: buf: + \result ≡ 0 ⇒ \initialized(\old(buf)); + assigns \result, *buf; + assigns \result \from *(pathname + (0 ..)); + assigns *buf \from *(pathname + (0 ..)); */ -extern int chdir(char const *path); +extern int stat(char const *pathname, struct stat *buf); -/*@ requires valid_string_path: valid_read_string(path); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from (indirect: path), (indirect: *(path + (0 ..))); - */ -extern int chroot(char const *path); +/*@ assigns \result; + assigns \result \from (indirect: cmask); */ +extern mode_t umask(mode_t cmask); -/*@ requires valid_string_path: valid_read_string(path); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result - \from (indirect: path), (indirect: *(path + (0 ..))), - (indirect: owner), (indirect: group); +/*@ assigns *(*(outbuf + (0 .. *outbytesleft - 1))), __fc_errno; + assigns *(*(outbuf + (0 .. *outbytesleft - 1))) + \from *(*(inbuf + (0 .. *inbytesleft - 1))); */ -extern int chown(char const *path, uid_t owner, gid_t group); +extern size_t iconv(iconv_t cd, char ** __restrict inbuf, + size_t * __restrict inbytesleft, + char ** __restrict outbuf, + size_t * __restrict outbytesleft); -/*@ requires valid_fd: 0 ≤ fd < 1024; - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns __fc_fds[fd], \result; - assigns __fc_fds[fd] \from fd, __fc_fds[fd]; - assigns \result \from (indirect: fd), (indirect: __fc_fds[fd]); +/*@ ensures result_zero_or_neg: \result ≡ 0 ∨ \result ≡ -1; + assigns __fc_errno; */ -extern int close(int fd); +extern int iconv_close(iconv_t); -/*@ requires valid_fildes: 0 ≤ fildes < 1024; - ensures - result_valid_fildes_or_error: - \result ≡ -1 ∨ (\old(fildes) ≤ \result < 1024); - assigns __fc_fds[fildes ..], \result; - assigns __fc_fds[fildes ..] \from fildes; - assigns \result \from fildes; +/*@ assigns \result, __fc_errno; + assigns \result \from *(tocode + (..)), *(fromcode + (..)); */ -extern int dup(int fildes); +extern iconv_t iconv_open(char const *tocode, char const *fromcode); -/*@ requires valid_fildes: 0 ≤ fildes < 1024; - requires valid_fildes2: 0 ≤ fildes2 < 1024; +extern char __fc_basename[256]; + +char *__fc_p_basename = __fc_basename; +/*@ requires + null_or_valid_string_path: path ≡ \null ∨ valid_read_string(path); ensures - result_fildes2_or_error: \result ≡ \old(fildes2) ∨ \result ≡ -1; - assigns __fc_fds[fildes2], \result; - assigns __fc_fds[fildes2] \from fildes, fildes2, __fc_fds[fildes2]; - assigns \result - \from fildes, fildes2, __fc_fds[fildes], __fc_fds[fildes2]; + result_points_to_internal_storage_or_path: + \subset(\result, {__fc_p_basename, \old(path)}); + assigns *(path + (0 ..)), __fc_basename[0 ..], \result; + assigns *(path + (0 ..)) \from *(path + (0 ..)), __fc_basename[0 ..]; + assigns __fc_basename[0 ..] \from *(path + (0 ..)), __fc_basename[0 ..]; + assigns \result \from __fc_p_basename, path; */ -extern int dup2(int fildes, int fildes2); +extern char *basename(char *path); -/*@ requires valid_string_path: valid_read_string(path); - requires valid_string_arg: valid_read_string(arg); - assigns \result; - assigns \result \from *(path + (0 ..)), *(arg + (0 ..)); - */ -extern int execl(char const *path, char const *arg, void * const *__va_params); +extern char __fc_dirname[256]; -/*@ requires valid_string_path: valid_read_string(path); - requires valid_string_arg: valid_read_string(arg); - assigns \result; - assigns \result \from *(path + (0 ..)), *(arg + (0 ..)); +char *__fc_p_dirname = __fc_dirname; +/*@ requires + null_or_valid_string_path: path ≡ \null ∨ valid_read_string(path); + ensures + result_points_to_internal_storage_or_path: + \subset(\result, {__fc_p_dirname, \old(path)}); + assigns *(path + (0 ..)), __fc_dirname[0 ..], \result; + assigns *(path + (0 ..)) \from *(path + (0 ..)), __fc_dirname[0 ..]; + assigns __fc_dirname[0 ..] \from *(path + (0 ..)), __fc_dirname[0 ..]; + assigns \result \from __fc_p_dirname, path; */ -extern int execle(char const *path, char const *arg, - void * const *__va_params); +extern char *dirname(char *path); -/*@ requires valid_string_path: valid_read_string(path); - requires valid_string_arg: valid_read_string(arg); - assigns \result; - assigns \result \from *(path + (0 ..)), *(arg + (0 ..)); +/*@ requires valid_file_descriptors: \valid(fds + (0 .. nfds - 1)); + ensures + error_timeout_or_bounded: + \result ≡ -1 ∨ \result ≡ 0 ∨ (1 ≤ \result ≤ \old(nfds)); + ensures + initialization: revents: + \initialized(&(\old(fds) + (0 .. \old(nfds) - 1))->revents); + assigns (fds + (0 .. nfds - 1))->revents, \result; + assigns (fds + (0 .. nfds - 1))->revents + \from (indirect: (fds + (0 .. nfds - 1))->fd), + (fds + (0 .. nfds - 1))->events, (indirect: nfds), + (indirect: timeout), (indirect: Frama_C_entropy_source); + assigns \result + \from (indirect: (fds + (0 .. nfds - 1))->fd), + (indirect: (fds + (0 .. nfds - 1))->events), (indirect: nfds), + (indirect: timeout), (indirect: Frama_C_entropy_source); */ -extern int execlp(char const *path, char const *arg, - void * const *__va_params); +extern int poll(struct pollfd *fds, nfds_t nfds, int timeout); -/*@ requires valid_string_path: valid_read_string(path); - requires valid_string_argv0: valid_read_string(*(argv + 0)); +/*@ requires valid_cond: \valid(cond); + ensures sucess: \result ≡ 0; assigns \result; - assigns \result \from *(path + (0 ..)), *(argv + (0 ..)); + assigns \result \from \nothing; */ -extern int execv(char const *path, char * const *argv); +extern int pthread_cond_broadcast(pthread_cond_t *cond); -/*@ requires valid_path: valid_read_string(path); - requires valid_argv0: valid_read_string(*(argv + 0)); +/*@ requires valid_cond: \valid(cond); + ensures success_or_error: \result ≡ 0 ∨ \result ≡ 16; assigns \result; - assigns \result \from *(path + (0 ..)), *(argv + (0 ..)); + assigns \result \from (indirect: *cond); */ -extern int execve(char const *path, char * const *argv, char * const *env); +extern int pthread_cond_destroy(pthread_cond_t *cond); -/*@ requires valid_string_path: valid_read_string(path); - requires valid_string_argv0: valid_read_string(*(argv + 0)); - assigns \result; - assigns \result \from *(path + (0 ..)), *(argv + (0 ..)); +/*@ requires valid_cond: \valid(cond); + requires valid_null_attr: attr ≡ \null ∨ \valid_read(attr); + ensures initialization: cond: \initialized(\old(cond)); + ensures success: \result ≡ 0; + assigns *cond, \result; + assigns *cond \from *attr; + assigns \result \from \nothing; */ -extern int execvp(char const *path, char * const *argv); - -/*@ ensures never_terminates: \false; - assigns \nothing; */ -extern __attribute__((__noreturn__)) void _exit(int); +extern int pthread_cond_init(pthread_cond_t * __restrict cond, + pthread_condattr_t const * __restrict attr); -/*@ ensures - result_ok_child_or_error: - \result ≡ 0 ∨ \result > 0 ∨ \result ≡ -1; +/*@ requires valid_cond: \valid(cond); + requires valid_mutex: \valid(mutex); + ensures success: \result ≡ 0; assigns \result; assigns \result \from \nothing; */ -extern pid_t fork(void); +extern int pthread_cond_wait(pthread_cond_t * __restrict cond, + pthread_mutex_t * __restrict mutex); -/*@ requires valid_buf: \valid(buf + (0 .. size - 1)); - ensures result_ok_or_error: \result ≡ \null ∨ \result ≡ \old(buf); - assigns *(buf + (0 .. size - 1)), \result; - assigns *(buf + (0 .. size - 1)) \from (indirect: buf), (indirect: size); - assigns \result \from buf, (indirect: size); +/*@ requires valid_thread: \valid(thread); + requires valid_null_attr: attr ≡ \null ∨ \valid_read(attr); + requires valid_routine: \valid_function(start_routine); + requires valid_null_arg: arg ≡ \null ∨ \valid((char *)arg); + ensures + success_or_error: + \result ≡ 0 ∨ \result ≡ 11 ∨ \result ≡ 22 ∨ \result ≡ 1; + assigns *thread, \result; + assigns *thread \from *attr; + assigns \result \from (indirect: *attr); */ -extern char *getcwd(char *buf, size_t size); - -/*@ assigns \result; - assigns \result \from \nothing; */ -extern gid_t getegid(void); - -/*@ assigns \result; - assigns \result \from \nothing; */ -extern uid_t geteuid(void); - -/*@ assigns \result; - assigns \result \from \nothing; */ -extern gid_t getgid(void); +extern int pthread_create(pthread_t * __restrict thread, + pthread_attr_t const * __restrict attr, + void *(*start_routine)(void *), + void * __restrict arg); -extern char volatile __fc_hostname[64]; +/*@ requires valid_or_null_retval: retval ≡ \null ∨ \valid(retval); + ensures + success_or_error: + \result ≡ 0 ∨ \result ≡ 35 ∨ \result ≡ 22 ∨ \result ≡ 3; + assigns *retval, \result; + assigns *retval \from thread; + assigns \result \from (indirect: thread); + + behavior ignore_retval: + assumes null_retval: retval ≡ \null; + assigns \result; + assigns \result \from (indirect: thread); + + behavior use_retval: + assumes valid_retval: \valid(retval); + assigns *retval, \result; + assigns *retval \from thread; + assigns \result \from (indirect: thread); + */ +extern int pthread_join(pthread_t thread, void **retval); -/*@ requires name_has_room: \valid(name + (0 .. len - 1)); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result, *(name + (0 .. len - 1)); - assigns \result - \from (indirect: __fc_hostname[0 .. len]), (indirect: len); - assigns *(name + (0 .. len - 1)) - \from (indirect: __fc_hostname[0 .. len]), (indirect: len); +/*@ requires mutex_valid: \valid(mutex); + ensures init_or_busy: \result ≡ 0 ∨ \result ≡ 16; + assigns *mutex, \result; + assigns *mutex \from *mutex; + assigns \result \from (indirect: *mutex); */ -extern int gethostname(char *name, size_t len); +extern int pthread_mutex_destroy(pthread_mutex_t *mutex); -/*@ requires name_valid_string: valid_read_nstring(name, len); - requires bounded_len: len ≤ 64; - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns __fc_hostname[0 .. len], \result; - assigns __fc_hostname[0 .. len] - \from *(name + (0 .. len - 1)), (indirect: len); - assigns \result \from (indirect: __fc_hostname[0 .. len]); +/*@ requires mutex_valid: \valid(mutex); + requires attrs_valid_or_null: attrs ≡ \null ∨ \valid_read(attrs); + ensures + initialization: success_or_error: + (\result ≡ 0 ∧ \initialized(\old(mutex))) ∨ \result ≡ 11 ∨ + \result ≡ 12 ∨ \result ≡ 1 ∨ \result ≡ 22; + assigns *mutex, \result; + assigns *mutex \from *mutex, *attrs; + assigns \result \from (indirect: *mutex), (indirect: *attrs); */ -extern int sethostname(char const *name, size_t len); +extern int pthread_mutex_init(pthread_mutex_t * __restrict mutex, + pthread_mutexattr_t const * __restrict attrs); -/*@ assigns \result; - assigns \result \from (indirect: pid); */ -extern pid_t getpgid(pid_t pid); +/*@ requires mutex_valid: \valid(mutex); + ensures + success_or_error: + \result ≡ 0 ∨ \result ≡ 11 ∨ \result ≡ 22 ∨ + \result ≡ 35; + assigns *mutex, \result; + assigns *mutex \from *mutex; + assigns \result \from (indirect: *mutex); + */ +extern int pthread_mutex_lock(pthread_mutex_t *mutex); -/*@ assigns \result; - assigns \result \from \nothing; */ -extern pid_t getpgrp(void); +/*@ requires mutex_valid: \valid(mutex); + ensures success_or_error: \result ≡ 0 ∨ \result ≡ 1; + assigns *mutex, \result; + assigns *mutex \from *mutex; + assigns \result \from (indirect: *mutex); + */ +extern int pthread_mutex_unlock(pthread_mutex_t *mutex); -/*@ assigns \result; - assigns \result \from \nothing; */ -extern pid_t getpid(void); +extern char __fc_getpwuid_pw_name[64]; -/*@ assigns \result; - assigns \result \from \nothing; */ -extern pid_t getppid(void); +extern char __fc_getpwuid_pw_passwd[64]; -/*@ assigns \result; - assigns \result \from \nothing; */ -extern pid_t getsid(pid_t); +extern char __fc_getpwuid_pw_dir[64]; -/*@ assigns \result; - assigns \result \from \nothing; */ -extern uid_t getuid(void); +extern char __fc_getpwuid_pw_shell[64]; -/*@ ensures result_true_or_false: \result ≡ 0 ∨ \result ≡ 1; - assigns \result; - assigns \result \from (indirect: fd), (indirect: __fc_fds[fd]); +struct passwd __fc_pwd = + {.pw_name = __fc_getpwuid_pw_name, + .pw_passwd = __fc_getpwuid_pw_passwd, + .pw_uid = 0U, + .pw_gid = 0U, + .pw_gecos = (char *)0, + .pw_dir = __fc_getpwuid_pw_dir, + .pw_shell = __fc_getpwuid_pw_shell}; +struct passwd *__fc_p_pwd = & __fc_pwd; +/*@ requires valid_name: valid_read_string(name); + ensures + result_null_or_internal_struct: + \result ≡ \null ∨ \result ≡ __fc_p_pwd; + assigns \result, __fc_pwd; + assigns \result \from __fc_p_pwd, (indirect: *(name + (0 ..))); + assigns __fc_pwd \from (indirect: *(name + (0 ..))); */ -extern int isatty(int fd); +extern struct passwd *getpwnam(char const *name); -/*@ requires valid_fd: 0 ≤ fd < 1024; - requires valid_whence: whence ≡ 0 ∨ whence ≡ 1 ∨ whence ≡ 2; - ensures result_error_or_offset: \result ≡ -1 ∨ 0 ≤ \result; - assigns \result, __fc_fds[fd]; - assigns \result - \from (indirect: fd), (indirect: __fc_fds[fd]), (indirect: offset), - (indirect: whence); - assigns __fc_fds[fd] - \from (indirect: fd), __fc_fds[fd], (indirect: offset), - (indirect: whence); +/*@ ensures + result_null_or_internal_struct: + \result ≡ \null ∨ \result ≡ __fc_p_pwd; + assigns \result, __fc_pwd; + assigns \result \from __fc_p_pwd, (indirect: uid); + assigns __fc_pwd \from (indirect: uid); */ -extern off_t lseek(int fd, off_t offset, int whence); +extern struct passwd *getpwuid(uid_t uid); -/*@ requires valid_path: valid_read_string(path); - assigns \result; - assigns \result \from (indirect: *(path + (0 ..))), (indirect: name); - */ -extern long pathconf(char const *path, int name); +/*@ assigns *(env + (0 .. 4)); */ +extern int setjmp(int * /*[5]*/ env); -/*@ ensures initialization: pipefd: \initialized(\old(pipefd) + (0 .. 1)); - ensures valid_fd0: 0 ≤ *(\old(pipefd) + 0) < 1024; - ensures valid_fd1: 0 ≤ *(\old(pipefd) + 1) < 1024; - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns *(pipefd + (0 .. 1)), \result; - assigns *(pipefd + (0 .. 1)) \from (indirect: __fc_fds[0 ..]); - assigns \result \from (indirect: __fc_fds[0 ..]); - */ -extern int pipe(int * /*[2]*/ pipefd); +/*@ ensures never_terminates: \false; + assigns \nothing; */ +extern void longjmp(int * /*[5]*/ env, int val); -/*@ requires valid_fd: 0 ≤ fd < 1024; - requires buf_has_room: \valid((char *)buf + (0 .. count - 1)); - ensures - result_error_or_read_length: - (0 ≤ \result ≤ \old(count)) ∨ \result ≡ -1; - ensures - initialization: buf: - \initialized((char *)\old(buf) + (0 .. \result - 1)); - assigns __fc_fds[fd], \result, *((char *)buf + (0 .. count - 1)); - assigns __fc_fds[fd] \from __fc_fds[fd]; - assigns \result \from (indirect: __fc_fds[fd]), (indirect: count); - assigns *((char *)buf + (0 .. count - 1)) - \from (indirect: __fc_fds[fd]), (indirect: count); - */ -extern ssize_t read(int fd, void *buf, size_t count); +/*@ ensures never_terminates: \false; + assigns \nothing; */ +extern void siglongjmp(sigjmp_buf env, int val); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from (indirect: gid); +/*@ assigns \result; + assigns \result \from (indirect: fd), (indirect: request); */ -extern int setegid(gid_t gid); +extern int __va_ioctl_void(int fd, int request); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from (indirect: uid); +/*@ assigns \result; + assigns \result + \from (indirect: fd), (indirect: request), (indirect: arg); */ -extern int seteuid(uid_t uid); +extern int __va_ioctl_int(int fd, int request, int arg); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from (indirect: gid); +/*@ assigns \result, *((char *)argp + (0 ..)); + assigns \result + \from (indirect: fd), (indirect: request), + (indirect: *((char *)argp + (0 ..))); + assigns *((char *)argp + (0 ..)) + \from (indirect: fd), (indirect: request), *((char *)argp + (0 ..)); */ -extern int setgid(gid_t gid); +extern int __va_ioctl_ptr(int fd, int request, void *argp); /*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; assigns \result; - assigns \result \from (indirect: pid), (indirect: pgid); + assigns \result \from (indirect: fd), (indirect: operation); */ -extern int setpgid(pid_t pid, pid_t pgid); +extern int flock(int fd, int operation); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from (indirect: rgid), (indirect: egid); - */ -extern int setregid(gid_t rgid, gid_t egid); +CODE facilitynames[23] = + {{.c_name = "auth", .c_val = 4 << 3}, + {.c_name = "authpriv", .c_val = 10 << 3}, + {.c_name = "cron", .c_val = 9 << 3}, + {.c_name = "daemon", .c_val = 3 << 3}, + {.c_name = "ftp", .c_val = 11 << 3}, + {.c_name = "kern", .c_val = 0 << 3}, + {.c_name = "lpr", .c_val = 6 << 3}, + {.c_name = "mail", .c_val = 2 << 3}, + {.c_name = "mark", .c_val = 24 | 0}, + {.c_name = "news", .c_val = 7 << 3}, + {.c_name = "security", .c_val = 4 << 3}, + {.c_name = "syslog", .c_val = 5 << 3}, + {.c_name = "user", .c_val = 1 << 3}, + {.c_name = "uucp", .c_val = 8 << 3}, + {.c_name = "local0", .c_val = 16 << 3}, + {.c_name = "local1", .c_val = 17 << 3}, + {.c_name = "local2", .c_val = 18 << 3}, + {.c_name = "local3", .c_val = 19 << 3}, + {.c_name = "local4", .c_val = 20 << 3}, + {.c_name = "local5", .c_val = 21 << 3}, + {.c_name = "local6", .c_val = 22 << 3}, + {.c_name = "local7", .c_val = 23 << 3}, + {.c_name = (char const *)0, .c_val = -1}}; +CODE prioritynames[13] = + {{.c_name = "alert", .c_val = 1}, + {.c_name = "crit", .c_val = 2}, + {.c_name = "debug", .c_val = 7}, + {.c_name = "emerg", .c_val = 0}, + {.c_name = "err", .c_val = 3}, + {.c_name = "error", .c_val = 3}, + {.c_name = "info", .c_val = 6}, + {.c_name = "none", .c_val = 0x10}, + {.c_name = "notice", .c_val = 5}, + {.c_name = "panic", .c_val = 0}, + {.c_name = "warn", .c_val = 4}, + {.c_name = "warning", .c_val = 4}, + {.c_name = (char const *)0, .c_val = -1}}; +/*@ assigns \nothing; */ +extern void closelog(void); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from (indirect: ruid), (indirect: euid); - */ -extern int setreuid(uid_t ruid, uid_t euid); +/*@ assigns \nothing; */ +extern void openlog(char const *, int, int); -/*@ ensures result_pgid_or_error: \result ≡ -1 ∨ \result ≥ 0; - assigns \result; - assigns \result \from \nothing; - */ -extern pid_t setsid(void); +/*@ assigns \nothing; */ +extern int setlogmask(int); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from (indirect: uid); - */ -extern int setuid(uid_t uid); +/*@ assigns \nothing; */ +extern void syslog(int, char const *, void * const *__va_params); /*@ assigns \nothing; */ -extern void sync(void); +extern void vsyslog(int, char const *, va_list); /*@ assigns \result; - assigns \result \from (indirect: name); */ -extern long sysconf(int name); + assigns \result \from which, who; */ +extern int getpriority(int which, id_t who); -extern char volatile __fc_ttyname[32]; +/*@ assigns \result; + assigns \result \from which, who, prio; */ +extern int setpriority(int which, id_t who, int prio); -char *__fc_p_ttyname = (char *)(__fc_ttyname); -/*@ ensures - result_name_or_null: \result ≡ __fc_p_ttyname ∨ \result ≡ \null; - assigns \result; - assigns \result \from __fc_p_ttyname, (indirect: fildes); +/*@ assigns \result, rl->rlim_cur, rl->rlim_max; + assigns \result \from r; + assigns rl->rlim_cur \from r; + assigns rl->rlim_max \from r; */ -extern char *ttyname(int fildes); +extern int getrlimit(int r, struct rlimit *rl); -/*@ requires valid_string_path: valid_read_string(path); - ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result \from *(path + (0 ..)); +/*@ assigns \result, ru->ru_utime, ru->ru_stime; + assigns \result \from r; + assigns ru->ru_utime \from r; + assigns ru->ru_stime \from r; */ -extern int unlink(char const *path); +extern int getrusage(int r, struct rusage *ru); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result, Frama_C_entropy_source; - assigns \result - \from (indirect: usec), (indirect: Frama_C_entropy_source); - assigns Frama_C_entropy_source \from Frama_C_entropy_source; - */ -extern int usleep(useconds_t usec); +/*@ assigns \result; + assigns \result \from r, rl->rlim_cur, rl->rlim_max; */ +extern int setrlimit(int r, struct rlimit const *rl); -/*@ requires valid_fd: 0 ≤ fd < 1024; - requires buf_has_room: \valid_read((char *)buf + (0 .. count - 1)); - ensures - result_error_or_written_bytes: - \result ≡ -1 ∨ (0 ≤ \result ≤ \old(count)); - assigns __fc_fds[fd], \result; - assigns __fc_fds[fd] - \from (indirect: fd), (indirect: count), __fc_fds[fd]; - assigns \result - \from (indirect: fd), (indirect: count), (indirect: __fc_fds[fd]); +/*@ requires valid_buffer: \valid(buffer); + assigns \result, *buffer; + assigns \result \from __fc_time; + assigns *buffer \from __fc_time; */ -extern ssize_t write(int fd, void const *buf, size_t count); +extern clock_t times(struct tms *buffer); -/*@ requires valid_ruid: \valid(ruid); - requires valid_euid: \valid(suid); - requires valid_suid: \valid(euid); +/*@ ensures result_ok_or_error: \result ≡ -1 ∨ \result ≥ 0; ensures - initialization: result_ok_or_error: - (\result ≡ 0 ∧ \initialized(\old(ruid)) ∧ - \initialized(\old(euid)) ∧ \initialized(\old(suid))) ∨ - \result ≡ -1; - assigns *ruid, *euid, *suid, \result; - assigns *ruid \from \nothing; - assigns *euid \from \nothing; - assigns *suid \from \nothing; - assigns \result - \from (indirect: ruid), (indirect: euid), (indirect: suid); + initialization: stat_loc_init_on_success: + \result ≥ 0 ∧ \old(stat_loc) ≢ \null ⇒ + \initialized(\old(stat_loc)); + assigns \result, *stat_loc; + assigns \result \from \nothing; + assigns *stat_loc \from \nothing; + + behavior stat_loc_null: + assumes stat_loc_null: stat_loc ≡ \null; + assigns \result; + assigns \result \from \nothing; + + behavior stat_loc_non_null: + assumes stat_loc_non_null: stat_loc ≢ \null; + requires valid_stat_loc: \valid(stat_loc); */ -int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); +extern pid_t wait(int *stat_loc); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; - assigns \result - \from (indirect: ruid), (indirect: euid), (indirect: suid); +/*@ ensures result_ok_or_error: \result ≡ -1 ∨ \result ≥ 0; + ensures + initialization: stat_loc_init_on_success: + \result ≥ 0 ∧ \old(stat_loc) ≢ \null ⇒ + \initialized(\old(stat_loc)); + assigns \result, *stat_loc; + assigns \result \from (indirect: options); + assigns *stat_loc \from (indirect: options); + + behavior stat_loc_null: + assumes stat_loc_null: stat_loc ≡ \null; + assigns \result; + assigns \result \from \nothing; + + behavior stat_loc_non_null: + assumes stat_loc_non_null: stat_loc ≢ \null; + requires valid_stat_loc: \valid(stat_loc); */ -int setresuid(uid_t ruid, uid_t euid, uid_t suid); +extern pid_t waitpid(pid_t pid, int *stat_loc, int options); -/*@ requires valid_rgid: \valid(rgid); - requires valid_egid: \valid(sgid); - requires valid_sgid: \valid(egid); - ensures - initialization: result_ok_or_error: - (\result ≡ 0 ∧ \initialized(\old(rgid)) ∧ - \initialized(\old(egid)) ∧ \initialized(\old(sgid))) ∨ - \result ≡ -1; - assigns *rgid, *egid, *sgid, \result; - assigns *rgid \from \nothing; - assigns *egid \from \nothing; - assigns *sgid \from \nothing; - assigns \result - \from (indirect: rgid), (indirect: egid), (indirect: sgid); +/*@ requires valid_termios_p: \valid(termios_p); + assigns \result, *termios_p, Frama_C_entropy_source; + assigns \result \from (indirect: fd), (indirect: Frama_C_entropy_source); + assigns *termios_p + \from (indirect: fd), (indirect: Frama_C_entropy_source); + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + + behavior ok: + assumes nondet: Frama_C_entropy_source ≡ 0; + ensures initialization: termios_p: \initialized(\old(termios_p)); + ensures result_ok: \result ≡ 0; + + behavior error: + assumes nondet: Frama_C_entropy_source ≢ 0; + ensures result_error: \result ≡ -1; + + complete behaviors error, ok; + disjoint behaviors error, ok; */ -int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); +extern int tcgetattr(int fd, struct termios *termios_p); -/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result; +/*@ requires valid_termios_p: \valid(termios_p); + ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; + assigns *termios_p, Frama_C_entropy_source, \result; + assigns *termios_p + \from (indirect: fd), (indirect: optional_actions), + (indirect: Frama_C_entropy_source), *termios_p; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; assigns \result - \from (indirect: rgid), (indirect: egid), (indirect: sgid); + \from (indirect: fd), (indirect: optional_actions), + (indirect: Frama_C_entropy_source), (indirect: *termios_p); */ -int setresgid(gid_t rgid, gid_t egid, gid_t sgid); +extern int tcsetattr(int fd, int optional_actions, struct termios *termios_p); void main(void) { diff --git a/tests/libc/oracle/fc_libc.2.res.oracle b/tests/libc/oracle/fc_libc.2.res.oracle index fc16d42e53565a5da65a9dd3e84c11aa488a48c9..e85ef1cf9e12a1987c8e2da16cd1ca85923d016b 100644 --- a/tests/libc/oracle/fc_libc.2.res.oracle +++ b/tests/libc/oracle/fc_libc.2.res.oracle @@ -36,6 +36,7 @@ [kernel] Parsing share/libc/__fc_define_wint_t.h (with preprocessing) [kernel] Parsing share/libc/__fc_gcc_builtins.h (with preprocessing) [kernel] Parsing share/libc/__fc_inet.h (with preprocessing) +[kernel] Parsing share/libc/__fc_integer.h (with preprocessing) [kernel] Parsing share/libc/__fc_machdep.h (with preprocessing) skipping share/libc/__fc_machdep_linux_shared.h [kernel] Parsing share/libc/__fc_select.h (with preprocessing) diff --git a/tests/libc/oracle/fc_libc.3.res.oracle b/tests/libc/oracle/fc_libc.3.res.oracle index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1653140b9190a1d8e1b6e75b8a21068409c46e43 100644 --- a/tests/libc/oracle/fc_libc.3.res.oracle +++ b/tests/libc/oracle/fc_libc.3.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/libc/fc_libc.c (with preprocessing) diff --git a/tests/libc/oracle/fc_libc.4.res.oracle b/tests/libc/oracle/fc_libc.4.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5d4b6982df1e929a36eb1f4f623ad3ca169e8c76 --- /dev/null +++ b/tests/libc/oracle/fc_libc.4.res.oracle @@ -0,0 +1,5 @@ +[kernel] Parsing tests/libc/fc_libc.c (with preprocessing) +[kernel] parsing c11_functions.json +[kernel] parsing glibc_functions.json +[kernel] parsing posix_identifiers.json +[kernel] parsing nonstandard_identifiers.json diff --git a/tests/libc/oracle/fc_libc.5.res.oracle b/tests/libc/oracle/fc_libc.5.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..73dac90425a73c971fb285476320f30bc36be7d1 --- /dev/null +++ b/tests/libc/oracle/fc_libc.5.res.oracle @@ -0,0 +1 @@ +#include "__fc_integer.h" diff --git a/tests/libc/oracle/inttypes_h.0.res.oracle b/tests/libc/oracle/inttypes_h.0.res.oracle index eaaa132d690dde79c31b64fed1258454417d0d00..aa91e7cdb995b263008e7086a223d16076671962 100644 --- a/tests/libc/oracle/inttypes_h.0.res.oracle +++ b/tests/libc/oracle/inttypes_h.0.res.oracle @@ -11,7 +11,8 @@ ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/tests/libc/oracle/inttypes_h.1.res.oracle b/tests/libc/oracle/inttypes_h.1.res.oracle index ee3b253caf33cceda5773e2ab7553f01ef3d5e2d..d369e0541c8787ae84964c5bb823d66898a27f47 100644 --- a/tests/libc/oracle/inttypes_h.1.res.oracle +++ b/tests/libc/oracle/inttypes_h.1.res.oracle @@ -11,7 +11,8 @@ ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/tests/libc/oracle/inttypes_h.2.res.oracle b/tests/libc/oracle/inttypes_h.2.res.oracle index a70f22663383c9b382e0ba42f879d9fb625fa700..0270a3902c68a7b8e1b9a34ab1efdd9f14cbb8cd 100644 --- a/tests/libc/oracle/inttypes_h.2.res.oracle +++ b/tests/libc/oracle/inttypes_h.2.res.oracle @@ -11,7 +11,8 @@ ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/tests/libc/oracle/inttypes_h.3.res.oracle b/tests/libc/oracle/inttypes_h.3.res.oracle index eaaa132d690dde79c31b64fed1258454417d0d00..aa91e7cdb995b263008e7086a223d16076671962 100644 --- a/tests/libc/oracle/inttypes_h.3.res.oracle +++ b/tests/libc/oracle/inttypes_h.3.res.oracle @@ -11,7 +11,8 @@ ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/tests/libc/oracle/inttypes_h.4.res.oracle b/tests/libc/oracle/inttypes_h.4.res.oracle index ee3b253caf33cceda5773e2ab7553f01ef3d5e2d..d369e0541c8787ae84964c5bb823d66898a27f47 100644 --- a/tests/libc/oracle/inttypes_h.4.res.oracle +++ b/tests/libc/oracle/inttypes_h.4.res.oracle @@ -11,7 +11,8 @@ ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/tests/libc/oracle/inttypes_h.5.res.oracle b/tests/libc/oracle/inttypes_h.5.res.oracle index a70f22663383c9b382e0ba42f879d9fb625fa700..0270a3902c68a7b8e1b9a34ab1efdd9f14cbb8cd 100644 --- a/tests/libc/oracle/inttypes_h.5.res.oracle +++ b/tests/libc/oracle/inttypes_h.5.res.oracle @@ -11,7 +11,8 @@ ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/tests/libc/oracle/inttypes_h.6.res.oracle b/tests/libc/oracle/inttypes_h.6.res.oracle index ee3b253caf33cceda5773e2ab7553f01ef3d5e2d..d369e0541c8787ae84964c5bb823d66898a27f47 100644 --- a/tests/libc/oracle/inttypes_h.6.res.oracle +++ b/tests/libc/oracle/inttypes_h.6.res.oracle @@ -11,7 +11,8 @@ ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned long long *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned long long param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/tests/libc/oracle/inttypes_h.7.res.oracle b/tests/libc/oracle/inttypes_h.7.res.oracle index 6a5939c36733097f68a48520a54e40a8899a5d42..3d0465864946bd5875dd922dbf133c2359f4c33a 100644 --- a/tests/libc/oracle/inttypes_h.7.res.oracle +++ b/tests/libc/oracle/inttypes_h.7.res.oracle @@ -11,7 +11,8 @@ ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -26,8 +27,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -40,7 +41,8 @@ int printf_va_1(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -55,8 +57,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -69,7 +71,8 @@ int printf_va_2(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -84,8 +87,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -98,7 +101,8 @@ int printf_va_3(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -113,8 +117,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -127,7 +131,8 @@ int printf_va_4(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -142,8 +147,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -156,7 +161,8 @@ int printf_va_5(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -171,8 +177,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -185,7 +191,8 @@ int printf_va_6(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -200,8 +207,8 @@ int scanf_va_7(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -214,7 +221,8 @@ int printf_va_7(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -229,8 +237,8 @@ int scanf_va_8(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -243,7 +251,8 @@ int printf_va_8(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -258,8 +267,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -272,7 +281,8 @@ int printf_va_9(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -287,8 +297,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -301,7 +311,8 @@ int printf_va_10(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -316,8 +327,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -330,7 +341,8 @@ int printf_va_11(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -345,8 +357,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -359,7 +371,8 @@ int printf_va_12(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -374,8 +387,8 @@ int scanf_va_13(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -388,7 +401,8 @@ int printf_va_13(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -403,8 +417,8 @@ int scanf_va_14(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -417,7 +431,8 @@ int printf_va_14(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -432,8 +447,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -446,7 +461,8 @@ int printf_va_15(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -461,8 +477,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -475,7 +491,8 @@ int printf_va_16(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -490,8 +507,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -504,7 +521,8 @@ int printf_va_17(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -519,8 +537,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -533,7 +551,8 @@ int printf_va_18(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -548,8 +567,8 @@ int scanf_va_19(char const * __restrict format, __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -562,7 +581,8 @@ int printf_va_19(char const * __restrict format, __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -577,8 +597,8 @@ int scanf_va_20(char const * __restrict format, __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -591,7 +611,8 @@ int printf_va_20(char const * __restrict format, __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -606,8 +627,8 @@ int scanf_va_21(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -620,7 +641,8 @@ int printf_va_21(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -635,8 +657,8 @@ int scanf_va_22(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -649,7 +671,8 @@ int printf_va_22(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -664,8 +687,8 @@ int scanf_va_23(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -678,7 +701,8 @@ int printf_va_23(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -693,8 +717,8 @@ int scanf_va_24(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -707,7 +731,8 @@ int printf_va_24(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -722,8 +747,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -736,7 +761,8 @@ int printf_va_25(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -751,8 +777,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -765,7 +791,8 @@ int printf_va_26(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -780,8 +807,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -794,7 +821,8 @@ int printf_va_27(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -809,8 +837,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -823,7 +851,8 @@ int printf_va_28(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -838,8 +867,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -852,7 +881,8 @@ int printf_va_29(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -867,8 +897,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -881,7 +911,8 @@ int printf_va_30(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -896,8 +927,8 @@ int scanf_va_31(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -910,7 +941,8 @@ int printf_va_31(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -925,8 +957,8 @@ int scanf_va_32(char const * __restrict format, short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -939,7 +971,8 @@ int printf_va_32(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -954,8 +987,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -968,7 +1001,8 @@ int printf_va_33(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -983,8 +1017,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -997,7 +1031,8 @@ int printf_va_34(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1012,8 +1047,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1026,7 +1061,8 @@ int printf_va_35(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1041,8 +1077,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1055,7 +1091,8 @@ int printf_va_36(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1070,8 +1107,8 @@ int scanf_va_37(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1084,7 +1121,8 @@ int printf_va_37(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1099,8 +1137,8 @@ int scanf_va_38(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1113,7 +1151,8 @@ int printf_va_38(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1128,8 +1167,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1142,7 +1181,8 @@ int printf_va_39(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1157,8 +1197,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1171,7 +1211,8 @@ int printf_va_40(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1186,8 +1227,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1200,7 +1241,8 @@ int printf_va_41(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1215,8 +1257,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1229,7 +1271,8 @@ int printf_va_42(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1244,8 +1287,8 @@ int scanf_va_43(char const * __restrict format, __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1258,7 +1301,8 @@ int printf_va_43(char const * __restrict format, __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1273,8 +1317,8 @@ int scanf_va_44(char const * __restrict format, __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1287,7 +1331,8 @@ int printf_va_44(char const * __restrict format, __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1302,8 +1347,8 @@ int scanf_va_45(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1316,7 +1361,8 @@ int printf_va_45(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1331,8 +1377,8 @@ int scanf_va_46(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1345,7 +1391,8 @@ int printf_va_46(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1360,8 +1407,8 @@ int scanf_va_47(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1374,7 +1421,8 @@ int printf_va_47(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1389,8 +1437,8 @@ int scanf_va_48(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1403,7 +1451,8 @@ int printf_va_48(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1418,8 +1467,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1432,7 +1481,8 @@ int printf_va_49(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1447,8 +1497,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1461,7 +1511,8 @@ int printf_va_50(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1476,8 +1527,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1490,7 +1541,8 @@ int printf_va_51(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1505,8 +1557,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1519,7 +1571,8 @@ int printf_va_52(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1534,8 +1587,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1548,7 +1601,8 @@ int printf_va_53(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1563,8 +1617,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1577,7 +1631,8 @@ int printf_va_54(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1592,8 +1647,8 @@ int scanf_va_55(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1606,7 +1661,8 @@ int printf_va_55(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1621,8 +1677,8 @@ int scanf_va_56(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1635,7 +1691,8 @@ int printf_va_56(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1650,8 +1707,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1664,7 +1721,8 @@ int printf_va_57(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1679,8 +1737,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1693,7 +1751,8 @@ int printf_va_58(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1708,8 +1767,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1722,7 +1781,8 @@ int printf_va_59(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1737,8 +1797,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1751,7 +1811,8 @@ int printf_va_60(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1766,8 +1827,8 @@ int scanf_va_61(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1780,7 +1841,8 @@ int printf_va_61(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1795,8 +1857,8 @@ int scanf_va_62(char const * __restrict format, int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1809,7 +1871,8 @@ int printf_va_62(char const * __restrict format, int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1824,8 +1887,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1838,7 +1901,8 @@ int printf_va_63(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1853,8 +1917,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1867,7 +1931,8 @@ int printf_va_64(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1882,8 +1947,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1896,7 +1961,8 @@ int printf_va_65(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1911,8 +1977,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1925,7 +1991,8 @@ int printf_va_66(char const * __restrict format, unsigned int param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1940,8 +2007,8 @@ int scanf_va_67(char const * __restrict format, __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1954,7 +2021,8 @@ int printf_va_67(char const * __restrict format, __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1969,8 +2037,8 @@ int scanf_va_68(char const * __restrict format, __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -1983,7 +2051,8 @@ int printf_va_68(char const * __restrict format, __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -1998,8 +2067,8 @@ int scanf_va_69(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2012,7 +2081,8 @@ int printf_va_69(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2027,8 +2097,8 @@ int scanf_va_70(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2041,7 +2111,8 @@ int printf_va_70(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2056,8 +2127,8 @@ int scanf_va_71(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2070,7 +2141,8 @@ int printf_va_71(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2085,8 +2157,8 @@ int scanf_va_72(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2099,7 +2171,8 @@ int printf_va_72(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2114,8 +2187,8 @@ int scanf_va_73(char const * __restrict format, __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2128,7 +2201,8 @@ int printf_va_73(char const * __restrict format, __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2143,8 +2217,8 @@ int scanf_va_74(char const * __restrict format, __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2157,7 +2231,8 @@ int printf_va_74(char const * __restrict format, __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2172,8 +2247,8 @@ int scanf_va_75(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2186,7 +2261,8 @@ int printf_va_75(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2201,8 +2277,8 @@ int scanf_va_76(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2215,7 +2291,8 @@ int printf_va_76(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2230,8 +2307,8 @@ int scanf_va_77(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2244,7 +2321,8 @@ int printf_va_77(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2259,8 +2337,8 @@ int scanf_va_78(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2273,7 +2351,8 @@ int printf_va_78(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2288,8 +2367,8 @@ int scanf_va_79(char const * __restrict format, __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2302,7 +2381,8 @@ int printf_va_79(char const * __restrict format, __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2317,8 +2397,8 @@ int scanf_va_80(char const * __restrict format, __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2331,7 +2411,8 @@ int printf_va_80(char const * __restrict format, __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2346,8 +2427,8 @@ int scanf_va_81(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2360,7 +2441,8 @@ int printf_va_81(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2375,8 +2457,8 @@ int scanf_va_82(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2389,7 +2471,8 @@ int printf_va_82(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2404,8 +2487,8 @@ int scanf_va_83(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -2418,7 +2501,8 @@ int printf_va_83(char const * __restrict format, unsigned __int64 param0); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result - \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, + \from (indirect: __fc_stdin->__fc_FILE_id), + (indirect: __fc_stdin->__fc_FILE_data), (indirect: *(format + (0 ..))); assigns __fc_stdin->__fc_FILE_data \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data, @@ -2433,8 +2517,8 @@ int scanf_va_84(char const * __restrict format, unsigned __int64 *param0); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/tests/metrics/oracle/libc.1.res.oracle b/tests/metrics/oracle/libc.1.res.oracle index 890b92c6ed6f4576aded31faf97765ab72a9cf68..8c8f0e6b9987c0efcc1d96fb117a3d40096d755c 100644 --- a/tests/metrics/oracle/libc.1.res.oracle +++ b/tests/metrics/oracle/libc.1.res.oracle @@ -4,31 +4,46 @@ bar (1 call); f (0 call); foo (1 call); g (address taken) (0 call); getopt (1 call); main (0 call); - Undefined functions (70) - ======================== - clearerr (0 call); clearerr_unlocked (0 call); fclose (0 call); - fdopen (0 call); feof (0 call); feof_unlocked (0 call); ferror (0 call); - ferror_unlocked (0 call); fflush (0 call); fgetc (0 call); fgetpos (0 call); - fgets (0 call); fileno (0 call); fileno_unlocked (0 call); - flockfile (0 call); fopen (0 call); fputc (0 call); fputs (0 call); + Undefined functions (120) + ========================= + _exit (0 call); access (0 call); chdir (0 call); chown (0 call); + chroot (0 call); clearerr (0 call); clearerr_unlocked (0 call); + close (0 call); dup (0 call); dup2 (0 call); execl (0 call); + execle (0 call); execlp (0 call); execv (0 call); execve (0 call); + execvp (0 call); fclose (0 call); fdopen (0 call); feof (0 call); + feof_unlocked (0 call); ferror (0 call); ferror_unlocked (0 call); + fflush (0 call); fgetc (0 call); fgetpos (0 call); fgets (0 call); + fileno (0 call); fileno_unlocked (0 call); flockfile (0 call); + fopen (0 call); fork (0 call); fputc (0 call); fputs (0 call); fread (0 call); freopen (0 call); fseek (0 call); fsetpos (0 call); ftell (0 call); ftrylockfile (0 call); funlockfile (0 call); fwrite (0 call); getc (0 call); getc_unlocked (0 call); getchar (1 call); - getchar_unlocked (0 call); getopt_long (0 call); getopt_long_only (0 call); - gets (0 call); isalnum (0 call); isalpha (1 call); isascii (0 call); + getchar_unlocked (0 call); getcwd (0 call); getegid (0 call); + geteuid (0 call); getgid (0 call); gethostname (0 call); + getopt_long (0 call); getopt_long_only (0 call); getpgid (0 call); + getpgrp (0 call); getpid (0 call); getppid (0 call); getresgid (0 call); + getresuid (0 call); gets (0 call); getsid (0 call); getuid (0 call); + isalnum (0 call); isalpha (1 call); isascii (0 call); isatty (0 call); isblank (1 call); iscntrl (0 call); isdigit (0 call); isgraph (0 call); islower (0 call); isprint (0 call); ispunct (0 call); isspace (0 call); - isupper (0 call); isxdigit (0 call); pclose (0 call); perror (0 call); - popen (0 call); putc (0 call); putc_unlocked (0 call); putchar (0 call); - putchar_unlocked (0 call); puts (0 call); remove (0 call); rename (0 call); - rewind (0 call); setbuf (0 call); setvbuf (0 call); tmpfile (0 call); - tmpnam (0 call); tolower (0 call); toupper (0 call); ungetc (0 call); - vfprintf (0 call); vfscanf (0 call); vprintf (0 call); vscanf (0 call); - vsnprintf (0 call); vsprintf (0 call); + isupper (0 call); isxdigit (0 call); lseek (0 call); pathconf (0 call); + pclose (0 call); perror (0 call); pipe (0 call); popen (0 call); + putc (0 call); putc_unlocked (0 call); putchar (0 call); + putchar_unlocked (0 call); puts (0 call); read (0 call); remove (0 call); + rename (0 call); rewind (0 call); setbuf (0 call); setegid (0 call); + seteuid (0 call); setgid (0 call); sethostname (0 call); setpgid (0 call); + setregid (0 call); setresgid (0 call); setresuid (0 call); + setreuid (0 call); setsid (0 call); setuid (0 call); setvbuf (0 call); + sync (0 call); sysconf (0 call); tmpfile (0 call); tmpnam (0 call); + tolower (0 call); toupper (0 call); ttyname (0 call); ungetc (0 call); + unlink (0 call); usleep (0 call); vfprintf (0 call); vfscanf (0 call); + vprintf (0 call); vscanf (0 call); vsnprintf (0 call); vsprintf (0 call); + write (0 call); - 'Extern' global variables (7) - ============================= - __fc_errno; __fc_stdin; __fc_stdout; optarg; opterr; optind; optopt + 'Extern' global variables (10) + ============================== + Frama_C_entropy_source; __fc_errno; __fc_hostname; __fc_stdin; __fc_stdout; + __fc_ttyname; optarg; opterr; optind; optopt Potential entry points (2) ========================== @@ -38,13 +53,13 @@ ============== Sloc = 17 Decision point = 0 - Global variables = 10 + Global variables = 15 If = 0 Loop = 0 Goto = 0 Assignment = 8 Exit point = 6 - Function = 76 + Function = 126 Function call = 7 Pointer dereferencing = 1 Cyclomatic complexity = 6 @@ -72,7 +87,7 @@ ---------------------------------------------------------------------------- [metrics] Eva coverage statistics ======================= - Syntactically reachable functions = 7 (out of 76) + Syntactically reachable functions = 7 (out of 126) Semantically reached functions = 7 Coverage estimation = 100.0% [metrics] References to non-analyzed functions diff --git a/tests/misc/oracle/pragma-pack.0.res.oracle b/tests/misc/oracle/pragma-pack.0.res.oracle index 4ca3caef6f2bb369a68f39a45945228800208ff8..8688b345c3b3594eeea05def8b5272705946c351 100644 --- a/tests/misc/oracle/pragma-pack.0.res.oracle +++ b/tests/misc/oracle/pragma-pack.0.res.oracle @@ -167,6 +167,16 @@ adding aligned(2) attribute to comp '__anonstruct_test7_2_14' due to packing pragma [kernel:typing:pragma] tests/misc/pragma-pack.c:252: packing pragma: popped alignment 16 +[kernel:typing:pragma] tests/misc/pragma-pack.c:336: + packing pragma: pushing alignment 16, setting alignment to 1 +[kernel:typing:pragma] tests/misc/pragma-pack.c:337: + adding aligned(1) attribute to field '__anonstruct_barcode_bmp_t_18.len' due to packing pragma +[kernel:typing:pragma] tests/misc/pragma-pack.c:337: + adding aligned(1) attribute to field '__anonstruct_barcode_bmp_t_18.data' due to packing pragma +[kernel:typing:pragma] tests/misc/pragma-pack.c:337: + adding aligned(1) attribute to comp '__anonstruct_barcode_bmp_t_18' due to packing pragma +[kernel:typing:pragma] tests/misc/pragma-pack.c:341: + packing pragma: popped alignment 16 [eva] Analyzing a complete application starting at main [eva] Computing initial state [eva] Initial state computed diff --git a/tests/misc/pragma-pack.c b/tests/misc/pragma-pack.c index 533115f5debdb331873325fee4022f59cf3a1fd2..4d81f069887ec1d621c24bf091c486a1801455f0 100644 --- a/tests/misc/pragma-pack.c +++ b/tests/misc/pragma-pack.c @@ -332,6 +332,14 @@ void tests2() { TEST(test8); } +// Test resilience to crash due to align() attribute in flexible array member +#pragma pack(push, 1) +typedef struct { + int len; + unsigned char data[]; +} barcode_bmp_t; +#pragma pack(pop) + #ifndef __GNUC__ // For MSVC testing on Visual C++ int _tmain(int argc, _TCHAR* argv[]) { diff --git a/tests/spec/clash_double_file_bts1598.c b/tests/spec/clash_double_file_bts1598.c index ca549981a5bf117bea05f296554329ef7ebe4e0d..b30f925efab799c5b1c0a2e6306285564e878cac 100644 --- a/tests/spec/clash_double_file_bts1598.c +++ b/tests/spec/clash_double_file_bts1598.c @@ -11,7 +11,7 @@ OPT: @PTEST_FILE@ -cpp-extra-args " -Ishare/libc -nostdinc" -print -then -ocode #include "errno.h" //#include "fenv.h" #include "float.h" -#include "getopt.h" +//#include "getopt.h" #include "inttypes.h" #include "iso646.h" #include "limits.h" diff --git a/tests/spec/oracle/clash_double_file_bts1598.res.oracle b/tests/spec/oracle/clash_double_file_bts1598.res.oracle index 0d80a00c1cdb044b88426c7bb655da8ae430b220..2728223ed5ea566f5b7b4c38f505e9c1c973a741 100644 --- a/tests/spec/oracle/clash_double_file_bts1598.res.oracle +++ b/tests/spec/oracle/clash_double_file_bts1598.res.oracle @@ -4,7 +4,6 @@ #include "assert.h" #include "ctype.h" #include "errno.h" -#include "getopt.h" #include "inttypes.h" #include "locale.h" #include "math.h" @@ -26,7 +25,6 @@ #include "assert.h" #include "ctype.h" #include "errno.h" -#include "getopt.h" #include "inttypes.h" #include "locale.h" #include "math.h" diff --git a/tests/syntax/asm_with_contracts.i b/tests/syntax/asm_with_contracts.i index 215f8be829c2fcb5a53895bc4dbe1ac9971ce0b5..4631049bab383dbb0bf87d8cc1aa9dad451f08e8 100644 --- a/tests/syntax/asm_with_contracts.i +++ b/tests/syntax/asm_with_contracts.i @@ -22,3 +22,10 @@ int f(int z) { return x; } + +static __inline void +insw (unsigned short int __port, void *__addr, unsigned long int __count) +{ + __asm__ __volatile__ ("cld ; rep ; insw":"=D" (__addr), "=c" (__count) + :"d" (__port), "0" (__addr), "1" (__count)); +} diff --git a/tests/syntax/oracle/asm_with_contracts.res.oracle b/tests/syntax/oracle/asm_with_contracts.res.oracle index 915bed6e6f7a47e1bf4858a7377f09fdafd66425..de45604755bf733ffeb4e6885baede947f7b9fb3 100644 --- a/tests/syntax/oracle/asm_with_contracts.res.oracle +++ b/tests/syntax/oracle/asm_with_contracts.res.oracle @@ -25,4 +25,23 @@ int f(int z) return x; } +__inline static void insw(unsigned short __port, void *__addr, + unsigned long __count) +{ + /*@ assigns __addr, __count, *((char *)__addr + (..)); + assigns __addr + \from __port, (indirect: __addr), __count, *((char *)__addr + (..)); + assigns __count + \from __port, (indirect: __addr), __count, *((char *)__addr + (..)); + assigns *((char *)__addr + (..)) + \from __port, (indirect: __addr), __count, *((char *)__addr + (..)); + */ + __asm__ volatile ( + "cld ; rep ; insw" + : "=D" (__addr), "=c" (__count) + : "d" (__port), "0" (__addr), "1" (__count) + ); + return; +} + diff --git a/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle b/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle index 0300123cdfbf01077c59d4444adf412a34f2d27c..82356c88912a5399d65f6a83082fc020f5d4d65b 100644 --- a/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle +++ b/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle @@ -34,7 +34,8 @@ int g1(int y) assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); @@ -46,8 +47,9 @@ int printf_va_1(char const * __restrict format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param1 + (0 ..)), param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param1 + (0 ..))), + (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -59,8 +61,8 @@ int printf_va_2(char const * __restrict format, int param0, char *param1); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle b/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle index 1ec4c4a71b0e1cb79cb80015b4b33e280d12c0b7..36fe37928dee76890efb7194176a5371c20d82f9 100644 --- a/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle +++ b/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle @@ -24,7 +24,8 @@ int g(int y) assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); @@ -36,8 +37,9 @@ int printf_va_1(char const * __restrict format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - *(param1 + (0 ..)), param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: *(param1 + (0 ..))), + (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), @@ -49,8 +51,8 @@ int printf_va_2(char const * __restrict format, int param0, char *param1); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), - param0; + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))), (indirect: param0); assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), diff --git a/tests/value/traces/oracle/test1.res.oracle b/tests/value/traces/oracle/test1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..371a47f96c36e39e09c8da22b72a8cc9d95178cd --- /dev/null +++ b/tests/value/traces/oracle/test1.res.oracle @@ -0,0 +1,160 @@ +[kernel] Parsing tests/value/traces/test1.c (with preprocessing) +[eva] Analyzing a complete application starting at main +[eva] Computing initial state +[eva] Initial state computed +[eva:initial-state] Values of globals at initialization + entropy_source ∈ [--..--] + g ∈ {42} +[eva] Recording results for main +[eva] done for function main +[eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function main: + g ∈ {5; 45} + tmp ∈ {5; 45} +[eva:d-traces] Trace domains: + start: 0; globals = g, entropy_source; main_formals = c; + {[ 0 -> initialize variable: entropy_source -> 1 + 1 -> initialize variable using type Library_Global +entropy_source -> 2 + 2 -> initialize variable: g -> 3 + 3 -> Assign: g = 42 -> 4 + 4 -> initialize variable using type Main_Formal +c -> 5 + 5 -> EnterScope: tmp -> 6 + 6 -> Assign: tmp = 0 -> 7 + 7 -> Assume: c true -> 8; Assume: c false -> 10 + 8 -> Assign: tmp = g -> 9 + 9 -> EnterScope: i -> 12 + 10 -> Assign: tmp = 2 -> 11 + 11 -> EnterScope: i -> 15 + 12 -> initialize variable: i -> 13 + 13 -> Assign: i = 0 -> 14 + 14 -> enter_loop -> 19 + 15 -> initialize variable: i -> 16 + 16 -> Assign: i = 0 -> 17 + 17 -> enter_loop -> 18 + 18 -> Assume: i < 3 true -> 20 + 19 -> Assume: i < 3 true -> 21 + 20 -> Assign: tmp = tmp + 1 -> 22 + 21 -> Assign: tmp = tmp + 1 -> 23 + 22 -> Assign: i = i + 1 -> 24 + 23 -> Assign: i = i + 1 -> 25 + 24 -> Assume: i < 3 true -> 27 + 25 -> Assume: i < 3 true -> 26 + 26 -> Assign: tmp = tmp + 1 -> 28 + 27 -> Assign: tmp = tmp + 1 -> 29 + 28 -> Assign: i = i + 1 -> 30 + 29 -> Assign: i = i + 1 -> 31 + 30 -> Assume: i < 3 true -> 33 + 31 -> Assume: i < 3 true -> 32 + 32 -> Assign: tmp = tmp + 1 -> 34 + 33 -> Assign: tmp = tmp + 1 -> 35 + 34 -> Assign: i = i + 1 -> 36 + 35 -> Assign: i = i + 1 -> 37 + 36 -> Assume: i < 3 false -> 39 + 37 -> Assume: i < 3 false -> 38 + 38 -> LeaveScope: i -> 41 + 39 -> LeaveScope: i -> 40 + 40 -> LeaveScope: i -> 42 + 41 -> LeaveScope: i -> 43 + 42 -> Assign: g = tmp -> 44 + 43 -> Assign: g = tmp -> 45 + 44 -> EnterScope: \result<main> -> 46 + 45 -> EnterScope: \result<main> -> 48 + 46 -> Assign: \result<main> = tmp -> 47 + 47 -> join -> 50 + 48 -> Assign: \result<main> = tmp -> 49 + 49 -> join -> 50 ]} at 50 +[from] Computing for function main +[from] Done for function main +[from] ====== DEPENDENCIES COMPUTED ====== + These dependencies hold at termination for the executions that terminate: +[from] Function main: + g FROM g; c + \result FROM g; c +[from] ====== END OF DEPENDENCIES ====== +[inout] Out (internal) for function main: + g; tmp; i +[inout] Inputs for function main: + g +[eva] Analyzing a complete application starting at main +[eva] Computing initial state +[eva] Initial state computed +[eva:initial-state] Values of globals at initialization + entropy_source ∈ [--..--] + g ∈ {42} +[eva] done for function main +[eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function main: + g ∈ {5; 45} + __traces_domain_return ∈ {5; 45} +/* Generated by Frama-C */ +extern int volatile entropy_source; + +/*@ requires min ≤ max; + ensures \old(min) ≤ \result ≤ \old(max); + assigns \result, entropy_source; + assigns \result \from min, max, entropy_source; + assigns entropy_source \from entropy_source; + */ +extern int interval(int min, int max); + +int g = 42; +int main(int c) +{ + int __traces_domain_return; + g = 42; + { + int tmp; + tmp = 0; + if (c) { + tmp = g; + { + int i; + i = 0; + /*@ assert i < 3; */ + tmp ++; + i ++; + /*@ assert i < 3; */ + tmp ++; + i ++; + /*@ assert i < 3; */ + tmp ++; + i ++; + /*@ assert ¬(i < 3); */ + g = tmp; + { + int _result_main_; + _result_main_ = tmp; + __traces_domain_return = tmp; + } + } + } + else { + tmp = 2; + { + int i; + i = 0; + /*@ assert i < 3; */ + tmp ++; + i ++; + /*@ assert i < 3; */ + tmp ++; + i ++; + /*@ assert i < 3; */ + tmp ++; + i ++; + /*@ assert ¬(i < 3); */ + g = tmp; + { + int _result_main_; + _result_main_ = tmp; + __traces_domain_return = tmp; + } + } + } + } + return __traces_domain_return; +} + + diff --git a/tests/value/traces/oracle/test2.res.oracle b/tests/value/traces/oracle/test2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c936d8bb9b5ec7356b61cb874df09a8192438bd2 --- /dev/null +++ b/tests/value/traces/oracle/test2.res.oracle @@ -0,0 +1,188 @@ +[kernel] Parsing tests/value/traces/test2.i (no preprocessing) +[eva] Analyzing a complete application starting at main +[eva] Computing initial state +[eva] Initial state computed +[eva:initial-state] Values of globals at initialization + +[eva] computing for function loop <- main. + Called from tests/value/traces/test2.i:18. +[eva] Recording results for loop +[eva] Done for function loop +[eva] computing for function loop <- main. + Called from tests/value/traces/test2.i:18. +[eva] Recording results for loop +[eva] Done for function loop +[eva] Recording results for main +[eva] done for function main +[eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function loop: + j ∈ {4; 5} +[eva:final-states] Values at end of function main: + tmp ∈ {4; 5} +[eva:d-traces] Trace domains: + start: 0; globals = ; main_formals = c; + {[ 0 -> initialize variable using type Main_Formal +c -> 1 + 1 -> EnterScope: tmp -> 2 + 2 -> Assign: tmp = 0 -> 3 + 3 -> Assume: c true -> 4; Assume: c false -> 6 + 4 -> Assign: tmp = 1 -> 5 + 5 -> start_call: loop (true) -> 8 + 6 -> Assign: tmp = 2 -> 7 + 7 -> start_call: loop (true) -> 40 + 8 -> EnterScope: j -> 9 + 9 -> Assign: j = tmp -> 10 + 10 -> EnterScope: i -> 11 + 11 -> initialize variable: i -> 12 + 12 -> Assign: i = 0 -> 13 + 13 -> enter_loop -> 14 + 14 -> Assume: i < 3 true -> 15 + 15 -> Assign: j = j + 1 -> 16 + 16 -> Assign: i = i + 1 -> 17 + 17 -> Assume: i < 3 true -> 18 + 18 -> Assign: j = j + 1 -> 19 + 19 -> Assign: i = i + 1 -> 20 + 20 -> Assume: i < 3 true -> 21 + 21 -> Assign: j = j + 1 -> 22 + 22 -> Assign: i = i + 1 -> 23 + 23 -> Assume: i < 3 false -> 24 + 24 -> LeaveScope: i -> 25 + 25 -> LeaveScope: i -> 26 + 26 -> EnterScope: \result<loop> -> 27 + 27 -> Assign: \result<loop> = j -> 28 + 28 -> LeaveScope: j -> 36 + 36 -> finalize_call: loop -> 37 + 37 -> Assign: tmp = \result<loop> -> 38 + 38 -> LeaveScope: \result<loop> -> 39 + 39 -> EnterScope: \result<main> -> 80 + 40 -> EnterScope: j -> 41 + 41 -> Assign: j = tmp -> 42 + 42 -> EnterScope: i -> 44 + 44 -> initialize variable: i -> 45 + 45 -> Assign: i = 0 -> 46 + 46 -> enter_loop -> 47 + 47 -> Assume: i < 3 true -> 48 + 48 -> Assign: j = j + 1 -> 49 + 49 -> Assign: i = i + 1 -> 50 + 50 -> Assume: i < 3 true -> 51 + 51 -> Assign: j = j + 1 -> 52 + 52 -> Assign: i = i + 1 -> 53 + 53 -> Assume: i < 3 true -> 54 + 54 -> Assign: j = j + 1 -> 55 + 55 -> Assign: i = i + 1 -> 56 + 56 -> Assume: i < 3 false -> 57 + 57 -> LeaveScope: i -> 58 + 58 -> LeaveScope: i -> 59 + 59 -> EnterScope: \result<loop> -> 60 + 60 -> Assign: \result<loop> = j -> 61 + 61 -> LeaveScope: j -> 76 + 76 -> finalize_call: loop -> 77 + 77 -> Assign: tmp = \result<loop> -> 78 + 78 -> LeaveScope: \result<loop> -> 79 + 79 -> EnterScope: \result<main> -> 82 + 80 -> Assign: \result<main> = tmp -> 81 + 81 -> join -> 84 + 82 -> Assign: \result<main> = tmp -> 83 + 83 -> join -> 84 ]} at 84 +[from] Computing for function loop +[from] Done for function loop +[from] Computing for function main +[from] Done for function main +[from] ====== DEPENDENCIES COMPUTED ====== + These dependencies hold at termination for the executions that terminate: +[from] Function loop: + \result FROM j +[from] Function main: + \result FROM c +[from] ====== END OF DEPENDENCIES ====== +[inout] Out (internal) for function loop: + j; i +[inout] Inputs for function loop: + \nothing +[inout] Out (internal) for function main: + tmp +[inout] Inputs for function main: + \nothing +[eva] Analyzing a complete application starting at main +[eva] Computing initial state +[eva] Initial state computed +[eva:initial-state] Values of globals at initialization + +[eva] done for function main +[eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function main: + __traces_domain_return ∈ {4; 5} +/* Generated by Frama-C */ +int main(int c) +{ + int __traces_domain_return; + { + int tmp; + tmp = 0; + if (c) { + tmp = 1; + { + int j; + j = tmp; + { + int i; + i = 0; + /*@ assert i < 3; */ + j ++; + i ++; + /*@ assert i < 3; */ + j ++; + i ++; + /*@ assert i < 3; */ + j ++; + i ++; + /*@ assert ¬(i < 3); */ + { + int _result_loop_; + _result_loop_ = j; + tmp = _result_loop_; + { + int _result_main_; + _result_main_ = tmp; + __traces_domain_return = tmp; + } + } + } + } + } + else { + tmp = 2; + { + int j; + j = tmp; + { + int i; + i = 0; + /*@ assert i < 3; */ + j ++; + i ++; + /*@ assert i < 3; */ + j ++; + i ++; + /*@ assert i < 3; */ + j ++; + i ++; + /*@ assert ¬(i < 3); */ + { + int _result_loop_; + _result_loop_ = j; + tmp = _result_loop_; + { + int _result_main_; + _result_main_ = tmp; + __traces_domain_return = tmp; + } + } + } + } + } + } + return __traces_domain_return; +} + + diff --git a/tests/value/traces/oracle/test3.res.oracle b/tests/value/traces/oracle/test3.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..d99315838e92aad39c6e71fdddf12bbbf71b6085 --- /dev/null +++ b/tests/value/traces/oracle/test3.res.oracle @@ -0,0 +1,73 @@ +[kernel] Parsing tests/value/traces/test3.i (no preprocessing) +[eva] Analyzing a complete application starting at main +[eva] Computing initial state +[eva] Initial state computed +[eva:initial-state] Values of globals at initialization + g ∈ {0} +[eva] Recording results for main +[eva] done for function main +[eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function main: + g ∈ {4} + tmp ∈ {4} + __retres ∈ {5} +[eva:d-traces] Trace domains: + start: 0; globals = g; main_formals = c; + {[ 0 -> initialize variable: g -> 1 + 1 -> initialize variable using type Main_Formal +c -> 2 + 2 -> EnterScope: __retres -> 3 + 3 -> EnterScope: tmp -> 4 + 4 -> initialize variable: tmp -> 5 + 5 -> Assign: tmp = 4 -> 6 + 6 -> Assume: tmp true -> 7 + 7 -> Assign: g = tmp -> 8 + 8 -> Assign: __retres = g + 1 -> 9 + 9 -> EnterScope: \result<main> -> 10 + 10 -> Assign: \result<main> = __retres -> 11 ]} at 11 +[from] Computing for function main +[from] Done for function main +[from] ====== DEPENDENCIES COMPUTED ====== + These dependencies hold at termination for the executions that terminate: +[from] Function main: + g FROM \nothing + \result FROM \nothing +[from] ====== END OF DEPENDENCIES ====== +[inout] Out (internal) for function main: + g; tmp; __retres +[inout] Inputs for function main: + g +[eva] Analyzing a complete application starting at main +[eva] Computing initial state +[eva] Initial state computed +[eva:initial-state] Values of globals at initialization + g ∈ {0} +[eva] done for function main +[eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function main: + g ∈ {4} + __traces_domain_return ∈ {5} +/* Generated by Frama-C */ +int g; +int main(int c) +{ + int __traces_domain_return; + { + int __retres; + { + int tmp; + tmp = 4; + /*@ assert tmp ≢ 0; */ + g = tmp; + __retres = g + 1; + { + int _result_main_; + _result_main_ = __retres; + __traces_domain_return = __retres; + } + } + } + return __traces_domain_return; +} + + diff --git a/tests/value/traces/oracle/test4.res.oracle b/tests/value/traces/oracle/test4.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..62f44d1b1031d4d20500bb91b2d631300bead971 --- /dev/null +++ b/tests/value/traces/oracle/test4.res.oracle @@ -0,0 +1,276 @@ +[kernel] Parsing tests/value/traces/test4.i (no preprocessing) +[eva] Analyzing a complete application starting at main +[eva] Computing initial state +[eva] Initial state computed +[eva:initial-state] Values of globals at initialization + +[eva] tests/value/traces/test4.i:9: starting to merge loop iterations +[eva:alarm] tests/value/traces/test4.i:11: Warning: + signed overflow. assert tmp + 1 ≤ 2147483647; +[eva:alarm] tests/value/traces/test4.i:14: Warning: + signed overflow. assert tmp + 1 ≤ 2147483647; +[eva:alarm] tests/value/traces/test4.i:17: Warning: + signed overflow. assert tmp + 1 ≤ 2147483647; +[eva:alarm] tests/value/traces/test4.i:20: Warning: + signed overflow. assert tmp + 1 ≤ 2147483647; +[eva:alarm] tests/value/traces/test4.i:23: Warning: + signed overflow. assert tmp + 1 ≤ 2147483647; +[eva:alarm] tests/value/traces/test4.i:25: Warning: + signed overflow. assert tmp + 1 ≤ 2147483647; +[eva] Recording results for main +[eva] done for function main +[eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function main: + tmp ∈ [46..2147483647] +[eva:d-traces] Trace domains: + start: 0; globals = ; main_formals = c; + {[ 0 -> initialize variable using type Main_Formal +c -> 1 + 1 -> EnterScope: tmp -> 2 + 2 -> initialize variable: tmp -> 3 + 3 -> Assign: tmp = 0 -> 4 + 4 -> EnterScope: i -> 5 + 5 -> initialize variable: i -> 6 + 6 -> Assign: i = 0 -> 7 + 7 -> enter_loop -> 8 + 8 -> Assume: i < 100 true -> 9 + 9 -> Assume: i % 2 false -> 10 + 10 -> Assume: i % 3 false -> 11 + 11 -> Assume: i % 5 false -> 12 + 12 -> Assume: i % 7 false -> 13 + 13 -> Assume: i % 11 false -> 14 + 14 -> Assign: tmp = tmp + 1 -> 15 + 15 -> Assign: i = i + 1 -> 16 + 16 -> Assume: i < 100 true -> 17 + 17 -> Assume: i % 2 true -> 18 + 18 -> Assign: tmp = tmp + 1 -> 19 + 19 -> Assume: i % 3 true -> 20 + 20 -> Assign: tmp = tmp + 1 -> 21 + 21 -> Assume: i % 5 true -> 22 + 22 -> Assign: tmp = tmp + 1 -> 23 + 23 -> Assume: i % 7 true -> 24 + 24 -> Assign: tmp = tmp + 1 -> 25 + 25 -> Assume: i % 11 true -> 26 + 26 -> Assign: tmp = tmp + 1 -> 27 + 27 -> Assign: tmp = tmp + 1 -> 28 + 28 -> Assign: i = i + 1 -> 29 + 29 -> Assume: i < 100 true -> 30 + 30 -> Assume: i % 2 false -> 31 + 31 -> Assume: i % 3 true -> 32 + 32 -> Assign: tmp = tmp + 1 -> 33 + 33 -> Assume: i % 5 true -> 34 + 34 -> Assign: tmp = tmp + 1 -> 35 + 35 -> Assume: i % 7 true -> 36 + 36 -> Assign: tmp = tmp + 1 -> 37 + 37 -> Assume: i % 11 true -> 38 + 38 -> Assign: tmp = tmp + 1 -> 39 + 39 -> Assign: tmp = tmp + 1 -> 40 + 40 -> Assign: i = i + 1 -> 41 + 41 -> Assume: i < 100 true -> 42 + 42 -> Assume: i % 2 true -> 43 + 43 -> Assign: tmp = tmp + 1 -> 44 + 44 -> Assume: i % 3 false -> 45 + 45 -> Assume: i % 5 true -> 46 + 46 -> Assign: tmp = tmp + 1 -> 47 + 47 -> Assume: i % 7 true -> 48 + 48 -> Assign: tmp = tmp + 1 -> 49 + 49 -> Assume: i % 11 true -> 50 + 50 -> Assign: tmp = tmp + 1 -> 51 + 51 -> Assign: tmp = tmp + 1 -> 52 + 52 -> Assign: i = i + 1 -> 53 + 53 -> Assume: i < 100 true -> 54 + 54 -> Assume: i % 2 false -> 55 + 55 -> Assume: i % 3 true -> 56 + 56 -> Assign: tmp = tmp + 1 -> 57 + 57 -> Assume: i % 5 true -> 58 + 58 -> Assign: tmp = tmp + 1 -> 59 + 59 -> Assume: i % 7 true -> 60 + 60 -> Assign: tmp = tmp + 1 -> 61 + 61 -> Assume: i % 11 true -> 62 + 62 -> Assign: tmp = tmp + 1 -> 63 + 63 -> Assign: tmp = tmp + 1 -> 64 + 64 -> Assign: i = i + 1 -> 65 + 65 -> Assume: i < 100 true -> 66 + 66 -> Assume: i % 2 true -> 67 + 67 -> Assign: tmp = tmp + 1 -> 68 + 68 -> Assume: i % 3 true -> 69 + 69 -> Assign: tmp = tmp + 1 -> 70 + 70 -> Assume: i % 5 false -> 71 + 71 -> Assume: i % 7 true -> 72 + 72 -> Assign: tmp = tmp + 1 -> 73 + 73 -> Assume: i % 11 true -> 74 + 74 -> Assign: tmp = tmp + 1 -> 75 + 75 -> Assign: tmp = tmp + 1 -> 76 + 76 -> Assign: i = i + 1 -> 77 + 77 -> Assume: i < 100 true -> 78 + 78 -> Assume: i % 2 false -> 79 + 79 -> Assume: i % 3 false -> 80 + 80 -> Assume: i % 5 true -> 81 + 81 -> Assign: tmp = tmp + 1 -> 82 + 82 -> Assume: i % 7 true -> 83 + 83 -> Assign: tmp = tmp + 1 -> 84 + 84 -> Assume: i % 11 true -> 85 + 85 -> Assign: tmp = tmp + 1 -> 86 + 86 -> Assign: tmp = tmp + 1 -> 87 + 87 -> Assign: i = i + 1 -> 88 + 88 -> Assume: i < 100 true -> 89 + 89 -> Assume: i % 2 true -> 90 + 90 -> Assign: tmp = tmp + 1 -> 91 + 91 -> Assume: i % 3 true -> 92 + 92 -> Assign: tmp = tmp + 1 -> 93 + 93 -> Assume: i % 5 true -> 94 + 94 -> Assign: tmp = tmp + 1 -> 95 + 95 -> Assume: i % 7 false -> 96 + 96 -> Assume: i % 11 true -> 97 + 97 -> Assign: tmp = tmp + 1 -> 98 + 98 -> Assign: tmp = tmp + 1 -> 99 + 99 -> Assign: i = i + 1 -> 100 + 100 -> Assume: i < 100 true -> 101 + 101 -> Assume: i % 2 false -> 102 + 102 -> Assume: i % 3 true -> 103 + 103 -> Assign: tmp = tmp + 1 -> 104 + 104 -> Assume: i % 5 true -> 105 + 105 -> Assign: tmp = tmp + 1 -> 106 + 106 -> Assume: i % 7 true -> 107 + 107 -> Assign: tmp = tmp + 1 -> 108 + 108 -> Assume: i % 11 true -> 109 + 109 -> Assign: tmp = tmp + 1 -> 110 + 110 -> Assign: tmp = tmp + 1 -> 111 + 111 -> Assign: i = i + 1 -> 112 + 112 -> Assume: i < 100 true -> 113 + 113 -> Assume: i % 2 true -> 114 + 114 -> Assign: tmp = tmp + 1 -> 115 + 115 -> Assume: i % 3 false -> 116 + 116 -> Assume: i % 5 true -> 117 + 117 -> Assign: tmp = tmp + 1 -> 118 + 118 -> Assume: i % 7 true -> 119 + 119 -> Assign: tmp = tmp + 1 -> 120 + 120 -> Assume: i % 11 true -> 121 + 121 -> Assign: tmp = tmp + 1 -> 122 + 122 -> Assign: tmp = tmp + 1 -> 123 + 123 -> Assign: i = i + 1 -> 124 + 124 -> Assume: i < 100 true -> 125; join -> 136 + 125 -> Assume: i % 2 false -> 126; join -> 138 + 126 -> Assume: i % 3 true -> 127; join -> 143 + 127 -> Assign: tmp = tmp + 1 -> 128 + 128 -> Assume: i % 5 false -> 129; join -> 146 + 129 -> Assume: i % 7 true -> 130; join -> 151 + 130 -> Assign: tmp = tmp + 1 -> 131 + 131 -> Assume: i % 11 true -> 132; join -> 154 + 132 -> Assign: tmp = tmp + 1 -> 133 + 133 -> Assign: tmp = tmp + 1 -> 134; join -> 159 + 134 -> Assign: i = i + 1 -> 135; join -> 161 + 135 -> join -> 136 + 136 -> Assume: i < 100 true -> 137; join -> 163 + 137 -> join -> 138 + 138 -> Assume: i % 2 true -> 139; Assume: i % 2 false -> 141; join -> 165 + 139 -> Assign: tmp = tmp + 1 -> 140 + 140 -> join -> 142 + 141 -> join -> 142 + 142 -> join -> 143 + 143 -> Assume: i % 3 true -> 144; join -> 170 + 144 -> Assign: tmp = tmp + 1 -> 145 + 145 -> join -> 146 + 146 -> Assume: i % 5 true -> 147; Assume: i % 5 false -> 149; join -> 175 + 147 -> Assign: tmp = tmp + 1 -> 148 + 148 -> join -> 150 + 149 -> join -> 150 + 150 -> join -> 151 + 151 -> Assume: i % 7 true -> 152; join -> 180 + 152 -> Assign: tmp = tmp + 1 -> 153 + 153 -> join -> 154 + 154 -> Assume: i % 11 true -> 155; Assume: i % 11 false -> 157; + join -> 183 + 155 -> Assign: tmp = tmp + 1 -> 156; join -> 185 + 156 -> join -> 158 + 157 -> join -> 158 + 158 -> join -> 159 + 159 -> Assign: tmp = tmp + 1 -> 160; join -> 189 + 160 -> join -> 161 + 161 -> Assign: i = i + 1 -> 162; join -> 191 + 162 -> join -> 163 + 163 -> Assume: i < 100 true -> 164; join -> 193 + 164 -> join -> 165 + 165 -> Assume: i % 2 true -> 166; Assume: i % 2 false -> 168; join -> 196 + 166 -> Assign: tmp = tmp + 1 -> 167 + 167 -> join -> 169 + 168 -> join -> 169 + 169 -> join -> 170 + 170 -> Assume: i % 3 true -> 171; Assume: i % 3 false -> 173; join -> 201 + 171 -> Assign: tmp = tmp + 1 -> 172 + 172 -> join -> 174 + 173 -> join -> 174 + 174 -> join -> 175 + 175 -> Assume: i % 5 true -> 176; Assume: i % 5 false -> 178; join -> 206 + 176 -> Assign: tmp = tmp + 1 -> 177 + 177 -> join -> 179 + 178 -> join -> 179 + 179 -> join -> 180 + 180 -> Assume: i % 7 true -> 181; join -> 211 + 181 -> Assign: tmp = tmp + 1 -> 182; join -> 213 + 182 -> join -> 183 + 183 -> Assume: i % 11 true -> 184; Assume: i % 11 false -> 187; + join -> 217 + 184 -> join -> 185 + 185 -> Assign: tmp = tmp + 1 -> 186; join -> 219 + 186 -> join -> 188 + 187 -> join -> 188 + 188 -> join -> 189 + 189 -> Assign: tmp = tmp + 1 -> 190; join -> 223 + 190 -> join -> 191 + 191 -> Assign: i = i + 1 -> 192; join -> 225 + 192 -> join -> 193 + 193 -> join -> 196 + 196 -> join -> 201 + 201 -> join -> 206 + 206 -> join -> 211 + 211 -> join -> 213 + 213 -> join -> 217 + 217 -> join -> 219 + 219 -> join -> 223 + 223 -> join -> 225 + 225 -> Loop(4) 194 {[ 194 -> Assume: i < 100 true -> 195 + 195 -> Assume: i % 2 true -> 197; + Assume: i % 2 false -> 199 + 197 -> Assign: tmp = tmp + 1 -> 198 + 198 -> join -> 200 + 199 -> join -> 200 + 200 -> Assume: i % 3 true -> 202; + Assume: i % 3 false -> 204 + 202 -> Assign: tmp = tmp + 1 -> 203 + 203 -> join -> 205 + 204 -> join -> 205 + 205 -> Assume: i % 5 true -> 207; + Assume: i % 5 false -> 209 + 207 -> Assign: tmp = tmp + 1 -> 208 + 208 -> join -> 210 + 209 -> join -> 210 + 210 -> Assume: i % 7 true -> 212; + Assume: i % 7 false -> 215 + 212 -> Assign: tmp = tmp + 1 -> 214 + 214 -> join -> 216 + 215 -> join -> 216 + 216 -> Assume: i % 11 true -> 218; + Assume: i % 11 false -> 221 + 218 -> Assign: tmp = tmp + 1 -> 220 + 220 -> join -> 222 + 221 -> join -> 222 + 222 -> Assign: tmp = tmp + 1 -> 224 + 224 -> Assign: i = i + 1 -> 226 ]} -> 228 + 228 -> Assume: i < 100 false -> 229 + 229 -> leave_loop -> 230 + 230 -> LeaveScope: i -> 231 + 231 -> LeaveScope: i -> 232 + 232 -> EnterScope: \result<main> -> 233 + 233 -> Assign: \result<main> = tmp -> 234 ]} at 234 +[from] Computing for function main +[from] Done for function main +[from] ====== DEPENDENCIES COMPUTED ====== + These dependencies hold at termination for the executions that terminate: +[from] Function main: + \result FROM \nothing +[from] ====== END OF DEPENDENCIES ====== +[inout] Out (internal) for function main: + tmp; i +[inout] Inputs for function main: + \nothing diff --git a/tests/value/traces/oracle/test5.res.oracle b/tests/value/traces/oracle/test5.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..1f021acddb6043e4a0f2f980bb3d3fb69561792d --- /dev/null +++ b/tests/value/traces/oracle/test5.res.oracle @@ -0,0 +1,594 @@ +[kernel] Parsing tests/value/traces/test5.i (no preprocessing) +[kernel:typing:implicit-function-declaration] tests/value/traces/test5.i:21: Warning: + Calling undeclared function my_switch. Old style K&R code? +[eva] Analyzing a complete application starting at main +[eva] Computing initial state +[eva] Initial state computed +[eva:initial-state] Values of globals at initialization + +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[kernel:annot:missing-spec] tests/value/traces/test5.i:21: Warning: + Neither code nor specification for function my_switch, generating default assigns from the prototype +[eva] using specification for function my_switch +[eva] Done for function my_switch +[eva:alarm] tests/value/traces/test5.i:21: Warning: + signed overflow. + assert tmp_0 + tmp ≤ 2147483647; + (tmp_0 from my_switch(tmp)) +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva:alarm] tests/value/traces/test5.i:21: Warning: + signed overflow. + assert -2147483648 ≤ tmp_0 + tmp; + (tmp_0 from my_switch(tmp)) +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] tests/value/traces/test5.i:20: starting to merge loop iterations +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] tests/value/traces/test5.i:19: starting to merge loop iterations +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] computing for function my_switch <- main. + Called from tests/value/traces/test5.i:21. +[eva] Done for function my_switch +[eva] Recording results for main +[eva] done for function main +[eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function main: + tmp ∈ [--..--] +[eva:d-traces] Trace domains: + start: 0; globals = ; main_formals = c; + {[ 0 -> initialize variable using type Main_Formal +c -> 1 + 1 -> EnterScope: tmp -> 2 + 2 -> initialize variable: tmp -> 3 + 3 -> Assign: tmp = 1 -> 4 + 4 -> EnterScope: i -> 5 + 5 -> initialize variable: i -> 6 + 6 -> Assign: i = 0 -> 7 + 7 -> enter_loop -> 8 + 8 -> Assume: i < 10 true -> 9 + 9 -> EnterScope: j -> 10 + 10 -> initialize variable: j -> 11 + 11 -> Assign: j = 0 -> 12 + 12 -> enter_loop -> 13 + 13 -> Assume: j < 10 true -> 14 + 14 -> EnterScope: tmp_0 -> 15 + 15 -> EnterScope: \result<my_switch> -> 16 + 16 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 17 + 17 -> Assign: tmp_0 = \result<my_switch> -> 18 + 18 -> LeaveScope: \result<my_switch> -> 19 + 19 -> Assign: tmp = tmp_0 + tmp -> 20 + 20 -> LeaveScope: tmp_0 -> 21 + 21 -> Assign: j = j + 1 -> 22 + 22 -> Assume: j < 10 true -> 23 + 23 -> EnterScope: tmp_0 -> 24 + 24 -> EnterScope: \result<my_switch> -> 25 + 25 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 26 + 26 -> Assign: tmp_0 = \result<my_switch> -> 28 + 28 -> LeaveScope: \result<my_switch> -> 29 + 29 -> Assign: tmp = tmp_0 + tmp -> 30 + 30 -> LeaveScope: tmp_0 -> 31 + 31 -> Assign: j = j + 1 -> 32 + 32 -> Assume: j < 10 true -> 33 + 33 -> EnterScope: tmp_0 -> 34 + 34 -> EnterScope: \result<my_switch> -> 35 + 35 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 36 + 36 -> Assign: tmp_0 = \result<my_switch> -> 38 + 38 -> LeaveScope: \result<my_switch> -> 39 + 39 -> Assign: tmp = tmp_0 + tmp -> 40 + 40 -> LeaveScope: tmp_0 -> 41 + 41 -> Assign: j = j + 1 -> 42 + 42 -> Assume: j < 10 true -> 43 + 43 -> EnterScope: tmp_0 -> 44 + 44 -> EnterScope: \result<my_switch> -> 45 + 45 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 46 + 46 -> Assign: tmp_0 = \result<my_switch> -> 48 + 48 -> LeaveScope: \result<my_switch> -> 49 + 49 -> Assign: tmp = tmp_0 + tmp -> 50 + 50 -> LeaveScope: tmp_0 -> 51 + 51 -> Assign: j = j + 1 -> 52 + 52 -> Assume: j < 10 true -> 53 + 53 -> EnterScope: tmp_0 -> 54 + 54 -> EnterScope: \result<my_switch> -> 55 + 55 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 56 + 56 -> Assign: tmp_0 = \result<my_switch> -> 58 + 58 -> LeaveScope: \result<my_switch> -> 59 + 59 -> Assign: tmp = tmp_0 + tmp -> 60 + 60 -> LeaveScope: tmp_0 -> 61 + 61 -> Assign: j = j + 1 -> 62 + 62 -> Assume: j < 10 true -> 63 + 63 -> EnterScope: tmp_0 -> 64 + 64 -> EnterScope: \result<my_switch> -> 65 + 65 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 66 + 66 -> Assign: tmp_0 = \result<my_switch> -> 68 + 68 -> LeaveScope: \result<my_switch> -> 69 + 69 -> Assign: tmp = tmp_0 + tmp -> 70 + 70 -> LeaveScope: tmp_0 -> 71 + 71 -> Assign: j = j + 1 -> 72 + 72 -> Assume: j < 10 true -> 73 + 73 -> EnterScope: tmp_0 -> 74 + 74 -> EnterScope: \result<my_switch> -> 75 + 75 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 76 + 76 -> Assign: tmp_0 = \result<my_switch> -> 78 + 78 -> LeaveScope: \result<my_switch> -> 79 + 79 -> Assign: tmp = tmp_0 + tmp -> 80 + 80 -> LeaveScope: tmp_0 -> 81 + 81 -> Assign: j = j + 1 -> 82 + 82 -> Assume: j < 10 true -> 83 + 83 -> EnterScope: tmp_0 -> 84 + 84 -> EnterScope: \result<my_switch> -> 85 + 85 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 86 + 86 -> Assign: tmp_0 = \result<my_switch> -> 88 + 88 -> LeaveScope: \result<my_switch> -> 89 + 89 -> Assign: tmp = tmp_0 + tmp -> 90 + 90 -> LeaveScope: tmp_0 -> 91 + 91 -> Assign: j = j + 1 -> 92 + 92 -> Assume: j < 10 true -> 93 + 93 -> EnterScope: tmp_0 -> 94 + 94 -> EnterScope: \result<my_switch> -> 95 + 95 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 96 + 96 -> Assign: tmp_0 = \result<my_switch> -> 98 + 98 -> LeaveScope: \result<my_switch> -> 99 + 99 -> Assign: tmp = tmp_0 + tmp -> 100 + 100 -> LeaveScope: tmp_0 -> 101 + 101 -> Assign: j = j + 1 -> 102 + 102 -> Assume: j < 10 true -> 103 + 103 -> EnterScope: tmp_0 -> 104 + 104 -> EnterScope: \result<my_switch> -> 105 + 105 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 106 + 106 -> Assign: tmp_0 = \result<my_switch> -> 108 + 108 -> LeaveScope: \result<my_switch> -> 109 + 109 -> Assign: tmp = tmp_0 + tmp -> 110 + 110 -> LeaveScope: tmp_0 -> 111 + 111 -> Assign: j = j + 1 -> 112 + 112 -> Assume: j < 10 false -> 113; join -> 122 + 113 -> LeaveScope: j -> 114 + 114 -> LeaveScope: j -> 115 + 115 -> Assign: i = i + 1 -> 116 + 116 -> Assume: i < 10 true -> 117 + 117 -> EnterScope: j -> 118 + 118 -> initialize variable: j -> 119 + 119 -> Assign: j = 0 -> 120 + 120 -> enter_loop -> 121 + 121 -> join -> 122 + 122 -> Assume: j < 10 true -> 123; join -> 133 + 123 -> EnterScope: tmp_0 -> 124; join -> 135 + 124 -> EnterScope: \result<my_switch> -> 125; join -> 137 + 125 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 126 + 126 -> Assign: tmp_0 = \result<my_switch> -> 128 + 128 -> LeaveScope: \result<my_switch> -> 129 + 129 -> Assign: tmp = tmp_0 + tmp -> 130; join -> 143 + 130 -> LeaveScope: tmp_0 -> 131 + 131 -> Assign: j = j + 1 -> 132; join -> 146 + 132 -> join -> 133 + 133 -> Assume: j < 10 true -> 134; join -> 148 + 134 -> join -> 135 + 135 -> EnterScope: tmp_0 -> 136; join -> 151 + 136 -> join -> 137 + 137 -> EnterScope: \result<my_switch> -> 138; join -> 153 + 138 -> CallDeclared: \result<my_switch> = my_switch(tmp) -> 139 + 139 -> Assign: tmp_0 = \result<my_switch> -> 141 + 141 -> LeaveScope: \result<my_switch> -> 142 + 142 -> join -> 143 + 143 -> Assign: tmp = tmp_0 + tmp -> 144; join -> 159 + 144 -> LeaveScope: tmp_0 -> 145 + 145 -> join -> 146 + 146 -> Assign: j = j + 1 -> 147; join -> 162 + 147 -> join -> 148 + 148 -> join -> 151 + 151 -> join -> 153 + 153 -> join -> 159 + 159 -> join -> 162 + 162 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 166; + join -> 177 + 166 -> Assume: j < 10 false -> 167 + 167 -> leave_loop -> 168 + 168 -> LeaveScope: j -> 169 + 169 -> LeaveScope: j -> 170 + 170 -> Assign: i = i + 1 -> 171 + 171 -> Assume: i < 10 true -> 172 + 172 -> EnterScope: j -> 173 + 173 -> initialize variable: j -> 174 + 174 -> Assign: j = 0 -> 175 + 175 -> enter_loop -> 176 + 176 -> join -> 177 + 177 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 179; + join -> 190 + 179 -> Assume: j < 10 false -> 180 + 180 -> leave_loop -> 181 + 181 -> LeaveScope: j -> 182 + 182 -> LeaveScope: j -> 183 + 183 -> Assign: i = i + 1 -> 184 + 184 -> Assume: i < 10 true -> 185 + 185 -> EnterScope: j -> 186 + 186 -> initialize variable: j -> 187 + 187 -> Assign: j = 0 -> 188 + 188 -> enter_loop -> 189 + 189 -> join -> 190 + 190 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 192; + join -> 203 + 192 -> Assume: j < 10 false -> 193 + 193 -> leave_loop -> 194 + 194 -> LeaveScope: j -> 195 + 195 -> LeaveScope: j -> 196 + 196 -> Assign: i = i + 1 -> 197 + 197 -> Assume: i < 10 true -> 198 + 198 -> EnterScope: j -> 199 + 199 -> initialize variable: j -> 200 + 200 -> Assign: j = 0 -> 201 + 201 -> enter_loop -> 202 + 202 -> join -> 203 + 203 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 205; + join -> 216 + 205 -> Assume: j < 10 false -> 206 + 206 -> leave_loop -> 207 + 207 -> LeaveScope: j -> 208 + 208 -> LeaveScope: j -> 209 + 209 -> Assign: i = i + 1 -> 210 + 210 -> Assume: i < 10 true -> 211 + 211 -> EnterScope: j -> 212 + 212 -> initialize variable: j -> 213 + 213 -> Assign: j = 0 -> 214 + 214 -> enter_loop -> 215 + 215 -> join -> 216 + 216 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 218; + join -> 229 + 218 -> Assume: j < 10 false -> 219 + 219 -> leave_loop -> 220 + 220 -> LeaveScope: j -> 221 + 221 -> LeaveScope: j -> 222 + 222 -> Assign: i = i + 1 -> 223 + 223 -> Assume: i < 10 true -> 224 + 224 -> EnterScope: j -> 225 + 225 -> initialize variable: j -> 226 + 226 -> Assign: j = 0 -> 227 + 227 -> enter_loop -> 228 + 228 -> join -> 229 + 229 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 231; + join -> 242 + 231 -> Assume: j < 10 false -> 232 + 232 -> leave_loop -> 233 + 233 -> LeaveScope: j -> 234 + 234 -> LeaveScope: j -> 235 + 235 -> Assign: i = i + 1 -> 236 + 236 -> Assume: i < 10 true -> 237 + 237 -> EnterScope: j -> 238 + 238 -> initialize variable: j -> 239 + 239 -> Assign: j = 0 -> 240 + 240 -> enter_loop -> 241 + 241 -> join -> 242 + 242 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 244; + join -> 255 + 244 -> Assume: j < 10 false -> 245 + 245 -> leave_loop -> 246 + 246 -> LeaveScope: j -> 247 + 247 -> LeaveScope: j -> 248 + 248 -> Assign: i = i + 1 -> 249 + 249 -> Assume: i < 10 true -> 250 + 250 -> EnterScope: j -> 251 + 251 -> initialize variable: j -> 252 + 252 -> Assign: j = 0 -> 253 + 253 -> enter_loop -> 254 + 254 -> join -> 255 + 255 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 257; + join -> 268 + 257 -> Assume: j < 10 false -> 258 + 258 -> leave_loop -> 259 + 259 -> LeaveScope: j -> 260 + 260 -> LeaveScope: j -> 261 + 261 -> Assign: i = i + 1 -> 262 + 262 -> Assume: i < 10 true -> 263 + 263 -> EnterScope: j -> 264 + 264 -> initialize variable: j -> 265 + 265 -> Assign: j = 0 -> 266 + 266 -> enter_loop -> 267 + 267 -> join -> 268 + 268 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 270; + join -> 281 + 270 -> Assume: j < 10 false -> 271 + 271 -> leave_loop -> 272 + 272 -> LeaveScope: j -> 273 + 273 -> LeaveScope: j -> 274 + 274 -> Assign: i = i + 1 -> 275 + 275 -> Assume: i < 10 true -> 276; join -> 289 + 276 -> EnterScope: j -> 277; join -> 291 + 277 -> initialize variable: j -> 278 + 278 -> Assign: j = 0 -> 279 + 279 -> enter_loop -> 280 + 280 -> join -> 281 + 281 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 283; + join -> 296 + 283 -> Assume: j < 10 false -> 284 + 284 -> leave_loop -> 285 + 285 -> LeaveScope: j -> 286; join -> 301 + 286 -> LeaveScope: j -> 287 + 287 -> Assign: i = i + 1 -> 288; join -> 304 + 288 -> join -> 289 + 289 -> Assume: i < 10 true -> 290; join -> 306 + 290 -> join -> 291 + 291 -> EnterScope: j -> 292; join -> 308 + 292 -> initialize variable: j -> 293 + 293 -> Assign: j = 0 -> 294 + 294 -> enter_loop -> 295 + 295 -> join -> 296 + 296 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 298; + join -> 313 + 298 -> Assume: j < 10 false -> 299 + 299 -> leave_loop -> 300 + 300 -> join -> 301 + 301 -> LeaveScope: j -> 302; join -> 318 + 302 -> LeaveScope: j -> 303 + 303 -> join -> 304 + 304 -> Assign: i = i + 1 -> 305; join -> 321 + 305 -> join -> 306 + 306 -> Assume: i < 10 true -> 307; join -> 323 + 307 -> join -> 308 + 308 -> EnterScope: j -> 309; join -> 326 + 309 -> initialize variable: j -> 310 + 310 -> Assign: j = 0 -> 311 + 311 -> enter_loop -> 312 + 312 -> join -> 313 + 313 -> Loop(16) 149 {[ 149 -> Assume: j < 10 true -> 150 + 150 -> EnterScope: tmp_0 -> 152 + 152 -> EnterScope: \result<my_switch> -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch(tmp) -> 155 + 155 -> Assign: tmp_0 = \result<my_switch> -> 157 + 157 -> LeaveScope: \result<my_switch> -> 158 + 158 -> Assign: tmp = tmp_0 + tmp -> 160 + 160 -> LeaveScope: tmp_0 -> 161 + 161 -> Assign: j = j + 1 -> 163 ]} -> 315; + join -> 331 + 315 -> Assume: j < 10 false -> 316 + 316 -> leave_loop -> 317 + 317 -> join -> 318 + 318 -> LeaveScope: j -> 319; join -> 336 + 319 -> LeaveScope: j -> 320 + 320 -> join -> 321 + 321 -> Assign: i = i + 1 -> 322; join -> 339 + 322 -> join -> 323 + 323 -> join -> 326 + 326 -> join -> 331 + 331 -> join -> 336 + 336 -> join -> 339 + 339 -> Loop(10) 324 {[ 324 -> Assume: i < 10 true -> 325 + 325 -> EnterScope: j -> 327 + 327 -> initialize variable: j -> 328 + 328 -> Assign: j = 0 -> 329 + 329 -> enter_loop -> 330 + 330 -> Loop(16) 149 {[ 149 -> Assume: + j < 10 true + -> 150 + 150 -> EnterScope: + tmp_0 -> 152 + 152 -> EnterScope: + \result<my_switch> + -> 154 + 154 -> CallDeclared: + \result<my_switch> = + my_switch( + tmp) -> 155 + 155 -> Assign: + tmp_0 = \result<my_switch> + -> 157 + 157 -> LeaveScope: + \result<my_switch> + -> 158 + 158 -> Assign: + tmp = tmp_0 + tmp + -> 160 + 160 -> LeaveScope: + tmp_0 -> 161 + 161 -> Assign: + j = j + 1 + -> 163 ]} + -> 333 + 333 -> Assume: j < 10 false -> 334 + 334 -> leave_loop -> 335 + 335 -> LeaveScope: j -> 337 + 337 -> LeaveScope: j -> 338 + 338 -> Assign: i = i + 1 -> 340 ]} -> 343 + 343 -> Assume: i < 10 false -> 344 + 344 -> leave_loop -> 345 + 345 -> LeaveScope: i -> 346 + 346 -> LeaveScope: i -> 347 + 347 -> EnterScope: \result<main> -> 348 + 348 -> Assign: \result<main> = tmp -> 349 ]} at 349 +[from] Computing for function main +[from] Computing for function my_switch <-main +[from] Done for function my_switch +[from] Done for function main +[from] ====== DEPENDENCIES COMPUTED ====== + These dependencies hold at termination for the executions that terminate: +[from] Function my_switch: + \result FROM x_0 +[from] Function main: + \result FROM \nothing +[from] ====== END OF DEPENDENCIES ====== +[inout] Out (internal) for function main: + tmp; i; j; tmp_0 +[inout] Inputs for function main: + \nothing +[kernel] User Error: no known last created project. +[kernel] Frama-C aborted: invalid user input. diff --git a/tests/value/traces/test1.c b/tests/value/traces/test1.c new file mode 100644 index 0000000000000000000000000000000000000000..7fbd4347cc727b620b12ca1b06733b6ec3dbf427 --- /dev/null +++ b/tests/value/traces/test1.c @@ -0,0 +1,28 @@ +/* run.config + STDOPT: #"-eva-traces-domain -value-msg-key d-traces -slevel 10 -eva-traces-project" +"-then-last -val -print -value-msg-key=-d-traces" +*/ + +extern volatile int entropy_source; + +/*@ requires min <= max; + assigns \result \from min, max, entropy_source; + assigns entropy_source \from entropy_source; + ensures min <= \result <= max ; + */ +extern int interval(int min, int max); + + +int g = 42; + +int main(int c){ + /* c = interval(0,1); */ + int tmp; + tmp = 0; + if (c) tmp = g; + else tmp = 2; + for(int i = 0; i < 3; i++){ + tmp ++; + } + g = tmp; + return tmp; +} diff --git a/tests/value/traces/test2.i b/tests/value/traces/test2.i new file mode 100644 index 0000000000000000000000000000000000000000..6369b92fd4c148354a6d23f5c80ec7b2cf5715ce --- /dev/null +++ b/tests/value/traces/test2.i @@ -0,0 +1,20 @@ +/* run.config + STDOPT: #"-eva-traces-domain -value-msg-key d-traces -slevel 10 -eva-traces-project" +"-then-last -val -print -value-msg-key=-d-traces" +*/ + + +int loop(int j){ + for(int i = 0; i < 3; i++){ + j ++; + } + return j; +} + +int main(int c){ + int tmp; + tmp = 0; + if (c) tmp = 1; + else tmp = 2; + tmp = loop(tmp); + return tmp; +} diff --git a/tests/value/traces/test3.i b/tests/value/traces/test3.i new file mode 100644 index 0000000000000000000000000000000000000000..6cd21d4315dfd93081a0edf0565c44b5aa093d30 --- /dev/null +++ b/tests/value/traces/test3.i @@ -0,0 +1,15 @@ +/* run.config + STDOPT: #"-eva-traces-domain -value-msg-key d-traces -slevel 10 -eva-traces-project" +"-then-last -val -print -value-msg-key=-d-traces" +*/ + +int g; + +int main(int c){ + int tmp = 4; + if(tmp){ + g = tmp; + } else { + g = 1; + } + return g+1; +} diff --git a/tests/value/traces/test4.i b/tests/value/traces/test4.i new file mode 100644 index 0000000000000000000000000000000000000000..9d4bc60920adba9604d26d492c44a55c77231b59 --- /dev/null +++ b/tests/value/traces/test4.i @@ -0,0 +1,28 @@ +/* run.config + STDOPT: #"-eva-traces-domain -value-msg-key d-traces -slevel 10" +*/ + +/* Test of join inside a loop */ + +int main(c){ + int tmp = 0; + for(int i = 0; i < 100; i++){ + if(i % 2){ + tmp ++; + }; + if(i % 3){ + tmp ++; + }; + if(i % 5){ + tmp ++; + }; + if(i % 7){ + tmp ++; + }; + if(i % 11){ + tmp ++; + }; + tmp++; + } + return tmp; +} diff --git a/tests/value/traces/test5.i b/tests/value/traces/test5.i new file mode 100644 index 0000000000000000000000000000000000000000..046cafc651537cef93274c62a847157b4b495efd --- /dev/null +++ b/tests/value/traces/test5.i @@ -0,0 +1,25 @@ +/* run.config + STDOPT: #"-eva-traces-domain -value-msg-key d-traces -slevel 10" +"-then-last -val -slevel 10 -print -no-eva-traces-domain" +*/ + + +/* Check the fix for the creation of expression by dataflows2 for + switch (conversion to list of if) */ + +int myswitch(i){ + switch(i){ + case 0: return 0; + case 1: return 1; + default: return 2; + } +} + +int main(c){ + int tmp = 1; + for(int i = 0; i < 10; i++){ + for(int j = 0; j < 10; j++){ + tmp = my_switch(tmp) + tmp; + } + } + return tmp; +}