aboutsummaryrefslogtreecommitdiff
path: root/generic/proof-config.el
diff options
context:
space:
mode:
Diffstat (limited to 'generic/proof-config.el')
-rw-r--r--generic/proof-config.el64
1 files changed, 64 insertions, 0 deletions
diff --git a/generic/proof-config.el b/generic/proof-config.el
index 9632a268..951aade2 100644
--- a/generic/proof-config.el
+++ b/generic/proof-config.el
@@ -696,6 +696,70 @@ needed for Coq."
:type 'boolean
:group 'proof-script)
+(defcustom proof-omit-proofs-configured nil
+ "t if the omit proofs feature has been configured by the proof assitant.
+See also `proof-omit-proofs-option' or the Proof General manual
+for a description of the feature. This option can only be set, if
+all of `proof-script-proof-start-regexp',
+`proof-script-proof-end-regexp',
+`proof-script-definition-end-regexp' and
+`proof-script-proof-admit-command' have been configured.
+
+The omit proofs feature skips over opaque proofs in the source
+code, admitting the theorems, to speed up processing.
+
+If `proof-omit-proofs-option' is set by the user, all proof
+commands in the source following a match of
+`proof-script-proof-start-regexp' up to and including the next
+match of `proof-script-proof-end-regexp', are omitted (not send
+to the proof assistant) and replaced by
+`proof-script-proof-admit-command'. If a match for
+`proof-script-definition-end-regexp' is found while searching
+forward for the proof end, the current proof (up to and including
+the match of `proof-script-definition-end-regexp') is considered
+to be not opaque and not omitted, thus all these proof commands
+_are_ sent to the proof assistant.
+
+The feature does not work for nested proofs. If a match for
+`proof-script-proof-start-regexp' is found before the next match
+for `proof-script-proof-end-regexp' or
+`proof-script-definition-end-regexp', the search for opaque
+proofs immediately stops and all commands following the previous
+match of `proof-script-proof-start-regexp' are sent verbatim to
+the proof assistant.
+
+All the regular expressions for this feature are matched against
+the commands inside proof action items, that is as strings,
+without surrounding space."
+ :type 'boolean
+ :group 'proof-script)
+
+;; proof-omit-proofs-option is in proof-useropts as user option
+
+(defcustom proof-script-proof-start-regexp nil
+ "Regular expression for the start of a proof for the omit proofs feature.
+See `proof-omit-proofs-configured'."
+ :type 'regexp
+ :group 'proof-script)
+
+(defcustom proof-script-proof-end-regexp nil
+ "Regular expression for the end of an opaque proof for the omit proofs feature.
+See `proof-omit-proofs-configured'."
+ :type 'regexp
+ :group 'proof-script)
+
+(defcustom proof-script-definition-end-regexp nil
+ "Regexp for the end of a non-opaque proof for the omit proofs feature.
+See `proof-omit-proofs-configured'."
+ :type 'regexp
+ :group 'proof-script)
+
+(defcustom proof-script-proof-admit-command nil
+ "Proof command to be inserted instead of omitted proofs."
+ :type 'string
+ :group 'proof-script)
+
+
;;
;; Proof script indentation
;;