Parsing of Leo output files.
(output-file-parsep tokens file) → yes/no
This is analogous to file-parsep and input-file-parsep, but for output files instead of (code) files and input files.
Note also that, while file-parsep passes
the empty list of identifiers to token-fringe,
here we pass the list consisting of the
Function:
(defun output-file-parsep (tokens file) (declare (xargs :guard (and (abnf::tree-listp tokens) (abnf::treep file)))) (let ((__function__ 'output-file-parsep)) (declare (ignorable __function__)) (and (abnf-tree-with-root-p (abnf::tree-fix file) "output-file") (equal (token-fringe file (list "output")) (abnf::tree-list-fix tokens)))))
Theorem:
(defthm booleanp-of-output-file-parsep (b* ((yes/no (output-file-parsep tokens file))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm output-file-parsep-of-tree-list-fix-tokens (equal (output-file-parsep (abnf::tree-list-fix tokens) file) (output-file-parsep tokens file)))
Theorem:
(defthm output-file-parsep-tree-list-equiv-congruence-on-tokens (implies (abnf::tree-list-equiv tokens tokens-equiv) (equal (output-file-parsep tokens file) (output-file-parsep tokens-equiv file))) :rule-classes :congruence)
Theorem:
(defthm output-file-parsep-of-tree-fix-file (equal (output-file-parsep tokens (abnf::tree-fix file)) (output-file-parsep tokens file)))
Theorem:
(defthm output-file-parsep-tree-equiv-congruence-on-file (implies (abnf::tree-equiv file file-equiv) (equal (output-file-parsep tokens file) (output-file-parsep tokens file-equiv))) :rule-classes :congruence)