{ "cells": [ { "cell_type": "markdown", "id": "1f7ff43e", "metadata": {}, "source": [ "# Parallel composition\n", "Using the Bird API, you can define your own parallel composition logic. This works similar to PRISM models. We give an example here. We create two MDP models `m1` and `m2`, and then we create the quotient model `q`. They synchronize on the action `r`." ] }, { "cell_type": "markdown", "id": "8c7d76f2", "metadata": {}, "source": [ "## m1\n", "`m1` is a simple 2x2 grid model where taking `l` `r` `u` and `d` move to the next tile." ] }, { "cell_type": "code", "execution_count": 1, "id": "13d6187e", "metadata": { "execution": { "iopub.execute_input": "2026-03-26T10:42:14.882037Z", "iopub.status.busy": "2026-03-26T10:42:14.881862Z", "iopub.status.idle": "2026-03-26T10:42:15.337773Z", "shell.execute_reply": "2026-03-26T10:42:15.337177Z" }, "lines_to_next_cell": 2 }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "
\n", "