The balanced-copy language of abnPowM #
Let A = {(a b^n)^m | n,m > 0} and B be the two intersection
witnesses abnPowM and abnAbStarPowPredN. Over a fresh three-letter
alphabet, define the numerator
{ code(w) # reverse(code(w)) | w ∈ A }
and the denominator { # reverse(code(v)) | v ∈ B }. The separator
makes the quotient split unique, so their right quotient is exactly the
encoded diagonal intersection.
Indexed-language membership facts live in
Langlib.Classes.Indexed.Examples.AbnPowMCopy.
Three-letter alphabet used to separate the copied halves.
- a : CopyLetter
- b : CopyLetter
- separator : CopyLetter
Instances For
Equations
- instFintypeCopyLetter = { elems := { val := ↑CopyLetter.enumList, nodup := CopyLetter.enumList_nodup }, complete := instFintypeCopyLetter._proof_1 }
Equations
Instances For
Equations
- instInhabitedCopyLetter = { default := instInhabitedCopyLetter.default }
Embed the binary witness alphabet into the copy alphabet.
Equations
Instances For
The numerator of the indexed right-quotient witness.
Equations
Instances For
Denominator of the indexed right-quotient counterexample.
Equations
Instances For
The explicit quotient is exactly the encoded diagonal intersection.