From 7d9500a39185a57208c764b837c90bae3e210b2d Mon Sep 17 00:00:00 2001 From: bugarela Date: Mon, 25 Mar 2024 13:00:36 -0300 Subject: [PATCH 1/6] Ensure that Quint's quantified variables are freshly generated for each opdef --- .../at/forsyte/apalache/io/quint/Quint.scala | 9 ++++++++- .../at/forsyte/apalache/io/quint/QuintIR.scala | 7 +++---- .../apalache/io/quint/QuintTypeConverter.scala | 7 +++++++ .../forsyte/apalache/io/quint/TestQuintEx.scala | 16 ++++++++++++---- 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/tla-io/src/main/scala/at/forsyte/apalache/io/quint/Quint.scala b/tla-io/src/main/scala/at/forsyte/apalache/io/quint/Quint.scala index 8b7f202624..a8ebd43fae 100644 --- a/tla-io/src/main/scala/at/forsyte/apalache/io/quint/Quint.scala +++ b/tla-io/src/main/scala/at/forsyte/apalache/io/quint/Quint.scala @@ -671,7 +671,7 @@ class Quint(quintOutput: QuintOutput) { } private val opDefConverter: QuintDef.QuintOpDef => NullaryOpReader[(TBuilderOperDeclInstruction, Option[String])] = { - case QuintDef.QuintOpDef(_, name, _, expr) => + case QuintDef.QuintOpDef(id, name, _, expr) => (expr match { // Parameterized operators are defined in Quint using Lambdas case lam: QuintLambda => @@ -680,6 +680,13 @@ class Quint(quintOutput: QuintOutput) { case other => tlaExpression(other).map(b => (b, List())) }).map { case (body, params) => { + // Quint quantifies types at the opdef level, so here is where we need + // to account for quantified variables. The only thing we need to do + // is to clear those names from the var number generator memory, so if + // they ever appear again, we get fresh TlaType1 var numbers (and not + // the same ones). + typeConv.clearNames(types(id)) + val nullaryName = if (params.isEmpty) Some(name) else None (tla.decl(name, body, params: _*), nullaryName) } diff --git a/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintIR.scala b/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintIR.scala index 870f3ac23c..1e27e462c4 100644 --- a/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintIR.scala +++ b/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintIR.scala @@ -129,10 +129,9 @@ private[quint] object QuintModule { /** The representation of types in the type map */ private[quint] case class QuintTypeScheme( - @key("type") typ: QuintType - // TODO Will we need these for anything? - // typeVariables: List[String], - // rowVariables: List[String] + @key("type") typ: QuintType, + typeVariables: List[String], + rowVariables: List[String] ) private[quint] object QuintTypeScheme { implicit val rw: RW[QuintTypeScheme] = macroRW diff --git a/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintTypeConverter.scala b/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintTypeConverter.scala index 0c2c5d059a..c1b93f5fa7 100644 --- a/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintTypeConverter.scala +++ b/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintTypeConverter.scala @@ -35,6 +35,13 @@ private class QuintTypeConverter extends LazyLogging { } } + // Clear the variable names from the state so when the same quantified Quint + // variable is used again, we generate a fresh TlaType1 var number for it. + def clearNames(typ: QuintTypeScheme): Unit = { + typ.typeVariables.foreach(vars.remove) + typ.rowVariables.foreach(vars.remove) + } + import QuintType._ private def rowToTupleT1(row: Row): TlaType1 = { diff --git a/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala b/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala index 44874fb55c..aea1fe462a 100644 --- a/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala +++ b/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala @@ -52,6 +52,14 @@ class TestQuintEx extends AnyFunSuite { exp } + // Register the type of a defintion in the typeMap. + // Think of this as a type annotation. + def d[D <: QuintDef](definition: D, typ: QuintType): D = { + typeMap += (definition.id -> typ) + definition + } + + // Operator application // // The optional `refId` is the id of the declaration defining @@ -133,7 +141,7 @@ class TestQuintEx extends AnyFunSuite { val namedInt2ToBoolOp = e(QuintName(uid, "int2ToBoolOp"), QuintOperT(Seq(QuintIntT(), QuintIntT()), QuintBoolT())) // Definitions and compound data types - val fooDef = QuintDef.QuintOpDef(uid, "foo", "val", tt) + val fooDef = d(QuintDef.QuintOpDef(uid, "foo", "val", tt), QuintBoolT()) val letFooBeTrueIn42 = e(QuintLet(uid, fooDef, _42), QuintIntT()) val lambda = e(QuintLambda(uid, List(xParam), "def", s), QuintOperT(List(QuintIntT()), QuintStrT())) // Applications can only be by name (lambdas are not first class) @@ -141,7 +149,7 @@ class TestQuintEx extends AnyFunSuite { val appBar = app("bar", _42)(QuintStrT(), barDef.id) val letBarBeLambdaInAppBar = e(QuintLet(uid, barDef, appBar), QuintStrT()) val nIsGreaterThan0 = app("igt", name, _0)(QuintBoolT()) - val nDefindedAs42 = QuintDef.QuintOpDef(uid, "n", "val", _42) + val nDefindedAs42 = d(QuintDef.QuintOpDef(uid, "n", "val", _42), QuintIntT()) val letNbe42inNisGreaterThan0 = e(QuintLet(uid, nDefindedAs42, nIsGreaterThan0), QuintBoolT()) // A predicate on ints val intIsGreaterThanZero = @@ -165,7 +173,7 @@ class TestQuintEx extends AnyFunSuite { val chooseSomeFromIntSet = app("chooseSome", intSet)(QuintIntT()) val oneOfSet = app("oneOf", intSet)(QuintIntT()) val nondetBinding = - e(QuintLet(uid, QuintDef.QuintOpDef(uid, "n", "nondet", oneOfSet), nIsGreaterThan0), QuintIntT()) + e(QuintLet(uid, d(QuintDef.QuintOpDef(uid, "n", "nondet", oneOfSet), QuintIntT()), nIsGreaterThan0), QuintIntT()) // Requires ID registered with type val selectGreaterThanZero = app("select", intList, intIsGreaterThanZero)(QuintSeqT(QuintIntT())) val addOne = app("iadd", name, _1)(QuintIntT()) @@ -180,7 +188,7 @@ class TestQuintEx extends AnyFunSuite { modules = List(QuintModule(0, "MockedModule", List())), types = typeMap.map { case (id, typ) => // Wrap each type in the TypeScheme required by the Quint IR - id -> QuintTypeScheme(typ) + id -> QuintTypeScheme(typ, List(), List()) }.toMap, table = lookupMap.toMap, ) From 125871539284666476a05a421d57d29c0bb4ebce Mon Sep 17 00:00:00 2001 From: bugarela Date: Mon, 25 Mar 2024 13:01:35 -0300 Subject: [PATCH 2/6] Update Makefile and generated quint fixtures --- Makefile | 8 ++++---- test/tla/booleans.qnt.json | 2 +- tla-io/src/test/resources/clockSync3.json | 2 +- tla-io/src/test/resources/tictactoe.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index a8715b69c9..0058403306 100644 --- a/Makefile +++ b/Makefile @@ -44,20 +44,20 @@ quint-fixtures: tla-io/src/test/resources/tictactoe.json tla-io/src/test/resourc TEMP_QNT_TTT_FILE := $(shell mktemp) tla-io/src/test/resources/tictactoe.json: - curl https://raw.githubusercontent.com/informalsystems/quint/main/examples/puzzles/tictactoe/tictactoe.qnt > $(TEMP_QNT_TTT_FILE) - quint typecheck --out $@ $(TEMP_QNT_TTT_FILE) + curl https://raw.githubusercontent.com/informalsystems/quint/main/examples/games/tictactoe/tictactoe.qnt > $(TEMP_QNT_TTT_FILE) + quint compile $(TEMP_QNT_TTT_FILE) --main=tictactoe > $@ rm $(TEMP_QNT_TTT_FILE) TEMP_QNT_CS_FILE := $(shell mktemp) tla-io/src/test/resources/clockSync3.json: curl https://raw.githubusercontent.com/informalsystems/quint/main/examples/classic/distributed/ClockSync/clockSync3.qnt > $(TEMP_QNT_CS_FILE) - quint typecheck --out $@ $(TEMP_QNT_CS_FILE) + quint compile $(TEMP_QNT_CS_FILE) --main=clockSync3 > $@ rm $(TEMP_QNT_CS_FILE) TEMP_QNT_BOOL_FILE := $(shell mktemp) test/tla/booleans.qnt.json: curl https://raw.githubusercontent.com/informalsystems/quint/main/examples/language-features/booleans.qnt > $(TEMP_QNT_BOOL_FILE) - quint typecheck --out $@ $(TEMP_QNT_BOOL_FILE) + quint compile $(TEMP_QNT_BOOL_FILE) --main=booleans > $@ rm $(TEMP_QNT_BOOL_FILE) # Build the docker image diff --git a/test/tla/booleans.qnt.json b/test/tla/booleans.qnt.json index c97495f703..067ace7f5e 100644 --- a/test/tla/booleans.qnt.json +++ b/test/tla/booleans.qnt.json @@ -1 +1 @@ -{"stage":"typechecking","warnings":[],"modules":[{"id":33,"name":"booleans","declarations":[{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},{"id":32,"kind":"def","name":"step","qualifier":"action","expr":{"id":31,"kind":"app","opcode":"actionAll","args":[{"id":9,"kind":"app","opcode":"or","args":[{"id":7,"kind":"name","name":"b"},{"id":8,"kind":"bool","value":true}]},{"id":13,"kind":"app","opcode":"not","args":[{"id":12,"kind":"app","opcode":"and","args":[{"id":10,"kind":"name","name":"b"},{"id":11,"kind":"bool","value":false}]}]},{"id":16,"kind":"app","opcode":"implies","args":[{"id":14,"kind":"name","name":"b"},{"id":15,"kind":"name","name":"b"}]},{"id":19,"kind":"app","opcode":"iff","args":[{"id":17,"kind":"name","name":"b"},{"id":18,"kind":"name","name":"b"}]},{"id":22,"kind":"app","opcode":"eq","args":[{"id":20,"kind":"name","name":"b"},{"id":21,"kind":"name","name":"b"}]},{"id":26,"kind":"app","opcode":"neq","args":[{"id":23,"kind":"name","name":"b"},{"id":25,"kind":"app","opcode":"not","args":[{"id":24,"kind":"name","name":"b"}]}]},{"id":30,"kind":"app","opcode":"assign","args":[{"id":29,"kind":"name","name":"b"},{"id":28,"kind":"app","opcode":"not","args":[{"id":27,"kind":"name","name":"b"}]}]}]}},{"id":6,"kind":"def","name":"init","qualifier":"action","expr":{"id":5,"kind":"app","opcode":"assign","args":[{"id":4,"kind":"name","name":"b"},{"id":3,"kind":"bool","value":true}]}}]}],"table":{"4":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"7":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"10":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"14":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"15":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"17":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"18":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"20":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"21":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"23":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"24":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"27":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2},"29":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2}},"types":{"2":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"3":{"typeVariables":{},"rowVariables":{},"type":{"kind":"bool"}},"4":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"5":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"6":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"7":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"8":{"typeVariables":{},"rowVariables":{},"type":{"kind":"bool"}},"9":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"10":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"11":{"typeVariables":{},"rowVariables":{},"type":{"kind":"bool"}},"12":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"13":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"14":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"15":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"16":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"17":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"18":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"19":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"20":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"21":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"22":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"23":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"24":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"25":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"26":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"27":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"28":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"29":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"bool"}},"30":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"31":{"typeVariables":{},"rowVariables":{},"type":{"id":8,"kind":"bool"}},"32":{"typeVariables":{},"rowVariables":{},"type":{"id":8,"kind":"bool"}}},"effects":{"2":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"3":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"4":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"5":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"6":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"7":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"8":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"9":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"10":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"11":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"12":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"13":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"14":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"15":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"16":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"17":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"18":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"19":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"20":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"21":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"22":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"23":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"24":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"25":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"26":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"27":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"28":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"29":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"30":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"31":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"32":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":{},"entityVariables":{}}}} \ No newline at end of file +{"stage":"compiling","warnings":[],"modules":[{"id":33,"name":"booleans","declarations":[{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},{"id":32,"kind":"def","name":"step","qualifier":"action","expr":{"id":31,"kind":"app","opcode":"actionAll","args":[{"id":9,"kind":"app","opcode":"or","args":[{"id":7,"kind":"name","name":"b"},{"id":8,"kind":"bool","value":true}]},{"id":13,"kind":"app","opcode":"not","args":[{"id":12,"kind":"app","opcode":"and","args":[{"id":10,"kind":"name","name":"b"},{"id":11,"kind":"bool","value":false}]}]},{"id":16,"kind":"app","opcode":"implies","args":[{"id":14,"kind":"name","name":"b"},{"id":15,"kind":"name","name":"b"}]},{"id":19,"kind":"app","opcode":"iff","args":[{"id":17,"kind":"name","name":"b"},{"id":18,"kind":"name","name":"b"}]},{"id":22,"kind":"app","opcode":"eq","args":[{"id":20,"kind":"name","name":"b"},{"id":21,"kind":"name","name":"b"}]},{"id":26,"kind":"app","opcode":"neq","args":[{"id":23,"kind":"name","name":"b"},{"id":25,"kind":"app","opcode":"not","args":[{"id":24,"kind":"name","name":"b"}]}]},{"id":30,"kind":"app","opcode":"assign","args":[{"id":29,"kind":"name","name":"b"},{"id":28,"kind":"app","opcode":"not","args":[{"id":27,"kind":"name","name":"b"}]}]}]}},{"id":6,"kind":"def","name":"init","qualifier":"action","expr":{"id":5,"kind":"app","opcode":"assign","args":[{"id":4,"kind":"name","name":"b"},{"id":3,"kind":"bool","value":true}]}}]}],"table":{"4":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"7":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"10":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"14":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"15":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"17":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"18":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"20":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"21":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"23":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"24":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"27":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0},"29":{"kind":"var","name":"b","typeAnnotation":{"id":1,"kind":"bool"},"id":2,"depth":0}},"types":{"2":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"3":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"4":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"5":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"6":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"7":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"8":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"9":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"10":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"11":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"12":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"13":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"14":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"15":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"16":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"17":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"18":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"19":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"20":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"21":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"22":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"23":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"24":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"25":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"26":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"27":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"28":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"29":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"bool"}},"30":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"31":{"typeVariables":[],"rowVariables":[],"type":{"id":8,"kind":"bool"}},"32":{"typeVariables":[],"rowVariables":[],"type":{"id":8,"kind":"bool"}}},"effects":{"2":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"3":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"4":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"5":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"6":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]}},"7":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"8":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"9":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"10":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"11":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"12":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"13":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"14":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"15":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"16":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"17":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"18":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"19":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"20":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"21":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"22":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"23":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"24":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"25":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"26":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"27":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"28":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"29":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"30":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"31":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"32":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"b","reference":2}]}}]}}},"errors":[]} \ No newline at end of file diff --git a/tla-io/src/test/resources/clockSync3.json b/tla-io/src/test/resources/clockSync3.json index c9c33b63ba..8fd8c81588 100644 --- a/tla-io/src/test/resources/clockSync3.json +++ b/tla-io/src/test/resources/clockSync3.json @@ -1 +1 @@ -{"stage":"typechecking","warnings":[],"modules":[{"id":267,"name":"clockSync3","declarations":[{"doc":" CONSTANTS\nminimum message delay","id":16,"kind":"def","name":"t_min","qualifier":"pureval","expr":{"id":15,"kind":"int","value":0},"typeAnnotation":{"id":14,"kind":"int"}},{"doc":"maximum message delay","id":19,"kind":"def","name":"t_max","qualifier":"pureval","expr":{"id":18,"kind":"int","value":5},"typeAnnotation":{"id":17,"kind":"int"}},{"doc":" TYPES AND CONSTRUCTORS\nThe type of processes","id":30,"kind":"typedef","name":"PROC","type":{"id":29,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":28,"kind":"int"}}],"other":{"kind":"empty"}}}},{"doc":"Control states","id":40,"kind":"typedef","name":"STATE","type":{"id":39,"kind":"str"}},{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":56,"kind":"int"},"id":57},{"doc":" HELPERS\n`S.add(e)` is `S.union(Set(e))`, i.e., the set derived by adding `e` to `S`","id":13,"kind":"def","name":"add","qualifier":"def","expr":{"id":13,"kind":"lambda","params":[{"id":1,"name":"s"},{"id":2,"name":"e"}],"qualifier":"def","expr":{"id":12,"kind":"app","opcode":"union","args":[{"id":9,"kind":"name","name":"s"},{"id":11,"kind":"app","opcode":"Set","args":[{"id":10,"kind":"name","name":"e"}]}]}},"typeAnnotation":{"id":8,"kind":"oper","args":[{"id":4,"kind":"set","elem":{"id":3,"kind":"var","name":"a"}},{"id":5,"kind":"var","name":"a"}],"res":{"id":7,"kind":"set","elem":{"id":6,"kind":"var","name":"a"}}}},{"id":27,"kind":"assume","name":"_","assumption":{"id":26,"kind":"app","opcode":"and","args":[{"id":22,"kind":"app","opcode":"igte","args":[{"id":20,"kind":"name","name":"t_min"},{"id":21,"kind":"int","value":0}]},{"id":25,"kind":"app","opcode":"igt","args":[{"id":23,"kind":"name","name":"t_max"},{"id":24,"kind":"name","name":"t_min"}]}]}},{"doc":"`Proc(id)` is a process with the given `id`","id":38,"kind":"def","name":"Proc","qualifier":"def","expr":{"id":38,"kind":"lambda","params":[{"id":31,"name":"id"}],"qualifier":"def","expr":{"id":37,"kind":"app","opcode":"Rec","args":[{"id":36,"kind":"str","value":"id"},{"id":35,"kind":"name","name":"id"}]}},"typeAnnotation":{"id":34,"kind":"oper","args":[{"id":32,"kind":"int"}],"res":{"id":33,"kind":"const","name":"PROC"}}},{"doc":"A message sent by a process","id":44,"kind":"typedef","name":"MSG","type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":41,"kind":"const","name":"PROC"}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},{"doc":"`p.msgFrom(ts)` is a message sent from `p` at time `ts`","id":52,"kind":"def","name":"msgFrom","qualifier":"def","expr":{"id":52,"kind":"lambda","params":[{"id":45,"name":"p"},{"id":46,"name":"ts"}],"qualifier":"def","expr":{"id":51,"kind":"app","opcode":"Rec","args":[{"id":48,"kind":"str","value":"src"},{"id":47,"kind":"name","name":"p"},{"id":50,"kind":"str","value":"ts"},{"id":49,"kind":"name","name":"ts"}]}}},{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":60,"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"}},"id":61},{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":70,"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"}},"id":71},{"doc":"The set of possible control states","id":86,"kind":"def","name":"states","qualifier":"val","expr":{"id":85,"kind":"app","opcode":"Set","args":[{"id":82,"kind":"str","value":"init"},{"id":83,"kind":"str","value":"sent"},{"id":84,"kind":"str","value":"sync"}]},"typeAnnotation":{"id":81,"kind":"set","elem":{"id":80,"kind":"const","name":"STATE"}}},{"doc":"The set of messages","id":55,"kind":"typedef","name":"MSGS","type":{"id":54,"kind":"set","elem":{"id":53,"kind":"const","name":"MSG"}}},{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":79,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":78,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Proc","args":[{"id":74,"kind":"int","value":1}]},{"id":77,"kind":"app","opcode":"Proc","args":[{"id":76,"kind":"int","value":2}]}]},"typeAnnotation":{"id":73,"kind":"set","elem":{"id":72,"kind":"const","name":"PROC"}}},{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":62,"kind":"const","name":"MSGS"},"id":63},{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},{"doc":" INITIALIZATION","id":121,"kind":"def","name":"init","qualifier":"action","expr":{"id":120,"kind":"app","opcode":"actionAll","args":[{"id":93,"kind":"let","opdef":{"id":89,"kind":"def","name":"time0","qualifier":"nondet","expr":{"id":88,"kind":"app","opcode":"oneOf","args":[{"id":87,"kind":"name","name":"Nat"}]}},"expr":{"id":92,"kind":"app","opcode":"assign","args":[{"id":91,"kind":"name","name":"time"},{"id":90,"kind":"name","name":"time0"}]}},{"id":102,"kind":"let","opdef":{"id":98,"kind":"def","name":"hc0","qualifier":"nondet","expr":{"id":97,"kind":"app","opcode":"oneOf","args":[{"id":96,"kind":"app","opcode":"setOfMaps","args":[{"id":94,"kind":"name","name":"Procs"},{"id":95,"kind":"name","name":"Nat"}]}]}},"expr":{"id":101,"kind":"app","opcode":"assign","args":[{"id":100,"kind":"name","name":"hc"},{"id":99,"kind":"name","name":"hc0"}]}},{"id":105,"kind":"app","opcode":"assign","args":[{"id":104,"kind":"name","name":"msgs"},{"id":103,"kind":"app","opcode":"Set","args":[]}]},{"id":112,"kind":"app","opcode":"assign","args":[{"id":111,"kind":"name","name":"state"},{"id":110,"kind":"app","opcode":"mapBy","args":[{"id":106,"kind":"name","name":"Procs"},{"id":109,"kind":"lambda","params":[{"id":107,"name":"_"}],"qualifier":"def","expr":{"id":108,"kind":"str","value":"init"}}]}]},{"id":119,"kind":"app","opcode":"assign","args":[{"id":118,"kind":"name","name":"rcvd"},{"id":117,"kind":"app","opcode":"mapBy","args":[{"id":113,"kind":"name","name":"Procs"},{"id":116,"kind":"lambda","params":[{"id":114,"name":"_"}],"qualifier":"def","expr":{"id":115,"kind":"app","opcode":"Set","args":[]}}]}]}]}},{"doc":" ACTIONS\nSend the value of the hardware clock","id":147,"kind":"def","name":"sendMsg","qualifier":"action","expr":{"id":147,"kind":"lambda","params":[{"id":122,"name":"p"}],"qualifier":"action","expr":{"id":146,"kind":"app","opcode":"actionAll","args":[{"id":127,"kind":"app","opcode":"eq","args":[{"id":125,"kind":"app","opcode":"get","args":[{"id":123,"kind":"name","name":"state"},{"id":124,"kind":"name","name":"p"}]},{"id":126,"kind":"str","value":"init"}]},{"id":136,"kind":"app","opcode":"assign","args":[{"id":135,"kind":"name","name":"msgs"},{"id":134,"kind":"app","opcode":"add","args":[{"id":128,"kind":"name","name":"msgs"},{"id":133,"kind":"app","opcode":"msgFrom","args":[{"id":129,"kind":"name","name":"p"},{"id":132,"kind":"app","opcode":"get","args":[{"id":130,"kind":"name","name":"hc"},{"id":131,"kind":"name","name":"p"}]}]}]}]},{"id":142,"kind":"app","opcode":"assign","args":[{"id":141,"kind":"name","name":"state"},{"id":140,"kind":"app","opcode":"set","args":[{"id":137,"kind":"name","name":"state"},{"id":138,"kind":"name","name":"p"},{"id":139,"kind":"str","value":"sent"}]}]},{"id":145,"kind":"app","opcode":"assign","args":[{"id":144,"kind":"name","name":"rcvd"},{"id":143,"kind":"name","name":"rcvd"}]}]}}},{"doc":"Receive a message sent by another process","id":187,"kind":"def","name":"receiveMsg","qualifier":"action","expr":{"id":187,"kind":"lambda","params":[{"id":148,"name":"p"}],"qualifier":"action","expr":{"id":186,"kind":"let","opdef":{"id":151,"kind":"def","name":"newMsg","qualifier":"nondet","expr":{"id":150,"kind":"app","opcode":"oneOf","args":[{"id":149,"kind":"name","name":"msgs"}]}},"expr":{"id":185,"kind":"app","opcode":"actionAll","args":[{"id":157,"kind":"app","opcode":"not","args":[{"id":156,"kind":"app","opcode":"in","args":[{"id":152,"kind":"name","name":"newMsg"},{"id":155,"kind":"app","opcode":"get","args":[{"id":153,"kind":"name","name":"rcvd"},{"id":154,"kind":"name","name":"p"}]}]}]},{"id":168,"kind":"app","opcode":"igte","args":[{"id":162,"kind":"app","opcode":"get","args":[{"id":158,"kind":"name","name":"hc"},{"id":161,"kind":"app","opcode":"field","args":[{"id":159,"kind":"name","name":"newMsg"},{"id":160,"kind":"str","value":"src"}]}]},{"id":167,"kind":"app","opcode":"iadd","args":[{"id":165,"kind":"app","opcode":"field","args":[{"id":163,"kind":"name","name":"newMsg"},{"id":164,"kind":"str","value":"ts"}]},{"id":166,"kind":"name","name":"t_min"}]}]},{"id":178,"kind":"app","opcode":"assign","args":[{"id":177,"kind":"name","name":"rcvd"},{"id":176,"kind":"app","opcode":"set","args":[{"id":169,"kind":"name","name":"rcvd"},{"id":170,"kind":"name","name":"p"},{"id":175,"kind":"app","opcode":"add","args":[{"id":173,"kind":"app","opcode":"get","args":[{"id":171,"kind":"name","name":"rcvd"},{"id":172,"kind":"name","name":"p"}]},{"id":174,"kind":"name","name":"newMsg"}]}]}]},{"id":181,"kind":"app","opcode":"assign","args":[{"id":180,"kind":"name","name":"state"},{"id":179,"kind":"name","name":"state"}]},{"id":184,"kind":"app","opcode":"assign","args":[{"id":183,"kind":"name","name":"msgs"},{"id":182,"kind":"name","name":"msgs"}]}]}}}},{"doc":"let time flow","id":232,"kind":"def","name":"advanceClocks","qualifier":"action","expr":{"id":232,"kind":"lambda","params":[{"id":188,"name":"delta"}],"qualifier":"action","expr":{"id":231,"kind":"app","opcode":"actionAll","args":[{"id":191,"kind":"app","opcode":"igt","args":[{"id":189,"kind":"name","name":"delta"},{"id":190,"kind":"int","value":0}]},{"id":214,"kind":"app","opcode":"forall","args":[{"id":192,"kind":"name","name":"msgs"},{"id":213,"kind":"lambda","params":[{"id":193,"name":"m"}],"qualifier":"def","expr":{"id":212,"kind":"app","opcode":"implies","args":[{"id":202,"kind":"app","opcode":"igt","args":[{"id":200,"kind":"app","opcode":"iadd","args":[{"id":198,"kind":"app","opcode":"get","args":[{"id":194,"kind":"name","name":"hc"},{"id":197,"kind":"app","opcode":"field","args":[{"id":195,"kind":"name","name":"m"},{"id":196,"kind":"str","value":"src"}]}]},{"id":199,"kind":"name","name":"delta"}]},{"id":201,"kind":"name","name":"t_max"}]},{"id":211,"kind":"app","opcode":"forall","args":[{"id":203,"kind":"name","name":"Procs"},{"id":210,"kind":"lambda","params":[{"id":204,"name":"p"}],"qualifier":"def","expr":{"id":209,"kind":"app","opcode":"in","args":[{"id":205,"kind":"name","name":"m"},{"id":208,"kind":"app","opcode":"get","args":[{"id":206,"kind":"name","name":"rcvd"},{"id":207,"kind":"name","name":"p"}]}]}}]}]}}]},{"id":219,"kind":"app","opcode":"assign","args":[{"id":218,"kind":"name","name":"time"},{"id":217,"kind":"app","opcode":"iadd","args":[{"id":215,"kind":"name","name":"time"},{"id":216,"kind":"name","name":"delta"}]}]},{"id":230,"kind":"app","opcode":"assign","args":[{"id":229,"kind":"name","name":"hc"},{"id":228,"kind":"app","opcode":"mapBy","args":[{"id":220,"kind":"name","name":"Procs"},{"id":227,"kind":"lambda","params":[{"id":221,"name":"p"}],"qualifier":"def","expr":{"id":226,"kind":"app","opcode":"iadd","args":[{"id":224,"kind":"app","opcode":"get","args":[{"id":222,"kind":"name","name":"hc"},{"id":223,"kind":"name","name":"p"}]},{"id":225,"kind":"name","name":"delta"}]}}]}]}]}}},{"doc":" TRANSITIONS","id":266,"kind":"def","name":"step","qualifier":"action","expr":{"id":265,"kind":"app","opcode":"actionAny","args":[{"id":248,"kind":"app","opcode":"actionAll","args":[{"id":235,"kind":"app","opcode":"assign","args":[{"id":234,"kind":"name","name":"msgs"},{"id":233,"kind":"name","name":"msgs"}]},{"id":238,"kind":"app","opcode":"assign","args":[{"id":237,"kind":"name","name":"state"},{"id":236,"kind":"name","name":"state"}]},{"id":241,"kind":"app","opcode":"assign","args":[{"id":240,"kind":"name","name":"rcvd"},{"id":239,"kind":"name","name":"rcvd"}]},{"id":247,"kind":"let","opdef":{"id":244,"kind":"def","name":"delta","qualifier":"nondet","expr":{"id":243,"kind":"app","opcode":"oneOf","args":[{"id":242,"kind":"name","name":"Int"}]}},"expr":{"id":246,"kind":"app","opcode":"advanceClocks","args":[{"id":245,"kind":"name","name":"delta"}]}}]},{"id":264,"kind":"app","opcode":"actionAll","args":[{"id":251,"kind":"app","opcode":"assign","args":[{"id":250,"kind":"name","name":"time"},{"id":249,"kind":"name","name":"time"}]},{"id":254,"kind":"app","opcode":"assign","args":[{"id":253,"kind":"name","name":"hc"},{"id":252,"kind":"name","name":"hc"}]},{"id":263,"kind":"let","opdef":{"id":257,"kind":"def","name":"p","qualifier":"nondet","expr":{"id":256,"kind":"app","opcode":"oneOf","args":[{"id":255,"kind":"name","name":"Procs"}]}},"expr":{"id":262,"kind":"app","opcode":"actionAny","args":[{"id":259,"kind":"app","opcode":"sendMsg","args":[{"id":258,"kind":"name","name":"p"}]},{"id":261,"kind":"app","opcode":"receiveMsg","args":[{"id":260,"kind":"name","name":"p"}]}]}}]}]}}]}],"table":{"9":{"id":1,"name":"s","kind":"param"},"10":{"id":2,"name":"e","kind":"param"},"20":{"doc":" CONSTANTS\nminimum message delay","id":16,"kind":"def","name":"t_min","qualifier":"pureval","expr":{"id":15,"kind":"int","value":0}},"23":{"doc":"maximum message delay","id":19,"kind":"def","name":"t_max","qualifier":"pureval","expr":{"id":18,"kind":"int","value":5}},"24":{"doc":" CONSTANTS\nminimum message delay","id":16,"kind":"def","name":"t_min","qualifier":"pureval","expr":{"id":15,"kind":"int","value":0}},"33":{"doc":" TYPES AND CONSTRUCTORS\nThe type of processes","id":30,"kind":"typedef","name":"PROC","type":{"id":29,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":28,"kind":"int"}}],"other":{"kind":"empty"}}}},"35":{"id":31,"name":"id","kind":"param"},"41":{"doc":" TYPES AND CONSTRUCTORS\nThe type of processes","id":30,"kind":"typedef","name":"PROC","type":{"id":29,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":28,"kind":"int"}}],"other":{"kind":"empty"}}}},"47":{"id":45,"name":"p","kind":"param"},"49":{"id":46,"name":"ts","kind":"param"},"53":{"doc":"A message sent by a process","id":44,"kind":"typedef","name":"MSG","type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":41,"kind":"const","name":"PROC"}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"58":{"doc":" TYPES AND CONSTRUCTORS\nThe type of processes","id":30,"kind":"typedef","name":"PROC","type":{"id":29,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":28,"kind":"int"}}],"other":{"kind":"empty"}}}},"62":{"doc":"The set of messages","id":55,"kind":"typedef","name":"MSGS","type":{"id":54,"kind":"set","elem":{"id":53,"kind":"const","name":"MSG"}}},"64":{"doc":" TYPES AND CONSTRUCTORS\nThe type of processes","id":30,"kind":"typedef","name":"PROC","type":{"id":29,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":28,"kind":"int"}}],"other":{"kind":"empty"}}}},"65":{"doc":"The set of messages","id":55,"kind":"typedef","name":"MSGS","type":{"id":54,"kind":"set","elem":{"id":53,"kind":"const","name":"MSG"}}},"68":{"doc":" TYPES AND CONSTRUCTORS\nThe type of processes","id":30,"kind":"typedef","name":"PROC","type":{"id":29,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":28,"kind":"int"}}],"other":{"kind":"empty"}}}},"69":{"doc":"Control states","id":40,"kind":"typedef","name":"STATE","type":{"id":39,"kind":"str"}},"72":{"doc":" TYPES AND CONSTRUCTORS\nThe type of processes","id":30,"kind":"typedef","name":"PROC","type":{"id":29,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":28,"kind":"int"}}],"other":{"kind":"empty"}}}},"75":{"doc":"`Proc(id)` is a process with the given `id`","id":38,"kind":"def","name":"Proc","qualifier":"def","expr":{"id":38,"kind":"lambda","params":[{"id":31,"name":"id"}],"qualifier":"def","expr":{"id":37,"kind":"app","opcode":"Rec","args":[{"id":36,"kind":"str","value":"id"},{"id":35,"kind":"name","name":"id"}]}}},"77":{"doc":"`Proc(id)` is a process with the given `id`","id":38,"kind":"def","name":"Proc","qualifier":"def","expr":{"id":38,"kind":"lambda","params":[{"id":31,"name":"id"}],"qualifier":"def","expr":{"id":37,"kind":"app","opcode":"Rec","args":[{"id":36,"kind":"str","value":"id"},{"id":35,"kind":"name","name":"id"}]}}},"80":{"doc":"Control states","id":40,"kind":"typedef","name":"STATE","type":{"id":39,"kind":"str"}},"90":{"id":89,"kind":"def","name":"time0","qualifier":"nondet","expr":{"id":88,"kind":"app","opcode":"oneOf","args":[{"id":87,"kind":"name","name":"Nat"}]}},"91":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":56,"kind":"int"},"id":57},"94":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":79,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":78,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Proc","args":[{"id":74,"kind":"int","value":1}]},{"id":77,"kind":"app","opcode":"Proc","args":[{"id":76,"kind":"int","value":2}]}]}},"99":{"id":98,"kind":"def","name":"hc0","qualifier":"nondet","expr":{"id":97,"kind":"app","opcode":"oneOf","args":[{"id":96,"kind":"app","opcode":"setOfMaps","args":[{"id":94,"kind":"name","name":"Procs"},{"id":95,"kind":"name","name":"Nat"}]}]}},"100":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":60,"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"}},"id":61},"104":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":62,"kind":"const","name":"MSGS"},"id":63},"106":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":79,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":78,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Proc","args":[{"id":74,"kind":"int","value":1}]},{"id":77,"kind":"app","opcode":"Proc","args":[{"id":76,"kind":"int","value":2}]}]}},"111":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":70,"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"}},"id":71},"113":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":79,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":78,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Proc","args":[{"id":74,"kind":"int","value":1}]},{"id":77,"kind":"app","opcode":"Proc","args":[{"id":76,"kind":"int","value":2}]}]}},"118":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},"123":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":70,"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"}},"id":71},"124":{"id":122,"name":"p","kind":"param"},"128":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":62,"kind":"const","name":"MSGS"},"id":63},"129":{"id":122,"name":"p","kind":"param"},"130":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":60,"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"}},"id":61},"131":{"id":122,"name":"p","kind":"param"},"133":{"doc":"`p.msgFrom(ts)` is a message sent from `p` at time `ts`","id":52,"kind":"def","name":"msgFrom","qualifier":"def","expr":{"id":52,"kind":"lambda","params":[{"id":45,"name":"p"},{"id":46,"name":"ts"}],"qualifier":"def","expr":{"id":51,"kind":"app","opcode":"Rec","args":[{"id":48,"kind":"str","value":"src"},{"id":47,"kind":"name","name":"p"},{"id":50,"kind":"str","value":"ts"},{"id":49,"kind":"name","name":"ts"}]}}},"134":{"doc":" HELPERS\n`S.add(e)` is `S.union(Set(e))`, i.e., the set derived by adding `e` to `S`","id":13,"kind":"def","name":"add","qualifier":"def","expr":{"id":13,"kind":"lambda","params":[{"id":1,"name":"s"},{"id":2,"name":"e"}],"qualifier":"def","expr":{"id":12,"kind":"app","opcode":"union","args":[{"id":9,"kind":"name","name":"s"},{"id":11,"kind":"app","opcode":"Set","args":[{"id":10,"kind":"name","name":"e"}]}]}}},"135":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":62,"kind":"const","name":"MSGS"},"id":63},"137":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":70,"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"}},"id":71},"138":{"id":122,"name":"p","kind":"param"},"141":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":70,"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"}},"id":71},"143":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},"144":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},"149":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":62,"kind":"const","name":"MSGS"},"id":63},"152":{"id":151,"kind":"def","name":"newMsg","qualifier":"nondet","expr":{"id":150,"kind":"app","opcode":"oneOf","args":[{"id":149,"kind":"name","name":"msgs"}]}},"153":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},"154":{"id":148,"name":"p","kind":"param"},"158":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":60,"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"}},"id":61},"159":{"id":151,"kind":"def","name":"newMsg","qualifier":"nondet","expr":{"id":150,"kind":"app","opcode":"oneOf","args":[{"id":149,"kind":"name","name":"msgs"}]}},"163":{"id":151,"kind":"def","name":"newMsg","qualifier":"nondet","expr":{"id":150,"kind":"app","opcode":"oneOf","args":[{"id":149,"kind":"name","name":"msgs"}]}},"166":{"doc":" CONSTANTS\nminimum message delay","id":16,"kind":"def","name":"t_min","qualifier":"pureval","expr":{"id":15,"kind":"int","value":0}},"169":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},"170":{"id":148,"name":"p","kind":"param"},"171":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},"172":{"id":148,"name":"p","kind":"param"},"174":{"id":151,"kind":"def","name":"newMsg","qualifier":"nondet","expr":{"id":150,"kind":"app","opcode":"oneOf","args":[{"id":149,"kind":"name","name":"msgs"}]}},"175":{"doc":" HELPERS\n`S.add(e)` is `S.union(Set(e))`, i.e., the set derived by adding `e` to `S`","id":13,"kind":"def","name":"add","qualifier":"def","expr":{"id":13,"kind":"lambda","params":[{"id":1,"name":"s"},{"id":2,"name":"e"}],"qualifier":"def","expr":{"id":12,"kind":"app","opcode":"union","args":[{"id":9,"kind":"name","name":"s"},{"id":11,"kind":"app","opcode":"Set","args":[{"id":10,"kind":"name","name":"e"}]}]}}},"177":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},"179":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":70,"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"}},"id":71},"180":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":70,"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"}},"id":71},"182":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":62,"kind":"const","name":"MSGS"},"id":63},"183":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":62,"kind":"const","name":"MSGS"},"id":63},"189":{"id":188,"name":"delta","kind":"param"},"192":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":62,"kind":"const","name":"MSGS"},"id":63},"194":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":60,"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"}},"id":61},"195":{"id":193,"name":"m","kind":"param"},"199":{"id":188,"name":"delta","kind":"param"},"201":{"doc":"maximum message delay","id":19,"kind":"def","name":"t_max","qualifier":"pureval","expr":{"id":18,"kind":"int","value":5}},"203":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":79,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":78,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Proc","args":[{"id":74,"kind":"int","value":1}]},{"id":77,"kind":"app","opcode":"Proc","args":[{"id":76,"kind":"int","value":2}]}]}},"205":{"id":193,"name":"m","kind":"param"},"206":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},"207":{"id":204,"name":"p","kind":"param"},"215":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":56,"kind":"int"},"id":57},"216":{"id":188,"name":"delta","kind":"param"},"218":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":56,"kind":"int"},"id":57},"220":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":79,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":78,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Proc","args":[{"id":74,"kind":"int","value":1}]},{"id":77,"kind":"app","opcode":"Proc","args":[{"id":76,"kind":"int","value":2}]}]}},"222":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":60,"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"}},"id":61},"223":{"id":221,"name":"p","kind":"param"},"225":{"id":188,"name":"delta","kind":"param"},"229":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":60,"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"}},"id":61},"233":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":62,"kind":"const","name":"MSGS"},"id":63},"234":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":62,"kind":"const","name":"MSGS"},"id":63},"236":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":70,"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"}},"id":71},"237":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":70,"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"}},"id":71},"239":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},"240":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":66,"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"}},"id":67},"245":{"id":244,"kind":"def","name":"delta","qualifier":"nondet","expr":{"id":243,"kind":"app","opcode":"oneOf","args":[{"id":242,"kind":"name","name":"Int"}]}},"246":{"doc":"let time flow","id":232,"kind":"def","name":"advanceClocks","qualifier":"action","expr":{"id":232,"kind":"lambda","params":[{"id":188,"name":"delta"}],"qualifier":"action","expr":{"id":231,"kind":"app","opcode":"actionAll","args":[{"id":191,"kind":"app","opcode":"igt","args":[{"id":189,"kind":"name","name":"delta"},{"id":190,"kind":"int","value":0}]},{"id":214,"kind":"app","opcode":"forall","args":[{"id":192,"kind":"name","name":"msgs"},{"id":213,"kind":"lambda","params":[{"id":193,"name":"m"}],"qualifier":"def","expr":{"id":212,"kind":"app","opcode":"implies","args":[{"id":202,"kind":"app","opcode":"igt","args":[{"id":200,"kind":"app","opcode":"iadd","args":[{"id":198,"kind":"app","opcode":"get","args":[{"id":194,"kind":"name","name":"hc"},{"id":197,"kind":"app","opcode":"field","args":[{"id":195,"kind":"name","name":"m"},{"id":196,"kind":"str","value":"src"}]}]},{"id":199,"kind":"name","name":"delta"}]},{"id":201,"kind":"name","name":"t_max"}]},{"id":211,"kind":"app","opcode":"forall","args":[{"id":203,"kind":"name","name":"Procs"},{"id":210,"kind":"lambda","params":[{"id":204,"name":"p"}],"qualifier":"def","expr":{"id":209,"kind":"app","opcode":"in","args":[{"id":205,"kind":"name","name":"m"},{"id":208,"kind":"app","opcode":"get","args":[{"id":206,"kind":"name","name":"rcvd"},{"id":207,"kind":"name","name":"p"}]}]}}]}]}}]},{"id":219,"kind":"app","opcode":"assign","args":[{"id":218,"kind":"name","name":"time"},{"id":217,"kind":"app","opcode":"iadd","args":[{"id":215,"kind":"name","name":"time"},{"id":216,"kind":"name","name":"delta"}]}]},{"id":230,"kind":"app","opcode":"assign","args":[{"id":229,"kind":"name","name":"hc"},{"id":228,"kind":"app","opcode":"mapBy","args":[{"id":220,"kind":"name","name":"Procs"},{"id":227,"kind":"lambda","params":[{"id":221,"name":"p"}],"qualifier":"def","expr":{"id":226,"kind":"app","opcode":"iadd","args":[{"id":224,"kind":"app","opcode":"get","args":[{"id":222,"kind":"name","name":"hc"},{"id":223,"kind":"name","name":"p"}]},{"id":225,"kind":"name","name":"delta"}]}}]}]}]}}},"249":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":56,"kind":"int"},"id":57},"250":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":56,"kind":"int"},"id":57},"252":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":60,"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"}},"id":61},"253":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":60,"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"}},"id":61},"255":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":79,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":78,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Proc","args":[{"id":74,"kind":"int","value":1}]},{"id":77,"kind":"app","opcode":"Proc","args":[{"id":76,"kind":"int","value":2}]}]}},"258":{"id":257,"kind":"def","name":"p","qualifier":"nondet","expr":{"id":256,"kind":"app","opcode":"oneOf","args":[{"id":255,"kind":"name","name":"Procs"}]}},"259":{"doc":" ACTIONS\nSend the value of the hardware clock","id":147,"kind":"def","name":"sendMsg","qualifier":"action","expr":{"id":147,"kind":"lambda","params":[{"id":122,"name":"p"}],"qualifier":"action","expr":{"id":146,"kind":"app","opcode":"actionAll","args":[{"id":127,"kind":"app","opcode":"eq","args":[{"id":125,"kind":"app","opcode":"get","args":[{"id":123,"kind":"name","name":"state"},{"id":124,"kind":"name","name":"p"}]},{"id":126,"kind":"str","value":"init"}]},{"id":136,"kind":"app","opcode":"assign","args":[{"id":135,"kind":"name","name":"msgs"},{"id":134,"kind":"app","opcode":"add","args":[{"id":128,"kind":"name","name":"msgs"},{"id":133,"kind":"app","opcode":"msgFrom","args":[{"id":129,"kind":"name","name":"p"},{"id":132,"kind":"app","opcode":"get","args":[{"id":130,"kind":"name","name":"hc"},{"id":131,"kind":"name","name":"p"}]}]}]}]},{"id":142,"kind":"app","opcode":"assign","args":[{"id":141,"kind":"name","name":"state"},{"id":140,"kind":"app","opcode":"set","args":[{"id":137,"kind":"name","name":"state"},{"id":138,"kind":"name","name":"p"},{"id":139,"kind":"str","value":"sent"}]}]},{"id":145,"kind":"app","opcode":"assign","args":[{"id":144,"kind":"name","name":"rcvd"},{"id":143,"kind":"name","name":"rcvd"}]}]}}},"260":{"id":257,"kind":"def","name":"p","qualifier":"nondet","expr":{"id":256,"kind":"app","opcode":"oneOf","args":[{"id":255,"kind":"name","name":"Procs"}]}},"261":{"doc":"Receive a message sent by another process","id":187,"kind":"def","name":"receiveMsg","qualifier":"action","expr":{"id":187,"kind":"lambda","params":[{"id":148,"name":"p"}],"qualifier":"action","expr":{"id":186,"kind":"let","opdef":{"id":151,"kind":"def","name":"newMsg","qualifier":"nondet","expr":{"id":150,"kind":"app","opcode":"oneOf","args":[{"id":149,"kind":"name","name":"msgs"}]}},"expr":{"id":185,"kind":"app","opcode":"actionAll","args":[{"id":157,"kind":"app","opcode":"not","args":[{"id":156,"kind":"app","opcode":"in","args":[{"id":152,"kind":"name","name":"newMsg"},{"id":155,"kind":"app","opcode":"get","args":[{"id":153,"kind":"name","name":"rcvd"},{"id":154,"kind":"name","name":"p"}]}]}]},{"id":168,"kind":"app","opcode":"igte","args":[{"id":162,"kind":"app","opcode":"get","args":[{"id":158,"kind":"name","name":"hc"},{"id":161,"kind":"app","opcode":"field","args":[{"id":159,"kind":"name","name":"newMsg"},{"id":160,"kind":"str","value":"src"}]}]},{"id":167,"kind":"app","opcode":"iadd","args":[{"id":165,"kind":"app","opcode":"field","args":[{"id":163,"kind":"name","name":"newMsg"},{"id":164,"kind":"str","value":"ts"}]},{"id":166,"kind":"name","name":"t_min"}]}]},{"id":178,"kind":"app","opcode":"assign","args":[{"id":177,"kind":"name","name":"rcvd"},{"id":176,"kind":"app","opcode":"set","args":[{"id":169,"kind":"name","name":"rcvd"},{"id":170,"kind":"name","name":"p"},{"id":175,"kind":"app","opcode":"add","args":[{"id":173,"kind":"app","opcode":"get","args":[{"id":171,"kind":"name","name":"rcvd"},{"id":172,"kind":"name","name":"p"}]},{"id":174,"kind":"name","name":"newMsg"}]}]}]},{"id":181,"kind":"app","opcode":"assign","args":[{"id":180,"kind":"name","name":"state"},{"id":179,"kind":"name","name":"state"}]},{"id":184,"kind":"app","opcode":"assign","args":[{"id":183,"kind":"name","name":"msgs"},{"id":182,"kind":"name","name":"msgs"}]}]}}}}},"types":{"1":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2}},"2":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"var","name":"a"}},"9":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2}},"10":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"var","name":"a"}},"11":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":3}},"12":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":6}},"13":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2},{"id":3,"kind":"var","name":"a"}],"res":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":6}}},"15":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"16":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"18":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"19":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"20":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"21":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"22":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"23":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"24":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"25":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"26":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"27":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"31":{"typeVariables":{},"rowVariables":{},"type":{"id":32,"kind":"int"}},"35":{"typeVariables":{},"rowVariables":{},"type":{"id":32,"kind":"int"}},"36":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"37":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}},"38":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":32,"kind":"int"}],"res":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}}},"45":{"typeVariables":{},"rowVariables":{},"type":{"kind":"var","name":"t_p_45"}},"46":{"typeVariables":{},"rowVariables":{},"type":{"kind":"var","name":"t_ts_46"}},"47":{"typeVariables":{},"rowVariables":{},"type":{"kind":"var","name":"t_p_45"}},"48":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"49":{"typeVariables":{},"rowVariables":{},"type":{"kind":"var","name":"t_ts_46"}},"50":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"51":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"kind":"var","name":"t_p_45"}},{"fieldName":"ts","fieldType":{"kind":"var","name":"t_ts_46"}}],"other":{"kind":"empty"}}}},"52":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"var","name":"t_p_45"},{"kind":"var","name":"t_ts_46"}],"res":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"kind":"var","name":"t_p_45"}},{"fieldName":"ts","fieldType":{"kind":"var","name":"t_ts_46"}}],"other":{"kind":"empty"}}}}},"57":{"typeVariables":{},"rowVariables":{},"type":{"id":56,"kind":"int"}},"61":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"},"id":60}},"63":{"typeVariables":{},"rowVariables":{},"type":{"id":62,"kind":"const","name":"MSGS"}},"67":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"71":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"},"id":70}},"74":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"75":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}},"76":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"77":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}},"78":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"79":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"82":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"83":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"84":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"85":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"str"},"id":5}},"86":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"str"},"id":5}},"87":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":1,"kind":"int"},"id":2}},"88":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"89":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"90":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"91":{"typeVariables":{},"rowVariables":{},"type":{"id":56,"kind":"int"}},"92":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"93":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"94":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"95":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":1,"kind":"int"},"id":2}},"96":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7},"id":8}},"97":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7}},"98":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7}},"99":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7}},"100":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"},"id":60}},"101":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"102":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"103":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":53,"kind":"const","name":"MSG"},"id":2}},"104":{"typeVariables":{},"rowVariables":{},"type":{"id":62,"kind":"const","name":"MSGS"}},"105":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"106":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"107":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}},"108":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"109":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"str"}}},"110":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"kind":"str"},"id":8}},"111":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"},"id":70}},"112":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"113":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"114":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}},"115":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":53,"kind":"const","name":"MSG"},"id":2}},"116":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"set","elem":{"id":53,"kind":"const","name":"MSG"},"id":2}}},"117":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"kind":"set","elem":{"id":53,"kind":"const","name":"MSG"},"id":2},"id":8}},"118":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"119":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"120":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"121":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"122":{"typeVariables":{},"rowVariables":{},"type":{"id":68,"kind":"const","name":"PROC"}},"123":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"},"id":70}},"124":{"typeVariables":{},"rowVariables":{},"type":{"id":68,"kind":"const","name":"PROC"}},"125":{"typeVariables":{},"rowVariables":{},"type":{"id":69,"kind":"const","name":"STATE"}},"126":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"127":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"128":{"typeVariables":{},"rowVariables":{},"type":{"id":62,"kind":"const","name":"MSGS"}},"129":{"typeVariables":{},"rowVariables":{},"type":{"id":68,"kind":"const","name":"PROC"}},"130":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"},"id":60}},"131":{"typeVariables":{},"rowVariables":{},"type":{"id":68,"kind":"const","name":"PROC"}},"132":{"typeVariables":{},"rowVariables":{},"type":{"id":59,"kind":"int"}},"133":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":68,"kind":"const","name":"PROC"}},{"fieldName":"ts","fieldType":{"id":59,"kind":"int"}}],"other":{"kind":"empty"}}}},"134":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":53,"kind":"const","name":"MSG"},"id":6}},"135":{"typeVariables":{},"rowVariables":{},"type":{"id":62,"kind":"const","name":"MSGS"}},"136":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"137":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"},"id":70}},"138":{"typeVariables":{},"rowVariables":{},"type":{"id":68,"kind":"const","name":"PROC"}},"139":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"140":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"},"id":8}},"141":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"},"id":70}},"142":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"143":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"144":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"145":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"146":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"147":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":68,"kind":"const","name":"PROC"}],"res":{"id":5,"kind":"bool"}}},"148":{"typeVariables":{},"rowVariables":{},"type":{"id":64,"kind":"const","name":"PROC"}},"149":{"typeVariables":{},"rowVariables":{},"type":{"id":62,"kind":"const","name":"MSGS"}},"150":{"typeVariables":{},"rowVariables":{},"type":{"id":53,"kind":"const","name":"MSG"}},"151":{"typeVariables":{},"rowVariables":{},"type":{"id":53,"kind":"const","name":"MSG"}},"152":{"typeVariables":{},"rowVariables":{},"type":{"id":53,"kind":"const","name":"MSG"}},"153":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"154":{"typeVariables":{},"rowVariables":{},"type":{"id":64,"kind":"const","name":"PROC"}},"155":{"typeVariables":{},"rowVariables":{},"type":{"id":65,"kind":"const","name":"MSGS"}},"156":{"typeVariables":{},"rowVariables":{},"type":{"id":4,"kind":"bool"}},"157":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"158":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"},"id":60}},"159":{"typeVariables":{},"rowVariables":{},"type":{"id":53,"kind":"const","name":"MSG"}},"160":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"161":{"typeVariables":{},"rowVariables":{},"type":{"id":41,"kind":"const","name":"PROC"}},"162":{"typeVariables":{},"rowVariables":{},"type":{"id":59,"kind":"int"}},"163":{"typeVariables":{},"rowVariables":{},"type":{"id":53,"kind":"const","name":"MSG"}},"164":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"165":{"typeVariables":{},"rowVariables":{},"type":{"id":42,"kind":"int"}},"166":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"167":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"168":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"169":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"170":{"typeVariables":{},"rowVariables":{},"type":{"id":64,"kind":"const","name":"PROC"}},"171":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"172":{"typeVariables":{},"rowVariables":{},"type":{"id":64,"kind":"const","name":"PROC"}},"173":{"typeVariables":{},"rowVariables":{},"type":{"id":65,"kind":"const","name":"MSGS"}},"174":{"typeVariables":{},"rowVariables":{},"type":{"id":53,"kind":"const","name":"MSG"}},"175":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":53,"kind":"const","name":"MSG"},"id":6}},"176":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":8}},"177":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"178":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"179":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"},"id":70}},"180":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"},"id":70}},"181":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"182":{"typeVariables":{},"rowVariables":{},"type":{"id":62,"kind":"const","name":"MSGS"}},"183":{"typeVariables":{},"rowVariables":{},"type":{"id":62,"kind":"const","name":"MSGS"}},"184":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"185":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"186":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"187":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":64,"kind":"const","name":"PROC"}],"res":{"id":6,"kind":"bool"}}},"188":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"189":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"190":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"191":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"192":{"typeVariables":{},"rowVariables":{},"type":{"id":62,"kind":"const","name":"MSGS"}},"193":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":58,"kind":"const","name":"PROC"}}],"other":{"kind":"row","fields":[{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"194":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"},"id":60}},"195":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":58,"kind":"const","name":"PROC"}}],"other":{"kind":"row","fields":[{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"196":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"197":{"typeVariables":{},"rowVariables":{},"type":{"id":58,"kind":"const","name":"PROC"}},"198":{"typeVariables":{},"rowVariables":{},"type":{"id":59,"kind":"int"}},"199":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"200":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"201":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"202":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"203":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"204":{"typeVariables":{},"rowVariables":{},"type":{"id":64,"kind":"const","name":"PROC"}},"205":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":58,"kind":"const","name":"PROC"}}],"other":{"kind":"row","fields":[{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"206":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"207":{"typeVariables":{},"rowVariables":{},"type":{"id":64,"kind":"const","name":"PROC"}},"208":{"typeVariables":{},"rowVariables":{},"type":{"id":65,"kind":"const","name":"MSGS"}},"209":{"typeVariables":{},"rowVariables":{},"type":{"id":4,"kind":"bool"}},"210":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":64,"kind":"const","name":"PROC"}],"res":{"id":4,"kind":"bool"}}},"211":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"212":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"213":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":58,"kind":"const","name":"PROC"}}],"other":{"kind":"row","fields":[{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}],"res":{"id":3,"kind":"bool"}}},"214":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"215":{"typeVariables":{},"rowVariables":{},"type":{"id":56,"kind":"int"}},"216":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"217":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"218":{"typeVariables":{},"rowVariables":{},"type":{"id":56,"kind":"int"}},"219":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"220":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"221":{"typeVariables":{},"rowVariables":{},"type":{"id":58,"kind":"const","name":"PROC"}},"222":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"},"id":60}},"223":{"typeVariables":{},"rowVariables":{},"type":{"id":58,"kind":"const","name":"PROC"}},"224":{"typeVariables":{},"rowVariables":{},"type":{"id":59,"kind":"int"}},"225":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"226":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"227":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":58,"kind":"const","name":"PROC"}],"res":{"id":3,"kind":"int"}}},"228":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":3,"kind":"int"},"id":8}},"229":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"},"id":60}},"230":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"231":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"232":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":1,"kind":"int"}],"res":{"id":5,"kind":"bool"}}},"233":{"typeVariables":{},"rowVariables":{},"type":{"id":62,"kind":"const","name":"MSGS"}},"234":{"typeVariables":{},"rowVariables":{},"type":{"id":62,"kind":"const","name":"MSGS"}},"235":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"236":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"},"id":70}},"237":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":68,"kind":"const","name":"PROC"},"res":{"id":69,"kind":"const","name":"STATE"},"id":70}},"238":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"239":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"240":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":64,"kind":"const","name":"PROC"},"res":{"id":65,"kind":"const","name":"MSGS"},"id":66}},"241":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"242":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":1,"kind":"int"},"id":2}},"243":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"244":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"245":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"246":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"247":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"248":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"249":{"typeVariables":{},"rowVariables":{},"type":{"id":56,"kind":"int"}},"250":{"typeVariables":{},"rowVariables":{},"type":{"id":56,"kind":"int"}},"251":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"252":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"},"id":60}},"253":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":58,"kind":"const","name":"PROC"},"res":{"id":59,"kind":"int"},"id":60}},"254":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"255":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"256":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}},"257":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}},"258":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}},"259":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"260":{"typeVariables":{},"rowVariables":{},"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":32,"kind":"int"}}],"other":{"kind":"empty"}}}},"261":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"262":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"263":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"264":{"typeVariables":{},"rowVariables":{},"type":{"id":4,"kind":"bool"}},"265":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"266":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}}},"effects":{"1":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"v3"}}]},"effectVariables":{},"entityVariables":{}},"2":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"v1"}}]},"effectVariables":{},"entityVariables":{}},"9":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"v3"}}]},"effectVariables":{},"entityVariables":{}},"10":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"v1"}}]},"effectVariables":{},"entityVariables":{}},"11":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"v1"}}]},"effectVariables":{},"entityVariables":{}},"12":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v2"},{"kind":"variable","name":"v0"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"v3"},{"kind":"variable","name":"v1"}]}}]},"effectVariables":{},"entityVariables":{}},"13":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"v3"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"v1"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v2"},{"kind":"variable","name":"v0"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"v3"},{"kind":"variable","name":"v1"}]}}]}}},"15":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"16":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"18":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"19":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"20":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"21":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"22":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"23":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"24":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"25":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"26":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"31":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"v21"}}]},"effectVariables":{},"entityVariables":{}},"35":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"v21"}}]},"effectVariables":{},"entityVariables":{}},"36":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"37":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"v21"}}]},"effectVariables":{},"entityVariables":{}},"38":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"v21"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"v21"}}]}}},"45":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"v25"}}]},"effectVariables":{},"entityVariables":{}},"46":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"v29"}}]},"effectVariables":{},"entityVariables":{}},"47":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"v25"}}]},"effectVariables":{},"entityVariables":{}},"48":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"49":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"v29"}}]},"effectVariables":{},"entityVariables":{}},"50":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"51":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v24"},{"kind":"variable","name":"v28"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"v25"},{"kind":"variable","name":"v29"}]}}]},"effectVariables":{},"entityVariables":{}},"52":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"v25"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"v29"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v24"},{"kind":"variable","name":"v28"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"v25"},{"kind":"variable","name":"v29"}]}}]}}},"57":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}}]},"effectVariables":{},"entityVariables":{}},"61":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"63":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"67":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"71":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"74":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"75":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"76":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"77":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"78":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"79":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"82":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"83":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"84":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"85":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"86":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"87":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"88":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"89":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"90":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"91":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}}]},"effectVariables":{},"entityVariables":{}},"92":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}}]},"effectVariables":{},"entityVariables":{}},"93":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}}]},"effectVariables":{},"entityVariables":{}},"94":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"95":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"96":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"97":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"98":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"99":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"100":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"101":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"102":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"103":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"104":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"105":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"106":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"107":{"effect":{"kind":"variable","name":"e18"},"effectVariables":{},"entityVariables":{}},"108":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"109":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":{},"entityVariables":{}},"110":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"111":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"112":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"113":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"114":{"effect":{"kind":"variable","name":"e22"},"effectVariables":{},"entityVariables":{}},"115":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"116":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":{},"entityVariables":{}},"117":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"118":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"119":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"120":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57},{"name":"hc","reference":61},{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"121":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57},{"name":"hc","reference":61},{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"122":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v82"}}]},"effectVariables":{},"entityVariables":{}},"123":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"124":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v82"}},{"kind":"temporal","entity":{"kind":"variable","name":"v83"}}]},"effectVariables":{},"entityVariables":{}},"125":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v83"}}]},"effectVariables":{},"entityVariables":{}},"126":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"127":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}]}}]},"effectVariables":{},"entityVariables":{}},"128":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"129":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v82"}},{"kind":"temporal","entity":{"kind":"variable","name":"v83"}}]},"effectVariables":{},"entityVariables":{}},"130":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"131":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v82"}},{"kind":"temporal","entity":{"kind":"variable","name":"v83"}}]},"effectVariables":{},"entityVariables":{}},"132":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v83"}}]},"effectVariables":{},"entityVariables":{}},"133":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"v83"}]}}]},"effectVariables":{},"entityVariables":{}},"134":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61},{"name":"msgs","reference":63}]}]}}]},"effectVariables":{},"entityVariables":{}},"135":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"136":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61},{"name":"msgs","reference":63}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"137":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"138":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v82"}}]},"effectVariables":{},"entityVariables":{}},"139":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"140":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}]}}]},"effectVariables":{},"entityVariables":{}},"141":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"142":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"143":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"144":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"145":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"146":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":71},{"name":"hc","reference":61},{"name":"msgs","reference":63},{"name":"rcvd","reference":67}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"147":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v82"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":71},{"name":"hc","reference":61},{"name":"msgs","reference":63},{"name":"rcvd","reference":67}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67}]}}]}}},"148":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v124"}}]},"effectVariables":{},"entityVariables":{}},"149":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"150":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"151":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"152":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"153":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"154":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v124"}},{"kind":"temporal","entity":{"kind":"variable","name":"v125"}}]},"effectVariables":{},"entityVariables":{}},"155":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v125"}}]},"effectVariables":{},"entityVariables":{}},"156":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"msgs","reference":63}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v125"}}]},"effectVariables":{},"entityVariables":{}},"157":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"msgs","reference":63}]}]}}]},"effectVariables":{},"entityVariables":{}},"158":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"159":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"160":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"161":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"162":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61},{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"163":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"164":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"165":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"166":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"167":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"168":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61},{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"169":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"170":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v124"}},{"kind":"temporal","entity":{"kind":"variable","name":"v125"}}]},"effectVariables":{},"entityVariables":{}},"171":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"172":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v124"}},{"kind":"temporal","entity":{"kind":"variable","name":"v125"}}]},"effectVariables":{},"entityVariables":{}},"173":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v125"}}]},"effectVariables":{},"entityVariables":{}},"174":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"175":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"msgs","reference":63}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v125"}}]},"effectVariables":{},"entityVariables":{}},"176":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"msgs","reference":63}]}]}},{"kind":"temporal","entity":{"kind":"concrete","stateVariables":[]}}]},"effectVariables":{},"entityVariables":{}},"177":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"178":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"msgs","reference":63}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"179":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"180":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"181":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"182":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"183":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"184":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"185":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"msgs","reference":63},{"name":"hc","reference":61},{"name":"state","reference":71}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"state","reference":71},{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"186":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"msgs","reference":63},{"name":"hc","reference":61},{"name":"state","reference":71}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"state","reference":71},{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"187":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v124"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"msgs","reference":63},{"name":"hc","reference":61},{"name":"state","reference":71}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"state","reference":71},{"name":"msgs","reference":63}]}}]}}},"188":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v176"}}]},"effectVariables":{},"entityVariables":{}},"189":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v176"}},{"kind":"temporal","entity":{"kind":"variable","name":"v177"}}]},"effectVariables":{},"entityVariables":{}},"190":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"191":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v176"}}]},"effectVariables":{},"entityVariables":{}},"192":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"193":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v180"}}]},"effectVariables":{},"entityVariables":{}},"194":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"195":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v180"}}]},"effectVariables":{},"entityVariables":{}},"196":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"197":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v180"}}]},"effectVariables":{},"entityVariables":{}},"198":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v180"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}]}}]},"effectVariables":{},"entityVariables":{}},"199":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v176"}},{"kind":"temporal","entity":{"kind":"variable","name":"v177"}}]},"effectVariables":{},"entityVariables":{}},"200":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v180"},{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v177"}}]},"effectVariables":{},"entityVariables":{}},"201":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"202":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v180"},{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v177"}}]},"effectVariables":{},"entityVariables":{}},"203":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"204":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v195"}},{"kind":"temporal","entity":{"kind":"variable","name":"v196"}}]},"effectVariables":{},"entityVariables":{}},"205":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v180"}}]},"effectVariables":{},"entityVariables":{}},"206":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"207":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v195"}},{"kind":"temporal","entity":{"kind":"variable","name":"v196"}}]},"effectVariables":{},"entityVariables":{}},"208":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v195"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v196"}}]},"effectVariables":{},"entityVariables":{}},"209":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v197"},{"kind":"variable","name":"v195"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"v198"},{"kind":"variable","name":"v196"}]}}]},"effectVariables":{},"entityVariables":{}},"210":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v180"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}]}}]}},"effectVariables":{},"entityVariables":{}},"211":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v180"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}]}}]},"effectVariables":{},"entityVariables":{}},"212":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v180"},{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61},{"name":"rcvd","reference":67}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v177"}}]},"effectVariables":{},"entityVariables":{}},"213":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"hc","reference":61},{"name":"rcvd","reference":67}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v177"}}]}},"effectVariables":{},"entityVariables":{}},"214":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"hc","reference":61},{"name":"rcvd","reference":67}]}]}}]},"effectVariables":{},"entityVariables":{}},"215":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}}]},"effectVariables":{},"entityVariables":{}},"216":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v176"}},{"kind":"temporal","entity":{"kind":"variable","name":"v177"}}]},"effectVariables":{},"entityVariables":{}},"217":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}]}}]},"effectVariables":{},"entityVariables":{}},"218":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}}]},"effectVariables":{},"entityVariables":{}},"219":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}}]},"effectVariables":{},"entityVariables":{}},"220":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"221":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v224"}},{"kind":"temporal","entity":{"kind":"variable","name":"v225"}}]},"effectVariables":{},"entityVariables":{}},"222":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"223":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v224"}},{"kind":"temporal","entity":{"kind":"variable","name":"v225"}}]},"effectVariables":{},"entityVariables":{}},"224":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v224"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v225"}}]},"effectVariables":{},"entityVariables":{}},"225":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v176"}}]},"effectVariables":{},"entityVariables":{}},"226":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v224"},{"kind":"variable","name":"v228"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"v225"},{"kind":"variable","name":"v229"}]}}]},"effectVariables":{},"entityVariables":{}},"227":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}]}}]}},"effectVariables":{},"entityVariables":{}},"228":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}]}}]},"effectVariables":{},"entityVariables":{}},"229":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"230":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"231":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"hc","reference":61},{"name":"rcvd","reference":67},{"name":"time","reference":57}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57},{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"232":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v176"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v176"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"hc","reference":61},{"name":"rcvd","reference":67},{"name":"time","reference":57}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57},{"name":"hc","reference":61}]}}]}}},"233":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"234":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"235":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"236":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"237":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"238":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71}]}}]},"effectVariables":{},"entityVariables":{}},"239":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"240":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"241":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"242":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"243":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"244":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"245":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"246":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"hc","reference":61},{"name":"rcvd","reference":67},{"name":"time","reference":57}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57},{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"247":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"hc","reference":61},{"name":"rcvd","reference":67},{"name":"time","reference":57}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57},{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"248":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67},{"name":"hc","reference":61},{"name":"time","reference":57}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67},{"name":"time","reference":57},{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"249":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}}]},"effectVariables":{},"entityVariables":{}},"250":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}}]},"effectVariables":{},"entityVariables":{}},"251":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57}]}}]},"effectVariables":{},"entityVariables":{}},"252":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"253":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"254":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"255":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"256":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"257":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"258":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"259":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71},{"name":"hc","reference":61},{"name":"msgs","reference":63},{"name":"rcvd","reference":67}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"260":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"261":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"msgs","reference":63},{"name":"hc","reference":61},{"name":"state","reference":71}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":67},{"name":"state","reference":71},{"name":"msgs","reference":63}]}}]},"effectVariables":{},"entityVariables":{}},"262":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71},{"name":"hc","reference":61},{"name":"msgs","reference":63},{"name":"rcvd","reference":67}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"263":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":71},{"name":"hc","reference":61},{"name":"msgs","reference":63},{"name":"rcvd","reference":67}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"264":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57},{"name":"hc","reference":61},{"name":"state","reference":71},{"name":"msgs","reference":63},{"name":"rcvd","reference":67}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":57},{"name":"hc","reference":61},{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67}]}}]},"effectVariables":{},"entityVariables":{}},"265":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67},{"name":"hc","reference":61},{"name":"time","reference":57}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67},{"name":"time","reference":57},{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}},"266":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67},{"name":"hc","reference":61},{"name":"time","reference":57}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":63},{"name":"state","reference":71},{"name":"rcvd","reference":67},{"name":"time","reference":57},{"name":"hc","reference":61}]}}]},"effectVariables":{},"entityVariables":{}}}} \ No newline at end of file +{"stage":"compiling","warnings":[],"modules":[{"id":277,"name":"clockSync3","declarations":[]}],"table":{"9":{"id":1,"name":"s_13","kind":"param","depth":1},"10":{"id":2,"name":"e_13","kind":"param","depth":1},"19":{"doc":" CONSTANTS\nminimum message delay","kind":"const","name":"t_min","typeAnnotation":{"id":15,"kind":"int"},"id":16,"depth":0},"22":{"doc":"maximum message delay","kind":"const","name":"t_max","typeAnnotation":{"id":17,"kind":"int"},"id":18,"depth":0},"23":{"doc":" CONSTANTS\nminimum message delay","kind":"const","name":"t_min","typeAnnotation":{"id":15,"kind":"int"},"id":16,"depth":0},"34":{"id":30,"name":"id_37","kind":"param","depth":1},"47":{"id":45,"name":"p_52","kind":"param","depth":1},"49":{"id":46,"name":"ts_52","kind":"param","depth":1},"76":{"doc":"`Proc(id)` is a process with the given `id`","id":38,"kind":"def","name":"Proc","qualifier":"def","expr":{"id":37,"kind":"lambda","params":[{"id":30,"name":"id_37"}],"qualifier":"def","expr":{"id":36,"kind":"app","opcode":"Rec","args":[{"id":35,"kind":"str","value":"id"},{"id":34,"kind":"name","name":"id_37"}]}},"depth":0},"78":{"doc":"`Proc(id)` is a process with the given `id`","id":38,"kind":"def","name":"Proc","qualifier":"def","expr":{"id":37,"kind":"lambda","params":[{"id":30,"name":"id_37"}],"qualifier":"def","expr":{"id":36,"kind":"app","opcode":"Rec","args":[{"id":35,"kind":"str","value":"id"},{"id":34,"kind":"name","name":"id_37"}]}},"depth":0},"91":{"id":90,"kind":"def","name":"time0_94","qualifier":"nondet","expr":{"id":89,"kind":"app","opcode":"oneOf","args":[{"id":88,"kind":"name","name":"Nat"}]},"depth":1},"92":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":57,"kind":"int"},"id":58,"depth":0},"95":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":80,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":79,"kind":"app","opcode":"Set","args":[{"id":76,"kind":"app","opcode":"Proc","args":[{"id":75,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Proc","args":[{"id":77,"kind":"int","value":2}]}]},"depth":0},"100":{"id":99,"kind":"def","name":"hc0_103","qualifier":"nondet","expr":{"id":98,"kind":"app","opcode":"oneOf","args":[{"id":97,"kind":"app","opcode":"setOfMaps","args":[{"id":95,"kind":"name","name":"Procs"},{"id":96,"kind":"name","name":"Nat"}]}]},"depth":1},"101":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}},"id":62,"depth":0},"105":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":64,"depth":0},"107":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":80,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":79,"kind":"app","opcode":"Set","args":[{"id":76,"kind":"app","opcode":"Proc","args":[{"id":75,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Proc","args":[{"id":77,"kind":"int","value":2}]}]},"depth":0},"112":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}},"id":72,"depth":0},"114":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":80,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":79,"kind":"app","opcode":"Set","args":[{"id":76,"kind":"app","opcode":"Proc","args":[{"id":75,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Proc","args":[{"id":77,"kind":"int","value":2}]}]},"depth":0},"119":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":68,"depth":0},"124":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}},"id":72,"depth":0},"125":{"id":123,"name":"p_148","kind":"param","depth":1},"129":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":64,"depth":0},"130":{"id":123,"name":"p_148","kind":"param","depth":1},"131":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}},"id":62,"depth":0},"132":{"id":123,"name":"p_148","kind":"param","depth":1},"134":{"doc":"`p.msgFrom(ts)` is a message sent from `p` at time `ts` ","id":53,"kind":"def","name":"msgFrom","qualifier":"def","expr":{"id":52,"kind":"lambda","params":[{"id":45,"name":"p_52"},{"id":46,"name":"ts_52"}],"qualifier":"def","expr":{"id":51,"kind":"app","opcode":"Rec","args":[{"id":48,"kind":"str","value":"src"},{"id":47,"kind":"name","name":"p_52"},{"id":50,"kind":"str","value":"ts"},{"id":49,"kind":"name","name":"ts_52"}]}},"depth":0},"135":{"doc":" HELPERS\n`S.add(e)` is `S.union(Set(e))`, i.e., the set derived by adding `e` to `S`","id":14,"kind":"def","name":"add","qualifier":"def","expr":{"id":13,"kind":"lambda","params":[{"id":1,"name":"s_13"},{"id":2,"name":"e_13"}],"qualifier":"def","expr":{"id":12,"kind":"app","opcode":"union","args":[{"id":9,"kind":"name","name":"s_13"},{"id":11,"kind":"app","opcode":"Set","args":[{"id":10,"kind":"name","name":"e_13"}]}]}},"depth":0},"136":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":64,"depth":0},"138":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}},"id":72,"depth":0},"139":{"id":123,"name":"p_148","kind":"param","depth":1},"142":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}},"id":72,"depth":0},"144":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":68,"depth":0},"145":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":68,"depth":0},"151":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":64,"depth":0},"154":{"id":153,"kind":"def","name":"newMsg_188","qualifier":"nondet","expr":{"id":152,"kind":"app","opcode":"oneOf","args":[{"id":151,"kind":"name","name":"msgs"}]},"depth":2},"155":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":68,"depth":0},"156":{"id":150,"name":"p_189","kind":"param","depth":1},"160":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}},"id":62,"depth":0},"161":{"id":153,"kind":"def","name":"newMsg_188","qualifier":"nondet","expr":{"id":152,"kind":"app","opcode":"oneOf","args":[{"id":151,"kind":"name","name":"msgs"}]},"depth":2},"165":{"id":153,"kind":"def","name":"newMsg_188","qualifier":"nondet","expr":{"id":152,"kind":"app","opcode":"oneOf","args":[{"id":151,"kind":"name","name":"msgs"}]},"depth":2},"168":{"doc":" CONSTANTS\nminimum message delay","kind":"const","name":"t_min","typeAnnotation":{"id":15,"kind":"int"},"id":16,"depth":0},"171":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":68,"depth":0},"172":{"id":150,"name":"p_189","kind":"param","depth":1},"173":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":68,"depth":0},"174":{"id":150,"name":"p_189","kind":"param","depth":1},"176":{"id":153,"kind":"def","name":"newMsg_188","qualifier":"nondet","expr":{"id":152,"kind":"app","opcode":"oneOf","args":[{"id":151,"kind":"name","name":"msgs"}]},"depth":2},"177":{"doc":" HELPERS\n`S.add(e)` is `S.union(Set(e))`, i.e., the set derived by adding `e` to `S`","id":14,"kind":"def","name":"add","qualifier":"def","expr":{"id":13,"kind":"lambda","params":[{"id":1,"name":"s_13"},{"id":2,"name":"e_13"}],"qualifier":"def","expr":{"id":12,"kind":"app","opcode":"union","args":[{"id":9,"kind":"name","name":"s_13"},{"id":11,"kind":"app","opcode":"Set","args":[{"id":10,"kind":"name","name":"e_13"}]}]}},"depth":0},"179":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":68,"depth":0},"181":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}},"id":72,"depth":0},"182":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}},"id":72,"depth":0},"184":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":64,"depth":0},"185":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":64,"depth":0},"192":{"id":191,"name":"delta_235","kind":"param","depth":1},"195":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":64,"depth":0},"197":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}},"id":62,"depth":0},"198":{"id":196,"name":"m_216","kind":"param","depth":2},"202":{"id":191,"name":"delta_235","kind":"param","depth":1},"204":{"doc":"maximum message delay","kind":"const","name":"t_max","typeAnnotation":{"id":17,"kind":"int"},"id":18,"depth":0},"206":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":80,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":79,"kind":"app","opcode":"Set","args":[{"id":76,"kind":"app","opcode":"Proc","args":[{"id":75,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Proc","args":[{"id":77,"kind":"int","value":2}]}]},"depth":0},"208":{"id":196,"name":"m_216","kind":"param","depth":2},"209":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":68,"depth":0},"210":{"id":207,"name":"p_213","kind":"param","depth":3},"218":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":57,"kind":"int"},"id":58,"depth":0},"219":{"id":191,"name":"delta_235","kind":"param","depth":1},"221":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":57,"kind":"int"},"id":58,"depth":0},"223":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":80,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":79,"kind":"app","opcode":"Set","args":[{"id":76,"kind":"app","opcode":"Proc","args":[{"id":75,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Proc","args":[{"id":77,"kind":"int","value":2}]}]},"depth":0},"225":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}},"id":62,"depth":0},"226":{"id":224,"name":"p_230","kind":"param","depth":2},"228":{"id":191,"name":"delta_235","kind":"param","depth":1},"232":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}},"id":62,"depth":0},"237":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":64,"depth":0},"238":{"doc":"Messages sent by the processes","kind":"var","name":"msgs","typeAnnotation":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":64,"depth":0},"240":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}},"id":72,"depth":0},"241":{"doc":"The control state of a process","kind":"var","name":"state","typeAnnotation":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}},"id":72,"depth":0},"243":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":68,"depth":0},"244":{"doc":"Messages received by the processes","kind":"var","name":"rcvd","typeAnnotation":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":68,"depth":0},"249":{"id":248,"kind":"def","name":"delta_251","qualifier":"nondet","expr":{"id":247,"kind":"app","opcode":"oneOf","args":[{"id":246,"kind":"name","name":"Int"}]},"depth":1},"250":{"doc":"let time flow","id":236,"kind":"def","name":"advanceClocks","qualifier":"action","expr":{"id":235,"kind":"lambda","params":[{"id":191,"name":"delta_235"}],"qualifier":"action","expr":{"id":234,"kind":"app","opcode":"actionAll","args":[{"id":194,"kind":"app","opcode":"igt","args":[{"id":192,"kind":"name","name":"delta_235"},{"id":193,"kind":"int","value":0}]},{"id":217,"kind":"app","opcode":"forall","args":[{"id":195,"kind":"name","name":"msgs"},{"id":216,"kind":"lambda","params":[{"id":196,"name":"m_216"}],"qualifier":"def","expr":{"id":215,"kind":"app","opcode":"implies","args":[{"id":205,"kind":"app","opcode":"igt","args":[{"id":203,"kind":"app","opcode":"iadd","args":[{"id":201,"kind":"app","opcode":"get","args":[{"id":197,"kind":"name","name":"hc"},{"id":200,"kind":"app","opcode":"field","args":[{"id":198,"kind":"name","name":"m_216"},{"id":199,"kind":"str","value":"src"}]}]},{"id":202,"kind":"name","name":"delta_235"}]},{"id":204,"kind":"name","name":"t_max"}]},{"id":214,"kind":"app","opcode":"forall","args":[{"id":206,"kind":"name","name":"Procs"},{"id":213,"kind":"lambda","params":[{"id":207,"name":"p_213"}],"qualifier":"def","expr":{"id":212,"kind":"app","opcode":"in","args":[{"id":208,"kind":"name","name":"m_216"},{"id":211,"kind":"app","opcode":"get","args":[{"id":209,"kind":"name","name":"rcvd"},{"id":210,"kind":"name","name":"p_213"}]}]}}]}]}}]},{"id":222,"kind":"app","opcode":"assign","args":[{"id":221,"kind":"name","name":"time"},{"id":220,"kind":"app","opcode":"iadd","args":[{"id":218,"kind":"name","name":"time"},{"id":219,"kind":"name","name":"delta_235"}]}]},{"id":233,"kind":"app","opcode":"assign","args":[{"id":232,"kind":"name","name":"hc"},{"id":231,"kind":"app","opcode":"mapBy","args":[{"id":223,"kind":"name","name":"Procs"},{"id":230,"kind":"lambda","params":[{"id":224,"name":"p_230"}],"qualifier":"def","expr":{"id":229,"kind":"app","opcode":"iadd","args":[{"id":227,"kind":"app","opcode":"get","args":[{"id":225,"kind":"name","name":"hc"},{"id":226,"kind":"name","name":"p_230"}]},{"id":228,"kind":"name","name":"delta_235"}]}}]}]}]}},"depth":0},"253":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":57,"kind":"int"},"id":58,"depth":0},"254":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"time","typeAnnotation":{"id":57,"kind":"int"},"id":58,"depth":0},"256":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}},"id":62,"depth":0},"257":{"doc":"Hardware clock of a process","kind":"var","name":"hc","typeAnnotation":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}},"id":62,"depth":0},"259":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":80,"kind":"def","name":"Procs","qualifier":"val","expr":{"id":79,"kind":"app","opcode":"Set","args":[{"id":76,"kind":"app","opcode":"Proc","args":[{"id":75,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Proc","args":[{"id":77,"kind":"int","value":2}]}]},"depth":0},"262":{"id":261,"kind":"def","name":"p_267","qualifier":"nondet","expr":{"id":260,"kind":"app","opcode":"oneOf","args":[{"id":259,"kind":"name","name":"Procs"}]},"depth":1},"263":{"doc":" ACTIONS\nSend the value of the hardware clock","id":149,"kind":"def","name":"sendMsg","qualifier":"action","expr":{"id":148,"kind":"lambda","params":[{"id":123,"name":"p_148"}],"qualifier":"action","expr":{"id":147,"kind":"app","opcode":"actionAll","args":[{"id":128,"kind":"app","opcode":"eq","args":[{"id":126,"kind":"app","opcode":"get","args":[{"id":124,"kind":"name","name":"state"},{"id":125,"kind":"name","name":"p_148"}]},{"id":127,"kind":"str","value":"init"}]},{"id":137,"kind":"app","opcode":"assign","args":[{"id":136,"kind":"name","name":"msgs"},{"id":135,"kind":"app","opcode":"add","args":[{"id":129,"kind":"name","name":"msgs"},{"id":134,"kind":"app","opcode":"msgFrom","args":[{"id":130,"kind":"name","name":"p_148"},{"id":133,"kind":"app","opcode":"get","args":[{"id":131,"kind":"name","name":"hc"},{"id":132,"kind":"name","name":"p_148"}]}]}]}]},{"id":143,"kind":"app","opcode":"assign","args":[{"id":142,"kind":"name","name":"state"},{"id":141,"kind":"app","opcode":"set","args":[{"id":138,"kind":"name","name":"state"},{"id":139,"kind":"name","name":"p_148"},{"id":140,"kind":"str","value":"sent"}]}]},{"id":146,"kind":"app","opcode":"assign","args":[{"id":145,"kind":"name","name":"rcvd"},{"id":144,"kind":"name","name":"rcvd"}]}]}},"depth":0},"264":{"id":261,"kind":"def","name":"p_267","qualifier":"nondet","expr":{"id":260,"kind":"app","opcode":"oneOf","args":[{"id":259,"kind":"name","name":"Procs"}]},"depth":1},"265":{"doc":"Receive a message sent by another process","id":190,"kind":"def","name":"receiveMsg","qualifier":"action","expr":{"id":189,"kind":"lambda","params":[{"id":150,"name":"p_189"}],"qualifier":"action","expr":{"id":188,"kind":"let","opdef":{"id":153,"kind":"def","name":"newMsg_188","qualifier":"nondet","expr":{"id":152,"kind":"app","opcode":"oneOf","args":[{"id":151,"kind":"name","name":"msgs"}]}},"expr":{"id":187,"kind":"app","opcode":"actionAll","args":[{"id":159,"kind":"app","opcode":"not","args":[{"id":158,"kind":"app","opcode":"in","args":[{"id":154,"kind":"name","name":"newMsg_188"},{"id":157,"kind":"app","opcode":"get","args":[{"id":155,"kind":"name","name":"rcvd"},{"id":156,"kind":"name","name":"p_189"}]}]}]},{"id":170,"kind":"app","opcode":"igte","args":[{"id":164,"kind":"app","opcode":"get","args":[{"id":160,"kind":"name","name":"hc"},{"id":163,"kind":"app","opcode":"field","args":[{"id":161,"kind":"name","name":"newMsg_188"},{"id":162,"kind":"str","value":"src"}]}]},{"id":169,"kind":"app","opcode":"iadd","args":[{"id":167,"kind":"app","opcode":"field","args":[{"id":165,"kind":"name","name":"newMsg_188"},{"id":166,"kind":"str","value":"ts"}]},{"id":168,"kind":"name","name":"t_min"}]}]},{"id":180,"kind":"app","opcode":"assign","args":[{"id":179,"kind":"name","name":"rcvd"},{"id":178,"kind":"app","opcode":"set","args":[{"id":171,"kind":"name","name":"rcvd"},{"id":172,"kind":"name","name":"p_189"},{"id":177,"kind":"app","opcode":"add","args":[{"id":175,"kind":"app","opcode":"get","args":[{"id":173,"kind":"name","name":"rcvd"},{"id":174,"kind":"name","name":"p_189"}]},{"id":176,"kind":"name","name":"newMsg_188"}]}]}]},{"id":183,"kind":"app","opcode":"assign","args":[{"id":182,"kind":"name","name":"state"},{"id":181,"kind":"name","name":"state"}]},{"id":186,"kind":"app","opcode":"assign","args":[{"id":185,"kind":"name","name":"msgs"},{"id":184,"kind":"name","name":"msgs"}]}]}}},"depth":0},"296":{"id":293,"name":"clockSync3::clockSync3Spec::s_13","kind":"param","depth":1},"298":{"id":294,"name":"clockSync3::clockSync3Spec::e_13","kind":"param","depth":1},"302":{"kind":"def","qualifier":"pureval","expr":{"id":272,"kind":"int","value":0},"id":274,"name":"clockSync3::clockSync3Spec::t_min","depth":0},"305":{"kind":"def","qualifier":"pureval","expr":{"id":273,"kind":"int","value":5},"id":275,"name":"clockSync3::clockSync3Spec::t_max","depth":0},"306":{"kind":"def","qualifier":"pureval","expr":{"id":272,"kind":"int","value":0},"id":274,"name":"clockSync3::clockSync3Spec::t_min","depth":0},"316":{"id":313,"name":"clockSync3::clockSync3Spec::id_37","kind":"param","depth":1},"328":{"id":324,"name":"clockSync3::clockSync3Spec::p_52","kind":"param","depth":1},"330":{"id":325,"name":"clockSync3::clockSync3Spec::ts_52","kind":"param","depth":1},"359":{"doc":"`Proc(id)` is a process with the given `id`","id":307,"kind":"def","name":"clockSync3::clockSync3Spec::Proc","qualifier":"def","expr":{"id":312,"kind":"lambda","params":[{"id":313,"name":"clockSync3::clockSync3Spec::id_37"}],"qualifier":"def","expr":{"id":314,"kind":"app","opcode":"Rec","args":[{"id":315,"kind":"str","value":"id"},{"id":316,"kind":"name","name":"clockSync3::clockSync3Spec::id_37"}]}},"depth":0},"361":{"doc":"`Proc(id)` is a process with the given `id`","id":307,"kind":"def","name":"clockSync3::clockSync3Spec::Proc","qualifier":"def","expr":{"id":312,"kind":"lambda","params":[{"id":313,"name":"clockSync3::clockSync3Spec::id_37"}],"qualifier":"def","expr":{"id":314,"kind":"app","opcode":"Rec","args":[{"id":315,"kind":"str","value":"id"},{"id":316,"kind":"name","name":"clockSync3::clockSync3Spec::id_37"}]}},"depth":0},"385":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"clockSync3::clockSync3Spec::time","typeAnnotation":{"id":284,"kind":"int"},"id":283,"depth":0},"386":{"id":381,"kind":"def","name":"clockSync3::clockSync3Spec::time0_94","qualifier":"nondet","expr":{"id":382,"kind":"app","opcode":"oneOf","args":[{"id":383,"kind":"name","name":"Nat"}]},"depth":1},"391":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":354,"kind":"def","name":"clockSync3::clockSync3Spec::Procs","qualifier":"val","expr":{"id":358,"kind":"app","opcode":"Set","args":[{"id":359,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":360,"kind":"int","value":1}]},{"id":361,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":362,"kind":"int","value":2}]}]},"depth":0},"394":{"doc":"Hardware clock of a process","kind":"var","name":"clockSync3::clockSync3Spec::hc","typeAnnotation":{"id":332,"kind":"fun","arg":{"id":333,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":334,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":335,"kind":"int"}},"id":331,"depth":0},"395":{"id":388,"kind":"def","name":"clockSync3::clockSync3Spec::hc0_103","qualifier":"nondet","expr":{"id":389,"kind":"app","opcode":"oneOf","args":[{"id":390,"kind":"app","opcode":"setOfMaps","args":[{"id":391,"kind":"name","name":"clockSync3::clockSync3Spec::Procs"},{"id":392,"kind":"name","name":"Nat"}]}]},"depth":1},"397":{"doc":"Messages sent by the processes","kind":"var","name":"clockSync3::clockSync3Spec::msgs","typeAnnotation":{"id":364,"kind":"set","elem":{"id":365,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":366,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":367,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":368,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":363,"depth":0},"400":{"doc":"The control state of a process","kind":"var","name":"clockSync3::clockSync3Spec::state","typeAnnotation":{"id":337,"kind":"fun","arg":{"id":338,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":339,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":340,"kind":"str"}},"id":336,"depth":0},"402":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":354,"kind":"def","name":"clockSync3::clockSync3Spec::Procs","qualifier":"val","expr":{"id":358,"kind":"app","opcode":"Set","args":[{"id":359,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":360,"kind":"int","value":1}]},{"id":361,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":362,"kind":"int","value":2}]}]},"depth":0},"407":{"doc":"Messages received by the processes","kind":"var","name":"clockSync3::clockSync3Spec::rcvd","typeAnnotation":{"id":370,"kind":"fun","arg":{"id":371,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":372,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":373,"kind":"set","elem":{"id":374,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":375,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":376,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":377,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":369,"depth":0},"409":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":354,"kind":"def","name":"clockSync3::clockSync3Spec::Procs","qualifier":"val","expr":{"id":358,"kind":"app","opcode":"Set","args":[{"id":359,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":360,"kind":"int","value":1}]},{"id":361,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":362,"kind":"int","value":2}]}]},"depth":0},"419":{"doc":"The control state of a process","kind":"var","name":"clockSync3::clockSync3Spec::state","typeAnnotation":{"id":337,"kind":"fun","arg":{"id":338,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":339,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":340,"kind":"str"}},"id":336,"depth":0},"420":{"id":415,"name":"clockSync3::clockSync3Spec::p_148","kind":"param","depth":1},"423":{"doc":"Messages sent by the processes","kind":"var","name":"clockSync3::clockSync3Spec::msgs","typeAnnotation":{"id":364,"kind":"set","elem":{"id":365,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":366,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":367,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":368,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":363,"depth":0},"424":{"doc":" HELPERS\n`S.add(e)` is `S.union(Set(e))`, i.e., the set derived by adding `e` to `S`","id":285,"kind":"def","name":"clockSync3::clockSync3Spec::add","qualifier":"def","expr":{"id":292,"kind":"lambda","params":[{"id":293,"name":"clockSync3::clockSync3Spec::s_13"},{"id":294,"name":"clockSync3::clockSync3Spec::e_13"}],"qualifier":"def","expr":{"id":295,"kind":"app","opcode":"union","args":[{"id":296,"kind":"name","name":"clockSync3::clockSync3Spec::s_13"},{"id":297,"kind":"app","opcode":"Set","args":[{"id":298,"kind":"name","name":"clockSync3::clockSync3Spec::e_13"}]}]}},"depth":0},"425":{"doc":"Messages sent by the processes","kind":"var","name":"clockSync3::clockSync3Spec::msgs","typeAnnotation":{"id":364,"kind":"set","elem":{"id":365,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":366,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":367,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":368,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":363,"depth":0},"426":{"doc":"`p.msgFrom(ts)` is a message sent from `p` at time `ts` ","id":322,"kind":"def","name":"clockSync3::clockSync3Spec::msgFrom","qualifier":"def","expr":{"id":323,"kind":"lambda","params":[{"id":324,"name":"clockSync3::clockSync3Spec::p_52"},{"id":325,"name":"clockSync3::clockSync3Spec::ts_52"}],"qualifier":"def","expr":{"id":326,"kind":"app","opcode":"Rec","args":[{"id":327,"kind":"str","value":"src"},{"id":328,"kind":"name","name":"clockSync3::clockSync3Spec::p_52"},{"id":329,"kind":"str","value":"ts"},{"id":330,"kind":"name","name":"clockSync3::clockSync3Spec::ts_52"}]}},"depth":0},"427":{"id":415,"name":"clockSync3::clockSync3Spec::p_148","kind":"param","depth":1},"429":{"doc":"Hardware clock of a process","kind":"var","name":"clockSync3::clockSync3Spec::hc","typeAnnotation":{"id":332,"kind":"fun","arg":{"id":333,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":334,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":335,"kind":"int"}},"id":331,"depth":0},"430":{"id":415,"name":"clockSync3::clockSync3Spec::p_148","kind":"param","depth":1},"432":{"doc":"The control state of a process","kind":"var","name":"clockSync3::clockSync3Spec::state","typeAnnotation":{"id":337,"kind":"fun","arg":{"id":338,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":339,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":340,"kind":"str"}},"id":336,"depth":0},"434":{"doc":"The control state of a process","kind":"var","name":"clockSync3::clockSync3Spec::state","typeAnnotation":{"id":337,"kind":"fun","arg":{"id":338,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":339,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":340,"kind":"str"}},"id":336,"depth":0},"435":{"id":415,"name":"clockSync3::clockSync3Spec::p_148","kind":"param","depth":1},"438":{"doc":"Messages received by the processes","kind":"var","name":"clockSync3::clockSync3Spec::rcvd","typeAnnotation":{"id":370,"kind":"fun","arg":{"id":371,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":372,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":373,"kind":"set","elem":{"id":374,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":375,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":376,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":377,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":369,"depth":0},"439":{"doc":"Messages received by the processes","kind":"var","name":"clockSync3::clockSync3Spec::rcvd","typeAnnotation":{"id":370,"kind":"fun","arg":{"id":371,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":372,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":373,"kind":"set","elem":{"id":374,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":375,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":376,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":377,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":369,"depth":0},"445":{"id":442,"name":"clockSync3::clockSync3Spec::delta_235","kind":"param","depth":1},"448":{"doc":"Messages sent by the processes","kind":"var","name":"clockSync3::clockSync3Spec::msgs","typeAnnotation":{"id":364,"kind":"set","elem":{"id":365,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":366,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":367,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":368,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":363,"depth":0},"455":{"doc":"Hardware clock of a process","kind":"var","name":"clockSync3::clockSync3Spec::hc","typeAnnotation":{"id":332,"kind":"fun","arg":{"id":333,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":334,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":335,"kind":"int"}},"id":331,"depth":0},"457":{"id":450,"name":"clockSync3::clockSync3Spec::m_216","kind":"param","depth":2},"459":{"id":442,"name":"clockSync3::clockSync3Spec::delta_235","kind":"param","depth":1},"460":{"kind":"def","qualifier":"pureval","expr":{"id":273,"kind":"int","value":5},"id":275,"name":"clockSync3::clockSync3Spec::t_max","depth":0},"462":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":354,"kind":"def","name":"clockSync3::clockSync3Spec::Procs","qualifier":"val","expr":{"id":358,"kind":"app","opcode":"Set","args":[{"id":359,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":360,"kind":"int","value":1}]},{"id":361,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":362,"kind":"int","value":2}]}]},"depth":0},"466":{"id":450,"name":"clockSync3::clockSync3Spec::m_216","kind":"param","depth":2},"468":{"doc":"Messages received by the processes","kind":"var","name":"clockSync3::clockSync3Spec::rcvd","typeAnnotation":{"id":370,"kind":"fun","arg":{"id":371,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":372,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":373,"kind":"set","elem":{"id":374,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":375,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":376,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":377,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":369,"depth":0},"469":{"id":464,"name":"clockSync3::clockSync3Spec::p_213","kind":"param","depth":3},"471":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"clockSync3::clockSync3Spec::time","typeAnnotation":{"id":284,"kind":"int"},"id":283,"depth":0},"473":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"clockSync3::clockSync3Spec::time","typeAnnotation":{"id":284,"kind":"int"},"id":283,"depth":0},"474":{"id":442,"name":"clockSync3::clockSync3Spec::delta_235","kind":"param","depth":1},"476":{"doc":"Hardware clock of a process","kind":"var","name":"clockSync3::clockSync3Spec::hc","typeAnnotation":{"id":332,"kind":"fun","arg":{"id":333,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":334,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":335,"kind":"int"}},"id":331,"depth":0},"478":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":354,"kind":"def","name":"clockSync3::clockSync3Spec::Procs","qualifier":"val","expr":{"id":358,"kind":"app","opcode":"Set","args":[{"id":359,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":360,"kind":"int","value":1}]},{"id":361,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":362,"kind":"int","value":2}]}]},"depth":0},"483":{"doc":"Hardware clock of a process","kind":"var","name":"clockSync3::clockSync3Spec::hc","typeAnnotation":{"id":332,"kind":"fun","arg":{"id":333,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":334,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":335,"kind":"int"}},"id":331,"depth":0},"484":{"id":480,"name":"clockSync3::clockSync3Spec::p_230","kind":"param","depth":2},"485":{"id":442,"name":"clockSync3::clockSync3Spec::delta_235","kind":"param","depth":1},"492":{"doc":"Messages sent by the processes","kind":"var","name":"clockSync3::clockSync3Spec::msgs","typeAnnotation":{"id":364,"kind":"set","elem":{"id":365,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":366,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":367,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":368,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":363,"depth":0},"496":{"id":490,"kind":"def","name":"clockSync3::clockSync3Spec::newMsg_188","qualifier":"nondet","expr":{"id":491,"kind":"app","opcode":"oneOf","args":[{"id":492,"kind":"name","name":"clockSync3::clockSync3Spec::msgs"}]},"depth":2},"498":{"doc":"Messages received by the processes","kind":"var","name":"clockSync3::clockSync3Spec::rcvd","typeAnnotation":{"id":370,"kind":"fun","arg":{"id":371,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":372,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":373,"kind":"set","elem":{"id":374,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":375,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":376,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":377,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":369,"depth":0},"499":{"id":488,"name":"clockSync3::clockSync3Spec::p_189","kind":"param","depth":1},"502":{"doc":"Hardware clock of a process","kind":"var","name":"clockSync3::clockSync3Spec::hc","typeAnnotation":{"id":332,"kind":"fun","arg":{"id":333,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":334,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":335,"kind":"int"}},"id":331,"depth":0},"504":{"id":490,"kind":"def","name":"clockSync3::clockSync3Spec::newMsg_188","qualifier":"nondet","expr":{"id":491,"kind":"app","opcode":"oneOf","args":[{"id":492,"kind":"name","name":"clockSync3::clockSync3Spec::msgs"}]},"depth":2},"508":{"id":490,"kind":"def","name":"clockSync3::clockSync3Spec::newMsg_188","qualifier":"nondet","expr":{"id":491,"kind":"app","opcode":"oneOf","args":[{"id":492,"kind":"name","name":"clockSync3::clockSync3Spec::msgs"}]},"depth":2},"510":{"kind":"def","qualifier":"pureval","expr":{"id":272,"kind":"int","value":0},"id":274,"name":"clockSync3::clockSync3Spec::t_min","depth":0},"512":{"doc":"Messages received by the processes","kind":"var","name":"clockSync3::clockSync3Spec::rcvd","typeAnnotation":{"id":370,"kind":"fun","arg":{"id":371,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":372,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":373,"kind":"set","elem":{"id":374,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":375,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":376,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":377,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":369,"depth":0},"514":{"doc":"Messages received by the processes","kind":"var","name":"clockSync3::clockSync3Spec::rcvd","typeAnnotation":{"id":370,"kind":"fun","arg":{"id":371,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":372,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":373,"kind":"set","elem":{"id":374,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":375,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":376,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":377,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":369,"depth":0},"515":{"id":488,"name":"clockSync3::clockSync3Spec::p_189","kind":"param","depth":1},"516":{"doc":" HELPERS\n`S.add(e)` is `S.union(Set(e))`, i.e., the set derived by adding `e` to `S`","id":285,"kind":"def","name":"clockSync3::clockSync3Spec::add","qualifier":"def","expr":{"id":292,"kind":"lambda","params":[{"id":293,"name":"clockSync3::clockSync3Spec::s_13"},{"id":294,"name":"clockSync3::clockSync3Spec::e_13"}],"qualifier":"def","expr":{"id":295,"kind":"app","opcode":"union","args":[{"id":296,"kind":"name","name":"clockSync3::clockSync3Spec::s_13"},{"id":297,"kind":"app","opcode":"Set","args":[{"id":298,"kind":"name","name":"clockSync3::clockSync3Spec::e_13"}]}]}},"depth":0},"518":{"doc":"Messages received by the processes","kind":"var","name":"clockSync3::clockSync3Spec::rcvd","typeAnnotation":{"id":370,"kind":"fun","arg":{"id":371,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":372,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":373,"kind":"set","elem":{"id":374,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":375,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":376,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":377,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":369,"depth":0},"519":{"id":488,"name":"clockSync3::clockSync3Spec::p_189","kind":"param","depth":1},"520":{"id":490,"kind":"def","name":"clockSync3::clockSync3Spec::newMsg_188","qualifier":"nondet","expr":{"id":491,"kind":"app","opcode":"oneOf","args":[{"id":492,"kind":"name","name":"clockSync3::clockSync3Spec::msgs"}]},"depth":2},"522":{"doc":"The control state of a process","kind":"var","name":"clockSync3::clockSync3Spec::state","typeAnnotation":{"id":337,"kind":"fun","arg":{"id":338,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":339,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":340,"kind":"str"}},"id":336,"depth":0},"523":{"doc":"The control state of a process","kind":"var","name":"clockSync3::clockSync3Spec::state","typeAnnotation":{"id":337,"kind":"fun","arg":{"id":338,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":339,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":340,"kind":"str"}},"id":336,"depth":0},"525":{"doc":"Messages sent by the processes","kind":"var","name":"clockSync3::clockSync3Spec::msgs","typeAnnotation":{"id":364,"kind":"set","elem":{"id":365,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":366,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":367,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":368,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":363,"depth":0},"526":{"doc":"Messages sent by the processes","kind":"var","name":"clockSync3::clockSync3Spec::msgs","typeAnnotation":{"id":364,"kind":"set","elem":{"id":365,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":366,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":367,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":368,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":363,"depth":0},"531":{"doc":"Messages sent by the processes","kind":"var","name":"clockSync3::clockSync3Spec::msgs","typeAnnotation":{"id":364,"kind":"set","elem":{"id":365,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":366,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":367,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":368,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":363,"depth":0},"532":{"doc":"Messages sent by the processes","kind":"var","name":"clockSync3::clockSync3Spec::msgs","typeAnnotation":{"id":364,"kind":"set","elem":{"id":365,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":366,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":367,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":368,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":363,"depth":0},"534":{"doc":"The control state of a process","kind":"var","name":"clockSync3::clockSync3Spec::state","typeAnnotation":{"id":337,"kind":"fun","arg":{"id":338,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":339,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":340,"kind":"str"}},"id":336,"depth":0},"535":{"doc":"The control state of a process","kind":"var","name":"clockSync3::clockSync3Spec::state","typeAnnotation":{"id":337,"kind":"fun","arg":{"id":338,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":339,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":340,"kind":"str"}},"id":336,"depth":0},"537":{"doc":"Messages received by the processes","kind":"var","name":"clockSync3::clockSync3Spec::rcvd","typeAnnotation":{"id":370,"kind":"fun","arg":{"id":371,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":372,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":373,"kind":"set","elem":{"id":374,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":375,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":376,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":377,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":369,"depth":0},"538":{"doc":"Messages received by the processes","kind":"var","name":"clockSync3::clockSync3Spec::rcvd","typeAnnotation":{"id":370,"kind":"fun","arg":{"id":371,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":372,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":373,"kind":"set","elem":{"id":374,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":375,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":376,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":377,"kind":"int"}}],"other":{"kind":"empty"}}}}},"id":369,"depth":0},"543":{"doc":"let time flow","id":440,"kind":"def","name":"clockSync3::clockSync3Spec::advanceClocks","qualifier":"action","expr":{"id":441,"kind":"lambda","params":[{"id":442,"name":"clockSync3::clockSync3Spec::delta_235"}],"qualifier":"action","expr":{"id":443,"kind":"app","opcode":"actionAll","args":[{"id":444,"kind":"app","opcode":"igt","args":[{"id":445,"kind":"name","name":"clockSync3::clockSync3Spec::delta_235"},{"id":446,"kind":"int","value":0}]},{"id":447,"kind":"app","opcode":"forall","args":[{"id":448,"kind":"name","name":"clockSync3::clockSync3Spec::msgs"},{"id":449,"kind":"lambda","params":[{"id":450,"name":"clockSync3::clockSync3Spec::m_216"}],"qualifier":"def","expr":{"id":451,"kind":"app","opcode":"implies","args":[{"id":452,"kind":"app","opcode":"igt","args":[{"id":453,"kind":"app","opcode":"iadd","args":[{"id":454,"kind":"app","opcode":"get","args":[{"id":455,"kind":"name","name":"clockSync3::clockSync3Spec::hc"},{"id":456,"kind":"app","opcode":"field","args":[{"id":457,"kind":"name","name":"clockSync3::clockSync3Spec::m_216"},{"id":458,"kind":"str","value":"src"}]}]},{"id":459,"kind":"name","name":"clockSync3::clockSync3Spec::delta_235"}]},{"id":460,"kind":"name","name":"clockSync3::clockSync3Spec::t_max"}]},{"id":461,"kind":"app","opcode":"forall","args":[{"id":462,"kind":"name","name":"clockSync3::clockSync3Spec::Procs"},{"id":463,"kind":"lambda","params":[{"id":464,"name":"clockSync3::clockSync3Spec::p_213"}],"qualifier":"def","expr":{"id":465,"kind":"app","opcode":"in","args":[{"id":466,"kind":"name","name":"clockSync3::clockSync3Spec::m_216"},{"id":467,"kind":"app","opcode":"get","args":[{"id":468,"kind":"name","name":"clockSync3::clockSync3Spec::rcvd"},{"id":469,"kind":"name","name":"clockSync3::clockSync3Spec::p_213"}]}]}}]}]}}]},{"id":470,"kind":"app","opcode":"assign","args":[{"id":471,"kind":"name","name":"clockSync3::clockSync3Spec::time"},{"id":472,"kind":"app","opcode":"iadd","args":[{"id":473,"kind":"name","name":"clockSync3::clockSync3Spec::time"},{"id":474,"kind":"name","name":"clockSync3::clockSync3Spec::delta_235"}]}]},{"id":475,"kind":"app","opcode":"assign","args":[{"id":476,"kind":"name","name":"clockSync3::clockSync3Spec::hc"},{"id":477,"kind":"app","opcode":"mapBy","args":[{"id":478,"kind":"name","name":"clockSync3::clockSync3Spec::Procs"},{"id":479,"kind":"lambda","params":[{"id":480,"name":"clockSync3::clockSync3Spec::p_230"}],"qualifier":"def","expr":{"id":481,"kind":"app","opcode":"iadd","args":[{"id":482,"kind":"app","opcode":"get","args":[{"id":483,"kind":"name","name":"clockSync3::clockSync3Spec::hc"},{"id":484,"kind":"name","name":"clockSync3::clockSync3Spec::p_230"}]},{"id":485,"kind":"name","name":"clockSync3::clockSync3Spec::delta_235"}]}}]}]}]}},"depth":0},"544":{"id":540,"kind":"def","name":"clockSync3::clockSync3Spec::delta_251","qualifier":"nondet","expr":{"id":541,"kind":"app","opcode":"oneOf","args":[{"id":542,"kind":"name","name":"Int"}]},"depth":1},"547":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"clockSync3::clockSync3Spec::time","typeAnnotation":{"id":284,"kind":"int"},"id":283,"depth":0},"548":{"doc":" STATE\nThe reference clock, inaccessible to the processes","kind":"var","name":"clockSync3::clockSync3Spec::time","typeAnnotation":{"id":284,"kind":"int"},"id":283,"depth":0},"550":{"doc":"Hardware clock of a process","kind":"var","name":"clockSync3::clockSync3Spec::hc","typeAnnotation":{"id":332,"kind":"fun","arg":{"id":333,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":334,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":335,"kind":"int"}},"id":331,"depth":0},"551":{"doc":"Hardware clock of a process","kind":"var","name":"clockSync3::clockSync3Spec::hc","typeAnnotation":{"id":332,"kind":"fun","arg":{"id":333,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":334,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":335,"kind":"int"}},"id":331,"depth":0},"555":{"doc":" DEFINITIONS\nWe fix the model to contain two processes","id":354,"kind":"def","name":"clockSync3::clockSync3Spec::Procs","qualifier":"val","expr":{"id":358,"kind":"app","opcode":"Set","args":[{"id":359,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":360,"kind":"int","value":1}]},{"id":361,"kind":"app","opcode":"clockSync3::clockSync3Spec::Proc","args":[{"id":362,"kind":"int","value":2}]}]},"depth":0},"557":{"doc":" ACTIONS\nSend the value of the hardware clock","id":413,"kind":"def","name":"clockSync3::clockSync3Spec::sendMsg","qualifier":"action","expr":{"id":414,"kind":"lambda","params":[{"id":415,"name":"clockSync3::clockSync3Spec::p_148"}],"qualifier":"action","expr":{"id":416,"kind":"app","opcode":"actionAll","args":[{"id":417,"kind":"app","opcode":"eq","args":[{"id":418,"kind":"app","opcode":"get","args":[{"id":419,"kind":"name","name":"clockSync3::clockSync3Spec::state"},{"id":420,"kind":"name","name":"clockSync3::clockSync3Spec::p_148"}]},{"id":421,"kind":"str","value":"init"}]},{"id":422,"kind":"app","opcode":"assign","args":[{"id":423,"kind":"name","name":"clockSync3::clockSync3Spec::msgs"},{"id":424,"kind":"app","opcode":"clockSync3::clockSync3Spec::add","args":[{"id":425,"kind":"name","name":"clockSync3::clockSync3Spec::msgs"},{"id":426,"kind":"app","opcode":"clockSync3::clockSync3Spec::msgFrom","args":[{"id":427,"kind":"name","name":"clockSync3::clockSync3Spec::p_148"},{"id":428,"kind":"app","opcode":"get","args":[{"id":429,"kind":"name","name":"clockSync3::clockSync3Spec::hc"},{"id":430,"kind":"name","name":"clockSync3::clockSync3Spec::p_148"}]}]}]}]},{"id":431,"kind":"app","opcode":"assign","args":[{"id":432,"kind":"name","name":"clockSync3::clockSync3Spec::state"},{"id":433,"kind":"app","opcode":"set","args":[{"id":434,"kind":"name","name":"clockSync3::clockSync3Spec::state"},{"id":435,"kind":"name","name":"clockSync3::clockSync3Spec::p_148"},{"id":436,"kind":"str","value":"sent"}]}]},{"id":437,"kind":"app","opcode":"assign","args":[{"id":438,"kind":"name","name":"clockSync3::clockSync3Spec::rcvd"},{"id":439,"kind":"name","name":"clockSync3::clockSync3Spec::rcvd"}]}]}},"depth":0},"558":{"id":553,"kind":"def","name":"clockSync3::clockSync3Spec::p_267","qualifier":"nondet","expr":{"id":554,"kind":"app","opcode":"oneOf","args":[{"id":555,"kind":"name","name":"clockSync3::clockSync3Spec::Procs"}]},"depth":1},"559":{"doc":"Receive a message sent by another process","id":486,"kind":"def","name":"clockSync3::clockSync3Spec::receiveMsg","qualifier":"action","expr":{"id":487,"kind":"lambda","params":[{"id":488,"name":"clockSync3::clockSync3Spec::p_189"}],"qualifier":"action","expr":{"id":489,"kind":"let","opdef":{"id":490,"kind":"def","name":"clockSync3::clockSync3Spec::newMsg_188","qualifier":"nondet","expr":{"id":491,"kind":"app","opcode":"oneOf","args":[{"id":492,"kind":"name","name":"clockSync3::clockSync3Spec::msgs"}]}},"expr":{"id":493,"kind":"app","opcode":"actionAll","args":[{"id":494,"kind":"app","opcode":"not","args":[{"id":495,"kind":"app","opcode":"in","args":[{"id":496,"kind":"name","name":"clockSync3::clockSync3Spec::newMsg_188"},{"id":497,"kind":"app","opcode":"get","args":[{"id":498,"kind":"name","name":"clockSync3::clockSync3Spec::rcvd"},{"id":499,"kind":"name","name":"clockSync3::clockSync3Spec::p_189"}]}]}]},{"id":500,"kind":"app","opcode":"igte","args":[{"id":501,"kind":"app","opcode":"get","args":[{"id":502,"kind":"name","name":"clockSync3::clockSync3Spec::hc"},{"id":503,"kind":"app","opcode":"field","args":[{"id":504,"kind":"name","name":"clockSync3::clockSync3Spec::newMsg_188"},{"id":505,"kind":"str","value":"src"}]}]},{"id":506,"kind":"app","opcode":"iadd","args":[{"id":507,"kind":"app","opcode":"field","args":[{"id":508,"kind":"name","name":"clockSync3::clockSync3Spec::newMsg_188"},{"id":509,"kind":"str","value":"ts"}]},{"id":510,"kind":"name","name":"clockSync3::clockSync3Spec::t_min"}]}]},{"id":511,"kind":"app","opcode":"assign","args":[{"id":512,"kind":"name","name":"clockSync3::clockSync3Spec::rcvd"},{"id":513,"kind":"app","opcode":"set","args":[{"id":514,"kind":"name","name":"clockSync3::clockSync3Spec::rcvd"},{"id":515,"kind":"name","name":"clockSync3::clockSync3Spec::p_189"},{"id":516,"kind":"app","opcode":"clockSync3::clockSync3Spec::add","args":[{"id":517,"kind":"app","opcode":"get","args":[{"id":518,"kind":"name","name":"clockSync3::clockSync3Spec::rcvd"},{"id":519,"kind":"name","name":"clockSync3::clockSync3Spec::p_189"}]},{"id":520,"kind":"name","name":"clockSync3::clockSync3Spec::newMsg_188"}]}]}]},{"id":521,"kind":"app","opcode":"assign","args":[{"id":522,"kind":"name","name":"clockSync3::clockSync3Spec::state"},{"id":523,"kind":"name","name":"clockSync3::clockSync3Spec::state"}]},{"id":524,"kind":"app","opcode":"assign","args":[{"id":525,"kind":"name","name":"clockSync3::clockSync3Spec::msgs"},{"id":526,"kind":"name","name":"clockSync3::clockSync3Spec::msgs"}]}]}}},"depth":0},"560":{"id":553,"kind":"def","name":"clockSync3::clockSync3Spec::p_267","qualifier":"nondet","expr":{"id":554,"kind":"app","opcode":"oneOf","args":[{"id":555,"kind":"name","name":"clockSync3::clockSync3Spec::Procs"}]},"depth":1}},"types":{"1":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2}},"2":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"var","name":"a"}},"9":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2}},"10":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"var","name":"a"}},"11":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":3}},"12":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":6}},"13":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2},{"id":3,"kind":"var","name":"a"}],"res":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":6}}},"14":{"typeVariables":["a"],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2},{"id":3,"kind":"var","name":"a"}],"res":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":6}}},"16":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"int"}},"18":{"typeVariables":[],"rowVariables":[],"type":{"id":17,"kind":"int"}},"19":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"int"}},"20":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"21":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"_t4"}},"22":{"typeVariables":[],"rowVariables":[],"type":{"id":17,"kind":"int"}},"23":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"int"}},"24":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"_t5"}},"25":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"_t6"}},"26":{"typeVariables":["_t6","_t5","_t4"],"rowVariables":[],"type":{"kind":"var","name":"_t6"}},"30":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"int"}},"34":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"int"}},"35":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"36":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"37":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":31,"kind":"int"}],"res":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}}},"38":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":31,"kind":"int"}],"res":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}}},"45":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"t_p_45"}},"46":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"t_ts_46"}},"47":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"t_p_45"}},"48":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"49":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"t_ts_46"}},"50":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"51":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"kind":"var","name":"t_p_45"}},{"fieldName":"ts","fieldType":{"kind":"var","name":"t_ts_46"}}],"other":{"kind":"empty"}}}},"52":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"var","name":"t_p_45"},{"kind":"var","name":"t_ts_46"}],"res":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"kind":"var","name":"t_p_45"}},{"fieldName":"ts","fieldType":{"kind":"var","name":"t_ts_46"}}],"other":{"kind":"empty"}}}}},"53":{"typeVariables":["t_p_45","t_ts_46"],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"var","name":"t_p_45"},{"kind":"var","name":"t_ts_46"}],"res":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"kind":"var","name":"t_p_45"}},{"fieldName":"ts","fieldType":{"kind":"var","name":"t_ts_46"}}],"other":{"kind":"empty"}}}}},"58":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"62":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"64":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"68":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"72":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"75":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"76":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"77":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"78":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"79":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"80":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"83":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"84":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"85":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"86":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"str"},"id":5}},"87":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"str"},"id":5}},"88":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"set","elem":{"id":1,"kind":"int"}}},"89":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"90":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"91":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"92":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"93":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"94":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"95":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"96":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"set","elem":{"id":1,"kind":"int"}}},"97":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7},"id":8}},"98":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7}},"99":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7}},"100":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7}},"101":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"102":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"103":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"104":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"105":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"106":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"107":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"108":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"109":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"110":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"str"}}},"111":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"kind":"str"},"id":8}},"112":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"113":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"114":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"115":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"116":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"117":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}}},"118":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2},"id":8}},"119":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"120":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"121":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"122":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"123":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"124":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"125":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"126":{"typeVariables":[],"rowVariables":[],"type":{"id":39,"kind":"str"}},"127":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"128":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"129":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"130":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"131":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"132":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"133":{"typeVariables":[],"rowVariables":[],"type":{"id":60,"kind":"int"}},"134":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":60,"kind":"int"}}],"other":{"kind":"empty"}}}},"135":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":6}},"136":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"137":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"138":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"139":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"140":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"141":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"},"id":8}},"142":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"143":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"144":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"145":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"146":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"147":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"148":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":5,"kind":"bool"}}},"149":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":5,"kind":"bool"}}},"150":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"151":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"152":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"153":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"154":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"155":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"156":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"157":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"158":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"bool"}},"159":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"160":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"161":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"162":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"163":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"164":{"typeVariables":[],"rowVariables":[],"type":{"id":60,"kind":"int"}},"165":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"166":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"167":{"typeVariables":[],"rowVariables":[],"type":{"id":42,"kind":"int"}},"168":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"int"}},"169":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"170":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"171":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"172":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"173":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"174":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"175":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"176":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"177":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":6}},"178":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":8}},"179":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"180":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"181":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"182":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"183":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"184":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"185":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"186":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"187":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"188":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"189":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":6,"kind":"bool"}}},"190":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":6,"kind":"bool"}}},"191":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"192":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"193":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"194":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"195":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"196":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"197":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"198":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"199":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"200":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"201":{"typeVariables":[],"rowVariables":[],"type":{"id":60,"kind":"int"}},"202":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"203":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"204":{"typeVariables":[],"rowVariables":[],"type":{"id":17,"kind":"int"}},"205":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"206":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"207":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"208":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"209":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"210":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"211":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"212":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"bool"}},"213":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":4,"kind":"bool"}}},"214":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"215":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"216":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":3,"kind":"bool"}}},"217":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"218":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"219":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"220":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"221":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"222":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"223":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"224":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"225":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"226":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"227":{"typeVariables":[],"rowVariables":[],"type":{"id":60,"kind":"int"}},"228":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"229":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"230":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":3,"kind":"int"}}},"231":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":3,"kind":"int"},"id":8}},"232":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"233":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"234":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"235":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":1,"kind":"int"}],"res":{"id":5,"kind":"bool"}}},"236":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":1,"kind":"int"}],"res":{"id":5,"kind":"bool"}}},"237":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"238":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"239":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"240":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"241":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"242":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"243":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"244":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"245":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"246":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"set","elem":{"id":1,"kind":"int"}}},"247":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"248":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"249":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"250":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"251":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"252":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"253":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"254":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"255":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"256":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"257":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"258":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"259":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"260":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"261":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"262":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"263":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"264":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"265":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"266":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"267":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"268":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"bool"}},"269":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"270":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"272":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"273":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"274":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"int"}},"275":{"typeVariables":[],"rowVariables":[],"type":{"id":17,"kind":"int"}},"283":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"285":{"typeVariables":["a"],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2},{"id":3,"kind":"var","name":"a"}],"res":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":6}}},"292":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2},{"id":3,"kind":"var","name":"a"}],"res":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":6}}},"293":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2}},"294":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"var","name":"a"}},"295":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":6}},"296":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":2}},"297":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":3,"kind":"var","name":"a"},"id":3}},"298":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"var","name":"a"}},"299":{"typeVariables":["_t6","_t5","_t4"],"rowVariables":[],"type":{"kind":"var","name":"_t6"}},"300":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"_t6"}},"301":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"_t4"}},"302":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"int"}},"303":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"304":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"_t5"}},"305":{"typeVariables":[],"rowVariables":[],"type":{"id":17,"kind":"int"}},"306":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"int"}},"307":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":31,"kind":"int"}],"res":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}}},"312":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":31,"kind":"int"}],"res":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}}},"313":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"int"}},"314":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"315":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"316":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"int"}},"322":{"typeVariables":["t_p_45","t_ts_46"],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"var","name":"t_p_45"},{"kind":"var","name":"t_ts_46"}],"res":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"kind":"var","name":"t_p_45"}},{"fieldName":"ts","fieldType":{"kind":"var","name":"t_ts_46"}}],"other":{"kind":"empty"}}}}},"323":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"var","name":"t_p_45"},{"kind":"var","name":"t_ts_46"}],"res":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"kind":"var","name":"t_p_45"}},{"fieldName":"ts","fieldType":{"kind":"var","name":"t_ts_46"}}],"other":{"kind":"empty"}}}}},"324":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"t_p_45"}},"325":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"t_ts_46"}},"326":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"kind":"var","name":"t_p_45"}},{"fieldName":"ts","fieldType":{"kind":"var","name":"t_ts_46"}}],"other":{"kind":"empty"}}}},"327":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"328":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"t_p_45"}},"329":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"330":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"t_ts_46"}},"331":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"336":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"341":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"str"},"id":5}},"344":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"str"},"id":5}},"345":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"346":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"347":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"354":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"358":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"359":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"360":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"361":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"362":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"363":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"369":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"378":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"379":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"380":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"381":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"382":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"383":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"set","elem":{"id":1,"kind":"int"}}},"384":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"385":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"386":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"387":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"388":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7}},"389":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7}},"390":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7},"id":8}},"391":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"392":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"set","elem":{"id":1,"kind":"int"}}},"393":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"394":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"395":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":1,"kind":"int"},"id":7}},"396":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"397":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"398":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"399":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"400":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"401":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"kind":"str"},"id":8}},"402":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"403":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"str"}}},"404":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"405":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"406":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"407":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"408":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2},"id":8}},"409":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"410":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}}},"411":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"412":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"413":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":5,"kind":"bool"}}},"414":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":5,"kind":"bool"}}},"415":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"416":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"417":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"418":{"typeVariables":[],"rowVariables":[],"type":{"id":39,"kind":"str"}},"419":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"420":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"421":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"422":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"423":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"424":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":6}},"425":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"426":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":60,"kind":"int"}}],"other":{"kind":"empty"}}}},"427":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"428":{"typeVariables":[],"rowVariables":[],"type":{"id":60,"kind":"int"}},"429":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"430":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"431":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"432":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"433":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"},"id":8}},"434":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"435":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"436":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"437":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"438":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"439":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"440":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":1,"kind":"int"}],"res":{"id":5,"kind":"bool"}}},"441":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":1,"kind":"int"}],"res":{"id":5,"kind":"bool"}}},"442":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"443":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"444":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"445":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"446":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"447":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"448":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"449":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":3,"kind":"bool"}}},"450":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"451":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"452":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"453":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"454":{"typeVariables":[],"rowVariables":[],"type":{"id":60,"kind":"int"}},"455":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"456":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"457":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"458":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"459":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"460":{"typeVariables":[],"rowVariables":[],"type":{"id":17,"kind":"int"}},"461":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"462":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"463":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":4,"kind":"bool"}}},"464":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"465":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"bool"}},"466":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"467":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"468":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"469":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"470":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"471":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"472":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"473":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"474":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"475":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"476":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"477":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":3,"kind":"int"},"id":8}},"478":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"479":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":3,"kind":"int"}}},"480":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"481":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"482":{"typeVariables":[],"rowVariables":[],"type":{"id":60,"kind":"int"}},"483":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"484":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"485":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"486":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":6,"kind":"bool"}}},"487":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":6,"kind":"bool"}}},"488":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"489":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"490":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"491":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"492":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"493":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"494":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"495":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"bool"}},"496":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"497":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"498":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"499":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"500":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"501":{"typeVariables":[],"rowVariables":[],"type":{"id":60,"kind":"int"}},"502":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"503":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"504":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"505":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"506":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"507":{"typeVariables":[],"rowVariables":[],"type":{"id":42,"kind":"int"}},"508":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"509":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"510":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"int"}},"511":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"512":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"513":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":8}},"514":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"515":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"516":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}},"id":6}},"517":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"518":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"519":{"typeVariables":[],"rowVariables":[],"type":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},"520":{"typeVariables":[],"rowVariables":[],"type":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}},"521":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"522":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"523":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"524":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"525":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"526":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"527":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"528":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"529":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"530":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"531":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"532":{"typeVariables":[],"rowVariables":[],"type":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}},"533":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"534":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"535":{"typeVariables":[],"rowVariables":[],"type":{"id":71,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":39,"kind":"str"}}},"536":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"537":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"538":{"typeVariables":[],"rowVariables":[],"type":{"id":67,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":55,"kind":"set","elem":{"id":43,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"src","fieldType":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}}},{"fieldName":"ts","fieldType":{"id":42,"kind":"int"}}],"other":{"kind":"empty"}}}}}},"539":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"540":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"541":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"542":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"set","elem":{"id":1,"kind":"int"}}},"543":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"544":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"545":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"bool"}},"546":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"547":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"548":{"typeVariables":[],"rowVariables":[],"type":{"id":57,"kind":"int"}},"549":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"550":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"551":{"typeVariables":[],"rowVariables":[],"type":{"id":61,"kind":"fun","arg":{"id":28,"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":27,"kind":"int"}}],"other":{"kind":"empty"}}},"res":{"id":60,"kind":"int"}}},"552":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"553":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"554":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"555":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}},"id":4}},"556":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"557":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"558":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}},"559":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"560":{"typeVariables":[],"rowVariables":[],"type":{"kind":"rec","fields":{"kind":"row","fields":[{"fieldName":"id","fieldType":{"id":31,"kind":"int"}}],"other":{"kind":"empty"}}}}},"effects":{"1":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v3"}}]},"effectVariables":[],"entityVariables":[]},"2":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v1"}}]},"effectVariables":[],"entityVariables":[]},"9":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v3"}}]},"effectVariables":[],"entityVariables":[]},"10":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v1"}}]},"effectVariables":[],"entityVariables":[]},"11":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v1"}}]},"effectVariables":[],"entityVariables":[]},"12":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v2"},{"kind":"variable","name":"_v0"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v3"},{"kind":"variable","name":"_v1"}]}}]},"effectVariables":[],"entityVariables":[]},"13":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v3"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v1"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v2"},{"kind":"variable","name":"_v0"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v3"},{"kind":"variable","name":"_v1"}]}}]}},"effectVariables":[],"entityVariables":[]},"14":{"effectVariables":[],"entityVariables":["_v2","_v3","_v0","_v1"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v3"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v1"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v2"},{"kind":"variable","name":"_v0"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v3"},{"kind":"variable","name":"_v1"}]}}]}}},"16":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"18":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"19":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"20":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"21":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"22":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"23":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"24":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"25":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"30":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]},"effectVariables":[],"entityVariables":[]},"34":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]},"effectVariables":[],"entityVariables":[]},"35":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"36":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]},"effectVariables":[],"entityVariables":[]},"37":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]}},"effectVariables":[],"entityVariables":[]},"38":{"effectVariables":[],"entityVariables":["_v20","_v21"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]}}},"45":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v25"}}]},"effectVariables":[],"entityVariables":[]},"46":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v29"}}]},"effectVariables":[],"entityVariables":[]},"47":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v25"}}]},"effectVariables":[],"entityVariables":[]},"48":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"49":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v29"}}]},"effectVariables":[],"entityVariables":[]},"50":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"51":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v24"},{"kind":"variable","name":"_v28"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v25"},{"kind":"variable","name":"_v29"}]}}]},"effectVariables":[],"entityVariables":[]},"52":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v25"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v29"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v24"},{"kind":"variable","name":"_v28"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v25"},{"kind":"variable","name":"_v29"}]}}]}},"effectVariables":[],"entityVariables":[]},"53":{"effectVariables":[],"entityVariables":["_v24","_v25","_v28","_v29"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v25"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v29"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v24"},{"kind":"variable","name":"_v28"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v25"},{"kind":"variable","name":"_v29"}]}}]}}},"58":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"62":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"64":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"68":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"72":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"75":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"76":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"77":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"78":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"79":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"80":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"83":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"84":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"85":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"86":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"87":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"88":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"89":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"90":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"91":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"92":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"93":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"94":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"95":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"96":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"97":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"98":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"99":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"100":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"101":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"102":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"103":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"104":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"105":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"106":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"107":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"108":{"effect":{"kind":"variable","name":"_e18"},"effectVariables":[],"entityVariables":[]},"109":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"110":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"111":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"112":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"113":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"114":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"115":{"effect":{"kind":"variable","name":"_e21"},"effectVariables":[],"entityVariables":[]},"116":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"117":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"118":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"119":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"120":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"121":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"122":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]}},"123":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}}]},"effectVariables":[],"entityVariables":[]},"124":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"125":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"126":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"127":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"128":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}]}}]},"effectVariables":[],"entityVariables":[]},"129":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"130":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"131":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"132":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"133":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"134":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"135":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62},{"name":"msgs","reference":64}]}]}}]},"effectVariables":[],"entityVariables":[]},"136":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"137":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62},{"name":"msgs","reference":64}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"138":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"139":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}}]},"effectVariables":[],"entityVariables":[]},"140":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"141":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}]}}]},"effectVariables":[],"entityVariables":[]},"142":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"143":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"144":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"145":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"146":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"147":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"148":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]}},"effectVariables":[],"entityVariables":[]},"149":{"effectVariables":[],"entityVariables":["_v82"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]}}},"150":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}}]},"effectVariables":[],"entityVariables":[]},"151":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"152":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"153":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]}},"154":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"155":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"156":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"157":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"158":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"159":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64}]}]}}]},"effectVariables":[],"entityVariables":[]},"160":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"161":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"162":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"163":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"164":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62},{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"165":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"166":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"167":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"168":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"169":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"170":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62},{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"171":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"172":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"173":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"174":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"175":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"176":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"177":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"178":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64}]}]}}]},"effectVariables":[],"entityVariables":[]},"179":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"180":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"181":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"182":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"183":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"184":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"185":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"186":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"187":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"state","reference":72}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"state","reference":72},{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"188":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"state","reference":72}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"state","reference":72},{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"189":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"state","reference":72}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"state","reference":72},{"name":"msgs","reference":64}]}}]}},"effectVariables":[],"entityVariables":[]},"190":{"effectVariables":[],"entityVariables":["_v189"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"state","reference":72}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"state","reference":72},{"name":"msgs","reference":64}]}}]}}},"191":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}}]},"effectVariables":[],"entityVariables":[]},"192":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"193":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"194":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}}]},"effectVariables":[],"entityVariables":[]},"195":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"196":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v124"}}]},"effectVariables":[],"entityVariables":[]},"197":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"198":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v124"}}]},"effectVariables":[],"entityVariables":[]},"199":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"200":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v124"}}]},"effectVariables":[],"entityVariables":[]},"201":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}}]},"effectVariables":[],"entityVariables":[]},"202":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"203":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"204":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"205":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"206":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"207":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v139"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v140"}}]},"effectVariables":[],"entityVariables":[]},"208":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v124"}}]},"effectVariables":[],"entityVariables":[]},"209":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"210":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v139"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v140"}}]},"effectVariables":[],"entityVariables":[]},"211":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v139"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v140"}}]},"effectVariables":[],"entityVariables":[]},"212":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"variable","name":"_v139"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v140"}}]},"effectVariables":[],"entityVariables":[]},"213":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}}]}},"effectVariables":[],"entityVariables":[]},"214":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}}]},"effectVariables":[],"entityVariables":[]},"215":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62},{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"216":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]}},"effectVariables":[],"entityVariables":[]},"217":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68}]}]}}]},"effectVariables":[],"entityVariables":[]},"218":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"219":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"220":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}]}}]},"effectVariables":[],"entityVariables":[]},"221":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"222":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"223":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"224":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v165"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v166"}}]},"effectVariables":[],"entityVariables":[]},"225":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"226":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v165"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v166"}}]},"effectVariables":[],"entityVariables":[]},"227":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v165"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v166"}}]},"effectVariables":[],"entityVariables":[]},"228":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}}]},"effectVariables":[],"entityVariables":[]},"229":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v165"},{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v166"}}]},"effectVariables":[],"entityVariables":[]},"230":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}}]}},"effectVariables":[],"entityVariables":[]},"231":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}}]},"effectVariables":[],"entityVariables":[]},"232":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"233":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"234":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68},{"name":"time","reference":58}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"235":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68},{"name":"time","reference":58}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62}]}}]}},"effectVariables":[],"entityVariables":[]},"236":{"effectVariables":[],"entityVariables":["_v120"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68},{"name":"time","reference":58}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62}]}}]}}},"237":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"238":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"239":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"240":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"241":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"242":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"243":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"244":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"245":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"246":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"247":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"248":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"249":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"250":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68},{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"251":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68},{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"252":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"hc","reference":62},{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"time","reference":58},{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"253":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"254":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"255":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"256":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"257":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"258":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"259":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"260":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"261":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"262":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"263":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"264":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"265":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"state","reference":72}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"state","reference":72},{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"266":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"267":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"268":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62},{"name":"state","reference":72},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"269":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"hc","reference":62},{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"time","reference":58},{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"270":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"hc","reference":62},{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"time","reference":58},{"name":"hc","reference":62}]}}]}},"272":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"273":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"283":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"285":{"effectVariables":[],"entityVariables":["_v2","_v3","_v0","_v1"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v3"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v1"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v2"},{"kind":"variable","name":"_v0"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v3"},{"kind":"variable","name":"_v1"}]}}]}}},"292":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v3"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v1"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v2"},{"kind":"variable","name":"_v0"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v3"},{"kind":"variable","name":"_v1"}]}}]}},"effectVariables":[],"entityVariables":[]},"293":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v3"}}]},"effectVariables":[],"entityVariables":[]},"294":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v1"}}]},"effectVariables":[],"entityVariables":[]},"295":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v2"},{"kind":"variable","name":"_v0"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v3"},{"kind":"variable","name":"_v1"}]}}]},"effectVariables":[],"entityVariables":[]},"296":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v2"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v3"}}]},"effectVariables":[],"entityVariables":[]},"297":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v1"}}]},"effectVariables":[],"entityVariables":[]},"298":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v0"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v1"}}]},"effectVariables":[],"entityVariables":[]},"300":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"301":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"302":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"303":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"304":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"305":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"306":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"307":{"effectVariables":[],"entityVariables":["_v20","_v21"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]}}},"312":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]}},"effectVariables":[],"entityVariables":[]},"313":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]},"effectVariables":[],"entityVariables":[]},"314":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]},"effectVariables":[],"entityVariables":[]},"315":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"316":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v20"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v21"}}]},"effectVariables":[],"entityVariables":[]},"322":{"effectVariables":[],"entityVariables":["_v24","_v25","_v28","_v29"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v25"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v29"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v24"},{"kind":"variable","name":"_v28"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v25"},{"kind":"variable","name":"_v29"}]}}]}}},"323":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v25"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v29"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v24"},{"kind":"variable","name":"_v28"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v25"},{"kind":"variable","name":"_v29"}]}}]}},"effectVariables":[],"entityVariables":[]},"324":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v25"}}]},"effectVariables":[],"entityVariables":[]},"325":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v29"}}]},"effectVariables":[],"entityVariables":[]},"326":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v24"},{"kind":"variable","name":"_v28"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v25"},{"kind":"variable","name":"_v29"}]}}]},"effectVariables":[],"entityVariables":[]},"327":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"328":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v24"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v25"}}]},"effectVariables":[],"entityVariables":[]},"329":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"330":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v28"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v29"}}]},"effectVariables":[],"entityVariables":[]},"331":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"336":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"341":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"344":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"345":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"346":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"347":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"354":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"358":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"359":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"360":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"361":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"362":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"363":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"369":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"378":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]}},"379":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"380":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"381":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"382":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"383":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"384":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"385":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"386":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"387":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"388":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"389":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"390":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"391":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"392":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"393":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"394":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"395":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"396":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"397":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"398":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"399":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"400":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"401":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"402":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"403":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"404":{"effect":{"kind":"variable","name":"_e18"},"effectVariables":[],"entityVariables":[]},"405":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"406":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"407":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"408":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"409":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"410":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"411":{"effect":{"kind":"variable","name":"_e21"},"effectVariables":[],"entityVariables":[]},"412":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"413":{"effectVariables":[],"entityVariables":["_v82"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]}}},"414":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]}},"effectVariables":[],"entityVariables":[]},"415":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}}]},"effectVariables":[],"entityVariables":[]},"416":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"417":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}]}}]},"effectVariables":[],"entityVariables":[]},"418":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"419":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"420":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"421":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"422":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62},{"name":"msgs","reference":64}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"423":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"424":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62},{"name":"msgs","reference":64}]}]}}]},"effectVariables":[],"entityVariables":[]},"425":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"426":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"427":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"428":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"429":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"430":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v83"}}]},"effectVariables":[],"entityVariables":[]},"431":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"432":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"433":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v82"},{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}]}}]},"effectVariables":[],"entityVariables":[]},"434":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"435":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v82"}}]},"effectVariables":[],"entityVariables":[]},"436":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"437":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"438":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"439":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"440":{"effectVariables":[],"entityVariables":["_v120"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68},{"name":"time","reference":58}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62}]}}]}}},"441":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68},{"name":"time","reference":58}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62}]}}]}},"effectVariables":[],"entityVariables":[]},"442":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}}]},"effectVariables":[],"entityVariables":[]},"443":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68},{"name":"time","reference":58}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"444":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}}]},"effectVariables":[],"entityVariables":[]},"445":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"446":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"447":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68}]}]}}]},"effectVariables":[],"entityVariables":[]},"448":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"449":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]}},"effectVariables":[],"entityVariables":[]},"450":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v124"}}]},"effectVariables":[],"entityVariables":[]},"451":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62},{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"452":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"453":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"454":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}}]},"effectVariables":[],"entityVariables":[]},"455":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"456":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v124"}}]},"effectVariables":[],"entityVariables":[]},"457":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v124"}}]},"effectVariables":[],"entityVariables":[]},"458":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"459":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"460":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"461":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}}]},"effectVariables":[],"entityVariables":[]},"462":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"463":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}}]}},"effectVariables":[],"entityVariables":[]},"464":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v139"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v140"}}]},"effectVariables":[],"entityVariables":[]},"465":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v124"},{"kind":"variable","name":"_v139"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v140"}}]},"effectVariables":[],"entityVariables":[]},"466":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v124"}}]},"effectVariables":[],"entityVariables":[]},"467":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v139"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v140"}}]},"effectVariables":[],"entityVariables":[]},"468":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"469":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v139"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v140"}}]},"effectVariables":[],"entityVariables":[]},"470":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"471":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"472":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}]}}]},"effectVariables":[],"entityVariables":[]},"473":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"474":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v121"}}]},"effectVariables":[],"entityVariables":[]},"475":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"476":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"477":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}}]},"effectVariables":[],"entityVariables":[]},"478":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"479":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}}]}},"effectVariables":[],"entityVariables":[]},"480":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v165"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v166"}}]},"effectVariables":[],"entityVariables":[]},"481":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v165"},{"kind":"variable","name":"_v120"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v166"}}]},"effectVariables":[],"entityVariables":[]},"482":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v165"},{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v166"}}]},"effectVariables":[],"entityVariables":[]},"483":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"484":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v165"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v166"}}]},"effectVariables":[],"entityVariables":[]},"485":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v120"}}]},"effectVariables":[],"entityVariables":[]},"486":{"effectVariables":[],"entityVariables":["_v189"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"state","reference":72}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"state","reference":72},{"name":"msgs","reference":64}]}}]}}},"487":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"state","reference":72}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"state","reference":72},{"name":"msgs","reference":64}]}}]}},"effectVariables":[],"entityVariables":[]},"488":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}}]},"effectVariables":[],"entityVariables":[]},"489":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"state","reference":72}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"state","reference":72},{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"490":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]}},"491":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"492":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"493":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"state","reference":72}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"state","reference":72},{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"494":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64}]}]}}]},"effectVariables":[],"entityVariables":[]},"495":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"496":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"497":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"498":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"499":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"500":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62},{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"501":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62},{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"502":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"503":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"504":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"505":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"506":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"507":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"508":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"509":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"510":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"511":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"512":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"513":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64}]}]}}]},"effectVariables":[],"entityVariables":[]},"514":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"515":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"516":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"517":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v189"},{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"518":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"519":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v189"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v190"}}]},"effectVariables":[],"entityVariables":[]},"520":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"521":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"522":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"523":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"524":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"525":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"526":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"527":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"hc","reference":62},{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"time","reference":58},{"name":"hc","reference":62}]}}]}},"528":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"hc","reference":62},{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"time","reference":58},{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"529":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"hc","reference":62},{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68},{"name":"time","reference":58},{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"530":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"531":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"532":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"533":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"534":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"535":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72}]}}]},"effectVariables":[],"entityVariables":[]},"536":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"537":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"538":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"539":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68},{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"540":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"541":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"542":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"543":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"rcvd","reference":68},{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"544":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"545":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62},{"name":"state","reference":72},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"546":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"547":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"548":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"time","reference":58}]}}]},"effectVariables":[],"entityVariables":[]},"549":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"550":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"551":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"hc","reference":62}]}}]},"effectVariables":[],"entityVariables":[]},"552":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"553":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"554":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"555":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"556":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"557":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"state","reference":72},{"name":"hc","reference":62},{"name":"msgs","reference":64},{"name":"rcvd","reference":68}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"msgs","reference":64},{"name":"state","reference":72},{"name":"rcvd","reference":68}]}}]},"effectVariables":[],"entityVariables":[]},"558":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"559":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"msgs","reference":64},{"name":"hc","reference":62},{"name":"state","reference":72}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"rcvd","reference":68},{"name":"state","reference":72},{"name":"msgs","reference":64}]}}]},"effectVariables":[],"entityVariables":[]},"560":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]}},"errors":[]} \ No newline at end of file diff --git a/tla-io/src/test/resources/tictactoe.json b/tla-io/src/test/resources/tictactoe.json index e1f49677bd..dfbe793806 100644 --- a/tla-io/src/test/resources/tictactoe.json +++ b/tla-io/src/test/resources/tictactoe.json @@ -1 +1 @@ -{"stage":"typechecking","warnings":[],"modules":[{"id":444,"name":"tictactoe","declarations":[{"id":112,"kind":"def","name":"corners","qualifier":"pureval","expr":{"id":111,"kind":"app","opcode":"Set","args":[{"id":101,"kind":"app","opcode":"Tup","args":[{"id":99,"kind":"int","value":1},{"id":100,"kind":"int","value":1}]},{"id":104,"kind":"app","opcode":"Tup","args":[{"id":102,"kind":"int","value":3},{"id":103,"kind":"int","value":1}]},{"id":107,"kind":"app","opcode":"Tup","args":[{"id":105,"kind":"int","value":1},{"id":106,"kind":"int","value":3}]},{"id":110,"kind":"app","opcode":"Tup","args":[{"id":108,"kind":"int","value":3},{"id":109,"kind":"int","value":3}]}]}},{"id":16,"kind":"def","name":"boardCoordinates","qualifier":"pureval","expr":{"id":15,"kind":"app","opcode":"tuples","args":[{"id":11,"kind":"app","opcode":"to","args":[{"id":9,"kind":"int","value":1},{"id":10,"kind":"int","value":3}]},{"id":14,"kind":"app","opcode":"to","args":[{"id":12,"kind":"int","value":1},{"id":13,"kind":"int","value":3}]}]}},{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":5,"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"id":4,"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"}}},"id":6},{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":7,"kind":"str"},"id":8},{"id":98,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":97,"kind":"app","opcode":"Set","args":[{"id":26,"kind":"app","opcode":"Set","args":[{"id":19,"kind":"app","opcode":"Tup","args":[{"id":17,"kind":"int","value":1},{"id":18,"kind":"int","value":1}]},{"id":22,"kind":"app","opcode":"Tup","args":[{"id":20,"kind":"int","value":1},{"id":21,"kind":"int","value":2}]},{"id":25,"kind":"app","opcode":"Tup","args":[{"id":23,"kind":"int","value":1},{"id":24,"kind":"int","value":3}]}]},{"id":36,"kind":"app","opcode":"Set","args":[{"id":29,"kind":"app","opcode":"Tup","args":[{"id":27,"kind":"int","value":2},{"id":28,"kind":"int","value":1}]},{"id":32,"kind":"app","opcode":"Tup","args":[{"id":30,"kind":"int","value":2},{"id":31,"kind":"int","value":2}]},{"id":35,"kind":"app","opcode":"Tup","args":[{"id":33,"kind":"int","value":2},{"id":34,"kind":"int","value":3}]}]},{"id":46,"kind":"app","opcode":"Set","args":[{"id":39,"kind":"app","opcode":"Tup","args":[{"id":37,"kind":"int","value":3},{"id":38,"kind":"int","value":1}]},{"id":42,"kind":"app","opcode":"Tup","args":[{"id":40,"kind":"int","value":3},{"id":41,"kind":"int","value":2}]},{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":3},{"id":44,"kind":"int","value":3}]}]},{"id":56,"kind":"app","opcode":"Set","args":[{"id":49,"kind":"app","opcode":"Tup","args":[{"id":47,"kind":"int","value":1},{"id":48,"kind":"int","value":1}]},{"id":52,"kind":"app","opcode":"Tup","args":[{"id":50,"kind":"int","value":2},{"id":51,"kind":"int","value":1}]},{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":3},{"id":54,"kind":"int","value":1}]}]},{"id":66,"kind":"app","opcode":"Set","args":[{"id":59,"kind":"app","opcode":"Tup","args":[{"id":57,"kind":"int","value":1},{"id":58,"kind":"int","value":2}]},{"id":62,"kind":"app","opcode":"Tup","args":[{"id":60,"kind":"int","value":2},{"id":61,"kind":"int","value":2}]},{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":2}]}]},{"id":76,"kind":"app","opcode":"Set","args":[{"id":69,"kind":"app","opcode":"Tup","args":[{"id":67,"kind":"int","value":1},{"id":68,"kind":"int","value":3}]},{"id":72,"kind":"app","opcode":"Tup","args":[{"id":70,"kind":"int","value":2},{"id":71,"kind":"int","value":3}]},{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":3},{"id":74,"kind":"int","value":3}]}]},{"id":86,"kind":"app","opcode":"Set","args":[{"id":79,"kind":"app","opcode":"Tup","args":[{"id":77,"kind":"int","value":1},{"id":78,"kind":"int","value":1}]},{"id":82,"kind":"app","opcode":"Tup","args":[{"id":80,"kind":"int","value":2},{"id":81,"kind":"int","value":2}]},{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":3},{"id":84,"kind":"int","value":3}]}]},{"id":96,"kind":"app","opcode":"Set","args":[{"id":89,"kind":"app","opcode":"Tup","args":[{"id":87,"kind":"int","value":3},{"id":88,"kind":"int","value":1}]},{"id":92,"kind":"app","opcode":"Tup","args":[{"id":90,"kind":"int","value":2},{"id":91,"kind":"int","value":2}]},{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]}]}]}},{"id":126,"kind":"def","name":"hasValue","qualifier":"def","expr":{"id":126,"kind":"lambda","params":[{"id":113,"name":"coordinate"},{"id":114,"name":"player"}],"qualifier":"def","expr":{"id":125,"kind":"app","opcode":"eq","args":[{"id":123,"kind":"app","opcode":"get","args":[{"id":119,"kind":"app","opcode":"get","args":[{"id":115,"kind":"name","name":"board"},{"id":118,"kind":"app","opcode":"item","args":[{"id":116,"kind":"name","name":"coordinate"},{"id":117,"kind":"int","value":1}]}]},{"id":122,"kind":"app","opcode":"item","args":[{"id":120,"kind":"name","name":"coordinate"},{"id":121,"kind":"int","value":2}]}]},{"id":124,"kind":"name","name":"player"}]}}},{"id":414,"kind":"def","name":"init","qualifier":"action","expr":{"id":413,"kind":"app","opcode":"actionAll","args":[{"id":397,"kind":"app","opcode":"assign","args":[{"id":396,"kind":"name","name":"nextTurn"},{"id":395,"kind":"str","value":"X"}]},{"id":412,"kind":"app","opcode":"assign","args":[{"id":411,"kind":"name","name":"board"},{"id":410,"kind":"app","opcode":"mapBy","args":[{"id":400,"kind":"app","opcode":"to","args":[{"id":398,"kind":"int","value":1},{"id":399,"kind":"int","value":3}]},{"id":409,"kind":"lambda","params":[{"id":401,"name":"_"}],"qualifier":"def","expr":{"id":408,"kind":"app","opcode":"mapBy","args":[{"id":404,"kind":"app","opcode":"to","args":[{"id":402,"kind":"int","value":1},{"id":403,"kind":"int","value":3}]},{"id":407,"kind":"lambda","params":[{"id":405,"name":"_"}],"qualifier":"def","expr":{"id":406,"kind":"str","value":"_"}}]}}]}]}]}},{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},{"id":148,"kind":"def","name":"won","qualifier":"def","expr":{"id":148,"kind":"lambda","params":[{"id":136,"name":"player"}],"qualifier":"def","expr":{"id":147,"kind":"app","opcode":"exists","args":[{"id":137,"kind":"name","name":"winningPatterns"},{"id":146,"kind":"lambda","params":[{"id":138,"name":"pattern"}],"qualifier":"def","expr":{"id":145,"kind":"app","opcode":"forall","args":[{"id":139,"kind":"name","name":"pattern"},{"id":144,"kind":"lambda","params":[{"id":140,"name":"coordinate"}],"qualifier":"def","expr":{"id":143,"kind":"app","opcode":"hasValue","args":[{"id":141,"kind":"name","name":"coordinate"},{"id":142,"kind":"name","name":"player"}]}}]}}]}}},{"id":135,"kind":"def","name":"boardEmpty","qualifier":"val","expr":{"id":134,"kind":"app","opcode":"forall","args":[{"id":132,"kind":"name","name":"boardCoordinates"},{"id":133,"kind":"name","name":"isEmpty"}]}},{"id":153,"kind":"def","name":"boardFull","qualifier":"val","expr":{"id":152,"kind":"app","opcode":"not","args":[{"id":151,"kind":"app","opcode":"exists","args":[{"id":149,"kind":"name","name":"boardCoordinates"},{"id":150,"kind":"name","name":"isEmpty"}]}]}},{"id":193,"kind":"def","name":"canWinWithPattern","qualifier":"def","expr":{"id":193,"kind":"lambda","params":[{"id":172,"name":"pattern"}],"qualifier":"def","expr":{"id":192,"kind":"app","opcode":"and","args":[{"id":182,"kind":"app","opcode":"eq","args":[{"id":180,"kind":"app","opcode":"size","args":[{"id":179,"kind":"app","opcode":"filter","args":[{"id":173,"kind":"name","name":"pattern"},{"id":178,"kind":"lambda","params":[{"id":174,"name":"coordinate"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"hasValue","args":[{"id":175,"kind":"name","name":"coordinate"},{"id":176,"kind":"str","value":"X"}]}}]}]},{"id":181,"kind":"int","value":2}]},{"id":191,"kind":"app","opcode":"eq","args":[{"id":189,"kind":"app","opcode":"size","args":[{"id":188,"kind":"app","opcode":"filter","args":[{"id":183,"kind":"name","name":"pattern"},{"id":187,"kind":"lambda","params":[{"id":184,"name":"coordinate"}],"qualifier":"def","expr":{"id":186,"kind":"app","opcode":"isEmpty","args":[{"id":185,"kind":"name","name":"coordinate"}]}}]}]},{"id":190,"kind":"int","value":1}]}]}}},{"id":215,"kind":"def","name":"canBlockWithPattern","qualifier":"def","expr":{"id":215,"kind":"lambda","params":[{"id":194,"name":"pattern"}],"qualifier":"def","expr":{"id":214,"kind":"app","opcode":"and","args":[{"id":204,"kind":"app","opcode":"eq","args":[{"id":202,"kind":"app","opcode":"size","args":[{"id":201,"kind":"app","opcode":"filter","args":[{"id":195,"kind":"name","name":"pattern"},{"id":200,"kind":"lambda","params":[{"id":196,"name":"coordinate"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"hasValue","args":[{"id":197,"kind":"name","name":"coordinate"},{"id":198,"kind":"str","value":"O"}]}}]}]},{"id":203,"kind":"int","value":2}]},{"id":213,"kind":"app","opcode":"eq","args":[{"id":211,"kind":"app","opcode":"size","args":[{"id":210,"kind":"app","opcode":"filter","args":[{"id":205,"kind":"name","name":"pattern"},{"id":209,"kind":"lambda","params":[{"id":206,"name":"coordinate"}],"qualifier":"def","expr":{"id":208,"kind":"app","opcode":"isEmpty","args":[{"id":207,"kind":"name","name":"coordinate"}]}}]}]},{"id":212,"kind":"int","value":1}]}]}}},{"id":237,"kind":"def","name":"canSetupWinWithPattern","qualifier":"def","expr":{"id":237,"kind":"lambda","params":[{"id":216,"name":"pattern"}],"qualifier":"def","expr":{"id":236,"kind":"app","opcode":"and","args":[{"id":226,"kind":"app","opcode":"eq","args":[{"id":224,"kind":"app","opcode":"size","args":[{"id":223,"kind":"app","opcode":"filter","args":[{"id":217,"kind":"name","name":"pattern"},{"id":222,"kind":"lambda","params":[{"id":218,"name":"coordinate"}],"qualifier":"def","expr":{"id":221,"kind":"app","opcode":"hasValue","args":[{"id":219,"kind":"name","name":"coordinate"},{"id":220,"kind":"str","value":"X"}]}}]}]},{"id":225,"kind":"int","value":1}]},{"id":235,"kind":"app","opcode":"eq","args":[{"id":233,"kind":"app","opcode":"size","args":[{"id":232,"kind":"app","opcode":"filter","args":[{"id":227,"kind":"name","name":"pattern"},{"id":231,"kind":"lambda","params":[{"id":228,"name":"coordinate"}],"qualifier":"def","expr":{"id":230,"kind":"app","opcode":"isEmpty","args":[{"id":229,"kind":"name","name":"coordinate"}]}}]}]},{"id":234,"kind":"int","value":2}]}]}}},{"id":250,"kind":"def","name":"canTakeCenter","qualifier":"val","expr":{"id":249,"kind":"app","opcode":"isEmpty","args":[{"id":248,"kind":"app","opcode":"Tup","args":[{"id":246,"kind":"int","value":2},{"id":247,"kind":"int","value":2}]}]}},{"id":275,"kind":"def","name":"Move","qualifier":"action","expr":{"id":275,"kind":"lambda","params":[{"id":255,"name":"player"},{"id":256,"name":"coordinate"}],"qualifier":"action","expr":{"id":274,"kind":"app","opcode":"actionAll","args":[{"id":258,"kind":"app","opcode":"isEmpty","args":[{"id":257,"kind":"name","name":"coordinate"}]},{"id":273,"kind":"app","opcode":"assign","args":[{"id":272,"kind":"name","name":"board"},{"id":271,"kind":"app","opcode":"setBy","args":[{"id":259,"kind":"name","name":"board"},{"id":262,"kind":"app","opcode":"item","args":[{"id":260,"kind":"name","name":"coordinate"},{"id":261,"kind":"int","value":1}]},{"id":270,"kind":"lambda","params":[{"id":263,"name":"row"}],"qualifier":"def","expr":{"id":269,"kind":"app","opcode":"set","args":[{"id":264,"kind":"name","name":"row"},{"id":267,"kind":"app","opcode":"item","args":[{"id":265,"kind":"name","name":"coordinate"},{"id":266,"kind":"int","value":2}]},{"id":268,"kind":"name","name":"player"}]}}]}]}]}}},{"doc":"X has not won. This does not hold, as X wins most of the times.","id":430,"kind":"def","name":"XHasNotWon","qualifier":"val","expr":{"id":429,"kind":"app","opcode":"not","args":[{"id":428,"kind":"app","opcode":"won","args":[{"id":427,"kind":"str","value":"X"}]}]}},{"doc":"O has not won. This should hold, as O can only achieve a draw.","id":434,"kind":"def","name":"OHasNotWon","qualifier":"val","expr":{"id":433,"kind":"app","opcode":"not","args":[{"id":432,"kind":"app","opcode":"won","args":[{"id":431,"kind":"str","value":"O"}]}]}},{"doc":"This is not always true, as if O picks the right moves, the game will\nresult in a stalemate.","id":443,"kind":"def","name":"XMustEventuallyWin","qualifier":"temporal","expr":{"id":442,"kind":"app","opcode":"eventually","args":[{"id":441,"kind":"app","opcode":"won","args":[{"id":440,"kind":"str","value":"X"}]}]}},{"id":163,"kind":"def","name":"stalemate","qualifier":"val","expr":{"id":162,"kind":"app","opcode":"and","args":[{"id":158,"kind":"app","opcode":"and","args":[{"id":154,"kind":"name","name":"boardFull"},{"id":157,"kind":"app","opcode":"not","args":[{"id":156,"kind":"app","opcode":"won","args":[{"id":155,"kind":"str","value":"X"}]}]}]},{"id":161,"kind":"app","opcode":"not","args":[{"id":160,"kind":"app","opcode":"won","args":[{"id":159,"kind":"str","value":"O"}]}]}]}},{"id":171,"kind":"def","name":"gameOver","qualifier":"val","expr":{"id":170,"kind":"app","opcode":"or","args":[{"id":168,"kind":"app","opcode":"or","args":[{"id":165,"kind":"app","opcode":"won","args":[{"id":164,"kind":"str","value":"X"}]},{"id":167,"kind":"app","opcode":"won","args":[{"id":166,"kind":"str","value":"O"}]}]},{"id":169,"kind":"name","name":"boardFull"}]}},{"id":241,"kind":"def","name":"canWin","qualifier":"val","expr":{"id":240,"kind":"app","opcode":"exists","args":[{"id":238,"kind":"name","name":"winningPatterns"},{"id":239,"kind":"name","name":"canWinWithPattern"}]}},{"id":245,"kind":"def","name":"canBlock","qualifier":"val","expr":{"id":244,"kind":"app","opcode":"exists","args":[{"id":242,"kind":"name","name":"winningPatterns"},{"id":243,"kind":"name","name":"canBlockWithPattern"}]}},{"id":254,"kind":"def","name":"canSetupWin","qualifier":"val","expr":{"id":253,"kind":"app","opcode":"exists","args":[{"id":251,"kind":"name","name":"winningPatterns"},{"id":252,"kind":"name","name":"canSetupWinWithPattern"}]}},{"id":317,"kind":"def","name":"TakeCenter","qualifier":"action","expr":{"id":316,"kind":"app","opcode":"Move","args":[{"id":312,"kind":"str","value":"X"},{"id":315,"kind":"app","opcode":"Tup","args":[{"id":313,"kind":"int","value":2},{"id":314,"kind":"int","value":2}]}]}},{"id":334,"kind":"def","name":"SetupWin","qualifier":"action","expr":{"id":333,"kind":"app","opcode":"actionAll","args":[{"id":332,"kind":"let","opdef":{"id":322,"kind":"def","name":"pattern","qualifier":"nondet","expr":{"id":321,"kind":"app","opcode":"oneOf","args":[{"id":320,"kind":"app","opcode":"filter","args":[{"id":318,"kind":"name","name":"winningPatterns"},{"id":319,"kind":"name","name":"canSetupWinWithPattern"}]}]}},"expr":{"id":331,"kind":"let","opdef":{"id":327,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":326,"kind":"app","opcode":"oneOf","args":[{"id":325,"kind":"app","opcode":"filter","args":[{"id":323,"kind":"name","name":"pattern"},{"id":324,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":330,"kind":"app","opcode":"Move","args":[{"id":328,"kind":"str","value":"X"},{"id":329,"kind":"name","name":"coordinate"}]}}}]}},{"id":345,"kind":"def","name":"MoveToEmpty","qualifier":"action","expr":{"id":345,"kind":"lambda","params":[{"id":335,"name":"player"}],"qualifier":"action","expr":{"id":344,"kind":"let","opdef":{"id":340,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":339,"kind":"app","opcode":"oneOf","args":[{"id":338,"kind":"app","opcode":"filter","args":[{"id":336,"kind":"name","name":"boardCoordinates"},{"id":337,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":343,"kind":"app","opcode":"Move","args":[{"id":341,"kind":"name","name":"player"},{"id":342,"kind":"name","name":"coordinate"}]}}}},{"id":353,"kind":"def","name":"StartInCorner","qualifier":"action","expr":{"id":352,"kind":"let","opdef":{"id":348,"kind":"def","name":"corner","qualifier":"nondet","expr":{"id":347,"kind":"app","opcode":"oneOf","args":[{"id":346,"kind":"name","name":"corners"}]}},"expr":{"id":351,"kind":"app","opcode":"Move","args":[{"id":349,"kind":"str","value":"X"},{"id":350,"kind":"name","name":"corner"}]}}},{"doc":"OHasNotWon is our default invariant for running the simulator/verifier\nas it is the only invariant that holds. Check `NotStalemate` for an\ninteresting counterexample.","id":439,"kind":"def","name":"inv","qualifier":"val","expr":{"id":438,"kind":"name","name":"OHasNotWon"}},{"id":293,"kind":"def","name":"Win","qualifier":"action","expr":{"id":292,"kind":"app","opcode":"actionAll","args":[{"id":276,"kind":"name","name":"canWin"},{"id":291,"kind":"let","opdef":{"id":281,"kind":"def","name":"pattern","qualifier":"nondet","expr":{"id":280,"kind":"app","opcode":"oneOf","args":[{"id":279,"kind":"app","opcode":"filter","args":[{"id":277,"kind":"name","name":"winningPatterns"},{"id":278,"kind":"name","name":"canWinWithPattern"}]}]}},"expr":{"id":290,"kind":"let","opdef":{"id":286,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":285,"kind":"app","opcode":"oneOf","args":[{"id":284,"kind":"app","opcode":"filter","args":[{"id":282,"kind":"name","name":"pattern"},{"id":283,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":289,"kind":"app","opcode":"Move","args":[{"id":287,"kind":"str","value":"X"},{"id":288,"kind":"name","name":"coordinate"}]}}}]}},{"id":311,"kind":"def","name":"Block","qualifier":"action","expr":{"id":310,"kind":"app","opcode":"actionAll","args":[{"id":294,"kind":"name","name":"canBlock"},{"id":309,"kind":"let","opdef":{"id":299,"kind":"def","name":"pattern","qualifier":"nondet","expr":{"id":298,"kind":"app","opcode":"oneOf","args":[{"id":297,"kind":"app","opcode":"filter","args":[{"id":295,"kind":"name","name":"winningPatterns"},{"id":296,"kind":"name","name":"canBlockWithPattern"}]}]}},"expr":{"id":308,"kind":"let","opdef":{"id":304,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":303,"kind":"app","opcode":"oneOf","args":[{"id":302,"kind":"app","opcode":"filter","args":[{"id":300,"kind":"name","name":"pattern"},{"id":301,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":307,"kind":"app","opcode":"Move","args":[{"id":305,"kind":"str","value":"X"},{"id":306,"kind":"name","name":"coordinate"}]}}}]}},{"id":394,"kind":"def","name":"MoveO","qualifier":"action","expr":{"id":393,"kind":"app","opcode":"actionAll","args":[{"id":384,"kind":"app","opcode":"eq","args":[{"id":382,"kind":"name","name":"nextTurn"},{"id":383,"kind":"str","value":"O"}]},{"id":387,"kind":"app","opcode":"not","args":[{"id":386,"kind":"app","opcode":"won","args":[{"id":385,"kind":"str","value":"X"}]}]},{"id":389,"kind":"app","opcode":"MoveToEmpty","args":[{"id":388,"kind":"str","value":"O"}]},{"id":392,"kind":"app","opcode":"assign","args":[{"id":391,"kind":"name","name":"nextTurn"},{"id":390,"kind":"str","value":"X"}]}]}},{"doc":"It's not a stalemate if one player has won or the board is not filled\nCheck with `quint run --invariant=NotStalemate tictactoe.qnt`","id":437,"kind":"def","name":"NotStalemate","qualifier":"val","expr":{"id":436,"kind":"app","opcode":"not","args":[{"id":435,"kind":"name","name":"stalemate"}]}},{"id":381,"kind":"def","name":"MoveX","qualifier":"action","expr":{"id":380,"kind":"app","opcode":"actionAll","args":[{"id":356,"kind":"app","opcode":"eq","args":[{"id":354,"kind":"name","name":"nextTurn"},{"id":355,"kind":"str","value":"X"}]},{"id":359,"kind":"app","opcode":"not","args":[{"id":358,"kind":"app","opcode":"won","args":[{"id":357,"kind":"str","value":"O"}]}]},{"id":376,"kind":"app","opcode":"ite","args":[{"id":360,"kind":"name","name":"boardEmpty"},{"id":361,"kind":"name","name":"StartInCorner"},{"id":375,"kind":"app","opcode":"ite","args":[{"id":362,"kind":"name","name":"canWin"},{"id":363,"kind":"name","name":"Win"},{"id":374,"kind":"app","opcode":"ite","args":[{"id":364,"kind":"name","name":"canBlock"},{"id":365,"kind":"name","name":"Block"},{"id":373,"kind":"app","opcode":"ite","args":[{"id":366,"kind":"name","name":"canTakeCenter"},{"id":367,"kind":"name","name":"TakeCenter"},{"id":372,"kind":"app","opcode":"ite","args":[{"id":368,"kind":"name","name":"canSetupWin"},{"id":369,"kind":"name","name":"SetupWin"},{"id":371,"kind":"app","opcode":"MoveToEmpty","args":[{"id":370,"kind":"str","value":"X"}]}]}]}]}]}]},{"id":379,"kind":"app","opcode":"assign","args":[{"id":378,"kind":"name","name":"nextTurn"},{"id":377,"kind":"str","value":"O"}]}]}},{"doc":"Either X or O will make a move, depending on the value of `nextTurn`","id":426,"kind":"def","name":"step","qualifier":"action","expr":{"id":425,"kind":"app","opcode":"actionAny","args":[{"id":415,"kind":"name","name":"MoveX"},{"id":416,"kind":"name","name":"MoveO"},{"id":424,"kind":"app","opcode":"actionAll","args":[{"id":417,"kind":"name","name":"gameOver"},{"id":420,"kind":"app","opcode":"assign","args":[{"id":419,"kind":"name","name":"board"},{"id":418,"kind":"name","name":"board"}]},{"id":423,"kind":"app","opcode":"assign","args":[{"id":422,"kind":"name","name":"nextTurn"},{"id":421,"kind":"name","name":"nextTurn"}]}]}]}}]}],"table":{"115":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":5,"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"id":4,"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"}}},"id":6},"116":{"id":113,"name":"coordinate","kind":"param"},"120":{"id":113,"name":"coordinate","kind":"param"},"124":{"id":114,"name":"player","kind":"param"},"128":{"id":127,"name":"coordinate","kind":"param"},"130":{"id":126,"kind":"def","name":"hasValue","qualifier":"def","expr":{"id":126,"kind":"lambda","params":[{"id":113,"name":"coordinate"},{"id":114,"name":"player"}],"qualifier":"def","expr":{"id":125,"kind":"app","opcode":"eq","args":[{"id":123,"kind":"app","opcode":"get","args":[{"id":119,"kind":"app","opcode":"get","args":[{"id":115,"kind":"name","name":"board"},{"id":118,"kind":"app","opcode":"item","args":[{"id":116,"kind":"name","name":"coordinate"},{"id":117,"kind":"int","value":1}]}]},{"id":122,"kind":"app","opcode":"item","args":[{"id":120,"kind":"name","name":"coordinate"},{"id":121,"kind":"int","value":2}]}]},{"id":124,"kind":"name","name":"player"}]}}},"132":{"id":16,"kind":"def","name":"boardCoordinates","qualifier":"pureval","expr":{"id":15,"kind":"app","opcode":"tuples","args":[{"id":11,"kind":"app","opcode":"to","args":[{"id":9,"kind":"int","value":1},{"id":10,"kind":"int","value":3}]},{"id":14,"kind":"app","opcode":"to","args":[{"id":12,"kind":"int","value":1},{"id":13,"kind":"int","value":3}]}]}},"133":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"137":{"id":98,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":97,"kind":"app","opcode":"Set","args":[{"id":26,"kind":"app","opcode":"Set","args":[{"id":19,"kind":"app","opcode":"Tup","args":[{"id":17,"kind":"int","value":1},{"id":18,"kind":"int","value":1}]},{"id":22,"kind":"app","opcode":"Tup","args":[{"id":20,"kind":"int","value":1},{"id":21,"kind":"int","value":2}]},{"id":25,"kind":"app","opcode":"Tup","args":[{"id":23,"kind":"int","value":1},{"id":24,"kind":"int","value":3}]}]},{"id":36,"kind":"app","opcode":"Set","args":[{"id":29,"kind":"app","opcode":"Tup","args":[{"id":27,"kind":"int","value":2},{"id":28,"kind":"int","value":1}]},{"id":32,"kind":"app","opcode":"Tup","args":[{"id":30,"kind":"int","value":2},{"id":31,"kind":"int","value":2}]},{"id":35,"kind":"app","opcode":"Tup","args":[{"id":33,"kind":"int","value":2},{"id":34,"kind":"int","value":3}]}]},{"id":46,"kind":"app","opcode":"Set","args":[{"id":39,"kind":"app","opcode":"Tup","args":[{"id":37,"kind":"int","value":3},{"id":38,"kind":"int","value":1}]},{"id":42,"kind":"app","opcode":"Tup","args":[{"id":40,"kind":"int","value":3},{"id":41,"kind":"int","value":2}]},{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":3},{"id":44,"kind":"int","value":3}]}]},{"id":56,"kind":"app","opcode":"Set","args":[{"id":49,"kind":"app","opcode":"Tup","args":[{"id":47,"kind":"int","value":1},{"id":48,"kind":"int","value":1}]},{"id":52,"kind":"app","opcode":"Tup","args":[{"id":50,"kind":"int","value":2},{"id":51,"kind":"int","value":1}]},{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":3},{"id":54,"kind":"int","value":1}]}]},{"id":66,"kind":"app","opcode":"Set","args":[{"id":59,"kind":"app","opcode":"Tup","args":[{"id":57,"kind":"int","value":1},{"id":58,"kind":"int","value":2}]},{"id":62,"kind":"app","opcode":"Tup","args":[{"id":60,"kind":"int","value":2},{"id":61,"kind":"int","value":2}]},{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":2}]}]},{"id":76,"kind":"app","opcode":"Set","args":[{"id":69,"kind":"app","opcode":"Tup","args":[{"id":67,"kind":"int","value":1},{"id":68,"kind":"int","value":3}]},{"id":72,"kind":"app","opcode":"Tup","args":[{"id":70,"kind":"int","value":2},{"id":71,"kind":"int","value":3}]},{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":3},{"id":74,"kind":"int","value":3}]}]},{"id":86,"kind":"app","opcode":"Set","args":[{"id":79,"kind":"app","opcode":"Tup","args":[{"id":77,"kind":"int","value":1},{"id":78,"kind":"int","value":1}]},{"id":82,"kind":"app","opcode":"Tup","args":[{"id":80,"kind":"int","value":2},{"id":81,"kind":"int","value":2}]},{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":3},{"id":84,"kind":"int","value":3}]}]},{"id":96,"kind":"app","opcode":"Set","args":[{"id":89,"kind":"app","opcode":"Tup","args":[{"id":87,"kind":"int","value":3},{"id":88,"kind":"int","value":1}]},{"id":92,"kind":"app","opcode":"Tup","args":[{"id":90,"kind":"int","value":2},{"id":91,"kind":"int","value":2}]},{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]}]}]}},"139":{"id":138,"name":"pattern","kind":"param"},"141":{"id":140,"name":"coordinate","kind":"param"},"142":{"id":136,"name":"player","kind":"param"},"143":{"id":126,"kind":"def","name":"hasValue","qualifier":"def","expr":{"id":126,"kind":"lambda","params":[{"id":113,"name":"coordinate"},{"id":114,"name":"player"}],"qualifier":"def","expr":{"id":125,"kind":"app","opcode":"eq","args":[{"id":123,"kind":"app","opcode":"get","args":[{"id":119,"kind":"app","opcode":"get","args":[{"id":115,"kind":"name","name":"board"},{"id":118,"kind":"app","opcode":"item","args":[{"id":116,"kind":"name","name":"coordinate"},{"id":117,"kind":"int","value":1}]}]},{"id":122,"kind":"app","opcode":"item","args":[{"id":120,"kind":"name","name":"coordinate"},{"id":121,"kind":"int","value":2}]}]},{"id":124,"kind":"name","name":"player"}]}}},"149":{"id":16,"kind":"def","name":"boardCoordinates","qualifier":"pureval","expr":{"id":15,"kind":"app","opcode":"tuples","args":[{"id":11,"kind":"app","opcode":"to","args":[{"id":9,"kind":"int","value":1},{"id":10,"kind":"int","value":3}]},{"id":14,"kind":"app","opcode":"to","args":[{"id":12,"kind":"int","value":1},{"id":13,"kind":"int","value":3}]}]}},"150":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"154":{"id":153,"kind":"def","name":"boardFull","qualifier":"val","expr":{"id":152,"kind":"app","opcode":"not","args":[{"id":151,"kind":"app","opcode":"exists","args":[{"id":149,"kind":"name","name":"boardCoordinates"},{"id":150,"kind":"name","name":"isEmpty"}]}]}},"156":{"id":148,"kind":"def","name":"won","qualifier":"def","expr":{"id":148,"kind":"lambda","params":[{"id":136,"name":"player"}],"qualifier":"def","expr":{"id":147,"kind":"app","opcode":"exists","args":[{"id":137,"kind":"name","name":"winningPatterns"},{"id":146,"kind":"lambda","params":[{"id":138,"name":"pattern"}],"qualifier":"def","expr":{"id":145,"kind":"app","opcode":"forall","args":[{"id":139,"kind":"name","name":"pattern"},{"id":144,"kind":"lambda","params":[{"id":140,"name":"coordinate"}],"qualifier":"def","expr":{"id":143,"kind":"app","opcode":"hasValue","args":[{"id":141,"kind":"name","name":"coordinate"},{"id":142,"kind":"name","name":"player"}]}}]}}]}}},"160":{"id":148,"kind":"def","name":"won","qualifier":"def","expr":{"id":148,"kind":"lambda","params":[{"id":136,"name":"player"}],"qualifier":"def","expr":{"id":147,"kind":"app","opcode":"exists","args":[{"id":137,"kind":"name","name":"winningPatterns"},{"id":146,"kind":"lambda","params":[{"id":138,"name":"pattern"}],"qualifier":"def","expr":{"id":145,"kind":"app","opcode":"forall","args":[{"id":139,"kind":"name","name":"pattern"},{"id":144,"kind":"lambda","params":[{"id":140,"name":"coordinate"}],"qualifier":"def","expr":{"id":143,"kind":"app","opcode":"hasValue","args":[{"id":141,"kind":"name","name":"coordinate"},{"id":142,"kind":"name","name":"player"}]}}]}}]}}},"165":{"id":148,"kind":"def","name":"won","qualifier":"def","expr":{"id":148,"kind":"lambda","params":[{"id":136,"name":"player"}],"qualifier":"def","expr":{"id":147,"kind":"app","opcode":"exists","args":[{"id":137,"kind":"name","name":"winningPatterns"},{"id":146,"kind":"lambda","params":[{"id":138,"name":"pattern"}],"qualifier":"def","expr":{"id":145,"kind":"app","opcode":"forall","args":[{"id":139,"kind":"name","name":"pattern"},{"id":144,"kind":"lambda","params":[{"id":140,"name":"coordinate"}],"qualifier":"def","expr":{"id":143,"kind":"app","opcode":"hasValue","args":[{"id":141,"kind":"name","name":"coordinate"},{"id":142,"kind":"name","name":"player"}]}}]}}]}}},"167":{"id":148,"kind":"def","name":"won","qualifier":"def","expr":{"id":148,"kind":"lambda","params":[{"id":136,"name":"player"}],"qualifier":"def","expr":{"id":147,"kind":"app","opcode":"exists","args":[{"id":137,"kind":"name","name":"winningPatterns"},{"id":146,"kind":"lambda","params":[{"id":138,"name":"pattern"}],"qualifier":"def","expr":{"id":145,"kind":"app","opcode":"forall","args":[{"id":139,"kind":"name","name":"pattern"},{"id":144,"kind":"lambda","params":[{"id":140,"name":"coordinate"}],"qualifier":"def","expr":{"id":143,"kind":"app","opcode":"hasValue","args":[{"id":141,"kind":"name","name":"coordinate"},{"id":142,"kind":"name","name":"player"}]}}]}}]}}},"169":{"id":153,"kind":"def","name":"boardFull","qualifier":"val","expr":{"id":152,"kind":"app","opcode":"not","args":[{"id":151,"kind":"app","opcode":"exists","args":[{"id":149,"kind":"name","name":"boardCoordinates"},{"id":150,"kind":"name","name":"isEmpty"}]}]}},"173":{"id":172,"name":"pattern","kind":"param"},"175":{"id":174,"name":"coordinate","kind":"param"},"177":{"id":126,"kind":"def","name":"hasValue","qualifier":"def","expr":{"id":126,"kind":"lambda","params":[{"id":113,"name":"coordinate"},{"id":114,"name":"player"}],"qualifier":"def","expr":{"id":125,"kind":"app","opcode":"eq","args":[{"id":123,"kind":"app","opcode":"get","args":[{"id":119,"kind":"app","opcode":"get","args":[{"id":115,"kind":"name","name":"board"},{"id":118,"kind":"app","opcode":"item","args":[{"id":116,"kind":"name","name":"coordinate"},{"id":117,"kind":"int","value":1}]}]},{"id":122,"kind":"app","opcode":"item","args":[{"id":120,"kind":"name","name":"coordinate"},{"id":121,"kind":"int","value":2}]}]},{"id":124,"kind":"name","name":"player"}]}}},"183":{"id":172,"name":"pattern","kind":"param"},"185":{"id":184,"name":"coordinate","kind":"param"},"186":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"195":{"id":194,"name":"pattern","kind":"param"},"197":{"id":196,"name":"coordinate","kind":"param"},"199":{"id":126,"kind":"def","name":"hasValue","qualifier":"def","expr":{"id":126,"kind":"lambda","params":[{"id":113,"name":"coordinate"},{"id":114,"name":"player"}],"qualifier":"def","expr":{"id":125,"kind":"app","opcode":"eq","args":[{"id":123,"kind":"app","opcode":"get","args":[{"id":119,"kind":"app","opcode":"get","args":[{"id":115,"kind":"name","name":"board"},{"id":118,"kind":"app","opcode":"item","args":[{"id":116,"kind":"name","name":"coordinate"},{"id":117,"kind":"int","value":1}]}]},{"id":122,"kind":"app","opcode":"item","args":[{"id":120,"kind":"name","name":"coordinate"},{"id":121,"kind":"int","value":2}]}]},{"id":124,"kind":"name","name":"player"}]}}},"205":{"id":194,"name":"pattern","kind":"param"},"207":{"id":206,"name":"coordinate","kind":"param"},"208":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"217":{"id":216,"name":"pattern","kind":"param"},"219":{"id":218,"name":"coordinate","kind":"param"},"221":{"id":126,"kind":"def","name":"hasValue","qualifier":"def","expr":{"id":126,"kind":"lambda","params":[{"id":113,"name":"coordinate"},{"id":114,"name":"player"}],"qualifier":"def","expr":{"id":125,"kind":"app","opcode":"eq","args":[{"id":123,"kind":"app","opcode":"get","args":[{"id":119,"kind":"app","opcode":"get","args":[{"id":115,"kind":"name","name":"board"},{"id":118,"kind":"app","opcode":"item","args":[{"id":116,"kind":"name","name":"coordinate"},{"id":117,"kind":"int","value":1}]}]},{"id":122,"kind":"app","opcode":"item","args":[{"id":120,"kind":"name","name":"coordinate"},{"id":121,"kind":"int","value":2}]}]},{"id":124,"kind":"name","name":"player"}]}}},"227":{"id":216,"name":"pattern","kind":"param"},"229":{"id":228,"name":"coordinate","kind":"param"},"230":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"238":{"id":98,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":97,"kind":"app","opcode":"Set","args":[{"id":26,"kind":"app","opcode":"Set","args":[{"id":19,"kind":"app","opcode":"Tup","args":[{"id":17,"kind":"int","value":1},{"id":18,"kind":"int","value":1}]},{"id":22,"kind":"app","opcode":"Tup","args":[{"id":20,"kind":"int","value":1},{"id":21,"kind":"int","value":2}]},{"id":25,"kind":"app","opcode":"Tup","args":[{"id":23,"kind":"int","value":1},{"id":24,"kind":"int","value":3}]}]},{"id":36,"kind":"app","opcode":"Set","args":[{"id":29,"kind":"app","opcode":"Tup","args":[{"id":27,"kind":"int","value":2},{"id":28,"kind":"int","value":1}]},{"id":32,"kind":"app","opcode":"Tup","args":[{"id":30,"kind":"int","value":2},{"id":31,"kind":"int","value":2}]},{"id":35,"kind":"app","opcode":"Tup","args":[{"id":33,"kind":"int","value":2},{"id":34,"kind":"int","value":3}]}]},{"id":46,"kind":"app","opcode":"Set","args":[{"id":39,"kind":"app","opcode":"Tup","args":[{"id":37,"kind":"int","value":3},{"id":38,"kind":"int","value":1}]},{"id":42,"kind":"app","opcode":"Tup","args":[{"id":40,"kind":"int","value":3},{"id":41,"kind":"int","value":2}]},{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":3},{"id":44,"kind":"int","value":3}]}]},{"id":56,"kind":"app","opcode":"Set","args":[{"id":49,"kind":"app","opcode":"Tup","args":[{"id":47,"kind":"int","value":1},{"id":48,"kind":"int","value":1}]},{"id":52,"kind":"app","opcode":"Tup","args":[{"id":50,"kind":"int","value":2},{"id":51,"kind":"int","value":1}]},{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":3},{"id":54,"kind":"int","value":1}]}]},{"id":66,"kind":"app","opcode":"Set","args":[{"id":59,"kind":"app","opcode":"Tup","args":[{"id":57,"kind":"int","value":1},{"id":58,"kind":"int","value":2}]},{"id":62,"kind":"app","opcode":"Tup","args":[{"id":60,"kind":"int","value":2},{"id":61,"kind":"int","value":2}]},{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":2}]}]},{"id":76,"kind":"app","opcode":"Set","args":[{"id":69,"kind":"app","opcode":"Tup","args":[{"id":67,"kind":"int","value":1},{"id":68,"kind":"int","value":3}]},{"id":72,"kind":"app","opcode":"Tup","args":[{"id":70,"kind":"int","value":2},{"id":71,"kind":"int","value":3}]},{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":3},{"id":74,"kind":"int","value":3}]}]},{"id":86,"kind":"app","opcode":"Set","args":[{"id":79,"kind":"app","opcode":"Tup","args":[{"id":77,"kind":"int","value":1},{"id":78,"kind":"int","value":1}]},{"id":82,"kind":"app","opcode":"Tup","args":[{"id":80,"kind":"int","value":2},{"id":81,"kind":"int","value":2}]},{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":3},{"id":84,"kind":"int","value":3}]}]},{"id":96,"kind":"app","opcode":"Set","args":[{"id":89,"kind":"app","opcode":"Tup","args":[{"id":87,"kind":"int","value":3},{"id":88,"kind":"int","value":1}]},{"id":92,"kind":"app","opcode":"Tup","args":[{"id":90,"kind":"int","value":2},{"id":91,"kind":"int","value":2}]},{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]}]}]}},"239":{"id":193,"kind":"def","name":"canWinWithPattern","qualifier":"def","expr":{"id":193,"kind":"lambda","params":[{"id":172,"name":"pattern"}],"qualifier":"def","expr":{"id":192,"kind":"app","opcode":"and","args":[{"id":182,"kind":"app","opcode":"eq","args":[{"id":180,"kind":"app","opcode":"size","args":[{"id":179,"kind":"app","opcode":"filter","args":[{"id":173,"kind":"name","name":"pattern"},{"id":178,"kind":"lambda","params":[{"id":174,"name":"coordinate"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"hasValue","args":[{"id":175,"kind":"name","name":"coordinate"},{"id":176,"kind":"str","value":"X"}]}}]}]},{"id":181,"kind":"int","value":2}]},{"id":191,"kind":"app","opcode":"eq","args":[{"id":189,"kind":"app","opcode":"size","args":[{"id":188,"kind":"app","opcode":"filter","args":[{"id":183,"kind":"name","name":"pattern"},{"id":187,"kind":"lambda","params":[{"id":184,"name":"coordinate"}],"qualifier":"def","expr":{"id":186,"kind":"app","opcode":"isEmpty","args":[{"id":185,"kind":"name","name":"coordinate"}]}}]}]},{"id":190,"kind":"int","value":1}]}]}}},"242":{"id":98,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":97,"kind":"app","opcode":"Set","args":[{"id":26,"kind":"app","opcode":"Set","args":[{"id":19,"kind":"app","opcode":"Tup","args":[{"id":17,"kind":"int","value":1},{"id":18,"kind":"int","value":1}]},{"id":22,"kind":"app","opcode":"Tup","args":[{"id":20,"kind":"int","value":1},{"id":21,"kind":"int","value":2}]},{"id":25,"kind":"app","opcode":"Tup","args":[{"id":23,"kind":"int","value":1},{"id":24,"kind":"int","value":3}]}]},{"id":36,"kind":"app","opcode":"Set","args":[{"id":29,"kind":"app","opcode":"Tup","args":[{"id":27,"kind":"int","value":2},{"id":28,"kind":"int","value":1}]},{"id":32,"kind":"app","opcode":"Tup","args":[{"id":30,"kind":"int","value":2},{"id":31,"kind":"int","value":2}]},{"id":35,"kind":"app","opcode":"Tup","args":[{"id":33,"kind":"int","value":2},{"id":34,"kind":"int","value":3}]}]},{"id":46,"kind":"app","opcode":"Set","args":[{"id":39,"kind":"app","opcode":"Tup","args":[{"id":37,"kind":"int","value":3},{"id":38,"kind":"int","value":1}]},{"id":42,"kind":"app","opcode":"Tup","args":[{"id":40,"kind":"int","value":3},{"id":41,"kind":"int","value":2}]},{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":3},{"id":44,"kind":"int","value":3}]}]},{"id":56,"kind":"app","opcode":"Set","args":[{"id":49,"kind":"app","opcode":"Tup","args":[{"id":47,"kind":"int","value":1},{"id":48,"kind":"int","value":1}]},{"id":52,"kind":"app","opcode":"Tup","args":[{"id":50,"kind":"int","value":2},{"id":51,"kind":"int","value":1}]},{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":3},{"id":54,"kind":"int","value":1}]}]},{"id":66,"kind":"app","opcode":"Set","args":[{"id":59,"kind":"app","opcode":"Tup","args":[{"id":57,"kind":"int","value":1},{"id":58,"kind":"int","value":2}]},{"id":62,"kind":"app","opcode":"Tup","args":[{"id":60,"kind":"int","value":2},{"id":61,"kind":"int","value":2}]},{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":2}]}]},{"id":76,"kind":"app","opcode":"Set","args":[{"id":69,"kind":"app","opcode":"Tup","args":[{"id":67,"kind":"int","value":1},{"id":68,"kind":"int","value":3}]},{"id":72,"kind":"app","opcode":"Tup","args":[{"id":70,"kind":"int","value":2},{"id":71,"kind":"int","value":3}]},{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":3},{"id":74,"kind":"int","value":3}]}]},{"id":86,"kind":"app","opcode":"Set","args":[{"id":79,"kind":"app","opcode":"Tup","args":[{"id":77,"kind":"int","value":1},{"id":78,"kind":"int","value":1}]},{"id":82,"kind":"app","opcode":"Tup","args":[{"id":80,"kind":"int","value":2},{"id":81,"kind":"int","value":2}]},{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":3},{"id":84,"kind":"int","value":3}]}]},{"id":96,"kind":"app","opcode":"Set","args":[{"id":89,"kind":"app","opcode":"Tup","args":[{"id":87,"kind":"int","value":3},{"id":88,"kind":"int","value":1}]},{"id":92,"kind":"app","opcode":"Tup","args":[{"id":90,"kind":"int","value":2},{"id":91,"kind":"int","value":2}]},{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]}]}]}},"243":{"id":215,"kind":"def","name":"canBlockWithPattern","qualifier":"def","expr":{"id":215,"kind":"lambda","params":[{"id":194,"name":"pattern"}],"qualifier":"def","expr":{"id":214,"kind":"app","opcode":"and","args":[{"id":204,"kind":"app","opcode":"eq","args":[{"id":202,"kind":"app","opcode":"size","args":[{"id":201,"kind":"app","opcode":"filter","args":[{"id":195,"kind":"name","name":"pattern"},{"id":200,"kind":"lambda","params":[{"id":196,"name":"coordinate"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"hasValue","args":[{"id":197,"kind":"name","name":"coordinate"},{"id":198,"kind":"str","value":"O"}]}}]}]},{"id":203,"kind":"int","value":2}]},{"id":213,"kind":"app","opcode":"eq","args":[{"id":211,"kind":"app","opcode":"size","args":[{"id":210,"kind":"app","opcode":"filter","args":[{"id":205,"kind":"name","name":"pattern"},{"id":209,"kind":"lambda","params":[{"id":206,"name":"coordinate"}],"qualifier":"def","expr":{"id":208,"kind":"app","opcode":"isEmpty","args":[{"id":207,"kind":"name","name":"coordinate"}]}}]}]},{"id":212,"kind":"int","value":1}]}]}}},"249":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"251":{"id":98,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":97,"kind":"app","opcode":"Set","args":[{"id":26,"kind":"app","opcode":"Set","args":[{"id":19,"kind":"app","opcode":"Tup","args":[{"id":17,"kind":"int","value":1},{"id":18,"kind":"int","value":1}]},{"id":22,"kind":"app","opcode":"Tup","args":[{"id":20,"kind":"int","value":1},{"id":21,"kind":"int","value":2}]},{"id":25,"kind":"app","opcode":"Tup","args":[{"id":23,"kind":"int","value":1},{"id":24,"kind":"int","value":3}]}]},{"id":36,"kind":"app","opcode":"Set","args":[{"id":29,"kind":"app","opcode":"Tup","args":[{"id":27,"kind":"int","value":2},{"id":28,"kind":"int","value":1}]},{"id":32,"kind":"app","opcode":"Tup","args":[{"id":30,"kind":"int","value":2},{"id":31,"kind":"int","value":2}]},{"id":35,"kind":"app","opcode":"Tup","args":[{"id":33,"kind":"int","value":2},{"id":34,"kind":"int","value":3}]}]},{"id":46,"kind":"app","opcode":"Set","args":[{"id":39,"kind":"app","opcode":"Tup","args":[{"id":37,"kind":"int","value":3},{"id":38,"kind":"int","value":1}]},{"id":42,"kind":"app","opcode":"Tup","args":[{"id":40,"kind":"int","value":3},{"id":41,"kind":"int","value":2}]},{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":3},{"id":44,"kind":"int","value":3}]}]},{"id":56,"kind":"app","opcode":"Set","args":[{"id":49,"kind":"app","opcode":"Tup","args":[{"id":47,"kind":"int","value":1},{"id":48,"kind":"int","value":1}]},{"id":52,"kind":"app","opcode":"Tup","args":[{"id":50,"kind":"int","value":2},{"id":51,"kind":"int","value":1}]},{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":3},{"id":54,"kind":"int","value":1}]}]},{"id":66,"kind":"app","opcode":"Set","args":[{"id":59,"kind":"app","opcode":"Tup","args":[{"id":57,"kind":"int","value":1},{"id":58,"kind":"int","value":2}]},{"id":62,"kind":"app","opcode":"Tup","args":[{"id":60,"kind":"int","value":2},{"id":61,"kind":"int","value":2}]},{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":2}]}]},{"id":76,"kind":"app","opcode":"Set","args":[{"id":69,"kind":"app","opcode":"Tup","args":[{"id":67,"kind":"int","value":1},{"id":68,"kind":"int","value":3}]},{"id":72,"kind":"app","opcode":"Tup","args":[{"id":70,"kind":"int","value":2},{"id":71,"kind":"int","value":3}]},{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":3},{"id":74,"kind":"int","value":3}]}]},{"id":86,"kind":"app","opcode":"Set","args":[{"id":79,"kind":"app","opcode":"Tup","args":[{"id":77,"kind":"int","value":1},{"id":78,"kind":"int","value":1}]},{"id":82,"kind":"app","opcode":"Tup","args":[{"id":80,"kind":"int","value":2},{"id":81,"kind":"int","value":2}]},{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":3},{"id":84,"kind":"int","value":3}]}]},{"id":96,"kind":"app","opcode":"Set","args":[{"id":89,"kind":"app","opcode":"Tup","args":[{"id":87,"kind":"int","value":3},{"id":88,"kind":"int","value":1}]},{"id":92,"kind":"app","opcode":"Tup","args":[{"id":90,"kind":"int","value":2},{"id":91,"kind":"int","value":2}]},{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]}]}]}},"252":{"id":237,"kind":"def","name":"canSetupWinWithPattern","qualifier":"def","expr":{"id":237,"kind":"lambda","params":[{"id":216,"name":"pattern"}],"qualifier":"def","expr":{"id":236,"kind":"app","opcode":"and","args":[{"id":226,"kind":"app","opcode":"eq","args":[{"id":224,"kind":"app","opcode":"size","args":[{"id":223,"kind":"app","opcode":"filter","args":[{"id":217,"kind":"name","name":"pattern"},{"id":222,"kind":"lambda","params":[{"id":218,"name":"coordinate"}],"qualifier":"def","expr":{"id":221,"kind":"app","opcode":"hasValue","args":[{"id":219,"kind":"name","name":"coordinate"},{"id":220,"kind":"str","value":"X"}]}}]}]},{"id":225,"kind":"int","value":1}]},{"id":235,"kind":"app","opcode":"eq","args":[{"id":233,"kind":"app","opcode":"size","args":[{"id":232,"kind":"app","opcode":"filter","args":[{"id":227,"kind":"name","name":"pattern"},{"id":231,"kind":"lambda","params":[{"id":228,"name":"coordinate"}],"qualifier":"def","expr":{"id":230,"kind":"app","opcode":"isEmpty","args":[{"id":229,"kind":"name","name":"coordinate"}]}}]}]},{"id":234,"kind":"int","value":2}]}]}}},"257":{"id":256,"name":"coordinate","kind":"param"},"258":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"259":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":5,"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"id":4,"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"}}},"id":6},"260":{"id":256,"name":"coordinate","kind":"param"},"264":{"id":263,"name":"row","kind":"param"},"265":{"id":256,"name":"coordinate","kind":"param"},"268":{"id":255,"name":"player","kind":"param"},"272":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":5,"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"id":4,"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"}}},"id":6},"276":{"id":241,"kind":"def","name":"canWin","qualifier":"val","expr":{"id":240,"kind":"app","opcode":"exists","args":[{"id":238,"kind":"name","name":"winningPatterns"},{"id":239,"kind":"name","name":"canWinWithPattern"}]}},"277":{"id":98,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":97,"kind":"app","opcode":"Set","args":[{"id":26,"kind":"app","opcode":"Set","args":[{"id":19,"kind":"app","opcode":"Tup","args":[{"id":17,"kind":"int","value":1},{"id":18,"kind":"int","value":1}]},{"id":22,"kind":"app","opcode":"Tup","args":[{"id":20,"kind":"int","value":1},{"id":21,"kind":"int","value":2}]},{"id":25,"kind":"app","opcode":"Tup","args":[{"id":23,"kind":"int","value":1},{"id":24,"kind":"int","value":3}]}]},{"id":36,"kind":"app","opcode":"Set","args":[{"id":29,"kind":"app","opcode":"Tup","args":[{"id":27,"kind":"int","value":2},{"id":28,"kind":"int","value":1}]},{"id":32,"kind":"app","opcode":"Tup","args":[{"id":30,"kind":"int","value":2},{"id":31,"kind":"int","value":2}]},{"id":35,"kind":"app","opcode":"Tup","args":[{"id":33,"kind":"int","value":2},{"id":34,"kind":"int","value":3}]}]},{"id":46,"kind":"app","opcode":"Set","args":[{"id":39,"kind":"app","opcode":"Tup","args":[{"id":37,"kind":"int","value":3},{"id":38,"kind":"int","value":1}]},{"id":42,"kind":"app","opcode":"Tup","args":[{"id":40,"kind":"int","value":3},{"id":41,"kind":"int","value":2}]},{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":3},{"id":44,"kind":"int","value":3}]}]},{"id":56,"kind":"app","opcode":"Set","args":[{"id":49,"kind":"app","opcode":"Tup","args":[{"id":47,"kind":"int","value":1},{"id":48,"kind":"int","value":1}]},{"id":52,"kind":"app","opcode":"Tup","args":[{"id":50,"kind":"int","value":2},{"id":51,"kind":"int","value":1}]},{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":3},{"id":54,"kind":"int","value":1}]}]},{"id":66,"kind":"app","opcode":"Set","args":[{"id":59,"kind":"app","opcode":"Tup","args":[{"id":57,"kind":"int","value":1},{"id":58,"kind":"int","value":2}]},{"id":62,"kind":"app","opcode":"Tup","args":[{"id":60,"kind":"int","value":2},{"id":61,"kind":"int","value":2}]},{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":2}]}]},{"id":76,"kind":"app","opcode":"Set","args":[{"id":69,"kind":"app","opcode":"Tup","args":[{"id":67,"kind":"int","value":1},{"id":68,"kind":"int","value":3}]},{"id":72,"kind":"app","opcode":"Tup","args":[{"id":70,"kind":"int","value":2},{"id":71,"kind":"int","value":3}]},{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":3},{"id":74,"kind":"int","value":3}]}]},{"id":86,"kind":"app","opcode":"Set","args":[{"id":79,"kind":"app","opcode":"Tup","args":[{"id":77,"kind":"int","value":1},{"id":78,"kind":"int","value":1}]},{"id":82,"kind":"app","opcode":"Tup","args":[{"id":80,"kind":"int","value":2},{"id":81,"kind":"int","value":2}]},{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":3},{"id":84,"kind":"int","value":3}]}]},{"id":96,"kind":"app","opcode":"Set","args":[{"id":89,"kind":"app","opcode":"Tup","args":[{"id":87,"kind":"int","value":3},{"id":88,"kind":"int","value":1}]},{"id":92,"kind":"app","opcode":"Tup","args":[{"id":90,"kind":"int","value":2},{"id":91,"kind":"int","value":2}]},{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]}]}]}},"278":{"id":193,"kind":"def","name":"canWinWithPattern","qualifier":"def","expr":{"id":193,"kind":"lambda","params":[{"id":172,"name":"pattern"}],"qualifier":"def","expr":{"id":192,"kind":"app","opcode":"and","args":[{"id":182,"kind":"app","opcode":"eq","args":[{"id":180,"kind":"app","opcode":"size","args":[{"id":179,"kind":"app","opcode":"filter","args":[{"id":173,"kind":"name","name":"pattern"},{"id":178,"kind":"lambda","params":[{"id":174,"name":"coordinate"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"hasValue","args":[{"id":175,"kind":"name","name":"coordinate"},{"id":176,"kind":"str","value":"X"}]}}]}]},{"id":181,"kind":"int","value":2}]},{"id":191,"kind":"app","opcode":"eq","args":[{"id":189,"kind":"app","opcode":"size","args":[{"id":188,"kind":"app","opcode":"filter","args":[{"id":183,"kind":"name","name":"pattern"},{"id":187,"kind":"lambda","params":[{"id":184,"name":"coordinate"}],"qualifier":"def","expr":{"id":186,"kind":"app","opcode":"isEmpty","args":[{"id":185,"kind":"name","name":"coordinate"}]}}]}]},{"id":190,"kind":"int","value":1}]}]}}},"282":{"id":281,"kind":"def","name":"pattern","qualifier":"nondet","expr":{"id":280,"kind":"app","opcode":"oneOf","args":[{"id":279,"kind":"app","opcode":"filter","args":[{"id":277,"kind":"name","name":"winningPatterns"},{"id":278,"kind":"name","name":"canWinWithPattern"}]}]}},"283":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"288":{"id":286,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":285,"kind":"app","opcode":"oneOf","args":[{"id":284,"kind":"app","opcode":"filter","args":[{"id":282,"kind":"name","name":"pattern"},{"id":283,"kind":"name","name":"isEmpty"}]}]}},"289":{"id":275,"kind":"def","name":"Move","qualifier":"action","expr":{"id":275,"kind":"lambda","params":[{"id":255,"name":"player"},{"id":256,"name":"coordinate"}],"qualifier":"action","expr":{"id":274,"kind":"app","opcode":"actionAll","args":[{"id":258,"kind":"app","opcode":"isEmpty","args":[{"id":257,"kind":"name","name":"coordinate"}]},{"id":273,"kind":"app","opcode":"assign","args":[{"id":272,"kind":"name","name":"board"},{"id":271,"kind":"app","opcode":"setBy","args":[{"id":259,"kind":"name","name":"board"},{"id":262,"kind":"app","opcode":"item","args":[{"id":260,"kind":"name","name":"coordinate"},{"id":261,"kind":"int","value":1}]},{"id":270,"kind":"lambda","params":[{"id":263,"name":"row"}],"qualifier":"def","expr":{"id":269,"kind":"app","opcode":"set","args":[{"id":264,"kind":"name","name":"row"},{"id":267,"kind":"app","opcode":"item","args":[{"id":265,"kind":"name","name":"coordinate"},{"id":266,"kind":"int","value":2}]},{"id":268,"kind":"name","name":"player"}]}}]}]}]}}},"294":{"id":245,"kind":"def","name":"canBlock","qualifier":"val","expr":{"id":244,"kind":"app","opcode":"exists","args":[{"id":242,"kind":"name","name":"winningPatterns"},{"id":243,"kind":"name","name":"canBlockWithPattern"}]}},"295":{"id":98,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":97,"kind":"app","opcode":"Set","args":[{"id":26,"kind":"app","opcode":"Set","args":[{"id":19,"kind":"app","opcode":"Tup","args":[{"id":17,"kind":"int","value":1},{"id":18,"kind":"int","value":1}]},{"id":22,"kind":"app","opcode":"Tup","args":[{"id":20,"kind":"int","value":1},{"id":21,"kind":"int","value":2}]},{"id":25,"kind":"app","opcode":"Tup","args":[{"id":23,"kind":"int","value":1},{"id":24,"kind":"int","value":3}]}]},{"id":36,"kind":"app","opcode":"Set","args":[{"id":29,"kind":"app","opcode":"Tup","args":[{"id":27,"kind":"int","value":2},{"id":28,"kind":"int","value":1}]},{"id":32,"kind":"app","opcode":"Tup","args":[{"id":30,"kind":"int","value":2},{"id":31,"kind":"int","value":2}]},{"id":35,"kind":"app","opcode":"Tup","args":[{"id":33,"kind":"int","value":2},{"id":34,"kind":"int","value":3}]}]},{"id":46,"kind":"app","opcode":"Set","args":[{"id":39,"kind":"app","opcode":"Tup","args":[{"id":37,"kind":"int","value":3},{"id":38,"kind":"int","value":1}]},{"id":42,"kind":"app","opcode":"Tup","args":[{"id":40,"kind":"int","value":3},{"id":41,"kind":"int","value":2}]},{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":3},{"id":44,"kind":"int","value":3}]}]},{"id":56,"kind":"app","opcode":"Set","args":[{"id":49,"kind":"app","opcode":"Tup","args":[{"id":47,"kind":"int","value":1},{"id":48,"kind":"int","value":1}]},{"id":52,"kind":"app","opcode":"Tup","args":[{"id":50,"kind":"int","value":2},{"id":51,"kind":"int","value":1}]},{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":3},{"id":54,"kind":"int","value":1}]}]},{"id":66,"kind":"app","opcode":"Set","args":[{"id":59,"kind":"app","opcode":"Tup","args":[{"id":57,"kind":"int","value":1},{"id":58,"kind":"int","value":2}]},{"id":62,"kind":"app","opcode":"Tup","args":[{"id":60,"kind":"int","value":2},{"id":61,"kind":"int","value":2}]},{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":2}]}]},{"id":76,"kind":"app","opcode":"Set","args":[{"id":69,"kind":"app","opcode":"Tup","args":[{"id":67,"kind":"int","value":1},{"id":68,"kind":"int","value":3}]},{"id":72,"kind":"app","opcode":"Tup","args":[{"id":70,"kind":"int","value":2},{"id":71,"kind":"int","value":3}]},{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":3},{"id":74,"kind":"int","value":3}]}]},{"id":86,"kind":"app","opcode":"Set","args":[{"id":79,"kind":"app","opcode":"Tup","args":[{"id":77,"kind":"int","value":1},{"id":78,"kind":"int","value":1}]},{"id":82,"kind":"app","opcode":"Tup","args":[{"id":80,"kind":"int","value":2},{"id":81,"kind":"int","value":2}]},{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":3},{"id":84,"kind":"int","value":3}]}]},{"id":96,"kind":"app","opcode":"Set","args":[{"id":89,"kind":"app","opcode":"Tup","args":[{"id":87,"kind":"int","value":3},{"id":88,"kind":"int","value":1}]},{"id":92,"kind":"app","opcode":"Tup","args":[{"id":90,"kind":"int","value":2},{"id":91,"kind":"int","value":2}]},{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]}]}]}},"296":{"id":215,"kind":"def","name":"canBlockWithPattern","qualifier":"def","expr":{"id":215,"kind":"lambda","params":[{"id":194,"name":"pattern"}],"qualifier":"def","expr":{"id":214,"kind":"app","opcode":"and","args":[{"id":204,"kind":"app","opcode":"eq","args":[{"id":202,"kind":"app","opcode":"size","args":[{"id":201,"kind":"app","opcode":"filter","args":[{"id":195,"kind":"name","name":"pattern"},{"id":200,"kind":"lambda","params":[{"id":196,"name":"coordinate"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"hasValue","args":[{"id":197,"kind":"name","name":"coordinate"},{"id":198,"kind":"str","value":"O"}]}}]}]},{"id":203,"kind":"int","value":2}]},{"id":213,"kind":"app","opcode":"eq","args":[{"id":211,"kind":"app","opcode":"size","args":[{"id":210,"kind":"app","opcode":"filter","args":[{"id":205,"kind":"name","name":"pattern"},{"id":209,"kind":"lambda","params":[{"id":206,"name":"coordinate"}],"qualifier":"def","expr":{"id":208,"kind":"app","opcode":"isEmpty","args":[{"id":207,"kind":"name","name":"coordinate"}]}}]}]},{"id":212,"kind":"int","value":1}]}]}}},"300":{"id":299,"kind":"def","name":"pattern","qualifier":"nondet","expr":{"id":298,"kind":"app","opcode":"oneOf","args":[{"id":297,"kind":"app","opcode":"filter","args":[{"id":295,"kind":"name","name":"winningPatterns"},{"id":296,"kind":"name","name":"canBlockWithPattern"}]}]}},"301":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"306":{"id":304,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":303,"kind":"app","opcode":"oneOf","args":[{"id":302,"kind":"app","opcode":"filter","args":[{"id":300,"kind":"name","name":"pattern"},{"id":301,"kind":"name","name":"isEmpty"}]}]}},"307":{"id":275,"kind":"def","name":"Move","qualifier":"action","expr":{"id":275,"kind":"lambda","params":[{"id":255,"name":"player"},{"id":256,"name":"coordinate"}],"qualifier":"action","expr":{"id":274,"kind":"app","opcode":"actionAll","args":[{"id":258,"kind":"app","opcode":"isEmpty","args":[{"id":257,"kind":"name","name":"coordinate"}]},{"id":273,"kind":"app","opcode":"assign","args":[{"id":272,"kind":"name","name":"board"},{"id":271,"kind":"app","opcode":"setBy","args":[{"id":259,"kind":"name","name":"board"},{"id":262,"kind":"app","opcode":"item","args":[{"id":260,"kind":"name","name":"coordinate"},{"id":261,"kind":"int","value":1}]},{"id":270,"kind":"lambda","params":[{"id":263,"name":"row"}],"qualifier":"def","expr":{"id":269,"kind":"app","opcode":"set","args":[{"id":264,"kind":"name","name":"row"},{"id":267,"kind":"app","opcode":"item","args":[{"id":265,"kind":"name","name":"coordinate"},{"id":266,"kind":"int","value":2}]},{"id":268,"kind":"name","name":"player"}]}}]}]}]}}},"316":{"id":275,"kind":"def","name":"Move","qualifier":"action","expr":{"id":275,"kind":"lambda","params":[{"id":255,"name":"player"},{"id":256,"name":"coordinate"}],"qualifier":"action","expr":{"id":274,"kind":"app","opcode":"actionAll","args":[{"id":258,"kind":"app","opcode":"isEmpty","args":[{"id":257,"kind":"name","name":"coordinate"}]},{"id":273,"kind":"app","opcode":"assign","args":[{"id":272,"kind":"name","name":"board"},{"id":271,"kind":"app","opcode":"setBy","args":[{"id":259,"kind":"name","name":"board"},{"id":262,"kind":"app","opcode":"item","args":[{"id":260,"kind":"name","name":"coordinate"},{"id":261,"kind":"int","value":1}]},{"id":270,"kind":"lambda","params":[{"id":263,"name":"row"}],"qualifier":"def","expr":{"id":269,"kind":"app","opcode":"set","args":[{"id":264,"kind":"name","name":"row"},{"id":267,"kind":"app","opcode":"item","args":[{"id":265,"kind":"name","name":"coordinate"},{"id":266,"kind":"int","value":2}]},{"id":268,"kind":"name","name":"player"}]}}]}]}]}}},"318":{"id":98,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":97,"kind":"app","opcode":"Set","args":[{"id":26,"kind":"app","opcode":"Set","args":[{"id":19,"kind":"app","opcode":"Tup","args":[{"id":17,"kind":"int","value":1},{"id":18,"kind":"int","value":1}]},{"id":22,"kind":"app","opcode":"Tup","args":[{"id":20,"kind":"int","value":1},{"id":21,"kind":"int","value":2}]},{"id":25,"kind":"app","opcode":"Tup","args":[{"id":23,"kind":"int","value":1},{"id":24,"kind":"int","value":3}]}]},{"id":36,"kind":"app","opcode":"Set","args":[{"id":29,"kind":"app","opcode":"Tup","args":[{"id":27,"kind":"int","value":2},{"id":28,"kind":"int","value":1}]},{"id":32,"kind":"app","opcode":"Tup","args":[{"id":30,"kind":"int","value":2},{"id":31,"kind":"int","value":2}]},{"id":35,"kind":"app","opcode":"Tup","args":[{"id":33,"kind":"int","value":2},{"id":34,"kind":"int","value":3}]}]},{"id":46,"kind":"app","opcode":"Set","args":[{"id":39,"kind":"app","opcode":"Tup","args":[{"id":37,"kind":"int","value":3},{"id":38,"kind":"int","value":1}]},{"id":42,"kind":"app","opcode":"Tup","args":[{"id":40,"kind":"int","value":3},{"id":41,"kind":"int","value":2}]},{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":3},{"id":44,"kind":"int","value":3}]}]},{"id":56,"kind":"app","opcode":"Set","args":[{"id":49,"kind":"app","opcode":"Tup","args":[{"id":47,"kind":"int","value":1},{"id":48,"kind":"int","value":1}]},{"id":52,"kind":"app","opcode":"Tup","args":[{"id":50,"kind":"int","value":2},{"id":51,"kind":"int","value":1}]},{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":3},{"id":54,"kind":"int","value":1}]}]},{"id":66,"kind":"app","opcode":"Set","args":[{"id":59,"kind":"app","opcode":"Tup","args":[{"id":57,"kind":"int","value":1},{"id":58,"kind":"int","value":2}]},{"id":62,"kind":"app","opcode":"Tup","args":[{"id":60,"kind":"int","value":2},{"id":61,"kind":"int","value":2}]},{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":2}]}]},{"id":76,"kind":"app","opcode":"Set","args":[{"id":69,"kind":"app","opcode":"Tup","args":[{"id":67,"kind":"int","value":1},{"id":68,"kind":"int","value":3}]},{"id":72,"kind":"app","opcode":"Tup","args":[{"id":70,"kind":"int","value":2},{"id":71,"kind":"int","value":3}]},{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":3},{"id":74,"kind":"int","value":3}]}]},{"id":86,"kind":"app","opcode":"Set","args":[{"id":79,"kind":"app","opcode":"Tup","args":[{"id":77,"kind":"int","value":1},{"id":78,"kind":"int","value":1}]},{"id":82,"kind":"app","opcode":"Tup","args":[{"id":80,"kind":"int","value":2},{"id":81,"kind":"int","value":2}]},{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":3},{"id":84,"kind":"int","value":3}]}]},{"id":96,"kind":"app","opcode":"Set","args":[{"id":89,"kind":"app","opcode":"Tup","args":[{"id":87,"kind":"int","value":3},{"id":88,"kind":"int","value":1}]},{"id":92,"kind":"app","opcode":"Tup","args":[{"id":90,"kind":"int","value":2},{"id":91,"kind":"int","value":2}]},{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]}]}]}},"319":{"id":237,"kind":"def","name":"canSetupWinWithPattern","qualifier":"def","expr":{"id":237,"kind":"lambda","params":[{"id":216,"name":"pattern"}],"qualifier":"def","expr":{"id":236,"kind":"app","opcode":"and","args":[{"id":226,"kind":"app","opcode":"eq","args":[{"id":224,"kind":"app","opcode":"size","args":[{"id":223,"kind":"app","opcode":"filter","args":[{"id":217,"kind":"name","name":"pattern"},{"id":222,"kind":"lambda","params":[{"id":218,"name":"coordinate"}],"qualifier":"def","expr":{"id":221,"kind":"app","opcode":"hasValue","args":[{"id":219,"kind":"name","name":"coordinate"},{"id":220,"kind":"str","value":"X"}]}}]}]},{"id":225,"kind":"int","value":1}]},{"id":235,"kind":"app","opcode":"eq","args":[{"id":233,"kind":"app","opcode":"size","args":[{"id":232,"kind":"app","opcode":"filter","args":[{"id":227,"kind":"name","name":"pattern"},{"id":231,"kind":"lambda","params":[{"id":228,"name":"coordinate"}],"qualifier":"def","expr":{"id":230,"kind":"app","opcode":"isEmpty","args":[{"id":229,"kind":"name","name":"coordinate"}]}}]}]},{"id":234,"kind":"int","value":2}]}]}}},"323":{"id":322,"kind":"def","name":"pattern","qualifier":"nondet","expr":{"id":321,"kind":"app","opcode":"oneOf","args":[{"id":320,"kind":"app","opcode":"filter","args":[{"id":318,"kind":"name","name":"winningPatterns"},{"id":319,"kind":"name","name":"canSetupWinWithPattern"}]}]}},"324":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"329":{"id":327,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":326,"kind":"app","opcode":"oneOf","args":[{"id":325,"kind":"app","opcode":"filter","args":[{"id":323,"kind":"name","name":"pattern"},{"id":324,"kind":"name","name":"isEmpty"}]}]}},"330":{"id":275,"kind":"def","name":"Move","qualifier":"action","expr":{"id":275,"kind":"lambda","params":[{"id":255,"name":"player"},{"id":256,"name":"coordinate"}],"qualifier":"action","expr":{"id":274,"kind":"app","opcode":"actionAll","args":[{"id":258,"kind":"app","opcode":"isEmpty","args":[{"id":257,"kind":"name","name":"coordinate"}]},{"id":273,"kind":"app","opcode":"assign","args":[{"id":272,"kind":"name","name":"board"},{"id":271,"kind":"app","opcode":"setBy","args":[{"id":259,"kind":"name","name":"board"},{"id":262,"kind":"app","opcode":"item","args":[{"id":260,"kind":"name","name":"coordinate"},{"id":261,"kind":"int","value":1}]},{"id":270,"kind":"lambda","params":[{"id":263,"name":"row"}],"qualifier":"def","expr":{"id":269,"kind":"app","opcode":"set","args":[{"id":264,"kind":"name","name":"row"},{"id":267,"kind":"app","opcode":"item","args":[{"id":265,"kind":"name","name":"coordinate"},{"id":266,"kind":"int","value":2}]},{"id":268,"kind":"name","name":"player"}]}}]}]}]}}},"336":{"id":16,"kind":"def","name":"boardCoordinates","qualifier":"pureval","expr":{"id":15,"kind":"app","opcode":"tuples","args":[{"id":11,"kind":"app","opcode":"to","args":[{"id":9,"kind":"int","value":1},{"id":10,"kind":"int","value":3}]},{"id":14,"kind":"app","opcode":"to","args":[{"id":12,"kind":"int","value":1},{"id":13,"kind":"int","value":3}]}]}},"337":{"id":131,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":131,"kind":"lambda","params":[{"id":127,"name":"coordinate"}],"qualifier":"def","expr":{"id":130,"kind":"app","opcode":"hasValue","args":[{"id":128,"kind":"name","name":"coordinate"},{"id":129,"kind":"str","value":"_"}]}}},"341":{"id":335,"name":"player","kind":"param"},"342":{"id":340,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":339,"kind":"app","opcode":"oneOf","args":[{"id":338,"kind":"app","opcode":"filter","args":[{"id":336,"kind":"name","name":"boardCoordinates"},{"id":337,"kind":"name","name":"isEmpty"}]}]}},"343":{"id":275,"kind":"def","name":"Move","qualifier":"action","expr":{"id":275,"kind":"lambda","params":[{"id":255,"name":"player"},{"id":256,"name":"coordinate"}],"qualifier":"action","expr":{"id":274,"kind":"app","opcode":"actionAll","args":[{"id":258,"kind":"app","opcode":"isEmpty","args":[{"id":257,"kind":"name","name":"coordinate"}]},{"id":273,"kind":"app","opcode":"assign","args":[{"id":272,"kind":"name","name":"board"},{"id":271,"kind":"app","opcode":"setBy","args":[{"id":259,"kind":"name","name":"board"},{"id":262,"kind":"app","opcode":"item","args":[{"id":260,"kind":"name","name":"coordinate"},{"id":261,"kind":"int","value":1}]},{"id":270,"kind":"lambda","params":[{"id":263,"name":"row"}],"qualifier":"def","expr":{"id":269,"kind":"app","opcode":"set","args":[{"id":264,"kind":"name","name":"row"},{"id":267,"kind":"app","opcode":"item","args":[{"id":265,"kind":"name","name":"coordinate"},{"id":266,"kind":"int","value":2}]},{"id":268,"kind":"name","name":"player"}]}}]}]}]}}},"346":{"id":112,"kind":"def","name":"corners","qualifier":"pureval","expr":{"id":111,"kind":"app","opcode":"Set","args":[{"id":101,"kind":"app","opcode":"Tup","args":[{"id":99,"kind":"int","value":1},{"id":100,"kind":"int","value":1}]},{"id":104,"kind":"app","opcode":"Tup","args":[{"id":102,"kind":"int","value":3},{"id":103,"kind":"int","value":1}]},{"id":107,"kind":"app","opcode":"Tup","args":[{"id":105,"kind":"int","value":1},{"id":106,"kind":"int","value":3}]},{"id":110,"kind":"app","opcode":"Tup","args":[{"id":108,"kind":"int","value":3},{"id":109,"kind":"int","value":3}]}]}},"350":{"id":348,"kind":"def","name":"corner","qualifier":"nondet","expr":{"id":347,"kind":"app","opcode":"oneOf","args":[{"id":346,"kind":"name","name":"corners"}]}},"351":{"id":275,"kind":"def","name":"Move","qualifier":"action","expr":{"id":275,"kind":"lambda","params":[{"id":255,"name":"player"},{"id":256,"name":"coordinate"}],"qualifier":"action","expr":{"id":274,"kind":"app","opcode":"actionAll","args":[{"id":258,"kind":"app","opcode":"isEmpty","args":[{"id":257,"kind":"name","name":"coordinate"}]},{"id":273,"kind":"app","opcode":"assign","args":[{"id":272,"kind":"name","name":"board"},{"id":271,"kind":"app","opcode":"setBy","args":[{"id":259,"kind":"name","name":"board"},{"id":262,"kind":"app","opcode":"item","args":[{"id":260,"kind":"name","name":"coordinate"},{"id":261,"kind":"int","value":1}]},{"id":270,"kind":"lambda","params":[{"id":263,"name":"row"}],"qualifier":"def","expr":{"id":269,"kind":"app","opcode":"set","args":[{"id":264,"kind":"name","name":"row"},{"id":267,"kind":"app","opcode":"item","args":[{"id":265,"kind":"name","name":"coordinate"},{"id":266,"kind":"int","value":2}]},{"id":268,"kind":"name","name":"player"}]}}]}]}]}}},"354":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":7,"kind":"str"},"id":8},"358":{"id":148,"kind":"def","name":"won","qualifier":"def","expr":{"id":148,"kind":"lambda","params":[{"id":136,"name":"player"}],"qualifier":"def","expr":{"id":147,"kind":"app","opcode":"exists","args":[{"id":137,"kind":"name","name":"winningPatterns"},{"id":146,"kind":"lambda","params":[{"id":138,"name":"pattern"}],"qualifier":"def","expr":{"id":145,"kind":"app","opcode":"forall","args":[{"id":139,"kind":"name","name":"pattern"},{"id":144,"kind":"lambda","params":[{"id":140,"name":"coordinate"}],"qualifier":"def","expr":{"id":143,"kind":"app","opcode":"hasValue","args":[{"id":141,"kind":"name","name":"coordinate"},{"id":142,"kind":"name","name":"player"}]}}]}}]}}},"360":{"id":135,"kind":"def","name":"boardEmpty","qualifier":"val","expr":{"id":134,"kind":"app","opcode":"forall","args":[{"id":132,"kind":"name","name":"boardCoordinates"},{"id":133,"kind":"name","name":"isEmpty"}]}},"361":{"id":353,"kind":"def","name":"StartInCorner","qualifier":"action","expr":{"id":352,"kind":"let","opdef":{"id":348,"kind":"def","name":"corner","qualifier":"nondet","expr":{"id":347,"kind":"app","opcode":"oneOf","args":[{"id":346,"kind":"name","name":"corners"}]}},"expr":{"id":351,"kind":"app","opcode":"Move","args":[{"id":349,"kind":"str","value":"X"},{"id":350,"kind":"name","name":"corner"}]}}},"362":{"id":241,"kind":"def","name":"canWin","qualifier":"val","expr":{"id":240,"kind":"app","opcode":"exists","args":[{"id":238,"kind":"name","name":"winningPatterns"},{"id":239,"kind":"name","name":"canWinWithPattern"}]}},"363":{"id":293,"kind":"def","name":"Win","qualifier":"action","expr":{"id":292,"kind":"app","opcode":"actionAll","args":[{"id":276,"kind":"name","name":"canWin"},{"id":291,"kind":"let","opdef":{"id":281,"kind":"def","name":"pattern","qualifier":"nondet","expr":{"id":280,"kind":"app","opcode":"oneOf","args":[{"id":279,"kind":"app","opcode":"filter","args":[{"id":277,"kind":"name","name":"winningPatterns"},{"id":278,"kind":"name","name":"canWinWithPattern"}]}]}},"expr":{"id":290,"kind":"let","opdef":{"id":286,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":285,"kind":"app","opcode":"oneOf","args":[{"id":284,"kind":"app","opcode":"filter","args":[{"id":282,"kind":"name","name":"pattern"},{"id":283,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":289,"kind":"app","opcode":"Move","args":[{"id":287,"kind":"str","value":"X"},{"id":288,"kind":"name","name":"coordinate"}]}}}]}},"364":{"id":245,"kind":"def","name":"canBlock","qualifier":"val","expr":{"id":244,"kind":"app","opcode":"exists","args":[{"id":242,"kind":"name","name":"winningPatterns"},{"id":243,"kind":"name","name":"canBlockWithPattern"}]}},"365":{"id":311,"kind":"def","name":"Block","qualifier":"action","expr":{"id":310,"kind":"app","opcode":"actionAll","args":[{"id":294,"kind":"name","name":"canBlock"},{"id":309,"kind":"let","opdef":{"id":299,"kind":"def","name":"pattern","qualifier":"nondet","expr":{"id":298,"kind":"app","opcode":"oneOf","args":[{"id":297,"kind":"app","opcode":"filter","args":[{"id":295,"kind":"name","name":"winningPatterns"},{"id":296,"kind":"name","name":"canBlockWithPattern"}]}]}},"expr":{"id":308,"kind":"let","opdef":{"id":304,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":303,"kind":"app","opcode":"oneOf","args":[{"id":302,"kind":"app","opcode":"filter","args":[{"id":300,"kind":"name","name":"pattern"},{"id":301,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":307,"kind":"app","opcode":"Move","args":[{"id":305,"kind":"str","value":"X"},{"id":306,"kind":"name","name":"coordinate"}]}}}]}},"366":{"id":250,"kind":"def","name":"canTakeCenter","qualifier":"val","expr":{"id":249,"kind":"app","opcode":"isEmpty","args":[{"id":248,"kind":"app","opcode":"Tup","args":[{"id":246,"kind":"int","value":2},{"id":247,"kind":"int","value":2}]}]}},"367":{"id":317,"kind":"def","name":"TakeCenter","qualifier":"action","expr":{"id":316,"kind":"app","opcode":"Move","args":[{"id":312,"kind":"str","value":"X"},{"id":315,"kind":"app","opcode":"Tup","args":[{"id":313,"kind":"int","value":2},{"id":314,"kind":"int","value":2}]}]}},"368":{"id":254,"kind":"def","name":"canSetupWin","qualifier":"val","expr":{"id":253,"kind":"app","opcode":"exists","args":[{"id":251,"kind":"name","name":"winningPatterns"},{"id":252,"kind":"name","name":"canSetupWinWithPattern"}]}},"369":{"id":334,"kind":"def","name":"SetupWin","qualifier":"action","expr":{"id":333,"kind":"app","opcode":"actionAll","args":[{"id":332,"kind":"let","opdef":{"id":322,"kind":"def","name":"pattern","qualifier":"nondet","expr":{"id":321,"kind":"app","opcode":"oneOf","args":[{"id":320,"kind":"app","opcode":"filter","args":[{"id":318,"kind":"name","name":"winningPatterns"},{"id":319,"kind":"name","name":"canSetupWinWithPattern"}]}]}},"expr":{"id":331,"kind":"let","opdef":{"id":327,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":326,"kind":"app","opcode":"oneOf","args":[{"id":325,"kind":"app","opcode":"filter","args":[{"id":323,"kind":"name","name":"pattern"},{"id":324,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":330,"kind":"app","opcode":"Move","args":[{"id":328,"kind":"str","value":"X"},{"id":329,"kind":"name","name":"coordinate"}]}}}]}},"371":{"id":345,"kind":"def","name":"MoveToEmpty","qualifier":"action","expr":{"id":345,"kind":"lambda","params":[{"id":335,"name":"player"}],"qualifier":"action","expr":{"id":344,"kind":"let","opdef":{"id":340,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":339,"kind":"app","opcode":"oneOf","args":[{"id":338,"kind":"app","opcode":"filter","args":[{"id":336,"kind":"name","name":"boardCoordinates"},{"id":337,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":343,"kind":"app","opcode":"Move","args":[{"id":341,"kind":"name","name":"player"},{"id":342,"kind":"name","name":"coordinate"}]}}}},"378":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":7,"kind":"str"},"id":8},"382":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":7,"kind":"str"},"id":8},"386":{"id":148,"kind":"def","name":"won","qualifier":"def","expr":{"id":148,"kind":"lambda","params":[{"id":136,"name":"player"}],"qualifier":"def","expr":{"id":147,"kind":"app","opcode":"exists","args":[{"id":137,"kind":"name","name":"winningPatterns"},{"id":146,"kind":"lambda","params":[{"id":138,"name":"pattern"}],"qualifier":"def","expr":{"id":145,"kind":"app","opcode":"forall","args":[{"id":139,"kind":"name","name":"pattern"},{"id":144,"kind":"lambda","params":[{"id":140,"name":"coordinate"}],"qualifier":"def","expr":{"id":143,"kind":"app","opcode":"hasValue","args":[{"id":141,"kind":"name","name":"coordinate"},{"id":142,"kind":"name","name":"player"}]}}]}}]}}},"389":{"id":345,"kind":"def","name":"MoveToEmpty","qualifier":"action","expr":{"id":345,"kind":"lambda","params":[{"id":335,"name":"player"}],"qualifier":"action","expr":{"id":344,"kind":"let","opdef":{"id":340,"kind":"def","name":"coordinate","qualifier":"nondet","expr":{"id":339,"kind":"app","opcode":"oneOf","args":[{"id":338,"kind":"app","opcode":"filter","args":[{"id":336,"kind":"name","name":"boardCoordinates"},{"id":337,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":343,"kind":"app","opcode":"Move","args":[{"id":341,"kind":"name","name":"player"},{"id":342,"kind":"name","name":"coordinate"}]}}}},"391":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":7,"kind":"str"},"id":8},"396":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":7,"kind":"str"},"id":8},"411":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":5,"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"id":4,"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"}}},"id":6},"415":{"id":381,"kind":"def","name":"MoveX","qualifier":"action","expr":{"id":380,"kind":"app","opcode":"actionAll","args":[{"id":356,"kind":"app","opcode":"eq","args":[{"id":354,"kind":"name","name":"nextTurn"},{"id":355,"kind":"str","value":"X"}]},{"id":359,"kind":"app","opcode":"not","args":[{"id":358,"kind":"app","opcode":"won","args":[{"id":357,"kind":"str","value":"O"}]}]},{"id":376,"kind":"app","opcode":"ite","args":[{"id":360,"kind":"name","name":"boardEmpty"},{"id":361,"kind":"name","name":"StartInCorner"},{"id":375,"kind":"app","opcode":"ite","args":[{"id":362,"kind":"name","name":"canWin"},{"id":363,"kind":"name","name":"Win"},{"id":374,"kind":"app","opcode":"ite","args":[{"id":364,"kind":"name","name":"canBlock"},{"id":365,"kind":"name","name":"Block"},{"id":373,"kind":"app","opcode":"ite","args":[{"id":366,"kind":"name","name":"canTakeCenter"},{"id":367,"kind":"name","name":"TakeCenter"},{"id":372,"kind":"app","opcode":"ite","args":[{"id":368,"kind":"name","name":"canSetupWin"},{"id":369,"kind":"name","name":"SetupWin"},{"id":371,"kind":"app","opcode":"MoveToEmpty","args":[{"id":370,"kind":"str","value":"X"}]}]}]}]}]}]},{"id":379,"kind":"app","opcode":"assign","args":[{"id":378,"kind":"name","name":"nextTurn"},{"id":377,"kind":"str","value":"O"}]}]}},"416":{"id":394,"kind":"def","name":"MoveO","qualifier":"action","expr":{"id":393,"kind":"app","opcode":"actionAll","args":[{"id":384,"kind":"app","opcode":"eq","args":[{"id":382,"kind":"name","name":"nextTurn"},{"id":383,"kind":"str","value":"O"}]},{"id":387,"kind":"app","opcode":"not","args":[{"id":386,"kind":"app","opcode":"won","args":[{"id":385,"kind":"str","value":"X"}]}]},{"id":389,"kind":"app","opcode":"MoveToEmpty","args":[{"id":388,"kind":"str","value":"O"}]},{"id":392,"kind":"app","opcode":"assign","args":[{"id":391,"kind":"name","name":"nextTurn"},{"id":390,"kind":"str","value":"X"}]}]}},"417":{"id":171,"kind":"def","name":"gameOver","qualifier":"val","expr":{"id":170,"kind":"app","opcode":"or","args":[{"id":168,"kind":"app","opcode":"or","args":[{"id":165,"kind":"app","opcode":"won","args":[{"id":164,"kind":"str","value":"X"}]},{"id":167,"kind":"app","opcode":"won","args":[{"id":166,"kind":"str","value":"O"}]}]},{"id":169,"kind":"name","name":"boardFull"}]}},"418":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":5,"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"id":4,"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"}}},"id":6},"419":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":5,"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"id":4,"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"}}},"id":6},"421":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":7,"kind":"str"},"id":8},"422":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":7,"kind":"str"},"id":8},"428":{"id":148,"kind":"def","name":"won","qualifier":"def","expr":{"id":148,"kind":"lambda","params":[{"id":136,"name":"player"}],"qualifier":"def","expr":{"id":147,"kind":"app","opcode":"exists","args":[{"id":137,"kind":"name","name":"winningPatterns"},{"id":146,"kind":"lambda","params":[{"id":138,"name":"pattern"}],"qualifier":"def","expr":{"id":145,"kind":"app","opcode":"forall","args":[{"id":139,"kind":"name","name":"pattern"},{"id":144,"kind":"lambda","params":[{"id":140,"name":"coordinate"}],"qualifier":"def","expr":{"id":143,"kind":"app","opcode":"hasValue","args":[{"id":141,"kind":"name","name":"coordinate"},{"id":142,"kind":"name","name":"player"}]}}]}}]}}},"432":{"id":148,"kind":"def","name":"won","qualifier":"def","expr":{"id":148,"kind":"lambda","params":[{"id":136,"name":"player"}],"qualifier":"def","expr":{"id":147,"kind":"app","opcode":"exists","args":[{"id":137,"kind":"name","name":"winningPatterns"},{"id":146,"kind":"lambda","params":[{"id":138,"name":"pattern"}],"qualifier":"def","expr":{"id":145,"kind":"app","opcode":"forall","args":[{"id":139,"kind":"name","name":"pattern"},{"id":144,"kind":"lambda","params":[{"id":140,"name":"coordinate"}],"qualifier":"def","expr":{"id":143,"kind":"app","opcode":"hasValue","args":[{"id":141,"kind":"name","name":"coordinate"},{"id":142,"kind":"name","name":"player"}]}}]}}]}}},"435":{"id":163,"kind":"def","name":"stalemate","qualifier":"val","expr":{"id":162,"kind":"app","opcode":"and","args":[{"id":158,"kind":"app","opcode":"and","args":[{"id":154,"kind":"name","name":"boardFull"},{"id":157,"kind":"app","opcode":"not","args":[{"id":156,"kind":"app","opcode":"won","args":[{"id":155,"kind":"str","value":"X"}]}]}]},{"id":161,"kind":"app","opcode":"not","args":[{"id":160,"kind":"app","opcode":"won","args":[{"id":159,"kind":"str","value":"O"}]}]}]}},"438":{"doc":"O has not won. This should hold, as O can only achieve a draw.","id":434,"kind":"def","name":"OHasNotWon","qualifier":"val","expr":{"id":433,"kind":"app","opcode":"not","args":[{"id":432,"kind":"app","opcode":"won","args":[{"id":431,"kind":"str","value":"O"}]}]}},"441":{"id":148,"kind":"def","name":"won","qualifier":"def","expr":{"id":148,"kind":"lambda","params":[{"id":136,"name":"player"}],"qualifier":"def","expr":{"id":147,"kind":"app","opcode":"exists","args":[{"id":137,"kind":"name","name":"winningPatterns"},{"id":146,"kind":"lambda","params":[{"id":138,"name":"pattern"}],"qualifier":"def","expr":{"id":145,"kind":"app","opcode":"forall","args":[{"id":139,"kind":"name","name":"pattern"},{"id":144,"kind":"lambda","params":[{"id":140,"name":"coordinate"}],"qualifier":"def","expr":{"id":143,"kind":"app","opcode":"hasValue","args":[{"id":141,"kind":"name","name":"coordinate"},{"id":142,"kind":"name","name":"player"}]}}]}}]}}}},"types":{"6":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":4},"id":5}},"8":{"typeVariables":{},"rowVariables":{},"type":{"id":7,"kind":"str"}},"9":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"10":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"11":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":3,"kind":"int"},"id":4}},"12":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"13":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"14":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":3,"kind":"int"},"id":4}},"15":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":8}},"16":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":8}},"17":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"18":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"19":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"20":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"21":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"22":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"23":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"24":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"25":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"26":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"27":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"28":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"29":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"30":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"31":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"32":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"33":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"34":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"35":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"36":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"37":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"38":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"39":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"40":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"41":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"42":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"43":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"44":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"45":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"46":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"47":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"48":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"49":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"50":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"51":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"52":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"53":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"54":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"55":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"56":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"57":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"58":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"59":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"60":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"61":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"62":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"63":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"64":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"65":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"66":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"67":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"68":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"69":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"70":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"71":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"72":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"73":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"74":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"75":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"76":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"77":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"78":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"79":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"80":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"81":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"82":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"83":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"84":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"85":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"86":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"87":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"88":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"89":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"90":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"91":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"92":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"93":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"94":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"95":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"96":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"97":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"98":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"99":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"100":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"101":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"102":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"103":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"104":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"105":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"106":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"107":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"108":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"109":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"110":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"111":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":6}},"112":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":6}},"113":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"tail_t57"}}}}},"114":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"str"}},"115":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":4},"id":5}},"116":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"tail_t57"}}}}},"117":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"118":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"119":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":4}},"120":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"tail_t57"}}}}},"121":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"122":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"int"}},"123":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"str"}},"124":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"str"}},"125":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"126":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"tail_t57"}}}},{"id":3,"kind":"str"}],"res":{"id":3,"kind":"bool"}}},"127":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t78"}}}}},"128":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t78"}}}}},"129":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"130":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"131":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t78"}}}}],"res":{"id":3,"kind":"bool"}}},"132":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":8}},"133":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}}],"res":{"id":3,"kind":"bool"}}},"134":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"135":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"136":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"str"}},"137":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"138":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":2}},"139":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":2}},"140":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}}},"141":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}}},"142":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"str"}},"143":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"144":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}}],"res":{"id":3,"kind":"bool"}}},"145":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"146":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":2}],"res":{"id":6,"kind":"bool"}}},"147":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"148":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":3,"kind":"str"}],"res":{"id":6,"kind":"bool"}}},"149":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":8}},"150":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}}],"res":{"id":3,"kind":"bool"}}},"151":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"152":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"153":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"154":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"155":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"156":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"157":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"158":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"159":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"160":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"161":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"162":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"163":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"164":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"165":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"166":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"167":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"168":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"169":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"170":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"171":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"172":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}},"id":2}},"173":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}},"id":2}},"174":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}}},"175":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}}},"176":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"177":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"178":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}}],"res":{"id":3,"kind":"bool"}}},"179":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}},"id":7}},"180":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"181":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"182":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"183":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}},"id":2}},"184":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}}},"185":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}}},"186":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"187":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}}],"res":{"id":3,"kind":"bool"}}},"188":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}},"id":7}},"189":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"190":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"191":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"192":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"193":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t101"}}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"194":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}},"id":2}},"195":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}},"id":2}},"196":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}}},"197":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}}},"198":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"199":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"200":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}}],"res":{"id":3,"kind":"bool"}}},"201":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}},"id":7}},"202":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"203":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"204":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"205":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}},"id":2}},"206":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}}},"207":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}}},"208":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"209":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}}],"res":{"id":3,"kind":"bool"}}},"210":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}},"id":7}},"211":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"212":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"213":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"214":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"215":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t118"}}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"216":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}},"id":2}},"217":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}},"id":2}},"218":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}}},"219":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}}},"220":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"221":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"222":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}}],"res":{"id":3,"kind":"bool"}}},"223":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}},"id":7}},"224":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"225":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"226":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"227":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}},"id":2}},"228":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}}},"229":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}}},"230":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"231":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}}],"res":{"id":3,"kind":"bool"}}},"232":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}},"id":7}},"233":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"234":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"235":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"236":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"237":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"t135"}}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"238":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"239":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"240":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"241":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"242":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"243":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"244":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"245":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"246":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"247":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"248":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"249":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"250":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"251":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"252":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"253":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"254":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"255":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"str"}},"256":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"tail_t150"}}}}},"257":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"tail_t150"}}}}},"258":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"259":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":4},"id":5}},"260":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"tail_t150"}}}}},"261":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"262":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"263":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":3}},"264":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":3}},"265":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"tail_t150"}}}}},"266":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"267":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"int"}},"268":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"str"}},"269":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":8}},"270":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":3}],"res":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":8}}},"271":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":4},"id":10}},"272":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":4},"id":5}},"273":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"274":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"275":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":3,"kind":"str"},{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"var","name":"tail_t150"}}}}],"res":{"id":3,"kind":"bool"}}},"276":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"277":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"278":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"279":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":7}},"280":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"281":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"282":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"283":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}}],"res":{"id":3,"kind":"bool"}}},"284":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"285":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"286":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"287":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"288":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"289":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"290":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"291":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"292":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"293":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"294":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"295":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"296":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"297":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":7}},"298":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"299":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"300":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"301":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}}],"res":{"id":3,"kind":"bool"}}},"302":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"303":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"304":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"305":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"306":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"307":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"308":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"309":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"310":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"311":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"312":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"313":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"314":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"315":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"316":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"317":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"318":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"319":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"320":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":7}},"321":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"322":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"323":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"324":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}}],"res":{"id":3,"kind":"bool"}}},"325":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"326":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"327":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"328":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"329":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"330":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"331":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"332":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"333":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"334":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"335":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"str"}},"336":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":8}},"337":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":1,"kind":"int"}}],"other":{"kind":"row","fields":[{"fieldName":"1","fieldType":{"id":2,"kind":"int"}}],"other":{"kind":"empty"}}}}],"res":{"id":3,"kind":"bool"}}},"338":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":7}},"339":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7}},"340":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7}},"341":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"str"}},"342":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7}},"343":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"344":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"345":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":3,"kind":"str"}],"res":{"id":3,"kind":"bool"}}},"346":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":6}},"347":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"348":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"349":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"350":{"typeVariables":{},"rowVariables":{},"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"351":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"352":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"353":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"354":{"typeVariables":{},"rowVariables":{},"type":{"id":7,"kind":"str"}},"355":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"356":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"357":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"358":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"359":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"360":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"361":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"362":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"363":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"364":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"365":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"366":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"367":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"368":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"369":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"370":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"371":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"372":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"373":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"374":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"375":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"376":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"377":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"378":{"typeVariables":{},"rowVariables":{},"type":{"id":7,"kind":"str"}},"379":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"380":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"381":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"382":{"typeVariables":{},"rowVariables":{},"type":{"id":7,"kind":"str"}},"383":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"384":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"385":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"386":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"387":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"388":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"389":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"390":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"391":{"typeVariables":{},"rowVariables":{},"type":{"id":7,"kind":"str"}},"392":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"393":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"394":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"395":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"396":{"typeVariables":{},"rowVariables":{},"type":{"id":7,"kind":"str"}},"397":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"398":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"399":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"400":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":3,"kind":"int"},"id":4}},"401":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"402":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"403":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"404":{"typeVariables":{},"rowVariables":{},"type":{"kind":"set","elem":{"id":3,"kind":"int"},"id":4}},"405":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"406":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"407":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":3,"kind":"int"}],"res":{"kind":"str"}}},"408":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":3,"kind":"int"},"res":{"kind":"str"},"id":8}},"409":{"typeVariables":{},"rowVariables":{},"type":{"kind":"oper","args":[{"id":3,"kind":"int"}],"res":{"kind":"fun","arg":{"id":3,"kind":"int"},"res":{"kind":"str"},"id":8}}},"410":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":3,"kind":"int"},"res":{"kind":"fun","arg":{"id":3,"kind":"int"},"res":{"kind":"str"},"id":8},"id":8}},"411":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":4},"id":5}},"412":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"413":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"414":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"415":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"416":{"typeVariables":{},"rowVariables":{},"type":{"id":5,"kind":"bool"}},"417":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"418":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":4},"id":5}},"419":{"typeVariables":{},"rowVariables":{},"type":{"kind":"fun","arg":{"id":1,"kind":"int"},"res":{"kind":"fun","arg":{"id":2,"kind":"int"},"res":{"id":3,"kind":"str"},"id":4},"id":5}},"420":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"421":{"typeVariables":{},"rowVariables":{},"type":{"id":7,"kind":"str"}},"422":{"typeVariables":{},"rowVariables":{},"type":{"id":7,"kind":"str"}},"423":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"424":{"typeVariables":{},"rowVariables":{},"type":{"id":4,"kind":"bool"}},"425":{"typeVariables":{},"rowVariables":{},"type":{"id":4,"kind":"bool"}},"426":{"typeVariables":{},"rowVariables":{},"type":{"id":4,"kind":"bool"}},"427":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"428":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"429":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"430":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"431":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"432":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"433":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"434":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"435":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"436":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"437":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"438":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"439":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"440":{"typeVariables":{},"rowVariables":{},"type":{"kind":"str"}},"441":{"typeVariables":{},"rowVariables":{},"type":{"id":6,"kind":"bool"}},"442":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}},"443":{"typeVariables":{},"rowVariables":{},"type":{"id":2,"kind":"bool"}}},"effects":{"6":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"8":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"9":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"10":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"11":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"12":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"13":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"14":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"15":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"16":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"17":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"18":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"19":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"20":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"21":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"22":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"23":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"24":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"25":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"26":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"27":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"28":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"29":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"30":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"31":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"32":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"33":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"34":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"35":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"36":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"37":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"38":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"39":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"40":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"41":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"42":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"43":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"44":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"45":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"46":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"47":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"48":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"49":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"50":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"51":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"52":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"53":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"54":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"55":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"56":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"57":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"58":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"59":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"60":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"61":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"62":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"63":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"64":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"65":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"66":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"67":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"68":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"69":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"70":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"71":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"72":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"73":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"74":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"75":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"76":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"77":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"78":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"79":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"80":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"81":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"82":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"83":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"84":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"85":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"86":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"87":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"88":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"89":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"90":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"91":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"92":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"93":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"94":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"95":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"96":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"97":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"98":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"99":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"100":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"101":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"102":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"103":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"104":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"105":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"106":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"107":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"108":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"109":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"110":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"111":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"112":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"113":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v196"}}]},"effectVariables":{},"entityVariables":{}},"114":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v208"}},{"kind":"temporal","entity":{"kind":"variable","name":"v209"}}]},"effectVariables":{},"entityVariables":{}},"115":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"116":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v196"}}]},"effectVariables":{},"entityVariables":{}},"117":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"118":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v196"}}]},"effectVariables":{},"entityVariables":{}},"119":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v196"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"120":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v196"}}]},"effectVariables":{},"entityVariables":{}},"121":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"122":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v196"}}]},"effectVariables":{},"entityVariables":{}},"123":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v196"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"124":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v208"}},{"kind":"temporal","entity":{"kind":"variable","name":"v209"}}]},"effectVariables":{},"entityVariables":{}},"125":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v196"},{"kind":"variable","name":"v208"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v209"}}]},"effectVariables":{},"entityVariables":{}},"126":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v196"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v208"}},{"kind":"temporal","entity":{"kind":"variable","name":"v209"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v196"},{"kind":"variable","name":"v208"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v209"}}]}}},"127":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v234"}}]},"effectVariables":{},"entityVariables":{}},"128":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v234"}}]},"effectVariables":{},"entityVariables":{}},"129":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"130":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v234"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"131":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v234"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v234"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]}}},"132":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"133":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"134":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"135":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"136":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v238"}},{"kind":"temporal","entity":{"kind":"variable","name":"v239"}}]},"effectVariables":{},"entityVariables":{}},"137":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"138":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v240"}}]},"effectVariables":{},"entityVariables":{}},"139":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v240"}}]},"effectVariables":{},"entityVariables":{}},"140":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v237"}}]},"effectVariables":{},"entityVariables":{}},"141":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v237"}}]},"effectVariables":{},"entityVariables":{}},"142":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v238"}},{"kind":"temporal","entity":{"kind":"variable","name":"v239"}}]},"effectVariables":{},"entityVariables":{}},"143":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v237"},{"kind":"variable","name":"v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v239"}}]},"effectVariables":{},"entityVariables":{}},"144":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v240"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v240"},{"kind":"variable","name":"v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v239"}}]}},"effectVariables":{},"entityVariables":{}},"145":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v240"},{"kind":"variable","name":"v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v239"}}]},"effectVariables":{},"entityVariables":{}},"146":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v239"}}]}},"effectVariables":{},"entityVariables":{}},"147":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v239"}}]},"effectVariables":{},"entityVariables":{}},"148":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v238"}},{"kind":"temporal","entity":{"kind":"variable","name":"v239"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"temporal","entity":{"kind":"variable","name":"v239"}}]}}},"149":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"150":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"151":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"152":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"153":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"154":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"155":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"156":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"157":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"158":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"159":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"160":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"161":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"162":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"163":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"164":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"165":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"166":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"167":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"168":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"169":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"170":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"171":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"172":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v265"}}]},"effectVariables":{},"entityVariables":{}},"173":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v265"}}]},"effectVariables":{},"entityVariables":{}},"174":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v262"}}]},"effectVariables":{},"entityVariables":{}},"175":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v262"}}]},"effectVariables":{},"entityVariables":{}},"176":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"177":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v262"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"178":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v265"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v265"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]}},"effectVariables":{},"entityVariables":{}},"179":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v265"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"180":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v265"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"181":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"182":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v265"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"183":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v265"}}]},"effectVariables":{},"entityVariables":{}},"184":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v276"}}]},"effectVariables":{},"entityVariables":{}},"185":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v276"}}]},"effectVariables":{},"entityVariables":{}},"186":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v276"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"187":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v265"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v265"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]}},"effectVariables":{},"entityVariables":{}},"188":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v265"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"189":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v265"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"190":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"191":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v265"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"192":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v265"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"193":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v265"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v265"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]}}},"194":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v295"}}]},"effectVariables":{},"entityVariables":{}},"195":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v295"}}]},"effectVariables":{},"entityVariables":{}},"196":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v292"}}]},"effectVariables":{},"entityVariables":{}},"197":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v292"}}]},"effectVariables":{},"entityVariables":{}},"198":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"199":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v292"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"200":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v295"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v295"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]}},"effectVariables":{},"entityVariables":{}},"201":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v295"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"202":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v295"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"203":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"204":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v295"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"205":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v295"}}]},"effectVariables":{},"entityVariables":{}},"206":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v306"}}]},"effectVariables":{},"entityVariables":{}},"207":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v306"}}]},"effectVariables":{},"entityVariables":{}},"208":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v306"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"209":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v295"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v295"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]}},"effectVariables":{},"entityVariables":{}},"210":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v295"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"211":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v295"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"212":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"213":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v295"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"214":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v295"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"215":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v295"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v295"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]}}},"216":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v325"}}]},"effectVariables":{},"entityVariables":{}},"217":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v325"}}]},"effectVariables":{},"entityVariables":{}},"218":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v322"}}]},"effectVariables":{},"entityVariables":{}},"219":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v322"}}]},"effectVariables":{},"entityVariables":{}},"220":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"221":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v322"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"222":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v325"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v325"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]}},"effectVariables":{},"entityVariables":{}},"223":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v325"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"224":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v325"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"225":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"226":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v325"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"227":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v325"}}]},"effectVariables":{},"entityVariables":{}},"228":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v336"}}]},"effectVariables":{},"entityVariables":{}},"229":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v336"}}]},"effectVariables":{},"entityVariables":{}},"230":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v336"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"231":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v325"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v325"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]}},"effectVariables":{},"entityVariables":{}},"232":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v325"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"233":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v325"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"234":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"235":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v325"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"236":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v325"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"237":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v325"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v325"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]}}},"238":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"239":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"240":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"241":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"242":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"243":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"244":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"245":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"246":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"247":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"248":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"249":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"250":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"251":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"252":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"253":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"254":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"255":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v364"}}]},"effectVariables":{},"entityVariables":{}},"256":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v357"}}]},"effectVariables":{},"entityVariables":{}},"257":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v357"}}]},"effectVariables":{},"entityVariables":{}},"258":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v357"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"259":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"260":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v357"}}]},"effectVariables":{},"entityVariables":{}},"261":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"262":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v357"}}]},"effectVariables":{},"entityVariables":{}},"263":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v360"}},{"kind":"temporal","entity":{"kind":"variable","name":"v361"}}]},"effectVariables":{},"entityVariables":{}},"264":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v360"}},{"kind":"temporal","entity":{"kind":"variable","name":"v361"}}]},"effectVariables":{},"entityVariables":{}},"265":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v357"}}]},"effectVariables":{},"entityVariables":{}},"266":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"267":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v357"}}]},"effectVariables":{},"entityVariables":{}},"268":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v364"}},{"kind":"temporal","entity":{"kind":"variable","name":"v365"}}]},"effectVariables":{},"entityVariables":{}},"269":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v360"},{"kind":"variable","name":"v357"},{"kind":"variable","name":"v364"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"v361"},{"kind":"variable","name":"v365"}]}}]},"effectVariables":{},"entityVariables":{}},"270":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v357"},{"kind":"variable","name":"v364"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"temporal","entity":{"kind":"concrete","stateVariables":[]}}]}},"effectVariables":{},"entityVariables":{}},"271":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v357"},{"kind":"variable","name":"v364"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}}]},"effectVariables":{},"entityVariables":{}},"272":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"273":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v357"},{"kind":"variable","name":"v364"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"274":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v357"},{"kind":"variable","name":"v364"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"275":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v364"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v357"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v357"},{"kind":"variable","name":"v364"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}}},"276":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"277":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"278":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"279":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"280":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"281":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"282":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"283":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"284":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"285":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"286":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"287":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"288":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"289":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"290":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"291":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"292":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"293":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"294":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"295":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"296":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"297":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"298":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"299":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"300":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"301":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"302":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"303":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"304":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"305":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"306":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"307":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"308":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"309":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"310":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"311":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"312":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"313":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"314":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"315":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"316":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"317":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"318":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"319":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"320":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"321":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"322":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"323":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"324":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"325":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"326":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"327":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"328":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"329":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"330":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"331":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"332":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"333":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"334":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"335":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v463"}}]},"effectVariables":{},"entityVariables":{}},"336":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"337":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}},"effectVariables":{},"entityVariables":{}},"338":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"339":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"340":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"341":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v463"}}]},"effectVariables":{},"entityVariables":{}},"342":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"343":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v463"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"344":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v463"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"345":{"effectVariables":{},"entityVariables":{},"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"v463"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"v463"},{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]}}},"346":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"347":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"348":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"349":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"350":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"351":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"352":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"353":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"354":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"355":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"356":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"357":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"358":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"359":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"360":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"361":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"362":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"363":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"364":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"365":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"366":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"367":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"368":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"369":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"370":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"371":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"372":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"373":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"374":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"375":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"376":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"377":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"378":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"379":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"380":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8},{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6},{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"381":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8},{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6},{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"382":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"383":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"384":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"385":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"386":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"387":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"388":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"389":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"390":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"391":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"392":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"393":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8},{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6},{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"394":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8},{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6},{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"395":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"396":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"397":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"398":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"399":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"400":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"401":{"effect":{"kind":"variable","name":"e48"},"effectVariables":{},"entityVariables":{}},"402":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"403":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"404":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"405":{"effect":{"kind":"variable","name":"e50"},"effectVariables":{},"entityVariables":{}},"406":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"407":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":{},"entityVariables":{}},"408":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"409":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":{},"entityVariables":{}},"410":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"411":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"412":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"413":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8},{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"414":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8},{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"415":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8},{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6},{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"416":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8},{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6},{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"417":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"418":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"419":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"420":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"421":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"422":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"423":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"424":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6},{"name":"nextTurn","reference":8}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6},{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"425":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8},{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6},{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"426":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":8},{"name":"board","reference":6}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6},{"name":"nextTurn","reference":8}]}}]},"effectVariables":{},"entityVariables":{}},"427":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"428":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"429":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"430":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"431":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"432":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"433":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"434":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"435":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"436":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"437":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"438":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"439":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"440":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"441":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"442":{"effect":{"kind":"concrete","components":[{"kind":"temporal","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}},"443":{"effect":{"kind":"concrete","components":[{"kind":"temporal","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":6}]}}]},"effectVariables":{},"entityVariables":{}}}} \ No newline at end of file +{"stage":"compiling","warnings":[],"modules":[{"id":505,"name":"tictactoe","declarations":[{"id":124,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":123,"kind":"app","opcode":"Set","args":[{"id":52,"kind":"app","opcode":"Set","args":[{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":1},{"id":44,"kind":"int","value":1}]},{"id":48,"kind":"app","opcode":"Tup","args":[{"id":46,"kind":"int","value":1},{"id":47,"kind":"int","value":2}]},{"id":51,"kind":"app","opcode":"Tup","args":[{"id":49,"kind":"int","value":1},{"id":50,"kind":"int","value":3}]}]},{"id":62,"kind":"app","opcode":"Set","args":[{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":2},{"id":54,"kind":"int","value":1}]},{"id":58,"kind":"app","opcode":"Tup","args":[{"id":56,"kind":"int","value":2},{"id":57,"kind":"int","value":2}]},{"id":61,"kind":"app","opcode":"Tup","args":[{"id":59,"kind":"int","value":2},{"id":60,"kind":"int","value":3}]}]},{"id":72,"kind":"app","opcode":"Set","args":[{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":1}]},{"id":68,"kind":"app","opcode":"Tup","args":[{"id":66,"kind":"int","value":3},{"id":67,"kind":"int","value":2}]},{"id":71,"kind":"app","opcode":"Tup","args":[{"id":69,"kind":"int","value":3},{"id":70,"kind":"int","value":3}]}]},{"id":82,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":1},{"id":74,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Tup","args":[{"id":76,"kind":"int","value":2},{"id":77,"kind":"int","value":1}]},{"id":81,"kind":"app","opcode":"Tup","args":[{"id":79,"kind":"int","value":3},{"id":80,"kind":"int","value":1}]}]},{"id":92,"kind":"app","opcode":"Set","args":[{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":1},{"id":84,"kind":"int","value":2}]},{"id":88,"kind":"app","opcode":"Tup","args":[{"id":86,"kind":"int","value":2},{"id":87,"kind":"int","value":2}]},{"id":91,"kind":"app","opcode":"Tup","args":[{"id":89,"kind":"int","value":3},{"id":90,"kind":"int","value":2}]}]},{"id":102,"kind":"app","opcode":"Set","args":[{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]},{"id":98,"kind":"app","opcode":"Tup","args":[{"id":96,"kind":"int","value":2},{"id":97,"kind":"int","value":3}]},{"id":101,"kind":"app","opcode":"Tup","args":[{"id":99,"kind":"int","value":3},{"id":100,"kind":"int","value":3}]}]},{"id":112,"kind":"app","opcode":"Set","args":[{"id":105,"kind":"app","opcode":"Tup","args":[{"id":103,"kind":"int","value":1},{"id":104,"kind":"int","value":1}]},{"id":108,"kind":"app","opcode":"Tup","args":[{"id":106,"kind":"int","value":2},{"id":107,"kind":"int","value":2}]},{"id":111,"kind":"app","opcode":"Tup","args":[{"id":109,"kind":"int","value":3},{"id":110,"kind":"int","value":3}]}]},{"id":122,"kind":"app","opcode":"Set","args":[{"id":115,"kind":"app","opcode":"Tup","args":[{"id":113,"kind":"int","value":3},{"id":114,"kind":"int","value":1}]},{"id":118,"kind":"app","opcode":"Tup","args":[{"id":116,"kind":"int","value":2},{"id":117,"kind":"int","value":2}]},{"id":121,"kind":"app","opcode":"Tup","args":[{"id":119,"kind":"int","value":1},{"id":120,"kind":"int","value":3}]}]}]}},{"id":138,"kind":"def","name":"corners","qualifier":"pureval","expr":{"id":137,"kind":"app","opcode":"Set","args":[{"id":127,"kind":"app","opcode":"Tup","args":[{"id":125,"kind":"int","value":1},{"id":126,"kind":"int","value":1}]},{"id":130,"kind":"app","opcode":"Tup","args":[{"id":128,"kind":"int","value":3},{"id":129,"kind":"int","value":1}]},{"id":133,"kind":"app","opcode":"Tup","args":[{"id":131,"kind":"int","value":1},{"id":132,"kind":"int","value":3}]},{"id":136,"kind":"app","opcode":"Tup","args":[{"id":134,"kind":"int","value":3},{"id":135,"kind":"int","value":3}]}]}},{"id":3,"kind":"typedef","name":"Player","type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"depth":0},{"id":42,"kind":"def","name":"boardCoordinates","qualifier":"pureval","expr":{"id":41,"kind":"app","opcode":"tuples","args":[{"id":37,"kind":"app","opcode":"to","args":[{"id":35,"kind":"int","value":1},{"id":36,"kind":"int","value":3}]},{"id":40,"kind":"app","opcode":"to","args":[{"id":38,"kind":"int","value":1},{"id":39,"kind":"int","value":3}]}]}},{"id":12,"kind":"def","name":"O","qualifier":"val","typeAnnotation":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"expr":{"id":11,"kind":"app","opcode":"variant","args":[{"id":9,"kind":"str","value":"O"},{"id":10,"kind":"app","opcode":"Tup","args":[]}]}},{"id":15,"kind":"typedef","name":"Square","type":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"depth":0},{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":34,"depth":0},{"id":8,"kind":"def","name":"X","qualifier":"val","typeAnnotation":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]}},{"id":22,"kind":"def","name":"Occupied","qualifier":"def","typeAnnotation":{"kind":"oper","args":[{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}],"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"expr":{"id":21,"kind":"lambda","params":[{"id":18,"name":"Occupied_21"}],"qualifier":"def","expr":{"id":20,"kind":"app","opcode":"variant","args":[{"id":17,"kind":"str","value":"Occupied"},{"kind":"name","name":"Occupied_21","id":19}]}}},{"id":26,"kind":"def","name":"Empty","qualifier":"val","typeAnnotation":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"expr":{"id":25,"kind":"app","opcode":"variant","args":[{"id":23,"kind":"str","value":"Empty"},{"id":24,"kind":"app","opcode":"Tup","args":[]}]}},{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"id":32,"depth":0},{"id":154,"kind":"def","name":"square","qualifier":"def","expr":{"id":153,"kind":"lambda","params":[{"id":142,"name":"coordinate_153","typeAnnotation":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}}],"qualifier":"def","expr":{"id":152,"kind":"app","opcode":"get","args":[{"id":148,"kind":"app","opcode":"get","args":[{"id":144,"kind":"name","name":"board"},{"id":147,"kind":"app","opcode":"item","args":[{"id":145,"kind":"name","name":"coordinate_153"},{"id":146,"kind":"int","value":1}]}]},{"id":151,"kind":"app","opcode":"item","args":[{"id":149,"kind":"name","name":"coordinate_153"},{"id":150,"kind":"int","value":2}]}]}},"typeAnnotation":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},{"id":475,"kind":"def","name":"init","qualifier":"action","expr":{"id":474,"kind":"app","opcode":"actionAll","args":[{"id":458,"kind":"app","opcode":"assign","args":[{"id":457,"kind":"name","name":"nextTurn"},{"id":456,"kind":"name","name":"X"}]},{"id":473,"kind":"app","opcode":"assign","args":[{"id":472,"kind":"name","name":"board"},{"id":471,"kind":"app","opcode":"mapBy","args":[{"id":461,"kind":"app","opcode":"to","args":[{"id":459,"kind":"int","value":1},{"id":460,"kind":"int","value":3}]},{"id":470,"kind":"lambda","params":[{"id":462,"name":"__470"}],"qualifier":"def","expr":{"id":469,"kind":"app","opcode":"mapBy","args":[{"id":465,"kind":"app","opcode":"to","args":[{"id":463,"kind":"int","value":1},{"id":464,"kind":"int","value":3}]},{"id":468,"kind":"lambda","params":[{"id":466,"name":"__468"}],"qualifier":"def","expr":{"id":467,"kind":"name","name":"Empty"}}]}}]}]}]}},{"id":171,"kind":"def","name":"hasPlayer","qualifier":"def","expr":{"id":170,"kind":"lambda","params":[{"id":155,"name":"coordinate_170"},{"id":156,"name":"player_170"}],"qualifier":"def","expr":{"id":163,"kind":"app","opcode":"matchVariant","args":[{"id":158,"kind":"app","opcode":"square","args":[{"id":157,"kind":"name","name":"coordinate_170"}]},{"id":164,"kind":"str","value":"Empty"},{"id":165,"kind":"lambda","qualifier":"def","expr":{"id":159,"kind":"bool","value":false},"params":[{"name":"__165","id":166}]},{"id":167,"kind":"str","value":"Occupied"},{"id":168,"kind":"lambda","qualifier":"def","expr":{"id":162,"kind":"app","opcode":"eq","args":[{"id":160,"kind":"name","name":"player_170"},{"id":161,"kind":"name","name":"p_168"}]},"params":[{"name":"p_168","id":169}]}]}}},{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}}},{"id":189,"kind":"def","name":"boardEmpty","qualifier":"val","expr":{"id":188,"kind":"app","opcode":"forall","args":[{"id":186,"kind":"name","name":"boardCoordinates"},{"id":187,"kind":"name","name":"isEmpty"}]}},{"id":203,"kind":"def","name":"won","qualifier":"def","expr":{"id":202,"kind":"lambda","params":[{"id":190,"name":"player_202"}],"qualifier":"def","expr":{"id":201,"kind":"app","opcode":"exists","args":[{"id":191,"kind":"name","name":"winningPatterns"},{"id":200,"kind":"lambda","params":[{"id":192,"name":"pattern_200"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"forall","args":[{"id":193,"kind":"name","name":"pattern_200"},{"id":198,"kind":"lambda","params":[{"id":194,"name":"coordinate_198"}],"qualifier":"def","expr":{"id":197,"kind":"app","opcode":"hasPlayer","args":[{"id":195,"kind":"name","name":"coordinate_198"},{"id":196,"kind":"name","name":"player_202"}]}}]}}]}}},{"id":208,"kind":"def","name":"boardFull","qualifier":"val","expr":{"id":207,"kind":"app","opcode":"not","args":[{"id":206,"kind":"app","opcode":"exists","args":[{"id":204,"kind":"name","name":"boardCoordinates"},{"id":205,"kind":"name","name":"isEmpty"}]}]}},{"id":249,"kind":"def","name":"canWinWithPattern","qualifier":"def","expr":{"id":248,"kind":"lambda","params":[{"id":227,"name":"pattern_248"}],"qualifier":"def","expr":{"id":247,"kind":"app","opcode":"and","args":[{"id":237,"kind":"app","opcode":"eq","args":[{"id":235,"kind":"app","opcode":"size","args":[{"id":234,"kind":"app","opcode":"filter","args":[{"id":228,"kind":"name","name":"pattern_248"},{"id":233,"kind":"lambda","params":[{"id":229,"name":"coordinate_233"}],"qualifier":"def","expr":{"id":232,"kind":"app","opcode":"hasPlayer","args":[{"id":230,"kind":"name","name":"coordinate_233"},{"id":231,"kind":"name","name":"X"}]}}]}]},{"id":236,"kind":"int","value":2}]},{"id":246,"kind":"app","opcode":"eq","args":[{"id":244,"kind":"app","opcode":"size","args":[{"id":243,"kind":"app","opcode":"filter","args":[{"id":238,"kind":"name","name":"pattern_248"},{"id":242,"kind":"lambda","params":[{"id":239,"name":"coordinate_242"}],"qualifier":"def","expr":{"id":241,"kind":"app","opcode":"isEmpty","args":[{"id":240,"kind":"name","name":"coordinate_242"}]}}]}]},{"id":245,"kind":"int","value":1}]}]}}},{"id":272,"kind":"def","name":"canBlockWithPattern","qualifier":"def","expr":{"id":271,"kind":"lambda","params":[{"id":250,"name":"pattern_271"}],"qualifier":"def","expr":{"id":270,"kind":"app","opcode":"and","args":[{"id":260,"kind":"app","opcode":"eq","args":[{"id":258,"kind":"app","opcode":"size","args":[{"id":257,"kind":"app","opcode":"filter","args":[{"id":251,"kind":"name","name":"pattern_271"},{"id":256,"kind":"lambda","params":[{"id":252,"name":"coordinate_256"}],"qualifier":"def","expr":{"id":255,"kind":"app","opcode":"hasPlayer","args":[{"id":253,"kind":"name","name":"coordinate_256"},{"id":254,"kind":"name","name":"O"}]}}]}]},{"id":259,"kind":"int","value":2}]},{"id":269,"kind":"app","opcode":"eq","args":[{"id":267,"kind":"app","opcode":"size","args":[{"id":266,"kind":"app","opcode":"filter","args":[{"id":261,"kind":"name","name":"pattern_271"},{"id":265,"kind":"lambda","params":[{"id":262,"name":"coordinate_265"}],"qualifier":"def","expr":{"id":264,"kind":"app","opcode":"isEmpty","args":[{"id":263,"kind":"name","name":"coordinate_265"}]}}]}]},{"id":268,"kind":"int","value":1}]}]}}},{"id":295,"kind":"def","name":"canSetupWinWithPattern","qualifier":"def","expr":{"id":294,"kind":"lambda","params":[{"id":273,"name":"pattern_294"}],"qualifier":"def","expr":{"id":293,"kind":"app","opcode":"and","args":[{"id":283,"kind":"app","opcode":"eq","args":[{"id":281,"kind":"app","opcode":"size","args":[{"id":280,"kind":"app","opcode":"filter","args":[{"id":274,"kind":"name","name":"pattern_294"},{"id":279,"kind":"lambda","params":[{"id":275,"name":"coordinate_279"}],"qualifier":"def","expr":{"id":278,"kind":"app","opcode":"hasPlayer","args":[{"id":276,"kind":"name","name":"coordinate_279"},{"id":277,"kind":"name","name":"X"}]}}]}]},{"id":282,"kind":"int","value":1}]},{"id":292,"kind":"app","opcode":"eq","args":[{"id":290,"kind":"app","opcode":"size","args":[{"id":289,"kind":"app","opcode":"filter","args":[{"id":284,"kind":"name","name":"pattern_294"},{"id":288,"kind":"lambda","params":[{"id":285,"name":"coordinate_288"}],"qualifier":"def","expr":{"id":287,"kind":"app","opcode":"isEmpty","args":[{"id":286,"kind":"name","name":"coordinate_288"}]}}]}]},{"id":291,"kind":"int","value":2}]}]}}},{"id":308,"kind":"def","name":"canTakeCenter","qualifier":"val","expr":{"id":307,"kind":"app","opcode":"isEmpty","args":[{"id":306,"kind":"app","opcode":"Tup","args":[{"id":304,"kind":"int","value":2},{"id":305,"kind":"int","value":2}]}]}},{"id":335,"kind":"def","name":"Move","qualifier":"action","expr":{"id":334,"kind":"lambda","params":[{"id":313,"name":"player_334"},{"id":314,"name":"coordinate_334"}],"qualifier":"action","expr":{"id":333,"kind":"app","opcode":"actionAll","args":[{"id":316,"kind":"app","opcode":"isEmpty","args":[{"id":315,"kind":"name","name":"coordinate_334"}]},{"id":332,"kind":"app","opcode":"assign","args":[{"id":331,"kind":"name","name":"board"},{"id":330,"kind":"app","opcode":"setBy","args":[{"id":317,"kind":"name","name":"board"},{"id":320,"kind":"app","opcode":"item","args":[{"id":318,"kind":"name","name":"coordinate_334"},{"id":319,"kind":"int","value":1}]},{"id":329,"kind":"lambda","params":[{"id":321,"name":"row_329"}],"qualifier":"def","expr":{"id":328,"kind":"app","opcode":"set","args":[{"id":322,"kind":"name","name":"row_329"},{"id":325,"kind":"app","opcode":"item","args":[{"id":323,"kind":"name","name":"coordinate_334"},{"id":324,"kind":"int","value":2}]},{"id":327,"kind":"app","opcode":"Occupied","args":[{"id":326,"kind":"name","name":"player_334"}]}]}}]}]}]}}},{"id":218,"kind":"def","name":"stalemate","qualifier":"val","expr":{"id":217,"kind":"app","opcode":"and","args":[{"id":213,"kind":"app","opcode":"and","args":[{"id":209,"kind":"name","name":"boardFull"},{"id":212,"kind":"app","opcode":"not","args":[{"id":211,"kind":"app","opcode":"won","args":[{"id":210,"kind":"name","name":"X"}]}]}]},{"id":216,"kind":"app","opcode":"not","args":[{"id":215,"kind":"app","opcode":"won","args":[{"id":214,"kind":"name","name":"O"}]}]}]}},{"id":226,"kind":"def","name":"gameOver","qualifier":"val","expr":{"id":225,"kind":"app","opcode":"or","args":[{"id":223,"kind":"app","opcode":"or","args":[{"id":220,"kind":"app","opcode":"won","args":[{"id":219,"kind":"name","name":"X"}]},{"id":222,"kind":"app","opcode":"won","args":[{"id":221,"kind":"name","name":"O"}]}]},{"id":224,"kind":"name","name":"boardFull"}]}},{"id":299,"kind":"def","name":"canWin","qualifier":"val","expr":{"id":298,"kind":"app","opcode":"exists","args":[{"id":296,"kind":"name","name":"winningPatterns"},{"id":297,"kind":"name","name":"canWinWithPattern"}]}},{"id":303,"kind":"def","name":"canBlock","qualifier":"val","expr":{"id":302,"kind":"app","opcode":"exists","args":[{"id":300,"kind":"name","name":"winningPatterns"},{"id":301,"kind":"name","name":"canBlockWithPattern"}]}},{"id":312,"kind":"def","name":"canSetupWin","qualifier":"val","expr":{"id":311,"kind":"app","opcode":"exists","args":[{"id":309,"kind":"name","name":"winningPatterns"},{"id":310,"kind":"name","name":"canSetupWinWithPattern"}]}},{"id":377,"kind":"def","name":"TakeCenter","qualifier":"action","expr":{"id":376,"kind":"app","opcode":"Move","args":[{"id":372,"kind":"name","name":"X"},{"id":375,"kind":"app","opcode":"Tup","args":[{"id":373,"kind":"int","value":2},{"id":374,"kind":"int","value":2}]}]}},{"id":406,"kind":"def","name":"MoveToEmpty","qualifier":"action","expr":{"id":405,"kind":"lambda","params":[{"id":395,"name":"player_405"}],"qualifier":"action","expr":{"id":404,"kind":"let","opdef":{"id":400,"kind":"def","name":"coordinate_404","qualifier":"nondet","expr":{"id":399,"kind":"app","opcode":"oneOf","args":[{"id":398,"kind":"app","opcode":"filter","args":[{"id":396,"kind":"name","name":"boardCoordinates"},{"id":397,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":403,"kind":"app","opcode":"Move","args":[{"id":401,"kind":"name","name":"player_405"},{"id":402,"kind":"name","name":"coordinate_404"}]}}}},{"id":414,"kind":"def","name":"StartInCorner","qualifier":"action","expr":{"id":413,"kind":"let","opdef":{"id":409,"kind":"def","name":"corner_413","qualifier":"nondet","expr":{"id":408,"kind":"app","opcode":"oneOf","args":[{"id":407,"kind":"name","name":"corners"}]}},"expr":{"id":412,"kind":"app","opcode":"Move","args":[{"id":410,"kind":"name","name":"X"},{"id":411,"kind":"name","name":"corner_413"}]}}},{"doc":"X has not won. This does not hold, as X wins most of the times.","id":491,"kind":"def","name":"XHasNotWon","qualifier":"val","expr":{"id":490,"kind":"app","opcode":"not","args":[{"id":489,"kind":"app","opcode":"won","args":[{"id":488,"kind":"name","name":"X"}]}]}},{"doc":"O has not won. This should hold, as O can only achieve a draw.","id":495,"kind":"def","name":"OHasNotWon","qualifier":"val","expr":{"id":494,"kind":"app","opcode":"not","args":[{"id":493,"kind":"app","opcode":"won","args":[{"id":492,"kind":"name","name":"O"}]}]}},{"doc":"This is not always true, as if O picks the right moves, the game will\nresult in a stalemate.","id":504,"kind":"def","name":"XMustEventuallyWin","qualifier":"temporal","expr":{"id":503,"kind":"app","opcode":"eventually","args":[{"id":502,"kind":"app","opcode":"won","args":[{"id":501,"kind":"name","name":"X"}]}]}},{"id":455,"kind":"def","name":"MoveO","qualifier":"action","expr":{"id":454,"kind":"app","opcode":"actionAll","args":[{"id":445,"kind":"app","opcode":"eq","args":[{"id":443,"kind":"name","name":"nextTurn"},{"id":444,"kind":"name","name":"O"}]},{"id":448,"kind":"app","opcode":"not","args":[{"id":447,"kind":"app","opcode":"won","args":[{"id":446,"kind":"name","name":"X"}]}]},{"id":450,"kind":"app","opcode":"MoveToEmpty","args":[{"id":449,"kind":"name","name":"O"}]},{"id":453,"kind":"app","opcode":"assign","args":[{"id":452,"kind":"name","name":"nextTurn"},{"id":451,"kind":"name","name":"X"}]}]}},{"doc":"It's not a stalemate if one player has won or the board is not filled\nCheck with `quint run --invariant=NotStalemate tictactoe.qnt`","id":498,"kind":"def","name":"NotStalemate","qualifier":"val","expr":{"id":497,"kind":"app","opcode":"not","args":[{"id":496,"kind":"name","name":"stalemate"}]}},{"doc":"OHasNotWon is our default invariant for running the simulator/verifier\nas it is the only invariant that holds. Check `NotStalemate` for an\ninteresting counterexample.","id":500,"kind":"def","name":"inv","qualifier":"val","expr":{"id":499,"kind":"name","name":"OHasNotWon"}},{"id":353,"kind":"def","name":"Win","qualifier":"action","expr":{"id":352,"kind":"app","opcode":"actionAll","args":[{"id":336,"kind":"name","name":"canWin"},{"id":351,"kind":"let","opdef":{"id":341,"kind":"def","name":"pattern_351","qualifier":"nondet","expr":{"id":340,"kind":"app","opcode":"oneOf","args":[{"id":339,"kind":"app","opcode":"filter","args":[{"id":337,"kind":"name","name":"winningPatterns"},{"id":338,"kind":"name","name":"canWinWithPattern"}]}]}},"expr":{"id":350,"kind":"let","opdef":{"id":346,"kind":"def","name":"coordinate_350","qualifier":"nondet","expr":{"id":345,"kind":"app","opcode":"oneOf","args":[{"id":344,"kind":"app","opcode":"filter","args":[{"id":342,"kind":"name","name":"pattern_351"},{"id":343,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":349,"kind":"app","opcode":"Move","args":[{"id":347,"kind":"name","name":"X"},{"id":348,"kind":"name","name":"coordinate_350"}]}}}]}},{"id":371,"kind":"def","name":"Block","qualifier":"action","expr":{"id":370,"kind":"app","opcode":"actionAll","args":[{"id":354,"kind":"name","name":"canBlock"},{"id":369,"kind":"let","opdef":{"id":359,"kind":"def","name":"pattern_369","qualifier":"nondet","expr":{"id":358,"kind":"app","opcode":"oneOf","args":[{"id":357,"kind":"app","opcode":"filter","args":[{"id":355,"kind":"name","name":"winningPatterns"},{"id":356,"kind":"name","name":"canBlockWithPattern"}]}]}},"expr":{"id":368,"kind":"let","opdef":{"id":364,"kind":"def","name":"coordinate_368","qualifier":"nondet","expr":{"id":363,"kind":"app","opcode":"oneOf","args":[{"id":362,"kind":"app","opcode":"filter","args":[{"id":360,"kind":"name","name":"pattern_369"},{"id":361,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":367,"kind":"app","opcode":"Move","args":[{"id":365,"kind":"name","name":"X"},{"id":366,"kind":"name","name":"coordinate_368"}]}}}]}},{"id":394,"kind":"def","name":"SetupWin","qualifier":"action","expr":{"id":393,"kind":"app","opcode":"actionAll","args":[{"id":392,"kind":"let","opdef":{"id":382,"kind":"def","name":"pattern_392","qualifier":"nondet","expr":{"id":381,"kind":"app","opcode":"oneOf","args":[{"id":380,"kind":"app","opcode":"filter","args":[{"id":378,"kind":"name","name":"winningPatterns"},{"id":379,"kind":"name","name":"canSetupWinWithPattern"}]}]}},"expr":{"id":391,"kind":"let","opdef":{"id":387,"kind":"def","name":"coordinate_391","qualifier":"nondet","expr":{"id":386,"kind":"app","opcode":"oneOf","args":[{"id":385,"kind":"app","opcode":"filter","args":[{"id":383,"kind":"name","name":"pattern_392"},{"id":384,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":390,"kind":"app","opcode":"Move","args":[{"id":388,"kind":"name","name":"X"},{"id":389,"kind":"name","name":"coordinate_391"}]}}}]}},{"id":442,"kind":"def","name":"MoveX","qualifier":"action","expr":{"id":441,"kind":"app","opcode":"actionAll","args":[{"id":417,"kind":"app","opcode":"eq","args":[{"id":415,"kind":"name","name":"nextTurn"},{"id":416,"kind":"name","name":"X"}]},{"id":420,"kind":"app","opcode":"not","args":[{"id":419,"kind":"app","opcode":"won","args":[{"id":418,"kind":"name","name":"O"}]}]},{"id":437,"kind":"app","opcode":"ite","args":[{"id":421,"kind":"name","name":"boardEmpty"},{"id":422,"kind":"name","name":"StartInCorner"},{"id":436,"kind":"app","opcode":"ite","args":[{"id":423,"kind":"name","name":"canWin"},{"id":424,"kind":"name","name":"Win"},{"id":435,"kind":"app","opcode":"ite","args":[{"id":425,"kind":"name","name":"canBlock"},{"id":426,"kind":"name","name":"Block"},{"id":434,"kind":"app","opcode":"ite","args":[{"id":427,"kind":"name","name":"canTakeCenter"},{"id":428,"kind":"name","name":"TakeCenter"},{"id":433,"kind":"app","opcode":"ite","args":[{"id":429,"kind":"name","name":"canSetupWin"},{"id":430,"kind":"name","name":"SetupWin"},{"id":432,"kind":"app","opcode":"MoveToEmpty","args":[{"id":431,"kind":"name","name":"X"}]}]}]}]}]}]},{"id":440,"kind":"app","opcode":"assign","args":[{"id":439,"kind":"name","name":"nextTurn"},{"id":438,"kind":"name","name":"O"}]}]}},{"doc":"Either X or O will make a move, depending on the value of `nextTurn`","id":487,"kind":"def","name":"step","qualifier":"action","expr":{"id":486,"kind":"app","opcode":"actionAny","args":[{"id":476,"kind":"name","name":"MoveX"},{"id":477,"kind":"name","name":"MoveO"},{"id":485,"kind":"app","opcode":"actionAll","args":[{"id":478,"kind":"name","name":"gameOver"},{"id":481,"kind":"app","opcode":"assign","args":[{"id":480,"kind":"name","name":"board"},{"id":479,"kind":"name","name":"board"}]},{"id":484,"kind":"app","opcode":"assign","args":[{"id":483,"kind":"name","name":"nextTurn"},{"id":482,"kind":"name","name":"nextTurn"}]}]}]}}]}],"table":{"19":{"id":18,"name":"Occupied_21","kind":"param","depth":1},"144":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"id":32,"depth":0},"145":{"id":142,"name":"coordinate_153","typeAnnotation":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"kind":"param","depth":1},"149":{"id":142,"name":"coordinate_153","typeAnnotation":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"kind":"param","depth":1},"157":{"id":155,"name":"coordinate_170","kind":"param","depth":1},"158":{"id":154,"kind":"def","name":"square","qualifier":"def","expr":{"id":153,"kind":"lambda","params":[{"id":142,"name":"coordinate_153","typeAnnotation":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}}],"qualifier":"def","expr":{"id":152,"kind":"app","opcode":"get","args":[{"id":148,"kind":"app","opcode":"get","args":[{"id":144,"kind":"name","name":"board"},{"id":147,"kind":"app","opcode":"item","args":[{"id":145,"kind":"name","name":"coordinate_153"},{"id":146,"kind":"int","value":1}]}]},{"id":151,"kind":"app","opcode":"item","args":[{"id":149,"kind":"name","name":"coordinate_153"},{"id":150,"kind":"int","value":2}]}]}},"depth":0},"160":{"id":156,"name":"player_170","kind":"param","depth":1},"161":{"name":"p_168","id":169,"kind":"param","depth":2},"173":{"id":172,"name":"coordinate_184","kind":"param","depth":1},"174":{"id":154,"kind":"def","name":"square","qualifier":"def","expr":{"id":153,"kind":"lambda","params":[{"id":142,"name":"coordinate_153","typeAnnotation":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}}],"qualifier":"def","expr":{"id":152,"kind":"app","opcode":"get","args":[{"id":148,"kind":"app","opcode":"get","args":[{"id":144,"kind":"name","name":"board"},{"id":147,"kind":"app","opcode":"item","args":[{"id":145,"kind":"name","name":"coordinate_153"},{"id":146,"kind":"int","value":1}]}]},{"id":151,"kind":"app","opcode":"item","args":[{"id":149,"kind":"name","name":"coordinate_153"},{"id":150,"kind":"int","value":2}]}]}},"depth":0},"186":{"id":42,"kind":"def","name":"boardCoordinates","qualifier":"pureval","expr":{"id":41,"kind":"app","opcode":"tuples","args":[{"id":37,"kind":"app","opcode":"to","args":[{"id":35,"kind":"int","value":1},{"id":36,"kind":"int","value":3}]},{"id":40,"kind":"app","opcode":"to","args":[{"id":38,"kind":"int","value":1},{"id":39,"kind":"int","value":3}]}]},"depth":0},"187":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"191":{"id":124,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":123,"kind":"app","opcode":"Set","args":[{"id":52,"kind":"app","opcode":"Set","args":[{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":1},{"id":44,"kind":"int","value":1}]},{"id":48,"kind":"app","opcode":"Tup","args":[{"id":46,"kind":"int","value":1},{"id":47,"kind":"int","value":2}]},{"id":51,"kind":"app","opcode":"Tup","args":[{"id":49,"kind":"int","value":1},{"id":50,"kind":"int","value":3}]}]},{"id":62,"kind":"app","opcode":"Set","args":[{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":2},{"id":54,"kind":"int","value":1}]},{"id":58,"kind":"app","opcode":"Tup","args":[{"id":56,"kind":"int","value":2},{"id":57,"kind":"int","value":2}]},{"id":61,"kind":"app","opcode":"Tup","args":[{"id":59,"kind":"int","value":2},{"id":60,"kind":"int","value":3}]}]},{"id":72,"kind":"app","opcode":"Set","args":[{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":1}]},{"id":68,"kind":"app","opcode":"Tup","args":[{"id":66,"kind":"int","value":3},{"id":67,"kind":"int","value":2}]},{"id":71,"kind":"app","opcode":"Tup","args":[{"id":69,"kind":"int","value":3},{"id":70,"kind":"int","value":3}]}]},{"id":82,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":1},{"id":74,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Tup","args":[{"id":76,"kind":"int","value":2},{"id":77,"kind":"int","value":1}]},{"id":81,"kind":"app","opcode":"Tup","args":[{"id":79,"kind":"int","value":3},{"id":80,"kind":"int","value":1}]}]},{"id":92,"kind":"app","opcode":"Set","args":[{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":1},{"id":84,"kind":"int","value":2}]},{"id":88,"kind":"app","opcode":"Tup","args":[{"id":86,"kind":"int","value":2},{"id":87,"kind":"int","value":2}]},{"id":91,"kind":"app","opcode":"Tup","args":[{"id":89,"kind":"int","value":3},{"id":90,"kind":"int","value":2}]}]},{"id":102,"kind":"app","opcode":"Set","args":[{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]},{"id":98,"kind":"app","opcode":"Tup","args":[{"id":96,"kind":"int","value":2},{"id":97,"kind":"int","value":3}]},{"id":101,"kind":"app","opcode":"Tup","args":[{"id":99,"kind":"int","value":3},{"id":100,"kind":"int","value":3}]}]},{"id":112,"kind":"app","opcode":"Set","args":[{"id":105,"kind":"app","opcode":"Tup","args":[{"id":103,"kind":"int","value":1},{"id":104,"kind":"int","value":1}]},{"id":108,"kind":"app","opcode":"Tup","args":[{"id":106,"kind":"int","value":2},{"id":107,"kind":"int","value":2}]},{"id":111,"kind":"app","opcode":"Tup","args":[{"id":109,"kind":"int","value":3},{"id":110,"kind":"int","value":3}]}]},{"id":122,"kind":"app","opcode":"Set","args":[{"id":115,"kind":"app","opcode":"Tup","args":[{"id":113,"kind":"int","value":3},{"id":114,"kind":"int","value":1}]},{"id":118,"kind":"app","opcode":"Tup","args":[{"id":116,"kind":"int","value":2},{"id":117,"kind":"int","value":2}]},{"id":121,"kind":"app","opcode":"Tup","args":[{"id":119,"kind":"int","value":1},{"id":120,"kind":"int","value":3}]}]}]},"depth":0},"193":{"id":192,"name":"pattern_200","kind":"param","depth":2},"195":{"id":194,"name":"coordinate_198","kind":"param","depth":3},"196":{"id":190,"name":"player_202","kind":"param","depth":1},"197":{"id":171,"kind":"def","name":"hasPlayer","qualifier":"def","expr":{"id":170,"kind":"lambda","params":[{"id":155,"name":"coordinate_170"},{"id":156,"name":"player_170"}],"qualifier":"def","expr":{"id":163,"kind":"app","opcode":"matchVariant","args":[{"id":158,"kind":"app","opcode":"square","args":[{"id":157,"kind":"name","name":"coordinate_170"}]},{"id":164,"kind":"str","value":"Empty"},{"id":165,"kind":"lambda","qualifier":"def","expr":{"id":159,"kind":"bool","value":false},"params":[{"name":"__165","id":166}]},{"id":167,"kind":"str","value":"Occupied"},{"id":168,"kind":"lambda","qualifier":"def","expr":{"id":162,"kind":"app","opcode":"eq","args":[{"id":160,"kind":"name","name":"player_170"},{"id":161,"kind":"name","name":"p_168"}]},"params":[{"name":"p_168","id":169}]}]}},"depth":0},"204":{"id":42,"kind":"def","name":"boardCoordinates","qualifier":"pureval","expr":{"id":41,"kind":"app","opcode":"tuples","args":[{"id":37,"kind":"app","opcode":"to","args":[{"id":35,"kind":"int","value":1},{"id":36,"kind":"int","value":3}]},{"id":40,"kind":"app","opcode":"to","args":[{"id":38,"kind":"int","value":1},{"id":39,"kind":"int","value":3}]}]},"depth":0},"205":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"209":{"id":208,"kind":"def","name":"boardFull","qualifier":"val","expr":{"id":207,"kind":"app","opcode":"not","args":[{"id":206,"kind":"app","opcode":"exists","args":[{"id":204,"kind":"name","name":"boardCoordinates"},{"id":205,"kind":"name","name":"isEmpty"}]}]},"depth":0},"210":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"211":{"id":203,"kind":"def","name":"won","qualifier":"def","expr":{"id":202,"kind":"lambda","params":[{"id":190,"name":"player_202"}],"qualifier":"def","expr":{"id":201,"kind":"app","opcode":"exists","args":[{"id":191,"kind":"name","name":"winningPatterns"},{"id":200,"kind":"lambda","params":[{"id":192,"name":"pattern_200"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"forall","args":[{"id":193,"kind":"name","name":"pattern_200"},{"id":198,"kind":"lambda","params":[{"id":194,"name":"coordinate_198"}],"qualifier":"def","expr":{"id":197,"kind":"app","opcode":"hasPlayer","args":[{"id":195,"kind":"name","name":"coordinate_198"},{"id":196,"kind":"name","name":"player_202"}]}}]}}]}},"depth":0},"214":{"id":12,"kind":"def","name":"O","qualifier":"val","expr":{"id":11,"kind":"app","opcode":"variant","args":[{"id":9,"kind":"str","value":"O"},{"id":10,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"215":{"id":203,"kind":"def","name":"won","qualifier":"def","expr":{"id":202,"kind":"lambda","params":[{"id":190,"name":"player_202"}],"qualifier":"def","expr":{"id":201,"kind":"app","opcode":"exists","args":[{"id":191,"kind":"name","name":"winningPatterns"},{"id":200,"kind":"lambda","params":[{"id":192,"name":"pattern_200"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"forall","args":[{"id":193,"kind":"name","name":"pattern_200"},{"id":198,"kind":"lambda","params":[{"id":194,"name":"coordinate_198"}],"qualifier":"def","expr":{"id":197,"kind":"app","opcode":"hasPlayer","args":[{"id":195,"kind":"name","name":"coordinate_198"},{"id":196,"kind":"name","name":"player_202"}]}}]}}]}},"depth":0},"219":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"220":{"id":203,"kind":"def","name":"won","qualifier":"def","expr":{"id":202,"kind":"lambda","params":[{"id":190,"name":"player_202"}],"qualifier":"def","expr":{"id":201,"kind":"app","opcode":"exists","args":[{"id":191,"kind":"name","name":"winningPatterns"},{"id":200,"kind":"lambda","params":[{"id":192,"name":"pattern_200"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"forall","args":[{"id":193,"kind":"name","name":"pattern_200"},{"id":198,"kind":"lambda","params":[{"id":194,"name":"coordinate_198"}],"qualifier":"def","expr":{"id":197,"kind":"app","opcode":"hasPlayer","args":[{"id":195,"kind":"name","name":"coordinate_198"},{"id":196,"kind":"name","name":"player_202"}]}}]}}]}},"depth":0},"221":{"id":12,"kind":"def","name":"O","qualifier":"val","expr":{"id":11,"kind":"app","opcode":"variant","args":[{"id":9,"kind":"str","value":"O"},{"id":10,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"222":{"id":203,"kind":"def","name":"won","qualifier":"def","expr":{"id":202,"kind":"lambda","params":[{"id":190,"name":"player_202"}],"qualifier":"def","expr":{"id":201,"kind":"app","opcode":"exists","args":[{"id":191,"kind":"name","name":"winningPatterns"},{"id":200,"kind":"lambda","params":[{"id":192,"name":"pattern_200"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"forall","args":[{"id":193,"kind":"name","name":"pattern_200"},{"id":198,"kind":"lambda","params":[{"id":194,"name":"coordinate_198"}],"qualifier":"def","expr":{"id":197,"kind":"app","opcode":"hasPlayer","args":[{"id":195,"kind":"name","name":"coordinate_198"},{"id":196,"kind":"name","name":"player_202"}]}}]}}]}},"depth":0},"224":{"id":208,"kind":"def","name":"boardFull","qualifier":"val","expr":{"id":207,"kind":"app","opcode":"not","args":[{"id":206,"kind":"app","opcode":"exists","args":[{"id":204,"kind":"name","name":"boardCoordinates"},{"id":205,"kind":"name","name":"isEmpty"}]}]},"depth":0},"228":{"id":227,"name":"pattern_248","kind":"param","depth":1},"230":{"id":229,"name":"coordinate_233","kind":"param","depth":2},"231":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"232":{"id":171,"kind":"def","name":"hasPlayer","qualifier":"def","expr":{"id":170,"kind":"lambda","params":[{"id":155,"name":"coordinate_170"},{"id":156,"name":"player_170"}],"qualifier":"def","expr":{"id":163,"kind":"app","opcode":"matchVariant","args":[{"id":158,"kind":"app","opcode":"square","args":[{"id":157,"kind":"name","name":"coordinate_170"}]},{"id":164,"kind":"str","value":"Empty"},{"id":165,"kind":"lambda","qualifier":"def","expr":{"id":159,"kind":"bool","value":false},"params":[{"name":"__165","id":166}]},{"id":167,"kind":"str","value":"Occupied"},{"id":168,"kind":"lambda","qualifier":"def","expr":{"id":162,"kind":"app","opcode":"eq","args":[{"id":160,"kind":"name","name":"player_170"},{"id":161,"kind":"name","name":"p_168"}]},"params":[{"name":"p_168","id":169}]}]}},"depth":0},"238":{"id":227,"name":"pattern_248","kind":"param","depth":1},"240":{"id":239,"name":"coordinate_242","kind":"param","depth":2},"241":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"251":{"id":250,"name":"pattern_271","kind":"param","depth":1},"253":{"id":252,"name":"coordinate_256","kind":"param","depth":2},"254":{"id":12,"kind":"def","name":"O","qualifier":"val","expr":{"id":11,"kind":"app","opcode":"variant","args":[{"id":9,"kind":"str","value":"O"},{"id":10,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"255":{"id":171,"kind":"def","name":"hasPlayer","qualifier":"def","expr":{"id":170,"kind":"lambda","params":[{"id":155,"name":"coordinate_170"},{"id":156,"name":"player_170"}],"qualifier":"def","expr":{"id":163,"kind":"app","opcode":"matchVariant","args":[{"id":158,"kind":"app","opcode":"square","args":[{"id":157,"kind":"name","name":"coordinate_170"}]},{"id":164,"kind":"str","value":"Empty"},{"id":165,"kind":"lambda","qualifier":"def","expr":{"id":159,"kind":"bool","value":false},"params":[{"name":"__165","id":166}]},{"id":167,"kind":"str","value":"Occupied"},{"id":168,"kind":"lambda","qualifier":"def","expr":{"id":162,"kind":"app","opcode":"eq","args":[{"id":160,"kind":"name","name":"player_170"},{"id":161,"kind":"name","name":"p_168"}]},"params":[{"name":"p_168","id":169}]}]}},"depth":0},"261":{"id":250,"name":"pattern_271","kind":"param","depth":1},"263":{"id":262,"name":"coordinate_265","kind":"param","depth":2},"264":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"274":{"id":273,"name":"pattern_294","kind":"param","depth":1},"276":{"id":275,"name":"coordinate_279","kind":"param","depth":2},"277":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"278":{"id":171,"kind":"def","name":"hasPlayer","qualifier":"def","expr":{"id":170,"kind":"lambda","params":[{"id":155,"name":"coordinate_170"},{"id":156,"name":"player_170"}],"qualifier":"def","expr":{"id":163,"kind":"app","opcode":"matchVariant","args":[{"id":158,"kind":"app","opcode":"square","args":[{"id":157,"kind":"name","name":"coordinate_170"}]},{"id":164,"kind":"str","value":"Empty"},{"id":165,"kind":"lambda","qualifier":"def","expr":{"id":159,"kind":"bool","value":false},"params":[{"name":"__165","id":166}]},{"id":167,"kind":"str","value":"Occupied"},{"id":168,"kind":"lambda","qualifier":"def","expr":{"id":162,"kind":"app","opcode":"eq","args":[{"id":160,"kind":"name","name":"player_170"},{"id":161,"kind":"name","name":"p_168"}]},"params":[{"name":"p_168","id":169}]}]}},"depth":0},"284":{"id":273,"name":"pattern_294","kind":"param","depth":1},"286":{"id":285,"name":"coordinate_288","kind":"param","depth":2},"287":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"296":{"id":124,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":123,"kind":"app","opcode":"Set","args":[{"id":52,"kind":"app","opcode":"Set","args":[{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":1},{"id":44,"kind":"int","value":1}]},{"id":48,"kind":"app","opcode":"Tup","args":[{"id":46,"kind":"int","value":1},{"id":47,"kind":"int","value":2}]},{"id":51,"kind":"app","opcode":"Tup","args":[{"id":49,"kind":"int","value":1},{"id":50,"kind":"int","value":3}]}]},{"id":62,"kind":"app","opcode":"Set","args":[{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":2},{"id":54,"kind":"int","value":1}]},{"id":58,"kind":"app","opcode":"Tup","args":[{"id":56,"kind":"int","value":2},{"id":57,"kind":"int","value":2}]},{"id":61,"kind":"app","opcode":"Tup","args":[{"id":59,"kind":"int","value":2},{"id":60,"kind":"int","value":3}]}]},{"id":72,"kind":"app","opcode":"Set","args":[{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":1}]},{"id":68,"kind":"app","opcode":"Tup","args":[{"id":66,"kind":"int","value":3},{"id":67,"kind":"int","value":2}]},{"id":71,"kind":"app","opcode":"Tup","args":[{"id":69,"kind":"int","value":3},{"id":70,"kind":"int","value":3}]}]},{"id":82,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":1},{"id":74,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Tup","args":[{"id":76,"kind":"int","value":2},{"id":77,"kind":"int","value":1}]},{"id":81,"kind":"app","opcode":"Tup","args":[{"id":79,"kind":"int","value":3},{"id":80,"kind":"int","value":1}]}]},{"id":92,"kind":"app","opcode":"Set","args":[{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":1},{"id":84,"kind":"int","value":2}]},{"id":88,"kind":"app","opcode":"Tup","args":[{"id":86,"kind":"int","value":2},{"id":87,"kind":"int","value":2}]},{"id":91,"kind":"app","opcode":"Tup","args":[{"id":89,"kind":"int","value":3},{"id":90,"kind":"int","value":2}]}]},{"id":102,"kind":"app","opcode":"Set","args":[{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]},{"id":98,"kind":"app","opcode":"Tup","args":[{"id":96,"kind":"int","value":2},{"id":97,"kind":"int","value":3}]},{"id":101,"kind":"app","opcode":"Tup","args":[{"id":99,"kind":"int","value":3},{"id":100,"kind":"int","value":3}]}]},{"id":112,"kind":"app","opcode":"Set","args":[{"id":105,"kind":"app","opcode":"Tup","args":[{"id":103,"kind":"int","value":1},{"id":104,"kind":"int","value":1}]},{"id":108,"kind":"app","opcode":"Tup","args":[{"id":106,"kind":"int","value":2},{"id":107,"kind":"int","value":2}]},{"id":111,"kind":"app","opcode":"Tup","args":[{"id":109,"kind":"int","value":3},{"id":110,"kind":"int","value":3}]}]},{"id":122,"kind":"app","opcode":"Set","args":[{"id":115,"kind":"app","opcode":"Tup","args":[{"id":113,"kind":"int","value":3},{"id":114,"kind":"int","value":1}]},{"id":118,"kind":"app","opcode":"Tup","args":[{"id":116,"kind":"int","value":2},{"id":117,"kind":"int","value":2}]},{"id":121,"kind":"app","opcode":"Tup","args":[{"id":119,"kind":"int","value":1},{"id":120,"kind":"int","value":3}]}]}]},"depth":0},"297":{"id":249,"kind":"def","name":"canWinWithPattern","qualifier":"def","expr":{"id":248,"kind":"lambda","params":[{"id":227,"name":"pattern_248"}],"qualifier":"def","expr":{"id":247,"kind":"app","opcode":"and","args":[{"id":237,"kind":"app","opcode":"eq","args":[{"id":235,"kind":"app","opcode":"size","args":[{"id":234,"kind":"app","opcode":"filter","args":[{"id":228,"kind":"name","name":"pattern_248"},{"id":233,"kind":"lambda","params":[{"id":229,"name":"coordinate_233"}],"qualifier":"def","expr":{"id":232,"kind":"app","opcode":"hasPlayer","args":[{"id":230,"kind":"name","name":"coordinate_233"},{"id":231,"kind":"name","name":"X"}]}}]}]},{"id":236,"kind":"int","value":2}]},{"id":246,"kind":"app","opcode":"eq","args":[{"id":244,"kind":"app","opcode":"size","args":[{"id":243,"kind":"app","opcode":"filter","args":[{"id":238,"kind":"name","name":"pattern_248"},{"id":242,"kind":"lambda","params":[{"id":239,"name":"coordinate_242"}],"qualifier":"def","expr":{"id":241,"kind":"app","opcode":"isEmpty","args":[{"id":240,"kind":"name","name":"coordinate_242"}]}}]}]},{"id":245,"kind":"int","value":1}]}]}},"depth":0},"300":{"id":124,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":123,"kind":"app","opcode":"Set","args":[{"id":52,"kind":"app","opcode":"Set","args":[{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":1},{"id":44,"kind":"int","value":1}]},{"id":48,"kind":"app","opcode":"Tup","args":[{"id":46,"kind":"int","value":1},{"id":47,"kind":"int","value":2}]},{"id":51,"kind":"app","opcode":"Tup","args":[{"id":49,"kind":"int","value":1},{"id":50,"kind":"int","value":3}]}]},{"id":62,"kind":"app","opcode":"Set","args":[{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":2},{"id":54,"kind":"int","value":1}]},{"id":58,"kind":"app","opcode":"Tup","args":[{"id":56,"kind":"int","value":2},{"id":57,"kind":"int","value":2}]},{"id":61,"kind":"app","opcode":"Tup","args":[{"id":59,"kind":"int","value":2},{"id":60,"kind":"int","value":3}]}]},{"id":72,"kind":"app","opcode":"Set","args":[{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":1}]},{"id":68,"kind":"app","opcode":"Tup","args":[{"id":66,"kind":"int","value":3},{"id":67,"kind":"int","value":2}]},{"id":71,"kind":"app","opcode":"Tup","args":[{"id":69,"kind":"int","value":3},{"id":70,"kind":"int","value":3}]}]},{"id":82,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":1},{"id":74,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Tup","args":[{"id":76,"kind":"int","value":2},{"id":77,"kind":"int","value":1}]},{"id":81,"kind":"app","opcode":"Tup","args":[{"id":79,"kind":"int","value":3},{"id":80,"kind":"int","value":1}]}]},{"id":92,"kind":"app","opcode":"Set","args":[{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":1},{"id":84,"kind":"int","value":2}]},{"id":88,"kind":"app","opcode":"Tup","args":[{"id":86,"kind":"int","value":2},{"id":87,"kind":"int","value":2}]},{"id":91,"kind":"app","opcode":"Tup","args":[{"id":89,"kind":"int","value":3},{"id":90,"kind":"int","value":2}]}]},{"id":102,"kind":"app","opcode":"Set","args":[{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]},{"id":98,"kind":"app","opcode":"Tup","args":[{"id":96,"kind":"int","value":2},{"id":97,"kind":"int","value":3}]},{"id":101,"kind":"app","opcode":"Tup","args":[{"id":99,"kind":"int","value":3},{"id":100,"kind":"int","value":3}]}]},{"id":112,"kind":"app","opcode":"Set","args":[{"id":105,"kind":"app","opcode":"Tup","args":[{"id":103,"kind":"int","value":1},{"id":104,"kind":"int","value":1}]},{"id":108,"kind":"app","opcode":"Tup","args":[{"id":106,"kind":"int","value":2},{"id":107,"kind":"int","value":2}]},{"id":111,"kind":"app","opcode":"Tup","args":[{"id":109,"kind":"int","value":3},{"id":110,"kind":"int","value":3}]}]},{"id":122,"kind":"app","opcode":"Set","args":[{"id":115,"kind":"app","opcode":"Tup","args":[{"id":113,"kind":"int","value":3},{"id":114,"kind":"int","value":1}]},{"id":118,"kind":"app","opcode":"Tup","args":[{"id":116,"kind":"int","value":2},{"id":117,"kind":"int","value":2}]},{"id":121,"kind":"app","opcode":"Tup","args":[{"id":119,"kind":"int","value":1},{"id":120,"kind":"int","value":3}]}]}]},"depth":0},"301":{"id":272,"kind":"def","name":"canBlockWithPattern","qualifier":"def","expr":{"id":271,"kind":"lambda","params":[{"id":250,"name":"pattern_271"}],"qualifier":"def","expr":{"id":270,"kind":"app","opcode":"and","args":[{"id":260,"kind":"app","opcode":"eq","args":[{"id":258,"kind":"app","opcode":"size","args":[{"id":257,"kind":"app","opcode":"filter","args":[{"id":251,"kind":"name","name":"pattern_271"},{"id":256,"kind":"lambda","params":[{"id":252,"name":"coordinate_256"}],"qualifier":"def","expr":{"id":255,"kind":"app","opcode":"hasPlayer","args":[{"id":253,"kind":"name","name":"coordinate_256"},{"id":254,"kind":"name","name":"O"}]}}]}]},{"id":259,"kind":"int","value":2}]},{"id":269,"kind":"app","opcode":"eq","args":[{"id":267,"kind":"app","opcode":"size","args":[{"id":266,"kind":"app","opcode":"filter","args":[{"id":261,"kind":"name","name":"pattern_271"},{"id":265,"kind":"lambda","params":[{"id":262,"name":"coordinate_265"}],"qualifier":"def","expr":{"id":264,"kind":"app","opcode":"isEmpty","args":[{"id":263,"kind":"name","name":"coordinate_265"}]}}]}]},{"id":268,"kind":"int","value":1}]}]}},"depth":0},"307":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"309":{"id":124,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":123,"kind":"app","opcode":"Set","args":[{"id":52,"kind":"app","opcode":"Set","args":[{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":1},{"id":44,"kind":"int","value":1}]},{"id":48,"kind":"app","opcode":"Tup","args":[{"id":46,"kind":"int","value":1},{"id":47,"kind":"int","value":2}]},{"id":51,"kind":"app","opcode":"Tup","args":[{"id":49,"kind":"int","value":1},{"id":50,"kind":"int","value":3}]}]},{"id":62,"kind":"app","opcode":"Set","args":[{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":2},{"id":54,"kind":"int","value":1}]},{"id":58,"kind":"app","opcode":"Tup","args":[{"id":56,"kind":"int","value":2},{"id":57,"kind":"int","value":2}]},{"id":61,"kind":"app","opcode":"Tup","args":[{"id":59,"kind":"int","value":2},{"id":60,"kind":"int","value":3}]}]},{"id":72,"kind":"app","opcode":"Set","args":[{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":1}]},{"id":68,"kind":"app","opcode":"Tup","args":[{"id":66,"kind":"int","value":3},{"id":67,"kind":"int","value":2}]},{"id":71,"kind":"app","opcode":"Tup","args":[{"id":69,"kind":"int","value":3},{"id":70,"kind":"int","value":3}]}]},{"id":82,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":1},{"id":74,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Tup","args":[{"id":76,"kind":"int","value":2},{"id":77,"kind":"int","value":1}]},{"id":81,"kind":"app","opcode":"Tup","args":[{"id":79,"kind":"int","value":3},{"id":80,"kind":"int","value":1}]}]},{"id":92,"kind":"app","opcode":"Set","args":[{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":1},{"id":84,"kind":"int","value":2}]},{"id":88,"kind":"app","opcode":"Tup","args":[{"id":86,"kind":"int","value":2},{"id":87,"kind":"int","value":2}]},{"id":91,"kind":"app","opcode":"Tup","args":[{"id":89,"kind":"int","value":3},{"id":90,"kind":"int","value":2}]}]},{"id":102,"kind":"app","opcode":"Set","args":[{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]},{"id":98,"kind":"app","opcode":"Tup","args":[{"id":96,"kind":"int","value":2},{"id":97,"kind":"int","value":3}]},{"id":101,"kind":"app","opcode":"Tup","args":[{"id":99,"kind":"int","value":3},{"id":100,"kind":"int","value":3}]}]},{"id":112,"kind":"app","opcode":"Set","args":[{"id":105,"kind":"app","opcode":"Tup","args":[{"id":103,"kind":"int","value":1},{"id":104,"kind":"int","value":1}]},{"id":108,"kind":"app","opcode":"Tup","args":[{"id":106,"kind":"int","value":2},{"id":107,"kind":"int","value":2}]},{"id":111,"kind":"app","opcode":"Tup","args":[{"id":109,"kind":"int","value":3},{"id":110,"kind":"int","value":3}]}]},{"id":122,"kind":"app","opcode":"Set","args":[{"id":115,"kind":"app","opcode":"Tup","args":[{"id":113,"kind":"int","value":3},{"id":114,"kind":"int","value":1}]},{"id":118,"kind":"app","opcode":"Tup","args":[{"id":116,"kind":"int","value":2},{"id":117,"kind":"int","value":2}]},{"id":121,"kind":"app","opcode":"Tup","args":[{"id":119,"kind":"int","value":1},{"id":120,"kind":"int","value":3}]}]}]},"depth":0},"310":{"id":295,"kind":"def","name":"canSetupWinWithPattern","qualifier":"def","expr":{"id":294,"kind":"lambda","params":[{"id":273,"name":"pattern_294"}],"qualifier":"def","expr":{"id":293,"kind":"app","opcode":"and","args":[{"id":283,"kind":"app","opcode":"eq","args":[{"id":281,"kind":"app","opcode":"size","args":[{"id":280,"kind":"app","opcode":"filter","args":[{"id":274,"kind":"name","name":"pattern_294"},{"id":279,"kind":"lambda","params":[{"id":275,"name":"coordinate_279"}],"qualifier":"def","expr":{"id":278,"kind":"app","opcode":"hasPlayer","args":[{"id":276,"kind":"name","name":"coordinate_279"},{"id":277,"kind":"name","name":"X"}]}}]}]},{"id":282,"kind":"int","value":1}]},{"id":292,"kind":"app","opcode":"eq","args":[{"id":290,"kind":"app","opcode":"size","args":[{"id":289,"kind":"app","opcode":"filter","args":[{"id":284,"kind":"name","name":"pattern_294"},{"id":288,"kind":"lambda","params":[{"id":285,"name":"coordinate_288"}],"qualifier":"def","expr":{"id":287,"kind":"app","opcode":"isEmpty","args":[{"id":286,"kind":"name","name":"coordinate_288"}]}}]}]},{"id":291,"kind":"int","value":2}]}]}},"depth":0},"315":{"id":314,"name":"coordinate_334","kind":"param","depth":1},"316":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"317":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"id":32,"depth":0},"318":{"id":314,"name":"coordinate_334","kind":"param","depth":1},"322":{"id":321,"name":"row_329","kind":"param","depth":2},"323":{"id":314,"name":"coordinate_334","kind":"param","depth":1},"326":{"id":313,"name":"player_334","kind":"param","depth":1},"327":{"id":22,"kind":"def","name":"Occupied","qualifier":"def","expr":{"id":21,"kind":"lambda","params":[{"id":18,"name":"Occupied_21"}],"qualifier":"def","expr":{"id":20,"kind":"app","opcode":"variant","args":[{"id":17,"kind":"str","value":"Occupied"},{"kind":"name","name":"Occupied_21","id":19}]}},"depth":0},"331":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"id":32,"depth":0},"336":{"id":299,"kind":"def","name":"canWin","qualifier":"val","expr":{"id":298,"kind":"app","opcode":"exists","args":[{"id":296,"kind":"name","name":"winningPatterns"},{"id":297,"kind":"name","name":"canWinWithPattern"}]},"depth":0},"337":{"id":124,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":123,"kind":"app","opcode":"Set","args":[{"id":52,"kind":"app","opcode":"Set","args":[{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":1},{"id":44,"kind":"int","value":1}]},{"id":48,"kind":"app","opcode":"Tup","args":[{"id":46,"kind":"int","value":1},{"id":47,"kind":"int","value":2}]},{"id":51,"kind":"app","opcode":"Tup","args":[{"id":49,"kind":"int","value":1},{"id":50,"kind":"int","value":3}]}]},{"id":62,"kind":"app","opcode":"Set","args":[{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":2},{"id":54,"kind":"int","value":1}]},{"id":58,"kind":"app","opcode":"Tup","args":[{"id":56,"kind":"int","value":2},{"id":57,"kind":"int","value":2}]},{"id":61,"kind":"app","opcode":"Tup","args":[{"id":59,"kind":"int","value":2},{"id":60,"kind":"int","value":3}]}]},{"id":72,"kind":"app","opcode":"Set","args":[{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":1}]},{"id":68,"kind":"app","opcode":"Tup","args":[{"id":66,"kind":"int","value":3},{"id":67,"kind":"int","value":2}]},{"id":71,"kind":"app","opcode":"Tup","args":[{"id":69,"kind":"int","value":3},{"id":70,"kind":"int","value":3}]}]},{"id":82,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":1},{"id":74,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Tup","args":[{"id":76,"kind":"int","value":2},{"id":77,"kind":"int","value":1}]},{"id":81,"kind":"app","opcode":"Tup","args":[{"id":79,"kind":"int","value":3},{"id":80,"kind":"int","value":1}]}]},{"id":92,"kind":"app","opcode":"Set","args":[{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":1},{"id":84,"kind":"int","value":2}]},{"id":88,"kind":"app","opcode":"Tup","args":[{"id":86,"kind":"int","value":2},{"id":87,"kind":"int","value":2}]},{"id":91,"kind":"app","opcode":"Tup","args":[{"id":89,"kind":"int","value":3},{"id":90,"kind":"int","value":2}]}]},{"id":102,"kind":"app","opcode":"Set","args":[{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]},{"id":98,"kind":"app","opcode":"Tup","args":[{"id":96,"kind":"int","value":2},{"id":97,"kind":"int","value":3}]},{"id":101,"kind":"app","opcode":"Tup","args":[{"id":99,"kind":"int","value":3},{"id":100,"kind":"int","value":3}]}]},{"id":112,"kind":"app","opcode":"Set","args":[{"id":105,"kind":"app","opcode":"Tup","args":[{"id":103,"kind":"int","value":1},{"id":104,"kind":"int","value":1}]},{"id":108,"kind":"app","opcode":"Tup","args":[{"id":106,"kind":"int","value":2},{"id":107,"kind":"int","value":2}]},{"id":111,"kind":"app","opcode":"Tup","args":[{"id":109,"kind":"int","value":3},{"id":110,"kind":"int","value":3}]}]},{"id":122,"kind":"app","opcode":"Set","args":[{"id":115,"kind":"app","opcode":"Tup","args":[{"id":113,"kind":"int","value":3},{"id":114,"kind":"int","value":1}]},{"id":118,"kind":"app","opcode":"Tup","args":[{"id":116,"kind":"int","value":2},{"id":117,"kind":"int","value":2}]},{"id":121,"kind":"app","opcode":"Tup","args":[{"id":119,"kind":"int","value":1},{"id":120,"kind":"int","value":3}]}]}]},"depth":0},"338":{"id":249,"kind":"def","name":"canWinWithPattern","qualifier":"def","expr":{"id":248,"kind":"lambda","params":[{"id":227,"name":"pattern_248"}],"qualifier":"def","expr":{"id":247,"kind":"app","opcode":"and","args":[{"id":237,"kind":"app","opcode":"eq","args":[{"id":235,"kind":"app","opcode":"size","args":[{"id":234,"kind":"app","opcode":"filter","args":[{"id":228,"kind":"name","name":"pattern_248"},{"id":233,"kind":"lambda","params":[{"id":229,"name":"coordinate_233"}],"qualifier":"def","expr":{"id":232,"kind":"app","opcode":"hasPlayer","args":[{"id":230,"kind":"name","name":"coordinate_233"},{"id":231,"kind":"name","name":"X"}]}}]}]},{"id":236,"kind":"int","value":2}]},{"id":246,"kind":"app","opcode":"eq","args":[{"id":244,"kind":"app","opcode":"size","args":[{"id":243,"kind":"app","opcode":"filter","args":[{"id":238,"kind":"name","name":"pattern_248"},{"id":242,"kind":"lambda","params":[{"id":239,"name":"coordinate_242"}],"qualifier":"def","expr":{"id":241,"kind":"app","opcode":"isEmpty","args":[{"id":240,"kind":"name","name":"coordinate_242"}]}}]}]},{"id":245,"kind":"int","value":1}]}]}},"depth":0},"342":{"id":341,"kind":"def","name":"pattern_351","qualifier":"nondet","expr":{"id":340,"kind":"app","opcode":"oneOf","args":[{"id":339,"kind":"app","opcode":"filter","args":[{"id":337,"kind":"name","name":"winningPatterns"},{"id":338,"kind":"name","name":"canWinWithPattern"}]}]},"depth":1},"343":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"347":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"348":{"id":346,"kind":"def","name":"coordinate_350","qualifier":"nondet","expr":{"id":345,"kind":"app","opcode":"oneOf","args":[{"id":344,"kind":"app","opcode":"filter","args":[{"id":342,"kind":"name","name":"pattern_351"},{"id":343,"kind":"name","name":"isEmpty"}]}]},"depth":1},"349":{"id":335,"kind":"def","name":"Move","qualifier":"action","expr":{"id":334,"kind":"lambda","params":[{"id":313,"name":"player_334"},{"id":314,"name":"coordinate_334"}],"qualifier":"action","expr":{"id":333,"kind":"app","opcode":"actionAll","args":[{"id":316,"kind":"app","opcode":"isEmpty","args":[{"id":315,"kind":"name","name":"coordinate_334"}]},{"id":332,"kind":"app","opcode":"assign","args":[{"id":331,"kind":"name","name":"board"},{"id":330,"kind":"app","opcode":"setBy","args":[{"id":317,"kind":"name","name":"board"},{"id":320,"kind":"app","opcode":"item","args":[{"id":318,"kind":"name","name":"coordinate_334"},{"id":319,"kind":"int","value":1}]},{"id":329,"kind":"lambda","params":[{"id":321,"name":"row_329"}],"qualifier":"def","expr":{"id":328,"kind":"app","opcode":"set","args":[{"id":322,"kind":"name","name":"row_329"},{"id":325,"kind":"app","opcode":"item","args":[{"id":323,"kind":"name","name":"coordinate_334"},{"id":324,"kind":"int","value":2}]},{"id":327,"kind":"app","opcode":"Occupied","args":[{"id":326,"kind":"name","name":"player_334"}]}]}}]}]}]}},"depth":0},"354":{"id":303,"kind":"def","name":"canBlock","qualifier":"val","expr":{"id":302,"kind":"app","opcode":"exists","args":[{"id":300,"kind":"name","name":"winningPatterns"},{"id":301,"kind":"name","name":"canBlockWithPattern"}]},"depth":0},"355":{"id":124,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":123,"kind":"app","opcode":"Set","args":[{"id":52,"kind":"app","opcode":"Set","args":[{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":1},{"id":44,"kind":"int","value":1}]},{"id":48,"kind":"app","opcode":"Tup","args":[{"id":46,"kind":"int","value":1},{"id":47,"kind":"int","value":2}]},{"id":51,"kind":"app","opcode":"Tup","args":[{"id":49,"kind":"int","value":1},{"id":50,"kind":"int","value":3}]}]},{"id":62,"kind":"app","opcode":"Set","args":[{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":2},{"id":54,"kind":"int","value":1}]},{"id":58,"kind":"app","opcode":"Tup","args":[{"id":56,"kind":"int","value":2},{"id":57,"kind":"int","value":2}]},{"id":61,"kind":"app","opcode":"Tup","args":[{"id":59,"kind":"int","value":2},{"id":60,"kind":"int","value":3}]}]},{"id":72,"kind":"app","opcode":"Set","args":[{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":1}]},{"id":68,"kind":"app","opcode":"Tup","args":[{"id":66,"kind":"int","value":3},{"id":67,"kind":"int","value":2}]},{"id":71,"kind":"app","opcode":"Tup","args":[{"id":69,"kind":"int","value":3},{"id":70,"kind":"int","value":3}]}]},{"id":82,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":1},{"id":74,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Tup","args":[{"id":76,"kind":"int","value":2},{"id":77,"kind":"int","value":1}]},{"id":81,"kind":"app","opcode":"Tup","args":[{"id":79,"kind":"int","value":3},{"id":80,"kind":"int","value":1}]}]},{"id":92,"kind":"app","opcode":"Set","args":[{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":1},{"id":84,"kind":"int","value":2}]},{"id":88,"kind":"app","opcode":"Tup","args":[{"id":86,"kind":"int","value":2},{"id":87,"kind":"int","value":2}]},{"id":91,"kind":"app","opcode":"Tup","args":[{"id":89,"kind":"int","value":3},{"id":90,"kind":"int","value":2}]}]},{"id":102,"kind":"app","opcode":"Set","args":[{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]},{"id":98,"kind":"app","opcode":"Tup","args":[{"id":96,"kind":"int","value":2},{"id":97,"kind":"int","value":3}]},{"id":101,"kind":"app","opcode":"Tup","args":[{"id":99,"kind":"int","value":3},{"id":100,"kind":"int","value":3}]}]},{"id":112,"kind":"app","opcode":"Set","args":[{"id":105,"kind":"app","opcode":"Tup","args":[{"id":103,"kind":"int","value":1},{"id":104,"kind":"int","value":1}]},{"id":108,"kind":"app","opcode":"Tup","args":[{"id":106,"kind":"int","value":2},{"id":107,"kind":"int","value":2}]},{"id":111,"kind":"app","opcode":"Tup","args":[{"id":109,"kind":"int","value":3},{"id":110,"kind":"int","value":3}]}]},{"id":122,"kind":"app","opcode":"Set","args":[{"id":115,"kind":"app","opcode":"Tup","args":[{"id":113,"kind":"int","value":3},{"id":114,"kind":"int","value":1}]},{"id":118,"kind":"app","opcode":"Tup","args":[{"id":116,"kind":"int","value":2},{"id":117,"kind":"int","value":2}]},{"id":121,"kind":"app","opcode":"Tup","args":[{"id":119,"kind":"int","value":1},{"id":120,"kind":"int","value":3}]}]}]},"depth":0},"356":{"id":272,"kind":"def","name":"canBlockWithPattern","qualifier":"def","expr":{"id":271,"kind":"lambda","params":[{"id":250,"name":"pattern_271"}],"qualifier":"def","expr":{"id":270,"kind":"app","opcode":"and","args":[{"id":260,"kind":"app","opcode":"eq","args":[{"id":258,"kind":"app","opcode":"size","args":[{"id":257,"kind":"app","opcode":"filter","args":[{"id":251,"kind":"name","name":"pattern_271"},{"id":256,"kind":"lambda","params":[{"id":252,"name":"coordinate_256"}],"qualifier":"def","expr":{"id":255,"kind":"app","opcode":"hasPlayer","args":[{"id":253,"kind":"name","name":"coordinate_256"},{"id":254,"kind":"name","name":"O"}]}}]}]},{"id":259,"kind":"int","value":2}]},{"id":269,"kind":"app","opcode":"eq","args":[{"id":267,"kind":"app","opcode":"size","args":[{"id":266,"kind":"app","opcode":"filter","args":[{"id":261,"kind":"name","name":"pattern_271"},{"id":265,"kind":"lambda","params":[{"id":262,"name":"coordinate_265"}],"qualifier":"def","expr":{"id":264,"kind":"app","opcode":"isEmpty","args":[{"id":263,"kind":"name","name":"coordinate_265"}]}}]}]},{"id":268,"kind":"int","value":1}]}]}},"depth":0},"360":{"id":359,"kind":"def","name":"pattern_369","qualifier":"nondet","expr":{"id":358,"kind":"app","opcode":"oneOf","args":[{"id":357,"kind":"app","opcode":"filter","args":[{"id":355,"kind":"name","name":"winningPatterns"},{"id":356,"kind":"name","name":"canBlockWithPattern"}]}]},"depth":1},"361":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"365":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"366":{"id":364,"kind":"def","name":"coordinate_368","qualifier":"nondet","expr":{"id":363,"kind":"app","opcode":"oneOf","args":[{"id":362,"kind":"app","opcode":"filter","args":[{"id":360,"kind":"name","name":"pattern_369"},{"id":361,"kind":"name","name":"isEmpty"}]}]},"depth":1},"367":{"id":335,"kind":"def","name":"Move","qualifier":"action","expr":{"id":334,"kind":"lambda","params":[{"id":313,"name":"player_334"},{"id":314,"name":"coordinate_334"}],"qualifier":"action","expr":{"id":333,"kind":"app","opcode":"actionAll","args":[{"id":316,"kind":"app","opcode":"isEmpty","args":[{"id":315,"kind":"name","name":"coordinate_334"}]},{"id":332,"kind":"app","opcode":"assign","args":[{"id":331,"kind":"name","name":"board"},{"id":330,"kind":"app","opcode":"setBy","args":[{"id":317,"kind":"name","name":"board"},{"id":320,"kind":"app","opcode":"item","args":[{"id":318,"kind":"name","name":"coordinate_334"},{"id":319,"kind":"int","value":1}]},{"id":329,"kind":"lambda","params":[{"id":321,"name":"row_329"}],"qualifier":"def","expr":{"id":328,"kind":"app","opcode":"set","args":[{"id":322,"kind":"name","name":"row_329"},{"id":325,"kind":"app","opcode":"item","args":[{"id":323,"kind":"name","name":"coordinate_334"},{"id":324,"kind":"int","value":2}]},{"id":327,"kind":"app","opcode":"Occupied","args":[{"id":326,"kind":"name","name":"player_334"}]}]}}]}]}]}},"depth":0},"372":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"376":{"id":335,"kind":"def","name":"Move","qualifier":"action","expr":{"id":334,"kind":"lambda","params":[{"id":313,"name":"player_334"},{"id":314,"name":"coordinate_334"}],"qualifier":"action","expr":{"id":333,"kind":"app","opcode":"actionAll","args":[{"id":316,"kind":"app","opcode":"isEmpty","args":[{"id":315,"kind":"name","name":"coordinate_334"}]},{"id":332,"kind":"app","opcode":"assign","args":[{"id":331,"kind":"name","name":"board"},{"id":330,"kind":"app","opcode":"setBy","args":[{"id":317,"kind":"name","name":"board"},{"id":320,"kind":"app","opcode":"item","args":[{"id":318,"kind":"name","name":"coordinate_334"},{"id":319,"kind":"int","value":1}]},{"id":329,"kind":"lambda","params":[{"id":321,"name":"row_329"}],"qualifier":"def","expr":{"id":328,"kind":"app","opcode":"set","args":[{"id":322,"kind":"name","name":"row_329"},{"id":325,"kind":"app","opcode":"item","args":[{"id":323,"kind":"name","name":"coordinate_334"},{"id":324,"kind":"int","value":2}]},{"id":327,"kind":"app","opcode":"Occupied","args":[{"id":326,"kind":"name","name":"player_334"}]}]}}]}]}]}},"depth":0},"378":{"id":124,"kind":"def","name":"winningPatterns","qualifier":"pureval","expr":{"id":123,"kind":"app","opcode":"Set","args":[{"id":52,"kind":"app","opcode":"Set","args":[{"id":45,"kind":"app","opcode":"Tup","args":[{"id":43,"kind":"int","value":1},{"id":44,"kind":"int","value":1}]},{"id":48,"kind":"app","opcode":"Tup","args":[{"id":46,"kind":"int","value":1},{"id":47,"kind":"int","value":2}]},{"id":51,"kind":"app","opcode":"Tup","args":[{"id":49,"kind":"int","value":1},{"id":50,"kind":"int","value":3}]}]},{"id":62,"kind":"app","opcode":"Set","args":[{"id":55,"kind":"app","opcode":"Tup","args":[{"id":53,"kind":"int","value":2},{"id":54,"kind":"int","value":1}]},{"id":58,"kind":"app","opcode":"Tup","args":[{"id":56,"kind":"int","value":2},{"id":57,"kind":"int","value":2}]},{"id":61,"kind":"app","opcode":"Tup","args":[{"id":59,"kind":"int","value":2},{"id":60,"kind":"int","value":3}]}]},{"id":72,"kind":"app","opcode":"Set","args":[{"id":65,"kind":"app","opcode":"Tup","args":[{"id":63,"kind":"int","value":3},{"id":64,"kind":"int","value":1}]},{"id":68,"kind":"app","opcode":"Tup","args":[{"id":66,"kind":"int","value":3},{"id":67,"kind":"int","value":2}]},{"id":71,"kind":"app","opcode":"Tup","args":[{"id":69,"kind":"int","value":3},{"id":70,"kind":"int","value":3}]}]},{"id":82,"kind":"app","opcode":"Set","args":[{"id":75,"kind":"app","opcode":"Tup","args":[{"id":73,"kind":"int","value":1},{"id":74,"kind":"int","value":1}]},{"id":78,"kind":"app","opcode":"Tup","args":[{"id":76,"kind":"int","value":2},{"id":77,"kind":"int","value":1}]},{"id":81,"kind":"app","opcode":"Tup","args":[{"id":79,"kind":"int","value":3},{"id":80,"kind":"int","value":1}]}]},{"id":92,"kind":"app","opcode":"Set","args":[{"id":85,"kind":"app","opcode":"Tup","args":[{"id":83,"kind":"int","value":1},{"id":84,"kind":"int","value":2}]},{"id":88,"kind":"app","opcode":"Tup","args":[{"id":86,"kind":"int","value":2},{"id":87,"kind":"int","value":2}]},{"id":91,"kind":"app","opcode":"Tup","args":[{"id":89,"kind":"int","value":3},{"id":90,"kind":"int","value":2}]}]},{"id":102,"kind":"app","opcode":"Set","args":[{"id":95,"kind":"app","opcode":"Tup","args":[{"id":93,"kind":"int","value":1},{"id":94,"kind":"int","value":3}]},{"id":98,"kind":"app","opcode":"Tup","args":[{"id":96,"kind":"int","value":2},{"id":97,"kind":"int","value":3}]},{"id":101,"kind":"app","opcode":"Tup","args":[{"id":99,"kind":"int","value":3},{"id":100,"kind":"int","value":3}]}]},{"id":112,"kind":"app","opcode":"Set","args":[{"id":105,"kind":"app","opcode":"Tup","args":[{"id":103,"kind":"int","value":1},{"id":104,"kind":"int","value":1}]},{"id":108,"kind":"app","opcode":"Tup","args":[{"id":106,"kind":"int","value":2},{"id":107,"kind":"int","value":2}]},{"id":111,"kind":"app","opcode":"Tup","args":[{"id":109,"kind":"int","value":3},{"id":110,"kind":"int","value":3}]}]},{"id":122,"kind":"app","opcode":"Set","args":[{"id":115,"kind":"app","opcode":"Tup","args":[{"id":113,"kind":"int","value":3},{"id":114,"kind":"int","value":1}]},{"id":118,"kind":"app","opcode":"Tup","args":[{"id":116,"kind":"int","value":2},{"id":117,"kind":"int","value":2}]},{"id":121,"kind":"app","opcode":"Tup","args":[{"id":119,"kind":"int","value":1},{"id":120,"kind":"int","value":3}]}]}]},"depth":0},"379":{"id":295,"kind":"def","name":"canSetupWinWithPattern","qualifier":"def","expr":{"id":294,"kind":"lambda","params":[{"id":273,"name":"pattern_294"}],"qualifier":"def","expr":{"id":293,"kind":"app","opcode":"and","args":[{"id":283,"kind":"app","opcode":"eq","args":[{"id":281,"kind":"app","opcode":"size","args":[{"id":280,"kind":"app","opcode":"filter","args":[{"id":274,"kind":"name","name":"pattern_294"},{"id":279,"kind":"lambda","params":[{"id":275,"name":"coordinate_279"}],"qualifier":"def","expr":{"id":278,"kind":"app","opcode":"hasPlayer","args":[{"id":276,"kind":"name","name":"coordinate_279"},{"id":277,"kind":"name","name":"X"}]}}]}]},{"id":282,"kind":"int","value":1}]},{"id":292,"kind":"app","opcode":"eq","args":[{"id":290,"kind":"app","opcode":"size","args":[{"id":289,"kind":"app","opcode":"filter","args":[{"id":284,"kind":"name","name":"pattern_294"},{"id":288,"kind":"lambda","params":[{"id":285,"name":"coordinate_288"}],"qualifier":"def","expr":{"id":287,"kind":"app","opcode":"isEmpty","args":[{"id":286,"kind":"name","name":"coordinate_288"}]}}]}]},{"id":291,"kind":"int","value":2}]}]}},"depth":0},"383":{"id":382,"kind":"def","name":"pattern_392","qualifier":"nondet","expr":{"id":381,"kind":"app","opcode":"oneOf","args":[{"id":380,"kind":"app","opcode":"filter","args":[{"id":378,"kind":"name","name":"winningPatterns"},{"id":379,"kind":"name","name":"canSetupWinWithPattern"}]}]},"depth":1},"384":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"388":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"389":{"id":387,"kind":"def","name":"coordinate_391","qualifier":"nondet","expr":{"id":386,"kind":"app","opcode":"oneOf","args":[{"id":385,"kind":"app","opcode":"filter","args":[{"id":383,"kind":"name","name":"pattern_392"},{"id":384,"kind":"name","name":"isEmpty"}]}]},"depth":1},"390":{"id":335,"kind":"def","name":"Move","qualifier":"action","expr":{"id":334,"kind":"lambda","params":[{"id":313,"name":"player_334"},{"id":314,"name":"coordinate_334"}],"qualifier":"action","expr":{"id":333,"kind":"app","opcode":"actionAll","args":[{"id":316,"kind":"app","opcode":"isEmpty","args":[{"id":315,"kind":"name","name":"coordinate_334"}]},{"id":332,"kind":"app","opcode":"assign","args":[{"id":331,"kind":"name","name":"board"},{"id":330,"kind":"app","opcode":"setBy","args":[{"id":317,"kind":"name","name":"board"},{"id":320,"kind":"app","opcode":"item","args":[{"id":318,"kind":"name","name":"coordinate_334"},{"id":319,"kind":"int","value":1}]},{"id":329,"kind":"lambda","params":[{"id":321,"name":"row_329"}],"qualifier":"def","expr":{"id":328,"kind":"app","opcode":"set","args":[{"id":322,"kind":"name","name":"row_329"},{"id":325,"kind":"app","opcode":"item","args":[{"id":323,"kind":"name","name":"coordinate_334"},{"id":324,"kind":"int","value":2}]},{"id":327,"kind":"app","opcode":"Occupied","args":[{"id":326,"kind":"name","name":"player_334"}]}]}}]}]}]}},"depth":0},"396":{"id":42,"kind":"def","name":"boardCoordinates","qualifier":"pureval","expr":{"id":41,"kind":"app","opcode":"tuples","args":[{"id":37,"kind":"app","opcode":"to","args":[{"id":35,"kind":"int","value":1},{"id":36,"kind":"int","value":3}]},{"id":40,"kind":"app","opcode":"to","args":[{"id":38,"kind":"int","value":1},{"id":39,"kind":"int","value":3}]}]},"depth":0},"397":{"id":185,"kind":"def","name":"isEmpty","qualifier":"def","expr":{"id":184,"kind":"lambda","params":[{"id":172,"name":"coordinate_184"}],"qualifier":"def","expr":{"id":177,"kind":"app","opcode":"matchVariant","args":[{"id":174,"kind":"app","opcode":"square","args":[{"id":173,"kind":"name","name":"coordinate_184"}]},{"id":178,"kind":"str","value":"Empty"},{"id":179,"kind":"lambda","qualifier":"def","expr":{"id":175,"kind":"bool","value":true},"params":[{"name":"__179","id":180}]},{"id":181,"kind":"str","value":"_"},{"id":182,"kind":"lambda","qualifier":"def","expr":{"id":176,"kind":"bool","value":false},"params":[{"name":"__182","id":183}]}]}},"depth":0},"401":{"id":395,"name":"player_405","kind":"param","depth":1},"402":{"id":400,"kind":"def","name":"coordinate_404","qualifier":"nondet","expr":{"id":399,"kind":"app","opcode":"oneOf","args":[{"id":398,"kind":"app","opcode":"filter","args":[{"id":396,"kind":"name","name":"boardCoordinates"},{"id":397,"kind":"name","name":"isEmpty"}]}]},"depth":2},"403":{"id":335,"kind":"def","name":"Move","qualifier":"action","expr":{"id":334,"kind":"lambda","params":[{"id":313,"name":"player_334"},{"id":314,"name":"coordinate_334"}],"qualifier":"action","expr":{"id":333,"kind":"app","opcode":"actionAll","args":[{"id":316,"kind":"app","opcode":"isEmpty","args":[{"id":315,"kind":"name","name":"coordinate_334"}]},{"id":332,"kind":"app","opcode":"assign","args":[{"id":331,"kind":"name","name":"board"},{"id":330,"kind":"app","opcode":"setBy","args":[{"id":317,"kind":"name","name":"board"},{"id":320,"kind":"app","opcode":"item","args":[{"id":318,"kind":"name","name":"coordinate_334"},{"id":319,"kind":"int","value":1}]},{"id":329,"kind":"lambda","params":[{"id":321,"name":"row_329"}],"qualifier":"def","expr":{"id":328,"kind":"app","opcode":"set","args":[{"id":322,"kind":"name","name":"row_329"},{"id":325,"kind":"app","opcode":"item","args":[{"id":323,"kind":"name","name":"coordinate_334"},{"id":324,"kind":"int","value":2}]},{"id":327,"kind":"app","opcode":"Occupied","args":[{"id":326,"kind":"name","name":"player_334"}]}]}}]}]}]}},"depth":0},"407":{"id":138,"kind":"def","name":"corners","qualifier":"pureval","expr":{"id":137,"kind":"app","opcode":"Set","args":[{"id":127,"kind":"app","opcode":"Tup","args":[{"id":125,"kind":"int","value":1},{"id":126,"kind":"int","value":1}]},{"id":130,"kind":"app","opcode":"Tup","args":[{"id":128,"kind":"int","value":3},{"id":129,"kind":"int","value":1}]},{"id":133,"kind":"app","opcode":"Tup","args":[{"id":131,"kind":"int","value":1},{"id":132,"kind":"int","value":3}]},{"id":136,"kind":"app","opcode":"Tup","args":[{"id":134,"kind":"int","value":3},{"id":135,"kind":"int","value":3}]}]},"depth":0},"410":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"411":{"id":409,"kind":"def","name":"corner_413","qualifier":"nondet","expr":{"id":408,"kind":"app","opcode":"oneOf","args":[{"id":407,"kind":"name","name":"corners"}]},"depth":1},"412":{"id":335,"kind":"def","name":"Move","qualifier":"action","expr":{"id":334,"kind":"lambda","params":[{"id":313,"name":"player_334"},{"id":314,"name":"coordinate_334"}],"qualifier":"action","expr":{"id":333,"kind":"app","opcode":"actionAll","args":[{"id":316,"kind":"app","opcode":"isEmpty","args":[{"id":315,"kind":"name","name":"coordinate_334"}]},{"id":332,"kind":"app","opcode":"assign","args":[{"id":331,"kind":"name","name":"board"},{"id":330,"kind":"app","opcode":"setBy","args":[{"id":317,"kind":"name","name":"board"},{"id":320,"kind":"app","opcode":"item","args":[{"id":318,"kind":"name","name":"coordinate_334"},{"id":319,"kind":"int","value":1}]},{"id":329,"kind":"lambda","params":[{"id":321,"name":"row_329"}],"qualifier":"def","expr":{"id":328,"kind":"app","opcode":"set","args":[{"id":322,"kind":"name","name":"row_329"},{"id":325,"kind":"app","opcode":"item","args":[{"id":323,"kind":"name","name":"coordinate_334"},{"id":324,"kind":"int","value":2}]},{"id":327,"kind":"app","opcode":"Occupied","args":[{"id":326,"kind":"name","name":"player_334"}]}]}}]}]}]}},"depth":0},"415":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":34,"depth":0},"416":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"418":{"id":12,"kind":"def","name":"O","qualifier":"val","expr":{"id":11,"kind":"app","opcode":"variant","args":[{"id":9,"kind":"str","value":"O"},{"id":10,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"419":{"id":203,"kind":"def","name":"won","qualifier":"def","expr":{"id":202,"kind":"lambda","params":[{"id":190,"name":"player_202"}],"qualifier":"def","expr":{"id":201,"kind":"app","opcode":"exists","args":[{"id":191,"kind":"name","name":"winningPatterns"},{"id":200,"kind":"lambda","params":[{"id":192,"name":"pattern_200"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"forall","args":[{"id":193,"kind":"name","name":"pattern_200"},{"id":198,"kind":"lambda","params":[{"id":194,"name":"coordinate_198"}],"qualifier":"def","expr":{"id":197,"kind":"app","opcode":"hasPlayer","args":[{"id":195,"kind":"name","name":"coordinate_198"},{"id":196,"kind":"name","name":"player_202"}]}}]}}]}},"depth":0},"421":{"id":189,"kind":"def","name":"boardEmpty","qualifier":"val","expr":{"id":188,"kind":"app","opcode":"forall","args":[{"id":186,"kind":"name","name":"boardCoordinates"},{"id":187,"kind":"name","name":"isEmpty"}]},"depth":0},"422":{"id":414,"kind":"def","name":"StartInCorner","qualifier":"action","expr":{"id":413,"kind":"let","opdef":{"id":409,"kind":"def","name":"corner_413","qualifier":"nondet","expr":{"id":408,"kind":"app","opcode":"oneOf","args":[{"id":407,"kind":"name","name":"corners"}]}},"expr":{"id":412,"kind":"app","opcode":"Move","args":[{"id":410,"kind":"name","name":"X"},{"id":411,"kind":"name","name":"corner_413"}]}},"depth":0},"423":{"id":299,"kind":"def","name":"canWin","qualifier":"val","expr":{"id":298,"kind":"app","opcode":"exists","args":[{"id":296,"kind":"name","name":"winningPatterns"},{"id":297,"kind":"name","name":"canWinWithPattern"}]},"depth":0},"424":{"id":353,"kind":"def","name":"Win","qualifier":"action","expr":{"id":352,"kind":"app","opcode":"actionAll","args":[{"id":336,"kind":"name","name":"canWin"},{"id":351,"kind":"let","opdef":{"id":341,"kind":"def","name":"pattern_351","qualifier":"nondet","expr":{"id":340,"kind":"app","opcode":"oneOf","args":[{"id":339,"kind":"app","opcode":"filter","args":[{"id":337,"kind":"name","name":"winningPatterns"},{"id":338,"kind":"name","name":"canWinWithPattern"}]}]}},"expr":{"id":350,"kind":"let","opdef":{"id":346,"kind":"def","name":"coordinate_350","qualifier":"nondet","expr":{"id":345,"kind":"app","opcode":"oneOf","args":[{"id":344,"kind":"app","opcode":"filter","args":[{"id":342,"kind":"name","name":"pattern_351"},{"id":343,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":349,"kind":"app","opcode":"Move","args":[{"id":347,"kind":"name","name":"X"},{"id":348,"kind":"name","name":"coordinate_350"}]}}}]},"depth":0},"425":{"id":303,"kind":"def","name":"canBlock","qualifier":"val","expr":{"id":302,"kind":"app","opcode":"exists","args":[{"id":300,"kind":"name","name":"winningPatterns"},{"id":301,"kind":"name","name":"canBlockWithPattern"}]},"depth":0},"426":{"id":371,"kind":"def","name":"Block","qualifier":"action","expr":{"id":370,"kind":"app","opcode":"actionAll","args":[{"id":354,"kind":"name","name":"canBlock"},{"id":369,"kind":"let","opdef":{"id":359,"kind":"def","name":"pattern_369","qualifier":"nondet","expr":{"id":358,"kind":"app","opcode":"oneOf","args":[{"id":357,"kind":"app","opcode":"filter","args":[{"id":355,"kind":"name","name":"winningPatterns"},{"id":356,"kind":"name","name":"canBlockWithPattern"}]}]}},"expr":{"id":368,"kind":"let","opdef":{"id":364,"kind":"def","name":"coordinate_368","qualifier":"nondet","expr":{"id":363,"kind":"app","opcode":"oneOf","args":[{"id":362,"kind":"app","opcode":"filter","args":[{"id":360,"kind":"name","name":"pattern_369"},{"id":361,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":367,"kind":"app","opcode":"Move","args":[{"id":365,"kind":"name","name":"X"},{"id":366,"kind":"name","name":"coordinate_368"}]}}}]},"depth":0},"427":{"id":308,"kind":"def","name":"canTakeCenter","qualifier":"val","expr":{"id":307,"kind":"app","opcode":"isEmpty","args":[{"id":306,"kind":"app","opcode":"Tup","args":[{"id":304,"kind":"int","value":2},{"id":305,"kind":"int","value":2}]}]},"depth":0},"428":{"id":377,"kind":"def","name":"TakeCenter","qualifier":"action","expr":{"id":376,"kind":"app","opcode":"Move","args":[{"id":372,"kind":"name","name":"X"},{"id":375,"kind":"app","opcode":"Tup","args":[{"id":373,"kind":"int","value":2},{"id":374,"kind":"int","value":2}]}]},"depth":0},"429":{"id":312,"kind":"def","name":"canSetupWin","qualifier":"val","expr":{"id":311,"kind":"app","opcode":"exists","args":[{"id":309,"kind":"name","name":"winningPatterns"},{"id":310,"kind":"name","name":"canSetupWinWithPattern"}]},"depth":0},"430":{"id":394,"kind":"def","name":"SetupWin","qualifier":"action","expr":{"id":393,"kind":"app","opcode":"actionAll","args":[{"id":392,"kind":"let","opdef":{"id":382,"kind":"def","name":"pattern_392","qualifier":"nondet","expr":{"id":381,"kind":"app","opcode":"oneOf","args":[{"id":380,"kind":"app","opcode":"filter","args":[{"id":378,"kind":"name","name":"winningPatterns"},{"id":379,"kind":"name","name":"canSetupWinWithPattern"}]}]}},"expr":{"id":391,"kind":"let","opdef":{"id":387,"kind":"def","name":"coordinate_391","qualifier":"nondet","expr":{"id":386,"kind":"app","opcode":"oneOf","args":[{"id":385,"kind":"app","opcode":"filter","args":[{"id":383,"kind":"name","name":"pattern_392"},{"id":384,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":390,"kind":"app","opcode":"Move","args":[{"id":388,"kind":"name","name":"X"},{"id":389,"kind":"name","name":"coordinate_391"}]}}}]},"depth":0},"431":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"432":{"id":406,"kind":"def","name":"MoveToEmpty","qualifier":"action","expr":{"id":405,"kind":"lambda","params":[{"id":395,"name":"player_405"}],"qualifier":"action","expr":{"id":404,"kind":"let","opdef":{"id":400,"kind":"def","name":"coordinate_404","qualifier":"nondet","expr":{"id":399,"kind":"app","opcode":"oneOf","args":[{"id":398,"kind":"app","opcode":"filter","args":[{"id":396,"kind":"name","name":"boardCoordinates"},{"id":397,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":403,"kind":"app","opcode":"Move","args":[{"id":401,"kind":"name","name":"player_405"},{"id":402,"kind":"name","name":"coordinate_404"}]}}},"depth":0},"438":{"id":12,"kind":"def","name":"O","qualifier":"val","expr":{"id":11,"kind":"app","opcode":"variant","args":[{"id":9,"kind":"str","value":"O"},{"id":10,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"439":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":34,"depth":0},"443":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":34,"depth":0},"444":{"id":12,"kind":"def","name":"O","qualifier":"val","expr":{"id":11,"kind":"app","opcode":"variant","args":[{"id":9,"kind":"str","value":"O"},{"id":10,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"446":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"447":{"id":203,"kind":"def","name":"won","qualifier":"def","expr":{"id":202,"kind":"lambda","params":[{"id":190,"name":"player_202"}],"qualifier":"def","expr":{"id":201,"kind":"app","opcode":"exists","args":[{"id":191,"kind":"name","name":"winningPatterns"},{"id":200,"kind":"lambda","params":[{"id":192,"name":"pattern_200"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"forall","args":[{"id":193,"kind":"name","name":"pattern_200"},{"id":198,"kind":"lambda","params":[{"id":194,"name":"coordinate_198"}],"qualifier":"def","expr":{"id":197,"kind":"app","opcode":"hasPlayer","args":[{"id":195,"kind":"name","name":"coordinate_198"},{"id":196,"kind":"name","name":"player_202"}]}}]}}]}},"depth":0},"449":{"id":12,"kind":"def","name":"O","qualifier":"val","expr":{"id":11,"kind":"app","opcode":"variant","args":[{"id":9,"kind":"str","value":"O"},{"id":10,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"450":{"id":406,"kind":"def","name":"MoveToEmpty","qualifier":"action","expr":{"id":405,"kind":"lambda","params":[{"id":395,"name":"player_405"}],"qualifier":"action","expr":{"id":404,"kind":"let","opdef":{"id":400,"kind":"def","name":"coordinate_404","qualifier":"nondet","expr":{"id":399,"kind":"app","opcode":"oneOf","args":[{"id":398,"kind":"app","opcode":"filter","args":[{"id":396,"kind":"name","name":"boardCoordinates"},{"id":397,"kind":"name","name":"isEmpty"}]}]}},"expr":{"id":403,"kind":"app","opcode":"Move","args":[{"id":401,"kind":"name","name":"player_405"},{"id":402,"kind":"name","name":"coordinate_404"}]}}},"depth":0},"451":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"452":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":34,"depth":0},"456":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"457":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":34,"depth":0},"467":{"id":26,"kind":"def","name":"Empty","qualifier":"val","expr":{"id":25,"kind":"app","opcode":"variant","args":[{"id":23,"kind":"str","value":"Empty"},{"id":24,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"472":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"id":32,"depth":0},"476":{"id":442,"kind":"def","name":"MoveX","qualifier":"action","expr":{"id":441,"kind":"app","opcode":"actionAll","args":[{"id":417,"kind":"app","opcode":"eq","args":[{"id":415,"kind":"name","name":"nextTurn"},{"id":416,"kind":"name","name":"X"}]},{"id":420,"kind":"app","opcode":"not","args":[{"id":419,"kind":"app","opcode":"won","args":[{"id":418,"kind":"name","name":"O"}]}]},{"id":437,"kind":"app","opcode":"ite","args":[{"id":421,"kind":"name","name":"boardEmpty"},{"id":422,"kind":"name","name":"StartInCorner"},{"id":436,"kind":"app","opcode":"ite","args":[{"id":423,"kind":"name","name":"canWin"},{"id":424,"kind":"name","name":"Win"},{"id":435,"kind":"app","opcode":"ite","args":[{"id":425,"kind":"name","name":"canBlock"},{"id":426,"kind":"name","name":"Block"},{"id":434,"kind":"app","opcode":"ite","args":[{"id":427,"kind":"name","name":"canTakeCenter"},{"id":428,"kind":"name","name":"TakeCenter"},{"id":433,"kind":"app","opcode":"ite","args":[{"id":429,"kind":"name","name":"canSetupWin"},{"id":430,"kind":"name","name":"SetupWin"},{"id":432,"kind":"app","opcode":"MoveToEmpty","args":[{"id":431,"kind":"name","name":"X"}]}]}]}]}]}]},{"id":440,"kind":"app","opcode":"assign","args":[{"id":439,"kind":"name","name":"nextTurn"},{"id":438,"kind":"name","name":"O"}]}]},"depth":0},"477":{"id":455,"kind":"def","name":"MoveO","qualifier":"action","expr":{"id":454,"kind":"app","opcode":"actionAll","args":[{"id":445,"kind":"app","opcode":"eq","args":[{"id":443,"kind":"name","name":"nextTurn"},{"id":444,"kind":"name","name":"O"}]},{"id":448,"kind":"app","opcode":"not","args":[{"id":447,"kind":"app","opcode":"won","args":[{"id":446,"kind":"name","name":"X"}]}]},{"id":450,"kind":"app","opcode":"MoveToEmpty","args":[{"id":449,"kind":"name","name":"O"}]},{"id":453,"kind":"app","opcode":"assign","args":[{"id":452,"kind":"name","name":"nextTurn"},{"id":451,"kind":"name","name":"X"}]}]},"depth":0},"478":{"id":226,"kind":"def","name":"gameOver","qualifier":"val","expr":{"id":225,"kind":"app","opcode":"or","args":[{"id":223,"kind":"app","opcode":"or","args":[{"id":220,"kind":"app","opcode":"won","args":[{"id":219,"kind":"name","name":"X"}]},{"id":222,"kind":"app","opcode":"won","args":[{"id":221,"kind":"name","name":"O"}]}]},{"id":224,"kind":"name","name":"boardFull"}]},"depth":0},"479":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"id":32,"depth":0},"480":{"doc":"A 3x3 tic-tac-toe board","kind":"var","name":"board","typeAnnotation":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"id":32,"depth":0},"482":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":34,"depth":0},"483":{"doc":"Who goes next","kind":"var","name":"nextTurn","typeAnnotation":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":34,"depth":0},"488":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"489":{"id":203,"kind":"def","name":"won","qualifier":"def","expr":{"id":202,"kind":"lambda","params":[{"id":190,"name":"player_202"}],"qualifier":"def","expr":{"id":201,"kind":"app","opcode":"exists","args":[{"id":191,"kind":"name","name":"winningPatterns"},{"id":200,"kind":"lambda","params":[{"id":192,"name":"pattern_200"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"forall","args":[{"id":193,"kind":"name","name":"pattern_200"},{"id":198,"kind":"lambda","params":[{"id":194,"name":"coordinate_198"}],"qualifier":"def","expr":{"id":197,"kind":"app","opcode":"hasPlayer","args":[{"id":195,"kind":"name","name":"coordinate_198"},{"id":196,"kind":"name","name":"player_202"}]}}]}}]}},"depth":0},"492":{"id":12,"kind":"def","name":"O","qualifier":"val","expr":{"id":11,"kind":"app","opcode":"variant","args":[{"id":9,"kind":"str","value":"O"},{"id":10,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"493":{"id":203,"kind":"def","name":"won","qualifier":"def","expr":{"id":202,"kind":"lambda","params":[{"id":190,"name":"player_202"}],"qualifier":"def","expr":{"id":201,"kind":"app","opcode":"exists","args":[{"id":191,"kind":"name","name":"winningPatterns"},{"id":200,"kind":"lambda","params":[{"id":192,"name":"pattern_200"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"forall","args":[{"id":193,"kind":"name","name":"pattern_200"},{"id":198,"kind":"lambda","params":[{"id":194,"name":"coordinate_198"}],"qualifier":"def","expr":{"id":197,"kind":"app","opcode":"hasPlayer","args":[{"id":195,"kind":"name","name":"coordinate_198"},{"id":196,"kind":"name","name":"player_202"}]}}]}}]}},"depth":0},"496":{"id":218,"kind":"def","name":"stalemate","qualifier":"val","expr":{"id":217,"kind":"app","opcode":"and","args":[{"id":213,"kind":"app","opcode":"and","args":[{"id":209,"kind":"name","name":"boardFull"},{"id":212,"kind":"app","opcode":"not","args":[{"id":211,"kind":"app","opcode":"won","args":[{"id":210,"kind":"name","name":"X"}]}]}]},{"id":216,"kind":"app","opcode":"not","args":[{"id":215,"kind":"app","opcode":"won","args":[{"id":214,"kind":"name","name":"O"}]}]}]},"depth":0},"499":{"doc":"O has not won. This should hold, as O can only achieve a draw.","id":495,"kind":"def","name":"OHasNotWon","qualifier":"val","expr":{"id":494,"kind":"app","opcode":"not","args":[{"id":493,"kind":"app","opcode":"won","args":[{"id":492,"kind":"name","name":"O"}]}]},"depth":0},"501":{"id":8,"kind":"def","name":"X","qualifier":"val","expr":{"id":7,"kind":"app","opcode":"variant","args":[{"id":5,"kind":"str","value":"X"},{"id":6,"kind":"app","opcode":"Tup","args":[]}]},"depth":0},"502":{"id":203,"kind":"def","name":"won","qualifier":"def","expr":{"id":202,"kind":"lambda","params":[{"id":190,"name":"player_202"}],"qualifier":"def","expr":{"id":201,"kind":"app","opcode":"exists","args":[{"id":191,"kind":"name","name":"winningPatterns"},{"id":200,"kind":"lambda","params":[{"id":192,"name":"pattern_200"}],"qualifier":"def","expr":{"id":199,"kind":"app","opcode":"forall","args":[{"id":193,"kind":"name","name":"pattern_200"},{"id":198,"kind":"lambda","params":[{"id":194,"name":"coordinate_198"}],"qualifier":"def","expr":{"id":197,"kind":"app","opcode":"hasPlayer","args":[{"id":195,"kind":"name","name":"coordinate_198"},{"id":196,"kind":"name","name":"player_202"}]}}]}}]}},"depth":0}},"types":{"5":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"6":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"empty"}}},"7":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"8":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"9":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"10":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"empty"}}},"11":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"O","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"12":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"O","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"17":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"18":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"19":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"20":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"21":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}],"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}}},"22":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}],"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}}},"23":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"24":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"empty"}}},"25":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Empty","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"26":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Empty","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"32":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}}},"34":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"35":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"36":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"37":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"set","elem":{"id":3,"kind":"int"}}},"38":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"39":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"40":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"set","elem":{"id":3,"kind":"int"}}},"41":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":8}},"42":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":8}},"43":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"44":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"45":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"46":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"47":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"48":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"49":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"50":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"51":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"52":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"53":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"54":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"55":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"56":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"57":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"58":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"59":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"60":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"61":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"62":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"63":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"64":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"65":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"66":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"67":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"68":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"69":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"70":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"71":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"72":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"73":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"74":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"75":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"76":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"77":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"78":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"79":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"80":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"81":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"82":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"83":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"84":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"85":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"86":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"87":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"88":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"89":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"90":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"91":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"92":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"93":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"94":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"95":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"96":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"97":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"98":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"99":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"100":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"101":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"102":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"103":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"104":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"105":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"106":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"107":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"108":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"109":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"110":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"111":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"112":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"113":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"114":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"115":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"116":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"117":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"118":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"119":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"120":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"121":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"122":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"123":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"124":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"125":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"126":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"127":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"128":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"129":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"130":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"131":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"132":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"133":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"134":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"135":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"136":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"137":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":6}},"138":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":6}},"142":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"144":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}}},"145":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"146":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"147":{"typeVariables":[],"rowVariables":[],"type":{"id":139,"kind":"int"}},"148":{"typeVariables":[],"rowVariables":[],"type":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"149":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"150":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"151":{"typeVariables":[],"rowVariables":[],"type":{"id":140,"kind":"int"}},"152":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"153":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"154":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"155":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"156":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"157":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"158":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"159":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"160":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"161":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"162":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"163":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"164":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"165":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":14,"kind":"tup","fields":{"kind":"empty"}}],"res":{"kind":"bool"}}},"166":{"typeVariables":[],"rowVariables":[],"type":{"id":14,"kind":"tup","fields":{"kind":"empty"}}},"167":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"168":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}],"res":{"id":3,"kind":"bool"}}},"169":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"170":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"171":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"172":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"173":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"174":{"typeVariables":[],"rowVariables":[],"type":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"175":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"176":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"177":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"178":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"179":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":14,"kind":"tup","fields":{"kind":"empty"}}],"res":{"kind":"bool"}}},"180":{"typeVariables":[],"rowVariables":[],"type":{"id":14,"kind":"tup","fields":{"kind":"empty"}}},"181":{"typeVariables":[],"rowVariables":[],"type":{"kind":"str"}},"182":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"var","name":"_t92"}],"res":{"kind":"bool"}}},"183":{"typeVariables":[],"rowVariables":[],"type":{"kind":"var","name":"_t92"}},"184":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"185":{"typeVariables":["_t92"],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"186":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":8}},"187":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"188":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"189":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"190":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"191":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"192":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"193":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"194":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"195":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"196":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"197":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"198":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"199":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"200":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":6,"kind":"bool"}}},"201":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"202":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}],"res":{"id":6,"kind":"bool"}}},"203":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}],"res":{"id":6,"kind":"bool"}}},"204":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":8}},"205":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"206":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"207":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"208":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"209":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"210":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"211":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"212":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"213":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"214":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"O","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"215":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"216":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"217":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"218":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"219":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"220":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"221":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"O","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"222":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"223":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"224":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"225":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"226":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"227":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"228":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"229":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"230":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"231":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"232":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"233":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"234":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"235":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"236":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"237":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"238":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"239":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"240":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"241":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"242":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"243":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"244":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"245":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"246":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"247":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"248":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"249":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"250":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"251":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"252":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"253":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"254":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"O","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"255":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"256":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"257":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"258":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"259":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"260":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"261":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"262":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"263":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"264":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"265":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"266":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"267":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"268":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"269":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"270":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"271":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"272":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"273":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"274":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"275":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"276":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"277":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"278":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"279":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"280":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"281":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"282":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"283":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"284":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}},"285":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"286":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"287":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"288":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"289":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"290":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"291":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"292":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"293":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"294":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"295":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"296":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"297":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"298":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"299":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"300":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"301":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"302":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"303":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"304":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"305":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"306":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"307":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"308":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"309":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"310":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"311":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"312":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"313":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"314":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"315":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"316":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"317":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}}},"318":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"319":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"320":{"typeVariables":[],"rowVariables":[],"type":{"id":139,"kind":"int"}},"321":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"id":140,"kind":"int"},"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}},"id":3}},"322":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"id":140,"kind":"int"},"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}},"id":3}},"323":{"typeVariables":[],"rowVariables":[],"type":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}},"324":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"325":{"typeVariables":[],"rowVariables":[],"type":{"id":140,"kind":"int"}},"326":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"327":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"328":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"id":140,"kind":"int"},"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}},"id":8}},"329":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"fun","arg":{"id":140,"kind":"int"},"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}},"id":3}],"res":{"kind":"fun","arg":{"id":140,"kind":"int"},"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}},"id":8}}},"330":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"id":10}},"331":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}}},"332":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"333":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"334":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":3,"kind":"bool"}}},"335":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"id":3,"kind":"bool"}}},"336":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"337":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"338":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"339":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":7}},"340":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"341":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"342":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"343":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"344":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"345":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"346":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"347":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"348":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"349":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"350":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"351":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"352":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"353":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"354":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"355":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"356":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"357":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":7}},"358":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"359":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"360":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"361":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"362":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"363":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"364":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"365":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"366":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"367":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"368":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"369":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"370":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"371":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"372":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"373":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"374":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"375":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"376":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"377":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"378":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":10}},"379":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"kind":"set","elem":{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}},"id":2}],"res":{"id":3,"kind":"bool"}}},"380":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5},"id":7}},"381":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"382":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"383":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":5}},"384":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"385":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":7}},"386":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"387":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"388":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"389":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"390":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"391":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"392":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"393":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"394":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"395":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"396":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":8}},"397":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":141,"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":139,"kind":"int"}},{"fieldName":"1","fieldType":{"id":140,"kind":"int"}}],"other":{"kind":"empty"}}}],"res":{"kind":"bool"}}},"398":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7},"id":7}},"399":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7}},"400":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7}},"401":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"402":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"id":3,"kind":"int"}},{"fieldName":"1","fieldType":{"id":3,"kind":"int"}}],"other":{"kind":"empty"}},"id":7}},"403":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"404":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"405":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}],"res":{"id":3,"kind":"bool"}}},"406":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}],"res":{"id":3,"kind":"bool"}}},"407":{"typeVariables":[],"rowVariables":[],"type":{"kind":"set","elem":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}},"id":6}},"408":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"409":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"410":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"411":{"typeVariables":[],"rowVariables":[],"type":{"kind":"tup","fields":{"kind":"row","fields":[{"fieldName":"0","fieldType":{"kind":"int"}},{"fieldName":"1","fieldType":{"kind":"int"}}],"other":{"kind":"empty"}}}},"412":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"413":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"414":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"415":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"416":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"417":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"418":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"O","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"419":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"420":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"421":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"422":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"423":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"424":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"425":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"426":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"427":{"typeVariables":[],"rowVariables":[],"type":{"kind":"bool"}},"428":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"429":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"430":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"431":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"432":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"433":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"434":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"435":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"436":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"437":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"438":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"O","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"439":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"440":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"441":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"442":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"443":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"444":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"O","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"445":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"446":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"447":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"448":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"449":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"O","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"450":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"451":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"452":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"453":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"454":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"455":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"456":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"457":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"458":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"459":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"460":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"461":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"set","elem":{"id":3,"kind":"int"}}},"462":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"463":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"464":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"465":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"set","elem":{"id":3,"kind":"int"}}},"466":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"467":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Empty","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"468":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"int"}],"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Empty","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}},"469":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"id":3,"kind":"int"},"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Empty","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":8}},"470":{"typeVariables":[],"rowVariables":[],"type":{"kind":"oper","args":[{"id":3,"kind":"int"}],"res":{"kind":"fun","arg":{"id":3,"kind":"int"},"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Empty","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":8}}},"471":{"typeVariables":[],"rowVariables":[],"type":{"kind":"fun","arg":{"id":3,"kind":"int"},"res":{"kind":"fun","arg":{"id":3,"kind":"int"},"res":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Empty","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}},"id":8},"id":8}},"472":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}}},"473":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"474":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"475":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"476":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"477":{"typeVariables":[],"rowVariables":[],"type":{"id":5,"kind":"bool"}},"478":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"479":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}}},"480":{"typeVariables":[],"rowVariables":[],"type":{"id":31,"kind":"fun","arg":{"id":27,"kind":"int"},"res":{"id":30,"kind":"fun","arg":{"id":28,"kind":"int"},"res":{"id":15,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"Occupied","fieldType":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},{"fieldName":"Empty","fieldType":{"id":14,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}}}},"481":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"482":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"483":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"row","fields":[],"other":{"kind":"empty"}}}}],"other":{"kind":"empty"}}}},"484":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"485":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"bool"}},"486":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"bool"}},"487":{"typeVariables":[],"rowVariables":[],"type":{"id":4,"kind":"bool"}},"488":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"489":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"490":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"491":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"492":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"O","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"X","fieldType":{"id":1,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"493":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"494":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"495":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"496":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"497":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"498":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"499":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"500":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"501":{"typeVariables":[],"rowVariables":[],"type":{"kind":"sum","fields":{"kind":"row","fields":[{"fieldName":"X","fieldType":{"kind":"tup","fields":{"kind":"empty"}}},{"fieldName":"O","fieldType":{"id":2,"kind":"tup","fields":{"kind":"empty"}}}],"other":{"kind":"empty"}}}},"502":{"typeVariables":[],"rowVariables":[],"type":{"id":6,"kind":"bool"}},"503":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}},"504":{"typeVariables":[],"rowVariables":[],"type":{"id":2,"kind":"bool"}}},"effects":{"5":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"6":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"7":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"8":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"9":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"10":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"11":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"12":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"17":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"18":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v200"}},{"kind":"update","entity":{"kind":"variable","name":"_v201"}}]},"effectVariables":[],"entityVariables":[]},"19":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v200"}},{"kind":"update","entity":{"kind":"variable","name":"_v201"}}]},"effectVariables":[],"entityVariables":[]},"20":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v200"}},{"kind":"update","entity":{"kind":"variable","name":"_v201"}}]},"effectVariables":[],"entityVariables":[]},"21":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v200"}},{"kind":"update","entity":{"kind":"variable","name":"_v201"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v200"}},{"kind":"update","entity":{"kind":"variable","name":"_v201"}}]}},"effectVariables":[],"entityVariables":[]},"22":{"effectVariables":[],"entityVariables":["_v200","_v201"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v200"}},{"kind":"update","entity":{"kind":"variable","name":"_v201"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v200"}},{"kind":"update","entity":{"kind":"variable","name":"_v201"}}]}}},"23":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"24":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"25":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"26":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"32":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"34":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"35":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"36":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"37":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"38":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"39":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"40":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"41":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"42":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"43":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"44":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"45":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"46":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"47":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"48":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"49":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"50":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"51":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"52":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"53":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"54":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"55":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"56":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"57":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"58":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"59":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"60":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"61":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"62":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"63":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"64":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"65":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"66":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"67":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"68":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"69":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"70":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"71":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"72":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"73":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"74":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"75":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"76":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"77":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"78":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"79":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"80":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"81":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"82":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"83":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"84":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"85":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"86":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"87":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"88":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"89":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"90":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"91":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"92":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"93":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"94":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"95":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"96":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"97":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"98":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"99":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"100":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"101":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"102":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"103":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"104":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"105":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"106":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"107":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"108":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"109":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"110":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"111":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"112":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"113":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"114":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"115":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"116":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"117":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"118":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"119":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"120":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"121":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"122":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"123":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"124":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"125":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"126":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"127":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"128":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"129":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"130":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"131":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"132":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"133":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"134":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"135":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"136":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"137":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"138":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"142":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v204"}}]},"effectVariables":[],"entityVariables":[]},"144":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"145":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v204"}}]},"effectVariables":[],"entityVariables":[]},"146":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"147":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v204"}}]},"effectVariables":[],"entityVariables":[]},"148":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v204"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"149":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v204"}}]},"effectVariables":[],"entityVariables":[]},"150":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"151":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v204"}}]},"effectVariables":[],"entityVariables":[]},"152":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v204"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"153":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v204"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v204"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"154":{"effectVariables":[],"entityVariables":["_v204"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v204"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v204"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}}},"155":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v238"}}]},"effectVariables":[],"entityVariables":[]},"156":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v239"}}]},"effectVariables":[],"entityVariables":[]},"157":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v238"}}]},"effectVariables":[],"entityVariables":[]},"158":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"159":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"160":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v239"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v240"}}]},"effectVariables":[],"entityVariables":[]},"161":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v241"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v242"}}]},"effectVariables":[],"entityVariables":[]},"162":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v239"},{"kind":"variable","name":"_v241"}]}},{"kind":"temporal","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v240"},{"kind":"variable","name":"_v242"}]}}]},"effectVariables":[],"entityVariables":[]},"163":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v239"},{"kind":"variable","name":"_v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"164":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"165":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"166":{"effect":{"kind":"variable","name":"_e62"},"effectVariables":[],"entityVariables":[]},"167":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"168":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v239"},{"kind":"variable","name":"_v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"169":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v241"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v242"}}]},"effectVariables":[],"entityVariables":[]},"170":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v238"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v239"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v239"},{"kind":"variable","name":"_v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"171":{"effectVariables":[],"entityVariables":["_v238","_v239"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v238"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v239"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v239"},{"kind":"variable","name":"_v238"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}}},"172":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v246"}}]},"effectVariables":[],"entityVariables":[]},"173":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v246"}}]},"effectVariables":[],"entityVariables":[]},"174":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v246"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"175":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"176":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"177":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"178":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"179":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v246"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"180":{"effect":{"kind":"variable","name":"_e67"},"effectVariables":[],"entityVariables":[]},"181":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"182":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v246"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"183":{"effect":{"kind":"variable","name":"_e68"},"effectVariables":[],"entityVariables":[]},"184":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v246"}}]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"185":{"effectVariables":[],"entityVariables":["_v246"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v246"}}]}],"result":{"kind":"concrete","components":[]}}},"186":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"187":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"188":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"189":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"190":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v256"}}]},"effectVariables":[],"entityVariables":[]},"191":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"192":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v255"}}]},"effectVariables":[],"entityVariables":[]},"193":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v255"}}]},"effectVariables":[],"entityVariables":[]},"194":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v255"}}]},"effectVariables":[],"entityVariables":[]},"195":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v255"}}]},"effectVariables":[],"entityVariables":[]},"196":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v256"}}]},"effectVariables":[],"entityVariables":[]},"197":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v256"},{"kind":"variable","name":"_v255"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"198":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v255"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v256"},{"kind":"variable","name":"_v255"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"199":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v255"},{"kind":"variable","name":"_v256"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"200":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v256"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"201":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v256"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"202":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v256"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v256"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"203":{"effectVariables":[],"entityVariables":["_v256"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v256"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v256"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}}},"204":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"205":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"206":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"207":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"208":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"209":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"210":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"211":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"212":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"213":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"214":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"215":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"216":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"217":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"218":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"219":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"220":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"221":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"222":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"223":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"224":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"225":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"226":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"227":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v284"}}]},"effectVariables":[],"entityVariables":[]},"228":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v272"}}]},"effectVariables":[],"entityVariables":[]},"229":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v272"}}]},"effectVariables":[],"entityVariables":[]},"230":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v272"}}]},"effectVariables":[],"entityVariables":[]},"231":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"232":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v272"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"233":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v272"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v272"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"234":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v272"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"235":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v272"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"236":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"237":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v284"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"238":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v284"}}]},"effectVariables":[],"entityVariables":[]},"239":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v284"}}]},"effectVariables":[],"entityVariables":[]},"240":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v284"}}]},"effectVariables":[],"entityVariables":[]},"241":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"242":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v284"}}]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"243":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v284"}}]},"effectVariables":[],"entityVariables":[]},"244":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v284"}}]},"effectVariables":[],"entityVariables":[]},"245":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"246":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v284"}}]},"effectVariables":[],"entityVariables":[]},"247":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v284"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"248":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v284"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v284"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"249":{"effectVariables":[],"entityVariables":["_v284"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v284"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v284"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}}},"250":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v311"}}]},"effectVariables":[],"entityVariables":[]},"251":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v299"}}]},"effectVariables":[],"entityVariables":[]},"252":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v299"}}]},"effectVariables":[],"entityVariables":[]},"253":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v299"}}]},"effectVariables":[],"entityVariables":[]},"254":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"255":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v299"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"256":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v299"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v299"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"257":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v299"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"258":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v299"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"259":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"260":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v311"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"261":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v311"}}]},"effectVariables":[],"entityVariables":[]},"262":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v311"}}]},"effectVariables":[],"entityVariables":[]},"263":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v311"}}]},"effectVariables":[],"entityVariables":[]},"264":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"265":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v311"}}]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"266":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v311"}}]},"effectVariables":[],"entityVariables":[]},"267":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v311"}}]},"effectVariables":[],"entityVariables":[]},"268":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"269":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v311"}}]},"effectVariables":[],"entityVariables":[]},"270":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v311"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"271":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v311"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v311"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"272":{"effectVariables":[],"entityVariables":["_v311"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v311"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v311"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}}},"273":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v338"}}]},"effectVariables":[],"entityVariables":[]},"274":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v326"}}]},"effectVariables":[],"entityVariables":[]},"275":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v326"}}]},"effectVariables":[],"entityVariables":[]},"276":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v326"}}]},"effectVariables":[],"entityVariables":[]},"277":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"278":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v326"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"279":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v326"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v326"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"280":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v326"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"281":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v326"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"282":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"283":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v338"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"284":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v338"}}]},"effectVariables":[],"entityVariables":[]},"285":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v338"}}]},"effectVariables":[],"entityVariables":[]},"286":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v338"}}]},"effectVariables":[],"entityVariables":[]},"287":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"288":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v338"}}]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"289":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v338"}}]},"effectVariables":[],"entityVariables":[]},"290":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v338"}}]},"effectVariables":[],"entityVariables":[]},"291":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"292":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v338"}}]},"effectVariables":[],"entityVariables":[]},"293":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v338"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"294":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v338"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v338"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"295":{"effectVariables":[],"entityVariables":["_v338"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v338"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v338"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}}},"296":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"297":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"effectVariables":[],"entityVariables":[]},"298":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"299":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"300":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"301":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"effectVariables":[],"entityVariables":[]},"302":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"303":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"304":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"305":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"306":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"307":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"308":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"309":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"310":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"effectVariables":[],"entityVariables":[]},"311":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"312":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"313":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v361"}}]},"effectVariables":[],"entityVariables":[]},"314":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v358"}}]},"effectVariables":[],"entityVariables":[]},"315":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v358"}}]},"effectVariables":[],"entityVariables":[]},"316":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"317":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"318":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v358"}}]},"effectVariables":[],"entityVariables":[]},"319":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"320":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v358"}}]},"effectVariables":[],"entityVariables":[]},"321":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v363"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v364"}}]},"effectVariables":[],"entityVariables":[]},"322":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v363"}},{"kind":"temporal","entity":{"kind":"variable","name":"_v364"}}]},"effectVariables":[],"entityVariables":[]},"323":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v358"}}]},"effectVariables":[],"entityVariables":[]},"324":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"325":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v358"}}]},"effectVariables":[],"entityVariables":[]},"326":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v361"}},{"kind":"update","entity":{"kind":"variable","name":"_v362"}}]},"effectVariables":[],"entityVariables":[]},"327":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v361"}}]},"effectVariables":[],"entityVariables":[]},"328":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v363"},{"kind":"variable","name":"_v358"},{"kind":"variable","name":"_v361"}]}},{"kind":"temporal","entity":{"kind":"variable","name":"_v364"}}]},"effectVariables":[],"entityVariables":[]},"329":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v358"},{"kind":"variable","name":"_v361"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]}},"effectVariables":[],"entityVariables":[]},"330":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v358"},{"kind":"variable","name":"_v361"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}}]},"effectVariables":[],"entityVariables":[]},"331":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"332":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v358"},{"kind":"variable","name":"_v361"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"333":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v358"},{"kind":"variable","name":"_v361"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"334":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v361"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v358"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v358"},{"kind":"variable","name":"_v361"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"effectVariables":[],"entityVariables":[]},"335":{"effectVariables":[],"entityVariables":["_v361","_v358"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v361"}}]},{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v358"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v358"},{"kind":"variable","name":"_v361"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}}},"336":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"337":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"338":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"effectVariables":[],"entityVariables":[]},"339":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"340":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"341":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"342":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"343":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"344":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"345":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"346":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"347":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"348":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"349":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"350":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"351":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"352":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"353":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"354":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"355":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"356":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"effectVariables":[],"entityVariables":[]},"357":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"358":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"359":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"360":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"361":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"362":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"363":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"364":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"365":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"366":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"367":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"368":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"369":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"370":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"371":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"372":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"373":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"374":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"375":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"376":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"377":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"378":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"379":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"effectVariables":[],"entityVariables":[]},"380":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"381":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"382":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"383":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"384":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"385":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"386":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"387":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"388":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"389":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"390":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"391":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"392":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"393":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"394":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"395":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v430"}}]},"effectVariables":[],"entityVariables":[]},"396":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"397":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"398":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"399":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"400":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"401":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v430"}}]},"effectVariables":[],"entityVariables":[]},"402":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"403":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v430"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"404":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v430"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"405":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v430"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v430"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"effectVariables":[],"entityVariables":[]},"406":{"effectVariables":[],"entityVariables":["_v430"],"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"variable","name":"_v430"}}]}],"result":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"union","entities":[{"kind":"variable","name":"_v430"},{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}}},"407":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"408":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"409":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[]}},"410":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"411":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"412":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"413":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"414":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"415":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"416":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"417":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"418":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"419":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"420":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"421":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"422":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"423":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"424":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"425":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"426":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"427":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"428":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"429":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"430":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"431":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"432":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"433":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"434":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"435":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"436":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"437":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"438":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"439":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"440":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"441":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34},{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32},{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"442":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34},{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32},{"name":"nextTurn","reference":34}]}}]}},"443":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"444":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"445":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"446":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"447":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"448":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"449":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"450":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"451":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"452":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"453":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"454":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34},{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32},{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"455":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34},{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32},{"name":"nextTurn","reference":34}]}}]}},"456":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"457":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"458":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"459":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"460":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"461":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"462":{"effect":{"kind":"variable","name":"_e54"},"effectVariables":[],"entityVariables":[]},"463":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"464":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"465":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"466":{"effect":{"kind":"variable","name":"_e56"},"effectVariables":[],"entityVariables":[]},"467":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"468":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"469":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"470":{"effect":{"kind":"arrow","params":[{"kind":"concrete","components":[]}],"result":{"kind":"concrete","components":[]}},"effectVariables":[],"entityVariables":[]},"471":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"472":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"473":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"474":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34},{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"475":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34},{"name":"board","reference":32}]}}]}},"476":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34},{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32},{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"477":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34},{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32},{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"478":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"479":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"480":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"481":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"482":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"483":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"484":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"485":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32},{"name":"nextTurn","reference":34}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32},{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"486":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34},{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32},{"name":"nextTurn","reference":34}]}}]},"effectVariables":[],"entityVariables":[]},"487":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"nextTurn","reference":34},{"name":"board","reference":32}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32},{"name":"nextTurn","reference":34}]}}]}},"488":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"489":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"490":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"491":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"492":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"493":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"494":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"495":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"496":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"497":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"498":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"499":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"500":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}},"501":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"502":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"503":{"effect":{"kind":"concrete","components":[{"kind":"temporal","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]},"effectVariables":[],"entityVariables":[]},"504":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"temporal","entity":{"kind":"concrete","stateVariables":[{"name":"board","reference":32}]}}]}}},"errors":[]} \ No newline at end of file From 1499237bd8e02dfd31a988b05129122565dc6063 Mon Sep 17 00:00:00 2001 From: bugarela Date: Mon, 25 Mar 2024 13:08:56 -0300 Subject: [PATCH 3/6] Add CHANGELOG entry --- .unreleased/bug-fixes/quint-quantified-types.md | 1 + .../test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 .unreleased/bug-fixes/quint-quantified-types.md diff --git a/.unreleased/bug-fixes/quint-quantified-types.md b/.unreleased/bug-fixes/quint-quantified-types.md new file mode 100644 index 0000000000..dfa86c715c --- /dev/null +++ b/.unreleased/bug-fixes/quint-quantified-types.md @@ -0,0 +1 @@ +Fix a problem where different quantified variables from Quint received the same TlaType1 var number (#2873). diff --git a/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala b/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala index aea1fe462a..8eb5e702fe 100644 --- a/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala +++ b/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala @@ -59,7 +59,6 @@ class TestQuintEx extends AnyFunSuite { definition } - // Operator application // // The optional `refId` is the id of the declaration defining From 710af9606bf34653fb0dc93a689e17368afd8272 Mon Sep 17 00:00:00 2001 From: bugarela Date: Mon, 25 Mar 2024 13:18:52 -0300 Subject: [PATCH 4/6] Fix formatting --- .../src/main/scala/at/forsyte/apalache/io/quint/QuintIR.scala | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintIR.scala b/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintIR.scala index 1e27e462c4..e58a2353b1 100644 --- a/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintIR.scala +++ b/tla-io/src/main/scala/at/forsyte/apalache/io/quint/QuintIR.scala @@ -131,8 +131,7 @@ private[quint] object QuintModule { private[quint] case class QuintTypeScheme( @key("type") typ: QuintType, typeVariables: List[String], - rowVariables: List[String] - ) + rowVariables: List[String]) private[quint] object QuintTypeScheme { implicit val rw: RW[QuintTypeScheme] = macroRW } From 7f6806ab4e6eea5f4fa2328cd0150327050177f5 Mon Sep 17 00:00:00 2001 From: bugarela Date: Mon, 25 Mar 2024 13:23:07 -0300 Subject: [PATCH 5/6] Revert "Use type given by quint to build lambda bodies" This reverts commit ffc2437ccfa4d63ffca028d727cdc958c27f1e4c. --- .../at/forsyte/apalache/io/quint/Quint.scala | 16 ++++++++-------- .../forsyte/apalache/io/quint/TestQuintEx.scala | 6 ------ .../apalache/tla/typecomp/ScopedBuilder.scala | 15 --------------- 3 files changed, 8 insertions(+), 29 deletions(-) diff --git a/tla-io/src/main/scala/at/forsyte/apalache/io/quint/Quint.scala b/tla-io/src/main/scala/at/forsyte/apalache/io/quint/Quint.scala index a8ebd43fae..752f1fe49a 100644 --- a/tla-io/src/main/scala/at/forsyte/apalache/io/quint/Quint.scala +++ b/tla-io/src/main/scala/at/forsyte/apalache/io/quint/Quint.scala @@ -82,18 +82,18 @@ class Quint(quintOutput: QuintOutput) { // operators that take parameters, but these require different constructs // in Apalache's IR. Thus, we need to decompose the parts of a QuintLambda // for two different purposes. - private val lambdaBodyAndParams: QuintLambda => NullaryOpReader[(TBuilderInstruction, Seq[(OperParam, TlaType1)], TlaType1)] = { + private val lambdaBodyAndParams: QuintLambda => NullaryOpReader[(TBuilderInstruction, Seq[(OperParam, TlaType1)])] = { case ex @ QuintLambda(id, paramNames, _, body) => - val (quintParamTypes, quintResType) = types(id).typ match { - case QuintOperT(types, resType) => (types, resType) - case invalidType => throw new QuintIRParseError(s"lambda ${ex} has invalid type ${invalidType}") + val quintParamTypes = types(id).typ match { + case QuintOperT(types, _) => types + case invalidType => throw new QuintIRParseError(s"lambda ${ex} has invalid type ${invalidType}") } val operParams = paramNames.zip(quintParamTypes).map(operParam) val paramTypes = quintParamTypes.map(typeConv.convert(_)) val typedParams = operParams.zip(paramTypes) for { tlaBody <- tlaExpression(body) - } yield (tlaBody, typedParams, typeConv.convert(quintResType)) + } yield (tlaBody, typedParams) } private def typeTagOfId(id: BigInt): TypeTag = { @@ -675,7 +675,7 @@ class Quint(quintOutput: QuintOutput) { (expr match { // Parameterized operators are defined in Quint using Lambdas case lam: QuintLambda => - lambdaBodyAndParams(lam).map { case (body, params, _) => (body, params) } + lambdaBodyAndParams(lam) // Otherwise it's an operator with no params case other => tlaExpression(other).map(b => (b, List())) }).map { @@ -730,8 +730,8 @@ class Quint(quintOutput: QuintOutput) { .map(tlaExpr => tla.letIn(tlaExpr, tlaOpDef)) } case lam: QuintLambda => - lambdaBodyAndParams(lam).map { case (body, typedParams, resultType) => - tla.lambda(nameGen.uniqueLambdaName(), body, resultType, typedParams: _*) + lambdaBodyAndParams(lam).map { case (body, typedParams) => + tla.lambda(nameGen.uniqueLambdaName(), body, typedParams: _*) } case app: QuintApp => tlaApplication(app) } diff --git a/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala b/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala index 8eb5e702fe..d9c4ef9db9 100644 --- a/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala +++ b/tla-io/src/test/scala/at/forsyte/apalache/io/quint/TestQuintEx.scala @@ -648,12 +648,6 @@ class TestQuintEx extends AnyFunSuite { assert(convert(quintMatch) == expected) } - test("prefers quint types over inferred types") { - // Regression on https://github.com/informalsystems/quint/issues/1393 - val expr = Q.lam(Seq("x" -> QuintBoolT()), Q.nam("x", QuintVarT("t0")), QuintBoolT()) - assert(translate(expr).typeTag == Typed(OperT1(Seq(BoolT1), BoolT1))) - } - test("can convert builtin assert operator") { assert(convert(Q.app("assert", Q.nIsGreaterThan0)(QuintBoolT())) == "n > 0") } diff --git a/tlair/src/main/scala/at/forsyte/apalache/tla/typecomp/ScopedBuilder.scala b/tlair/src/main/scala/at/forsyte/apalache/tla/typecomp/ScopedBuilder.scala index cde8bf7af9..0a407d5319 100644 --- a/tlair/src/main/scala/at/forsyte/apalache/tla/typecomp/ScopedBuilder.scala +++ b/tlair/src/main/scala/at/forsyte/apalache/tla/typecomp/ScopedBuilder.scala @@ -299,21 +299,6 @@ class ScopedBuilder(val strict: Boolean = true) } yield ex } - /** Alternative to lambda, which accepts an explicit result type */ - def lambda( - uniqueName: String, - body: TBuilderInstruction, - resultType: TlaType1, - params: TypedParam*): TBuilderInstruction = { - params.foreach(validateParamType) - for { - bodyEx <- body - paramTypes = params.map(_._2) - operType = OperT1(paramTypes, resultType) // use given type instead of type tag - ex <- letIn(name(uniqueName, operType), decl(uniqueName, body, params: _*)) - } yield ex - } - /** {{{LET decl(...) = ... IN body}}} */ def letIn(body: TBuilderInstruction, decl: TBuilderOperDeclInstruction): TBuilderInstruction = for { usedBeforeDecl <- getAllUsed // decl name may not appear in decl body From 8844f46ee350003cb071dfd44db53ca73b5757d7 Mon Sep 17 00:00:00 2001 From: bugarela Date: Mon, 25 Mar 2024 13:49:50 -0300 Subject: [PATCH 6/6] Update one more hidden fixture --- test/tla/bigint.qnt.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/tla/bigint.qnt.json b/test/tla/bigint.qnt.json index 7110da33b4..17fa3a9024 100644 --- a/test/tla/bigint.qnt.json +++ b/test/tla/bigint.qnt.json @@ -1 +1 @@ -{"stage":"typechecking","warnings":[],"modules":[{"id":17,"name":"t","declarations":[{"kind":"var","name":"balance","typeAnnotation":{"id":1,"kind":"int"},"id":2},{"id":12,"kind":"def","name":"step","qualifier":"action","expr":{"id":11,"kind":"app","opcode":"assign","args":[{"id":10,"kind":"name","name":"balance"},{"id":9,"kind":"app","opcode":"iadd","args":[{"id":7,"kind":"name","name":"balance"},{"id":8,"kind":"int","value":10000}]}]}},{"id":16,"kind":"def","name":"inv","qualifier":"action","expr":{"id":15,"kind":"app","opcode":"ilt","args":[{"id":13,"kind":"name","name":"balance"},{"id":14,"kind":"int","value":10000}]}},{"id":6,"kind":"def","name":"init","qualifier":"action","expr":{"id":5,"kind":"app","opcode":"assign","args":[{"id":4,"kind":"name","name":"balance"},{"id":3,"kind":"int","value":100000000000}]}}]}],"table":{"4":{"kind":"var","name":"balance","typeAnnotation":{"id":1,"kind":"int"},"id":2},"7":{"kind":"var","name":"balance","typeAnnotation":{"id":1,"kind":"int"},"id":2},"10":{"kind":"var","name":"balance","typeAnnotation":{"id":1,"kind":"int"},"id":2},"13":{"kind":"var","name":"balance","typeAnnotation":{"id":1,"kind":"int"},"id":2}},"types":{"2":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"3":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"4":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"5":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"6":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"7":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"8":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"9":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"int"}},"10":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"11":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"12":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"13":{"typeVariables":{},"rowVariables":{},"type":{"id":1,"kind":"int"}},"14":{"typeVariables":{},"rowVariables":{},"type":{"kind":"int"}},"15":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}},"16":{"typeVariables":{},"rowVariables":{},"type":{"id":3,"kind":"bool"}}},"effects":{"2":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"3":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"4":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"5":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"6":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"7":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"8":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"9":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"10":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"11":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"12":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"13":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"14":{"effect":{"kind":"concrete","components":[]},"effectVariables":{},"entityVariables":{}},"15":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}},"16":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":{},"entityVariables":{}}}} \ No newline at end of file +{"stage":"compiling","warnings":[],"modules":[{"id":17,"name":"t","declarations":[{"kind":"var","name":"balance","typeAnnotation":{"id":1,"kind":"int"},"id":2,"depth":0},{"id":12,"kind":"def","name":"step","qualifier":"action","expr":{"id":11,"kind":"app","opcode":"assign","args":[{"id":10,"kind":"name","name":"balance"},{"id":9,"kind":"app","opcode":"iadd","args":[{"id":7,"kind":"name","name":"balance"},{"id":8,"kind":"int","value":10000}]}]}},{"id":16,"kind":"def","name":"inv","qualifier":"action","expr":{"id":15,"kind":"app","opcode":"ilt","args":[{"id":13,"kind":"name","name":"balance"},{"id":14,"kind":"int","value":10000}]}},{"id":6,"kind":"def","name":"init","qualifier":"action","expr":{"id":5,"kind":"app","opcode":"assign","args":[{"id":4,"kind":"name","name":"balance"},{"id":3,"kind":"int","value":100000000000}]}}]}],"table":{"4":{"kind":"var","name":"balance","typeAnnotation":{"id":1,"kind":"int"},"id":2,"depth":0},"7":{"kind":"var","name":"balance","typeAnnotation":{"id":1,"kind":"int"},"id":2,"depth":0},"10":{"kind":"var","name":"balance","typeAnnotation":{"id":1,"kind":"int"},"id":2,"depth":0},"13":{"kind":"var","name":"balance","typeAnnotation":{"id":1,"kind":"int"},"id":2,"depth":0}},"types":{"2":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"3":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"4":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"5":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"6":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"7":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"8":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"9":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"int"}},"10":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"11":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"12":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"13":{"typeVariables":[],"rowVariables":[],"type":{"id":1,"kind":"int"}},"14":{"typeVariables":[],"rowVariables":[],"type":{"kind":"int"}},"15":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}},"16":{"typeVariables":[],"rowVariables":[],"type":{"id":3,"kind":"bool"}}},"effects":{"2":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"3":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"4":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"5":{"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"6":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]}},"7":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"8":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"9":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"10":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"11":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"12":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}},{"kind":"update","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]}},"13":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"14":{"effect":{"kind":"concrete","components":[]},"effectVariables":[],"entityVariables":[]},"15":{"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]},"effectVariables":[],"entityVariables":[]},"16":{"effectVariables":[],"entityVariables":[],"effect":{"kind":"concrete","components":[{"kind":"read","entity":{"kind":"concrete","stateVariables":[{"name":"balance","reference":2}]}}]}}},"errors":[]} \ No newline at end of file