Count all binary relations A binary relation on a set \$X\$ is simply a subset \$S \subseteq X \times X\$; in other words, a relation is a collection of pairs \$(x,y)\$ such that both \$x\$ and \$y\$ are in \$X\$. The number of different relations grows quickly with the size of the set: if \$X\$ contains \$n\$ elements, there are \$2^{n^2}\$ binary relations on \$X\$.
This challenge will have you computing the number of binary relations subject to certain constraints, listed here:

A binary relation is called &quot;reflexive&quot; if \$(x,x) \in S\$ for all \$x \in X\$.

A binary relation is called &quot;irreflexive&quot; if \$(x,x) \not\in S\$ for all \$x \in X\$.

A binary relation is called &quot;symmetric&quot; if whenever \$(x,y) \in S\$, then \$(y,x) \in S\$.

A binary relation is called &quot;asymmetric&quot; if whenever \$(x,y) \in S\$, then \$(y,x) \not\in S\$.

A binary relation is called &quot;transitive&quot; if whenever \$(x,y) \in S\$ and \$(y,z) \in S\$ then \$(x,z) \in S\$.

A binary relation is called &quot;antitransitive&quot; if whenever \$(x,y) \in S\$ and \$(y,z) \in S\$ then \$(x,z) \not\in S\$.


Challenge
The goal of this code-golf challenge is to write a function that takes in a nonnegative integer \$n\$, and some subset of the six conditions above in any reasonable format*, and returns the number of binary relations on the set \$\{1,2,\dots,n\}\$ satisfying all of the conditions in the aforementioned subset.
Brute-force strategies are okay, but your code should be able to handle all \$n \leq 4\$ on TIO.
Test Data
n | conditions                         | number of binary relations
--+------------------------------------+-------------------------
0 | {reflexive, antitransitive}        | 1
3 | {reflexive, antitransitive}        | 0
3 | {}                                 | 512
3 | {antitransitive}                   | 39 
4 | {antitransitive}                   | 921
4 | {reflexive, irreflexive}           | 0
4 | {symmetric, asymmetric}            | 1
4 | {transitive, antitransitive}       | 87
4 | {reflexive, symmetric, transitive} | 15
4 | {symmetric, transitive}            | 52
4 | {asymmetric, antitransitive}       | 317

Example
For \$n = 3\$, there are \$39\$ antitransitive relations, as shown by the illustration below. (Strictly speaking, the illustration shows unlabeled relations.)

There is \$1\$ empty relation.
There are \$6\$ relations consisting of just one pair.
There are \$3 + 3 + 6 + 3\$ relations consisting of two pairs.
There are \$6 + 6 + 2\$ relations consisting of three pairs.
There are \$3\$ relations consisting of four pairs.



* For example, you could take the conditions as a list like [False, False, True, False, False, True], with each position referring to the particular condition. As another example, you could take a set of strings like {&quot;transitive&quot;, &quot;asymmetric&quot;}.
APL (Dyalog Extended), 99 93 bytes

r←0∊0 0⍉⊢
R←r~
s←⊢≢⍉
S←1∊⊢∧⍉
t←0∊⊢≥∨.∧⍨
T←1∊⊢∧∨.∧⍨
{×⍵:+/∧⌿~(⍺,'0'){(⍎⍺)⊣⍵}\⍵-⍛↑∘⊤¨,⍳⍵⍴2*⍵⋄1}

Try it online!
-5 bytes thanks to @ovs for spotting R←r~, and -1 by taking the boolean negation of the intermediate results.
Takes the condition as a string, using the abbreviation as follows:
r: reflexive
R: irreflexive
s: symmetric
S: asymmetric
t: transitive
T: antitransitive

For example, reflexive + symmetric + transitive is given as 'rst' and &quot;no condition&quot; is given as ''.
How it works (before golfing)
⍝ Each of rRsStT takes an adjacency matrix and determines if the condition is met

⍝ reflexive: the diagonal is all ones
r←∧/0 0⍉⊢
⍝ irreflexive: the diagonal is all zeros
R←∧/0 0⍉~
⍝ symmetric: transpose is equal to self
s←⊢≡⍉
⍝ antisymmetric: each position in self and transpose cannot be both ones
S←~1∊⊢∧⍉
⍝ transitive: self includes the transitive square of self
t←~0∊⊢≥∨.∧⍨
⍝ antitransitive: each position in self and transitive square cannot be both ones
T←~1∊⊢∧∨.∧⍨

⍝ main function
{×⍵:+/∧⌿(⍺,'≡'){(⍎⍺)⍵}\⍵-⍛↑∘⊤¨,⍳⍵⍴2*⍵⋄1}  ⍝ ⍵: n, ⍺: conditions
{×⍵: ... ⋄1}  ⍝ Take 0 as a special case, always returning 1
,⍳⍵⍴2*⍵       ⍝ Generate all length-n vectors of 0..2^n-1
⍵-⍛↑∘⊤¨       ⍝ Convert them to n×n binary matrices
(⍺,'≡')       ⍝ Add a default function that always returns 1 to the list of conditions
{...}\        ⍝ Take outer product of conditions and matrices...
 (⍎⍺)⍵        ⍝ Eval the condition function and apply it to the matrix
+/∧⌿          ⍝ Count the matrices which satisfy all the conditions