Skip to content

Commit

Permalink
Add comments to explain the new settings for CBMCFLAGS.
Browse files Browse the repository at this point in the history
The explanatory text is adapted from that appearing
in CBMC Issue 8505.

Signed-off-by: Rod Chapman <[email protected]>
  • Loading branch information
rod-chapman committed Nov 14, 2024
1 parent 73abc1a commit 70b1d19
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion cbmc/proofs/matvec_mul/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,18 @@ USE_DYNAMIC_FRAMES=1

# Disable any setting of EXTERNAL_SAT_SOLVER, and choose SMT backend instead
EXTERNAL_SAT_SOLVER=
CBMCFLAGS=--smt2 --no-array-field-sensitivity --arrays-uf-always --slice-formula
CBMCFLAGS=--smt2

# For this proof we tell CBMC to
# 1. not decompose arrays into their individual cells
# 2. to model arrays directly as SMT-lib arrays
# 3. to slice constraints that are not in the cone of influcence of the proof obligations
# These options simplify them modelling of arrays and produce much more compact
# SMT files, leaving all array-type reasoning to the SMT solver.
#
# For functions that use large and multi-dimensional arrays, this yields
# a substantial improvement in proof performance.
CBMCFLAGS += --no-array-field-sensitivity --arrays-uf-always --slice-formula

FUNCTION_NAME = $(MLKEM_NAMESPACE)matvec_mul

Expand Down

0 comments on commit 70b1d19

Please sign in to comment.