class main(model.Module): c1 = model.Var(model.Range(0, 2)) c2 = model.Var(model.Range(0, 2)) INIT = [c1 == 0, c2 == 0] TRANS = [model.Next(c1) == (c1 + 1) % 2, model.Next(c2) == (c2 + 1) % 2]
class main(model.Module): J = model.Var(model.Boolean(), "J") K = model.Var(model.Boolean(), "K") Q = model.Var(model.Boolean(), "Q") INIT = [(Q == model.Falseexp())] ASSIGN = {model.Next(Q): model.Case(((J & K, ~Q), (J, model.Trueexp()), (K, model.Falseexp()), (model.Trueexp(), Q)))}
class main(model.Module): c1 = model.Var(model.Range(0, 2)) VAR = collections.OrderedDict((("c2", "0..2"),)) INIT = [c1 == 0, model.Identifier("c2") == 0] TRANS = [model.Next(c1) == (c1 + 1) % 2, model.Next("c2") == (model.Identifier("c2") + 1) % 2]
class Counter(model.Module): run = model.Identifier("run") ARGS = [run] c = model.Var(model.Range(0, 2)) INIT = c == 0 TRANS = [run.implies(c.next() == (c + 1) % 2), (~run).implies(c.next() == c)]
class main(model.Module): v = model.Var(model.Boolean()) i = model.IVar(model.Boolean()) INIT = [model.Case(((model.Trueexp(), model.Comment(~v, "Initially FALSE")),))] TRANS = [model.Case(((v, model.Comment( model.Comment(v.next(), "Stay true"), "when v is already true")), (~i, model.Comment(v.next() == v, "Stay the same")), (~v & i, v.next()), (v & i, model.Comment(~v.next(), "Change to false"))))]
class main(model.Module): COMMENT = "This is the main module" myvar = model.Var(model.Comment(model.Boolean(), "My variable")) var2 = model.Identifier("var2") VAR = {var2: model.Comment(model.Range(0, 3), "The counter")} INIT = [model.Comment(~myvar, "myvar is false") & model.Comment(var2 == 0, "we start at 0")] TRANS = [ model.Case(((myvar, model.Comment( model.Comment(var2.next() == ((var2 + 1) % 4), "Increase var2"), "Only when myvar is true" ) ), (model.Trueexp(), model.Comment(var2.next() == var2, "otherwise do nothing")))) ]
class main(md.Module): a1 = md.Var(agent()) a2 = md.Var(agent()) TRANS = (a1.a == a2.v)
class agent(md.Module): v = md.Var(md.Boolean()) a = md.IVar(md.Boolean()) INIT = v TRANS = (v.next() == a)
class main(md.Module): a1 = md.Var(agent()) a2 = md.Var(agent())
class main(md.Module): a1 = md.Var(agent()) a2 = md.Var(agent()) TRANS = a2.a.implies(a1.a)
class main(smv.Module): c = smv.Var(smv.Range(0, 3)) INIT = [c == 0] TRANS = [c.next() == (c + 1)]
class main(md.Module): c = md.Var(md.Boolean()) INIT = c TRANS = (c.next() == ~c) FAIRNESS = [c, ~c]
class main(model.Module): v = model.Var(model.Comment(model.Boolean(), "The variable")) w = model.Var(model.Comment(model.Comment(model.Boolean(), "Another variable"), "and a new name!"))
class main(model.Module): v = model.Var(model.Boolean()) INIT = [model.Comment(~v, "Initially FALSE") | v]
class main(model.Module): COMMENT = "This is the main module" v = model.Var(model.Boolean())
class main(model.Module): run = model.IVar(model.Boolean()) c1 = model.Var(Counter(run))