{
  "format": "automata-studio/workspace",
  "schema": 1,
  "app": "dev",
  "machine": "DFA",
  "config": {
    "sym": {
      "eps": "ε",
      "any": "Σ",
      "blank": "⊔",
      "leftMarker": "⊢",
      "rightMarker": "⊣",
      "stackBottom": "Z",
      "lambda": "λ"
    }
  },
  "sigma": [
    "0",
    "1"
  ],
  "stackAlpha": [],
  "outputAlpha": [],
  "tapeCount": 1,
  "states": [
    {
      "id": "s1",
      "name": "r0",
      "x": 150,
      "y": 200
    },
    {
      "id": "s2",
      "name": "r1",
      "x": 350,
      "y": 200
    },
    {
      "id": "s3",
      "name": "r2",
      "x": 550,
      "y": 200
    }
  ],
  "transitions": [
    {
      "id": "t1",
      "from": "s1",
      "to": "s1",
      "symbol": "0"
    },
    {
      "id": "t2",
      "from": "s1",
      "to": "s2",
      "symbol": "1"
    },
    {
      "id": "t3",
      "from": "s2",
      "to": "s1",
      "symbol": "1"
    },
    {
      "id": "t4",
      "from": "s2",
      "to": "s3",
      "symbol": "0"
    },
    {
      "id": "t5",
      "from": "s3",
      "to": "s2",
      "symbol": "0"
    },
    {
      "id": "t6",
      "from": "s3",
      "to": "s3",
      "symbol": "1"
    }
  ],
  "startId": "s1",
  "accepts": [
    "s1"
  ],
  "notes": [],
  "dividers": [],
  "blocks": [],
  "meta": {
    "title": "Binary divisibility by 3",
    "blurb": "Three states, one per remainder mod 3. Reading bit b takes remainder r to (2r + b) mod 3.",
    "inputs": [
      {
        "w": "",
        "expect": "accept",
        "label": "0"
      },
      {
        "w": "11",
        "expect": "accept",
        "label": "3"
      },
      {
        "w": "110",
        "expect": "accept",
        "label": "6"
      },
      {
        "w": "1001",
        "expect": "accept",
        "label": "9"
      },
      {
        "w": "10",
        "expect": "reject",
        "label": "2"
      },
      {
        "w": "111",
        "expect": "reject",
        "label": "7"
      }
    ],
    "library": {
      "author": {
        "login": "thethinkmachine"
      },
      "license": "CC-BY-4.0",
      "tags": [
        "divisibility",
        "remainder"
      ],
      "difficulty": "intro"
    }
  }
}
