** Boolean Matrix Representation of Graph**

A relation * R * or graph on a finite set can be expressed as a boolean
matrix * M * where:

M[i, j] = 1iff(i, j) ∈ R.

Multiplication of boolean matrices is done in the same way as ordinary
matrix multiplication, but using * ∧ * for * · * and
* ∨ * for * + * .

Property: | Matrix: |

Identity, R ^{0} | I (identity matrix) _{n} |

Inverse, R or ^{-1} Γ ^{-1} | M ^{T} |

Reflexive | I ⊆ M |

Symmetric | M = M ^{T} |

Transitive | M ^{2} ⊆ M |

Antisymmetric | M ∩ M ^{T} ⊆ I_{n} |

Paths of length n | M ^{n} |

Transitive closure Γ ^{+} | ∪ _{i=1}^{n} M^{i} |

Reflexive transitive closure Γ ^{*} | ∪ _{i=0}^{n} M^{i} |

Example: Let the set * S * be basic blocks of a program and * Γ *
be transfers of control between blocks.