There's something very satisfying and cool about this.
Also I hope this doesn't count as academic dishonesty.
@kensp I've never seen this notation before. It looks like praedicaate logic, but 'Dogs bark at cats', would then be Ax(EyCy --> Bxy), or possibly AxEy(Bxy), but the 'bark at', being a verb, would have to reference both at one point, otherwise there are just dogs barking and cats exsting.
What kind of course is this?
@malin that's what I had originally. But then my friend pointed out that B(x) is defined as x barks at cats in the question.
Its MAT 243: Discrete Mathematics.
@malin well it (B(x)) just says "x barks at cats"
That would mean all cats so originally I had AxAy(D(x) ^ C(y) -> B(x,y)) but that's not how B is defined and C is not defined at all.
@kensp Bx can mean 'x barks', but not 'at cats', because 'cats' is not referenced.
Is there some way to write the whomever wrote this and request they, or preferably someone else, revise the error?
@malin well, I don't see why B(x) can't mean x barks at cats. Because technically barks isn't mentioned either. It's ab action. So A(x, Barks, y) would be even more specific.
@kensp The problem is that one line uses 'cats' as some object (z), while another line has them implied as part of a relation.
Formal logic might have:
P = Dogs bark at cats
But the whole point of praedicat logic is that you specify who's doing what, and if it's some, none, or all.
@malin well, actually none of the lines use cats as an object. It's always part of "barks at cats" so it would be perfectly valid to not need an extra variable for cats. None of the propositions use cats as a subject during the proof either.
@kensp I suppose, but it's a strange use of the tool. Like installing BSD in order to play computer games.
I can't see the question - is it asking for a counter example?
@malin the class is just started. It just wanted me to recognize that there was a fallacy in the conclusion and identify the various rules of inference. The previous question does in fact use B(x, y): x barks at y and has a C(x): x is a cat. I guess they didn't want us to clutter the page with C()s when they are technically not required so it's easier to focus on what is asked (and probably make it easier to check)
Also, as someone who loves retrogames, BSDs are perfectly viable for gaming.
Linux geeks doing what Linux geeks do...