(module event-form mzscheme
(require (lib "plt-match.ss"))
(provide event-form?)
(define (event-form? e)
(event-form/se? (if (syntax? e) (syntax-object->datum e) e)))
(define (event-form/se? e)
(match e
[`(with-prover-time-limit ,num ,body) (event-form/se? body)]
[`(,form-name . ,_)
(and (memq form-name
'(defun defund defthm defconst defmacro defpun
defaxiom defchoose defcong defequiv
defexec defevaluator
deflabel deflist defalist
defrefinement
defstructure
defstobj defstub deftheory
defthmd
defun-sk
encapsulate
in-theory include-book
local
mutual-recursion
set-compile-fns
set-state-ok
verify-guards verify-termination
check-expect check-within check-error
defproperty defgenerator
))
#t)]
[else #f])))