o_1 = all(Object, lambda o: color(o, "green") and shape(o, "square"))
o_2 = all(Object, lambda o: color(o, "yellow") and shape(o, "square"))
o_3 = all(Object, lambda o: color(o, "blue") and shape(o, "square"))
o_4 = all(Object, lambda o: color(o, "black") and shape(o, "square"))
o_5 = all(Object, lambda o: color(o, "purple") and shape(o, "square"))
m_1 = iota(Motion, lambda m: type(m, "translate") and direction(m, [1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_1))
m_2 = iota(Motion, lambda m: type(m, "translate") and direction(m, [1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_2))
m_3 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "counterclockwise") and magnitude(m, 90.0) and origin(m, [250.0, 100.0]) and agent(m, o_3))
m_4 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "clockwise") and magnitude(m, 90.0) and origin(m, [250.0, 300.0]) and agent(m, o_4))
m_5 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "counterclockwise") and magnitude(m, 90.0) and origin(m, [250.0, 300.0]) and agent(m, o_4))
m_6 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "clockwise") and magnitude(m, 90.0) and origin(m, [250.0, 100.0]) and agent(m, o_3))
m_7 = iota(Motion, lambda m: type(m, "translate") and direction(m, [-1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_1))
m_8 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "clockwise") and magnitude(m, 90.0) and origin(m, [250.0, 200.0]) and agent(m, o_5))
m_9 = iota(Motion, lambda m: type(m, "translate") and direction(m, [1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_1))
t_while(m_1, m_3)
t_while(m_3, m_4)
t_after(m_5, m_4)
t_after(m_6, m_4)
t_after(m_7, m_4)
t_after(m_8, m_4)
t_after(m_9, m_8)
o_1 = all(Object, lambda o: color(o, "green") and shape(o, "square")): True
color: True
shape: True
o_2 = all(Object, lambda o: color(o, "yellow") and shape(o, "square")): True
color: True
shape: True
o_3 = all(Object, lambda o: color(o, "blue") and shape(o, "square")): True
color: True
shape: True
o_4 = all(Object, lambda o: color(o, "black") and shape(o, "square")): True
color: True
shape: True
o_5 = all(Object, lambda o: color(o, "purple") and shape(o, "square")): True
color: True
shape: True
m_1 = iota(Motion, lambda m: type(m, "translate") and direction(m, [1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_1)): True
type: True
direction: True
magnitude: True
agent: True
m_2 = iota(Motion, lambda m: type(m, "translate") and direction(m, [1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_2)): True
type: True
direction: True
magnitude: True
agent: True
m_3 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "counterclockwise") and magnitude(m, 90.0) and origin(m, [250.0, 100.0]) and agent(m, o_3)): True
type: True
direction: True
magnitude: True
origin: True
agent: True
m_4 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "clockwise") and magnitude(m, 90.0) and origin(m, [250.0, 300.0]) and agent(m, o_4)): True
type: True
direction: True
magnitude: True
origin: True
agent: True
m_5 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "counterclockwise") and magnitude(m, 90.0) and origin(m, [250.0, 300.0]) and agent(m, o_4)): True
type: True
direction: True
magnitude: True
origin: True
agent: True
m_6 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "clockwise") and magnitude(m, 90.0) and origin(m, [250.0, 100.0]) and agent(m, o_3)): True
type: True
direction: True
magnitude: True
origin: True
agent: True
m_7 = iota(Motion, lambda m: type(m, "translate") and direction(m, [-1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_1)): False
type: True
direction: False
magnitude: True
agent: True
m_8 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "clockwise") and magnitude(m, 90.0) and origin(m, [250.0, 200.0]) and agent(m, o_5)): True
type: True
direction: True
magnitude: True
origin: True
agent: True
m_9 = iota(Motion, lambda m: type(m, "translate") and direction(m, [1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_1)): True
type: True
direction: True
magnitude: True
agent: True
t_while(m_1, m_3): True
t_while: True
t_while(m_3, m_4): True
t_while: True
t_after(m_5, m_4): True
t_after: True
t_after(m_6, m_4): True
t_after: True
t_after(m_7, m_4): False
t_after: False
t_after(m_8, m_4): True
t_after: True
t_after(m_9, m_8): True
t_after: True
This animation aims to move the squares around to form the digits 0, 1, 2, and 3 sequentially. However, the green squares moved in the wrong direction (m_7), causing both the digit 2 and 3 to be mishapen.
o_1 = all(Object, lambda o: color(o, "green") and shape(o, "square")): True
color: True
shape: True
o_2 = all(Object, lambda o: color(o, "yellow") and shape(o, "square")): True
color: True
shape: True
o_3 = all(Object, lambda o: color(o, "blue") and shape(o, "square")): True
color: True
shape: True
o_4 = all(Object, lambda o: color(o, "black") and shape(o, "square")): True
color: True
shape: True
o_5 = all(Object, lambda o: color(o, "purple") and shape(o, "square")): True
color: True
shape: True
m_1 = iota(Motion, lambda m: type(m, "translate") and direction(m, [1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_1)): True
type: True
direction: True
magnitude: True
agent: True
m_2 = iota(Motion, lambda m: type(m, "translate") and direction(m, [1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_2)): True
type: True
direction: True
magnitude: True
agent: True
m_3 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "counterclockwise") and magnitude(m, 90.0) and origin(m, [250.0, 100.0]) and agent(m, o_3)): True
type: True
direction: True
magnitude: True
origin: True
agent: True
m_4 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "clockwise") and magnitude(m, 90.0) and origin(m, [250.0, 300.0]) and agent(m, o_4)): True
type: True
direction: True
magnitude: True
origin: True
agent: True
m_5 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "counterclockwise") and magnitude(m, 90.0) and origin(m, [250.0, 300.0]) and agent(m, o_4)): True
type: True
direction: True
magnitude: True
origin: True
agent: True
m_6 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "clockwise") and magnitude(m, 90.0) and origin(m, [250.0, 100.0]) and agent(m, o_3)): True
type: True
direction: True
magnitude: True
origin: True
agent: True
m_7 = iota(Motion, lambda m: type(m, "translate") and direction(m, [-1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_1)): True
type: True
direction: True
magnitude: True
agent: True
m_8 = iota(Motion, lambda m: type(m, "rotate") and direction(m, "clockwise") and magnitude(m, 90.0) and origin(m, [250.0, 200.0]) and agent(m, o_5)): True
type: True
direction: True
magnitude: True
origin: True
agent: True
m_9 = iota(Motion, lambda m: type(m, "translate") and direction(m, [1.0, 0.0]) and magnitude(m, 100.0) and agent(m, o_1)): True
type: True
direction: True
magnitude: True
agent: True
t_while(m_1, m_3): True
t_while: True
t_while(m_3, m_4): True
t_while: True
t_after(m_5, m_4): True
t_after: True
t_after(m_6, m_4): True
t_after: True
t_after(m_7, m_4): True
t_after: True
t_after(m_8, m_4): True
t_after: True
t_after(m_9, m_8): True
t_after: True
In this iteration, the green squares now move in the correct direction (m_7), so all digits are looking as they should.