redex
redex copied to clipboard
`define-extended-language`+ overriding a `variable-not-otherwise-mentioned` with a `variable-not-in` fails.
The program
#lang racket
(require redex/reduction-semantics)
(define-language L
(v ::= GO WAIT x)
(x ::= variable-not-otherwise-mentioned))
(define-extended-language L+ L
(x ::= (variable-not-in WAIT)))
(redex-match? L+ x (term GO))
produces #f, despite x in L+ being specified to only exclude WAIT.
It produces #t if the variable-not-in is replace with variable.