First, your symbolic translations of Bart’s and Zed’s statements are incorrect. Bart actually said $$\text{Ma}\land\text{Ze}\;,$$ and Zed said $$\text{Bo}\land\text{Ma}\;.$$
A quick way to solve it is to suppose that Bart is a knight. Then he’s telling the truth, so Marge and Zed are also knights. But that’s impossible, because Marge said that Zed is a knave: if she’s a knight, she’s telling the truth, and Zed isn’t knight. Thus, Bart cannot be a knight and must therefore be a knave. Can you finish it from there?
Your logic is good but you answered the wrong question. You answered: If Bob is a knight, can Alice say "I could say Bob is a knight"?
The question you should have answerr is: If Alice says "I could say Bob is a knight", what is Bob?
And the answer is a knight and the logic is much the same:
i) Exhaustive truth tables, Of the four option of Alice/Bob being knights/knave we have:
A knight/B knight: "I could say B knight" is TRUE. Possible.
A knight/B knave: "I could say B knight" is FALSE. Not possible.
A knave/B knight: "I could say B knight" is FALSE. possible.
A knave/B knight: "I could say B knight" is FALSE. Not possible.
So Bob is knight.
ii: Direct logic.
If Alice is a knave then "I could say Bob is knight" is false. So she can't say "Bob is a knight". A knave can say any lie and can't so any truth. So if she can't say "Bob is a knight" that would be because it is true. So Bob is a knight.
If Alice is a knight then "I could say Bob is a knight" is true. So she can say "Bob is a knight". But knights can only tell the truth so "Bob is a knight" must be true. So Bob is a knight.
iii: Generalize.
If anyone says "I could say $X$" then $X$ must be true.
Pf: A knight can only say "I could say $X$" if s/he could. And s/he could only say $X$ if it were true. So if a knight say "I could say $X$" then $X$ is true.
A knave could only say "I could say $X$" if s/he couldn't. And the only way s/he couldn't say $X$ is if it were true.
So if anyone says "I could say $X$" then $X$ is true.
So if Alice says "I could say Bob is a Knight" then... Bob is a knight.
Best Answer
You can do it with propositional logic ... but it's not as straightforward as with the Knight and Knaves puzzles.
OK, so let's define a bunch of atomic statements:
$A_T$: Alice is a truth-teller
$A_S$: Alice is a spy
$A_L$: Alice is a liar
$B_T$: Bob is a truth-teller
$B_S$: Bob is a spy
$B_L$: Bob is a liar
$C_T$: Charlie is a truth-teller
$C_S$: Charlie is a spy
$C_L$: Charlie is a liar
Now, Alice is either a truth-teller, spy, or liar, so we have all of the following statements:
$A_T \leftrightarrow (\neg A_S \land \neg A_L)$
$A_S \leftrightarrow (\neg A_T \land \neg A_L)$
$A_L \leftrightarrow (\neg A_S \land \neg A_T)$
Same with Bob and Charlie:
$B_T \leftrightarrow (\neg B_S \land \neg B_L)$
$B_S \leftrightarrow (\neg B_T \land \neg B_L)$
$B_L \leftrightarrow (\neg B_S \land \neg B_T)$
$C_T \leftrightarrow (\neg C_S \land \neg C_L)$
$C_S \leftrightarrow (\neg C_T \land \neg C_L)$
$C_L \leftrightarrow (\neg C_S \land \neg C_T)$
Also, when it says: "Alice, Bob, and Charlie are one of each type" I assume they mean that there is 1 truth-teller, 1 spy, and 1 liar between them. So, we can also add:
$A_T \leftrightarrow (\neg B_T \land \neg C_T)$
$A_S \leftrightarrow (\neg B_S \land \neg C_S)$
$A_L \leftrightarrow (\neg B_L \land \neg C_L)$
$B_T \leftrightarrow (\neg A_T \land \neg C_T)$
$B_S \leftrightarrow (\neg A_S \land \neg C_S)$
$B_L \leftrightarrow (\neg A_L \land \neg C_L)$
$C_T \leftrightarrow (\neg A_T \land \neg B_T)$
$C_S \leftrightarrow (\neg A_S \land \neg B_S)$
$C_L \leftrightarrow (\neg A_L \land \neg B_L)$
OK, now for the statements they give. Alice says "I am not a truth-teller"
This means that the statement is true if Alice is a truth teller, and the statement is false if Alice is a liar:
$A_T \to \neg A_T$
$A_L \to A_T$
Bob says: "I am not a spy" becomes:
$B_T \to \neg B_S$
$B_L \to B_S$
Charlie: "I am not a liar":
$C_T \to \neg C_L$
$C_L \to C_L$
OK, so now let's infer (I'll use a mix of fairly standard inference and equivalence rules)
$\neg A_T \lor \neg A_T$ (Implication 19)
$\neg A_T$ (Idempotence 25)
$\neg A_L$ (Modus Tollens 20,26)
$\neg A_T \land \neg A_L$ ($\land$ Intro 26,27)
$A_S$ ($\leftrightarrow$ Elim 2,28)
$\neg B_S \land \neg C_S$ ($\leftrightarrow$ Elim 11,29)
$\neg B_S$ ($\land$ Elim, 30)
$\neg B_L$ (Modus Tollens, 22,31)
$\neg B_S \land \neg B_L$ ($\land$ Intro 31,32)
$B_T$ (\leftrightarrow Elim 4,33)
$\neg A_T \land \neg C_T$ ($\leftrightarrow$ Elim 13,34)
$\neg C_S$ ($\land$ Elim 30)
$\neg C_T$ ($\land$ Elim 35)
$\neg C_S \land \neg C_T$ ($\land$ Intro 36,37)
$C_L$ ($\leftrightarrow$ Elim 9,38)