Exercise 8.3 - Consistency Intro to logic Stanford course I am trying to solve this exercise:

Consider a version of the Blocks World with just three blocks - a, b,
and c. The on relation is axiomatized below.
¬ on(a,a)         on(a,b)     ¬   on(a,c) ¬   on(b,a)     ¬   on(b,b)         on(b,c)
¬ on(c,a)     ¬   on(c,b)     ¬   on(c,c)
Let's suppose that the relation "above" is defined as follows.
∀x.∀z.(above(x,z) ⇔ on(x,z) ∨ ∃y.(above(x,y) ∧ above(y,z)))
A sentence φ is consistent with a set Δ of sentences if and only if
there is a truth assignment that satisfies all of the sentences in Δ ∪
{φ}. Say whether each of the following sentences is consistent with
the sentences about on and above shown above. Be careful. It's tricky.
above(a,a)
above(c,a)

I tried the following with the first statement:
Since on(a,a) is false, then we must see if there is a y such that
above(a,y) ∧ above(y,a) is true. in the case that y is b.
then both above(a,b) and above(b,a) must be true.
We examine above(b,a) since above(a,b) is known to be true,
and since on(b,a) is false then both above(b,c) and above(c,a) have to be true.
We examine above(c,a) since above(b,c) is known to be true,
and since on(c,a) is false then both above(c,b) and above(b,a) have to be true.
So we need to examine above(b,a)... and we end up where we started.
I also tried with y is c and the problem persists.
Please tell me what I am doing wrong and how I can prove the consistency of the statements above.
 A: Defining $\text{above}(a,b)$ as always being true is consistent with all the assumptions stated in the problem.  It is an infinite recursion.  Or you could check all $2^{3 \times 3}$ possible values of "above" like https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=7a4c24a44da8ab67be5413ff353278ab
There are 148 of the possible 512 definitions of above that are consistent with the propositions in the problem.

Start with the axiom:
$$\text{above}(x,y) = \text{true}$$
It should apparent that this (ignoring everything else in the problem) is consistent.  Then check that it is consistent with the definition of "above".
$$\forall x,z.\text{above}(x,z) \iff (\text{on}(x,z) \lor \exists y.(\text{above}(x,y) \land \text{above}(y,z)))$$
$$\forall x,z.\text{true} \iff (\text{on}(x,z) \lor \exists y.(\text{true} \land \text{true}))$$
$$\forall x,z.\text{true} \iff (\text{on}(x,z) \lor \text{true})$$
$$\forall x,z.\text{true} \iff \text{true}$$
$$\text{true}$$
Note that this is the case no matter how "on" is defined.  So the next thing is to check that the definition of "on" is consistent, which is clearly is because it is just assigning a value to 9 different variables.
Then it is also easy to see that $\text{above}(a,a) = \text{true}$ and $\text{above}(c,a) = \text{true}$ so no contradiction derived from that either.
