Provide two programs/functions
B (not necessarily in the same language) with the following properties:
- Either program, when given its own source code as input, produces an accepting output.
- Either program, when given the other program's source code as input, produces a rejecting output.
It doesn't matter what happens when you provide either program with an input that is not
B. Accepting or rejecting is defined as per here:
- output truthy/falsy using your language's convention (swapping is allowed), or
- use two distinct, fixed values to represent true (affirmative) or false (negative) respectively.
Both programs must use the same method of output. Additionally, if you use truthy/falsy and they are swapped for one program, they must be swapped for both programs.
If you decide to write a function instead of a full program, you must do so for both programs.
Your score is the sum of the byte counts of both programs. This is code golf, so the lowest score wins.