English to LTL

Welcome

This file contains anonymized, autograded responses to the second segment of our Spring 2021 LTL/Electrum Survey.

Participants received the following instructions. Note: the sentence about explanation boxes should NOT have been present; it was a leftover from an earlier draft of the survey.

  Convert the English descriptions below into Electrum formulas, or write
  "inexpressible" if you believe that Electrum cannot express the idea.

  Please explain your answers in the "Explanation" boxes.
 
  Please use the ANON template to check that your formulas are syntactically correct.



Q4.3

Whenever the Red light is on, it turns off in the next state and on again in the state after that.
A
always { Red in Panel.lit implies {
   after { Red not in Panel.lit }
   and after { after { Red in Panel.lit } } } }

46 / 57 correct (81%)


correct, N = 46
917u    4    always { Red in Panel.lit => { after{Red not in Panel.lit} and after{after{Red in Panel.lit}} }}    Red in Panel.lit => { after{Red not in Panel.lit} and after{after{Red in Panel.lit}} }
qMyf    5    always { Red in Panel.lit implies { after { Red not in Panel.lit } and after after { Red in Panel.lit } } }    Red in Panel.lit implies { after { Red not in Panel.lit } and after after { Red in Panel.lit } }
gbrV    5    always{ Red in Panel.lit implies ((after not (Red in Panel.lit)) and (after after Red in Panel.lit)) }   
ydkm    4    always { Red in Panel.lit implies {{after Red not in Panel.lit} and {after {after Red in Panel.lit}}}}    Red in Panel.lit implies {{after Red not in Panel.lit} and {after {after Red in Panel.lit}}}
31qw    4    always {Red in Panel.lit implies after {not (Red in Panel.lit)} and after{after{Red in Panel.lit}}}   
c9jy    3    always { Red in Panel.lit => ((after {Red not in Panel.lit}) and (after {after {Red in Panel.lit}})) }   
ptyk    4    always { Red in Panel.lit implies { after {Red not in Panel.lit} and after after {Red in Panel.lit}}}    Red in Panel.lit implies { after {Red not in Panel.lit} and after after {Red in Panel.lit}}
iVk5    5    always { Red in Panel.lit implies { (after (Red not in Panel.lit)) and (after (after (Red in Panel.lit))) } }   
mxad    4    always { Red in Panel.lit implies { after Red not in Panel.lit and after after Red in Panel.lit } }    Red in Panel.lit implies { after Red not in Panel.lit and after after Red in Panel.lit }
rnC9    5    always { Red in Panel.lit implies { after { not Red in Panel.lit } and after { after { Red in Panel.lit } } } }   
sain    5    always {Red in Panel.lit => not Red in Panel.lit' and Red in Panel.lit''}   
nieh    5    always ( (Red in Panel.lit) implies { after (Red not in Panel.lit) after after (Red in Panel.lit) } )   
fsqw    5    always { Red in Panel.lit implies { after (Red not in Panel.lit) after after (Red in Panel.lit) } }   
dznh    4    always { Red in Panel.lit implies after { Red not in Panel.lit after { Red in Panel.lit } } }    always { Red in Panel.lit implies after { after { Red in Panel.lit } } }
7opy    5    always { { Red in Panel.lit } implies { after not Red in Panel.lit after after Red in Panel.lit } }   
55oa    4    always { Red in Panel.lit implies { after { Red not in Panel.lit } and after { after { Red in Panel.lit } } } }   
cirf    5    always { Red in Panel.lit implies { after { Red not in Panel.lit } and after { after { Red in Panel.lit}}}}   
fojf    4    always ((Red in Panel.lit) => ((after (Red not in Panel.lit)) and (after (after (Red in Panel.lit)))))   
7jm2    4    always { Red in Panel.lit implies after { Red not in Panel.lit } and after { after { Red in Panel.lit }}}   
eolW    4    always { Red in Panel.lit implies after {Red not in Panel.lit and after { Red in Panel.lit}}}   
c1fn    5    always { Red in Panel.lit => { after Red not in Panel.lit after after Red in Panel.lit } }    { always Red in Panel.lit } => { after Red not in Panel.lit after after Red in Panel.lit }
nr65    4    always { Red in Panel.lit => { after not Red in Panel.lit after after Red in Panel.lit } }    Red in Panel.lit => { after not Red in Panel.lit after after Red in Panel.lit }
m0p6    5    always {Red in Panel.lit implies {after {Red not in Panel.lit} and after {after {Red in Panel.lit}}}}   
able    4    always { Red in Panel.lit implies {after {Red not in Panel.lit} and after {after {Red in Panel.lit}} }}   
1vwv    5    always { Red in Panel.lit implies { after { Red not in Panel.lit after { Red in Panel.lit } } } }    Red in Panel.lit implies { after { Red not in Panel.lit after { Red in Panel.lit } } }
yoxy    5    always { Red in Panel.lit implies { after {Red not in Panel.lit} and after { after { Red in Panel.lit}}}}   
xqZA    3    always {Red in Panel.lit implies {after {Red not in Panel.lit}} and {after after Red in Panel.lit}}   
bxd4    3    always { Red in Panel.lit implies { after { Red not in Panel.lit } and after{ after{Red in Panel.lit}} }}   
bx1r    5    always { Red in Panel.lit implies { after { Red not in Panel.lit} after { after{ Red in Panel.lit } } } }   
w4t3    4    always { Red in Panel.lit implies { after Red not in Panel.lit and after after Red in Panel.lit } }   
clU0    4    always { Red in Panel.lit implies { after { Red not in Panel.lit and after { Red in Panel.lit } } } }    always { Red in Panel.lit implies { after { Red not in Panel.lit } and after { Red in Panel.lit } } }
ndij    5    always {Red in Panel.lit implies (after Red not in Panel.lit and after after Red in Panel.lit)}    Red in Panel.lit implies (after Red not in Panel.lit and after after Red in Panel.lit)
tyos    5    always (Red in Panel.lit implies after Red not in Panel.lit and after after Red in Panel.lit)   
ekny    5    always {Red in Panel.lit implies { after (Red not in Panel.lit) and after after (Red in Panel.lit) }}    always { Red in Panel.lit after (Red not in Panel.lit) and after after (Red in Panel.lit) }
hDZG    5    always { { Red in Panel.lit } implies { after { Red not in Panel.lit after { Red in Panel.lit } } } }   
XU9x    5    always { Red in Panel.lit implies { after { Red not in Panel.lit} after { after { Red in Panel.lit }} }}   
kkzx    3    always { { Red in Panel.lit } implies { after {Red not in Panel.lit} and after { after {Red in Panel.lit} } } }   
pfdd    4    always { Red in Panel.lit implies { after {Red not in Panel.lit and after {Red in Panel.lit}} } }   
s0nv    4    always { {Red in Panel.lit} implies {(after {Red not in Panel.lit}) and (after after {Red in Panel.lit})}}   
j9mq    3    always { Red in Panel.lit implies { after{ not Red in Panel.lit } and after {after {Red in Panel.lit}} } }   
n4vd    5    always { Red in Panel.lit implies { after {Red not in Panel.lit} after {after {Red in Panel.lit}} } }   
qjpx    5    always (Red in Panel.lit => { after Red not in Panel.lit after after Red in Panel.lit })   
kuaa    4    always { Red in Panel.lit implies { after { Red not in Panel.lit } and after { after { Red in Panel.lit } } } }    always { Red in Panel.lit iff { after { Red not in Panel.lit } and after { after { Red in Panel.lit } } } }
XLuy    3    always { Red in Panel.lit implies { after { Red not in Panel.lit } and after after { Red in Panel.lit } } }   
xeec    5    always { Red in Panel.lit implies (after Red not in Panel.lit and after after Red in Panel.lit) }   
duq8    4    always { Red in Panel.lit implies after { Red not in Panel.lit } and after { after { Red in Panel.lit }} }    Red in Panel.lit implies after { Red not in Panel.lit } and after { after { Red in Panel.lit }} // The question says whenever, but the statement here factors only the // first state.
inexpressible, N = 0
syntax error, N = 0
precedence, N = 0
past-time, N = 0
always { Red in Panel.lit implies not { after { Red in Panel.lit } } and after { after { Red in Panel.lit } } }, N = 0
Red in Panel.lit implies after { Red not in Panel.lit } and after { after { Red in Panel.lit } }, N = 8
rahc    4    (Red in Panel.lit) implies ((after not Red in Panel.lit) and (after after Red in Panel.lit))   
N3Cw    4    {Red in Panel.lit} implies { (after {not Red in Panel.lit}) and (after after {Red in Panel.lit}) }   
3r04    5    Red in Panel.lit implies ((after Red not in Panel.lit) and (after after Red in Panel.lit))   
KXjz    4    Red in Panel.lit => { after Red not in Panel.lit after (after Red in Panel.lit) }   
8E1h    4    Red in Panel.lit => after { Red not in Panel.lit } and after { after { Red in Panel.lit } }    Red in Panel.lit => after { Red not in Panel.lit } and { eventually { Red in Panel.lit } }
vz2g    4    Red in Panel.lit implies { after { Red not in Panel.lit } and { after { after { Red in Panel.lit }} } }   
zf66    5    Red in Panel.lit implies { after { Red not in Panel.lit } after after { Red in Panel.lit } }    Red in Panel.lit after { Red not in Panel.lit } after after { Red in Panel.lit }
yypq    3    Red in Panel.lit implies { after Red not in Panel.lit after after Red in Panel.lit }   
always { Red in Panel.lit implies after { Red in Panel.lit }} and always { Red not in Panel.lit implies after { Red in Panel.lit }}, N = 0
always { Red in Panel.lit until { after { Red not in Panel.lit } and after { after { Red in Panel.lit }}}}, N = 1
DzoD    5    always { Red in Panel.lit after { Red not in Panel.lit } and Red not in Panel.lit after {Red in Panel.lit} }   
Other, grouped by semantic equality, N = 2
uOG8    4    always { (Red in Panel.lit) implies after { Red not in Panel.lit } and (Red not in Panel.lit) implies after { Red in Panel.lit } }   
j7t9    4    always {Red in Panel.lit implies (after Red not in Panel.lit and after Red in Panel.lit)}   



Q4.7

The Red light is on in exactly one state, but not necessarily the first state.
A
{ not Red in Panel.lit } until
  { Red in Panel.lit and after { always { Red not in Panel.lit } } }

14 / 57 correct (25%)


correct, N = 14
917u    2    eventually{Red in Panel.lit} and always{Red in Panel.lit => after{always{Red not in Panel.lit}}}    eventually{Red in Panel.lit} and always{Red in Panel.lit => always{Red not in Panel.lit}}
rnC9    5    always { Red in Panel.lit implies after always Red not in Panel.lit } and eventually { Red in Panel.lit }    always { Red in Panel.lit implies after always Red not in Panel.lit }
fsqw    4    eventually (Red in Panel.lit) and always ( Red in Panel.lit => after always (Red not in Panel.lit) )   
dznh    4    {eventually Red in Panel.lit} and always {Red in Panel.lit implies after always Red not in Panel.lit}    Red in Panel.lit implies after always Red not in Panel.lit
7opy    5    { not Red in Panel.lit } until { Red in Panel.lit after always { not Red in Panel.lit } }   
vz2g    4    eventually { Red in Panel.lit } always { Red in Panel.lit implies { after { always { Red not in Panel.lit }} } }    eventually { Red in Panel.lit } always { Red in Panel.lit implies { after { Red not in Panel.lit } } }
c1fn    3    { { Red not in Panel.lit } until { after always Red not in Panel.lit } eventually { Red in Panel.lit after always Red not in Panel.lit } }   
yoxy    5    Red not in Panel.lit until {Red in Panel.lit and after always {Red not in Panel.lit}}   
hDZG    4    { Red not in Panel.lit } until { { Red in Panel.lit } after always { Red not in Panel.lit } }    '-- This is more of a mistake in writing the formula than a mistake in understanding the description eventually { { Red in Panel.lit } after always { Red not in Panel.lit } }
XU9x    4    eventually {Red in Panel.lit} always { Red in Panel.lit implies { always { after {Red not in Panel.lit} } }}   
zf66    5    eventually { Red in Panel.lit } always { Red in Panel.lit implies after { always { Red not in Panel.lit } } }    always { Red in Panel.lit implies after { always { Red not in Panel.lit } } }
j9mq    3    eventually { Red in Panel.lit} and always { Red in Panel.lit implies { after { always { not Red in Panel.lit } } } }   
j7t9    4    (eventually Red in Panel.lit) and always (Red in Panel.lit implies after always Red not in Panel.lit)   
kuaa    5    eventually Red in Panel.lit always (Red in Panel.lit implies after (always Red not in Panel.lit))   
inexpressible, N = 1
gbrV    4    Inexpressible as is. The best we can do is something like: Red not in Panel.lit implies not (eventually Red in Panel.lit) Red in Panel.lit implies not (eventually Red in Panel.lit) once Red in Panel.lit   
syntax error, N = 0
precedence, N = 0
past-time, N = 2
qMyf    4    always { Red in Panel.lit implies { before historically Red not in Panel.lit and not after eventually Red in Panel.lit }}    once Red in Panel.lit
3r04    2    (once Red in Panel.lit) or (once after Red in Panel.lit)   
always { Red in Panel.lit implies always { after { Red not in Panel.lit }}}, N = 5
ptyk    5    always{ Red in Panel.lit implies { after{ always{Red not in Panel.lit}}}}   
nieh    4    always ( (Red in Panel.lit) implies { after (always (Red not in Panel.lit)) } )   
7jm2    4    always {Red in Panel.lit implies after { always {Red not in Panel.lit}}}   
eolW    3    always { Red in Panel.lit implies after {always {Red not in Panel.lit}}}   
ekny    3    always { Red in Panel.lit implies (after always (Red not in Panel.lit)) }    Red in Panel.lit implies (after always (Red not in Panel.lit))
{ Red not in Panel.lit } until { Red in Panel.lit and after { Red not in Panel.lit }}, N = 0
eventually { Red in Panel.lit }, N = 3
ydkm    5    eventually {Red in Panel.lit}    always {eventually {Red in Panel.lit}}
bxd4    3    Red in Panel.lit implies {always{Red not in Panel.lit}} and Red not in Panel.lit until {Red in Panel.lit}   
yypq    2    (eventually Red in Panel.lit) until Red in Panel.lit    eventually Red in Panel.lit until Red in Panel.lit
{ Red not in Panel.lit } until { Red in Panel.lit and after { eventually { Red not in Panel.lit }}}, N = 1
kkzx    3    eventually { {Red in Panel.lit} and after {eventually {Red not in Panel.lit}} }    {Red in Panel.lit} implies eventually {Red not in Panel.lit}
Other, grouped by semantic equality, N = 31
qjpx    4    eventually (Red in Panel.lit and after (always Red not in Panel.lit))   
clU0    4    eventually { Red in Panel.lit and after { always { Red not in Panel.lit } } }    always { Red in Panel.lit implies after { always { Red not in Panel.lit } } }
pfdd    4    eventually { Red in Panel.lit and after {always Red not in Panel.lit} } {Red in Panel.lit or Red not in Panel.lit}   
duq8    4    eventually { Red in Panel.lit and after {always { Red not in Panel.lit } }}    eventually { Red in Panel.lit and {always { Red not in Panel.lit } }} // removing after makes always apply to the current state that eventually is // in as well
N3Cw    2    eventually {(Red in Panel.lit) and (after always not Red in Panel.lit)}   
nr65    3    not Red in Panel.lit until eventually { Red in Panel.lit after always not Red in Panel.lit }    eventually Red in Panel.lit
c9jy    3    always { ((Red not in Panel.lit) until (Red in Panel.lit)) and (Red in Panel.lit => always (after Red not in Panel.lit)) }   
cirf    4    always { Red not in Panel.lit until Red in Panel.lit } and always { Red in Panel.lit implies after { always { Red not in Panel.lit }}}    always { eventually { Red in Panel.lit }} and always { Red in Panel.lit implies after { always { Red not in Panel.lit }}}
KXjz    4    eventually Red in Panel.lit always Red not in Panel.lit until Red in Panel.lit always Red not in Panel.lit after Red in Panel.lit   
31qw    4    eventually {Red in Panel.lit and not {eventually{Red in Panel.lit}}}   
n4vd    3    eventually {Red in Panel.lit} always { Red in Panel.lit implies {always not Red in Panel.lit} }   
uOG8    3    (Red not in Panel.lit until Red in Panel.lit) and (Red in Panel.lit implies after { always Red not in Panel.lit })   
fojf    4    (eventually (Red in Panel.lit)) and ((Red in Panel.lit) => (after (always (Red not in Panel.lit))))    (eventually (Red in Panel.lit)) and (after (always (Red not in Panel.lit)))
xeec    5    (eventually Red in Panel.lit) and (Red in Panel.lit implies after (always Red not in Panel.lit))   
bx1r    5    eventually Red in Panel.lit Red in Panel.lit implies after { always{ Red not in Panel.lit } }    eventually { Red in Panel.lit } -- doesnt guarantee exactly one state
mxad    4    Red in Panel.lit implies after {always Red not in Panel.lit}    eventually Red in Panel.lit and after {always Red not in Panel.lit} (this forces the first state to be red, I believe)
55oa    4    eventually Red in Panel.lit and Red in Panel.lit implies { always { after { Red not in Panel.lit } } }    (eventually Red in Panel.lit) implies { always { after { Red not in Panel.lit } } } My reasoning: in this case, it's possible for the red light to never be lit
s0nv    3    eventually {Red in Panel.lit} and {{Red in Panel.lit} implies always (not (eventually {Red in Panel.lit}))}    eventually {Red in Panel.lit} and always {{Red in Panel.lit} implies not (eventually {Red in Panel.lit})}
8E1h    2    { Red not in Panel.lit until Red in Panel.lit } and { Red in Panel.lit => !(eventually Red in Panel.lit) }   
rahc    3    (Red in Panel.lit) implies (not eventually Red in Panel.lit)   
iVk5    2    (eventually (Red in Panel.lit)) until (eventually (Red not in Panel.lit))   
sain    3    (Red in Panel.lit or Red in Panel.lit') and not (Red in Panel.lit and Red in Panel.lit') and after after {(always not Red in Panel.lit)}   
m0p6    5    after { eventually { Red in Panel.lit } }   
able    4    always {eventually {Red in Panel.lit} implies {after {always {Red not in Panel.lit}}}}   
1vwv    4    { Red not in Panel.lit until Red in Panel.lit } eventually { Red in Panel.lit implies after { always Red not in Panel.lit } }    { Red not in Panel.lit until Red in Panel.lit } Red in Panel.lit implies after { always Red not in Panel.lit }
DzoD    3    after { always { eventually { Red in Panel.lit } } Red not in Panel.lit }   
xqZA    3    {eventually Red in Panel.lit} and {always {Red in Panel.lit implies after not Red in Panel.lit}}   
w4t3    3    eventually Red in Panel.lit and after { always Red not in Panel.lit }   
ndij    3    eventually {after Red in Panel.lit and after after Red not in Panel.lit}    eventually {after Red in Panel.lit}
tyos    4    always (after Red in Panel.lit)    always after vs after always
XLuy    1    eventually Red in Panel.lit implies { after Red not in Panel.lit }   



Q4.11

The Red light cannot stay lit for three states in a row.
A
not eventually {
  Red in Panel.lit
  and after { Red in Panel.lit }
   and after { after { Red in Panel.lit } }}

36 / 57 correct (63%)


correct, N = 36
917u    3    always{not{Red in Panel.lit and after{Red in Panel.lit} and after{after{Red in Panel.lit}}}}    not{Red in Panel.lit and after{Red in Panel.lit} and after{after{Red in Panel.lit}}}
qMyf    5    always not { Red in Panel.lit and after Red in Panel.lit and after after Red in Panel.lit }   
N3Cw    2    always {not {(Red in Panel.lit) and (after Red in Panel.lit) and (after after Red in Panel.lit)}}   
31qw    4    always{not {Red in Panel.lit and after {Red in Panel.lit} and after{after{Red in Panel.lit}}}}   
c9jy    3    always { not ((Red in Panel.lit) and (after {Red in Panel.lit}) and (after {after {Red in Panel.lit}})) }   
ptyk    5    always { {Red in Panel.lit and after Red in Panel.lit} implies { {after after Red not in Panel.lit}}}    always { {Red in Panel.lit} implies { {after Red not in Panel.lit and after after Red not in Panel.lit}}}
KXjz    4    always not { Red in Panel.lit after Red in Panel.lit after (after Red in Panel.lit) }   
rnC9    5    always { Red in Panel.lit implies { after {Red not in Panel.lit} or after {after {Red not in Panel.lit}} } }   
sain    5    always {(Red in Panel.lit and Red in Panel.lit') => not Red in Panel.lit''}   
nieh    4    always ( not { Red in Panel.lit after (Red in Panel.lit) after after (Red in Panel.lit) } )   
fsqw    5    always ( not { Red in Panel.lit after (Red in Panel.lit) after after (Red in Panel.lit) } )   
dznh    3    always { Red in Panel.lit implies after { Red not in Panel.lit or after { Red not in Panel.lit } } }    always { Red in Panel.lit implies after after Red not in Panel.lit }
55oa    2    always { { Red in Panel.lit and after (Red in Panel.lit) } implies { after { after {Red not in Panel.lit} } } }   
vz2g    4    always { (Red in Panel.lit and after {Red in Panel.lit}) implies { after { after { Red not in Panel.lit }}} }   
cirf    5    always { Red in Panel.lit implies { after { Red not in Panel.lit } or after { after { Red not in Panel.lit }}}}    always { Red in Panel.lit implies { after { after { Red not in Panel.lit }}}}
fojf    3    always ((Red in Panel.lit) => ((after (Red not in Panel.lit)) or (after (after (Red not in Panel.lit)))))    (Red in Panel.lit) => ((after (Red not in Panel.lit)) or (after (after (Red not in Panel.lit))))
c1fn    4    always { Red in Panel.lit => { (after Red not in Panel.lit) or (after after Red not in Panel.lit) } }    always { Red in Panel.lit => { after Red not in Panel.lit after after Red not in Panel.lit } }
nr65    3    always { Red in Panel.lit and after Red in Panel.lit => after after not Red in Panel.lit }    eventually not { Red in Panel.lit after Red in Panel.lit after after Red in Panel.lit }
1vwv    3    always { Red not in Panel.lit implies { not { after { Red in Panel.lit } after { after { Red in Panel.lit } } after { after { after { Red in Panel.lit } } } } } else { not { after { Red in Panel.lit } after { after { Red in Panel.lit } } } } }    always { not { Red in Panel.lit after { Red in Panel.lit } after { after { Red in Panel.lit } } } }
yoxy    5    always { Red in Panel.lit and after { Red in Panel.lit } implies {after {after { Red not in Panel.lit}}}}   
DzoD    4    always { not ({Red in Panel.lit} and after Red in Panel.lit and after after Red in Panel.lit)}   
xqZA    3    not {eventually {Red in Panel.lit and after Red in Panel.lit and after after Red in Panel.lit}}   
w4t3    3    always { { Red in Panel.lit and after Red in Panel.lit} implies after after Red not in Panel.lit }   
clU0    4    always { not { Red in Panel.lit and after { Red in Panel.lit } and after { after { Red in Panel.lit } } } }   
ndij    3    always {(Red in Panel.lit and after Red in Panel.lit) implies after after Red not in Panel.lit}   
tyos    5    always (Red in Panel.lit and after Red in Panel.lit implies after after Red not in Panel.lit)   
ekny    4    always { (Red in Panel.lit and after Red in Panel.lit) implies (after after Red not in Panel.lit) }   
hDZG    5    always not { Red in Panel.lit after Red in Panel.lit after after Red in Panel.lit }   
XU9x    5    always { Red in Panel.lit implies { (after {Red not in Panel.lit}) or (after { after { Red not in Panel.lit} }) }}    always { Red in Panel.lit implies { (after {Red not in Panel.lit}) or (after { after { Red not in Panel.lit} }) or (after { after { after { Red not in Panel.lit} } }) }}
kkzx    2    always { {Red in Panel.lit and after { Red in Panel.lit } } implies { after after {Red not in Panel.lit} } }    always { {Red in Panel.lit} implies { { after {Red not in Panel.lit} } or { after after {Red not in Panel.lit}} } }
pfdd    5    always { Red in Panel.lit and after {Red in Panel.lit} implies { after after {Red not in Panel.lit} } }   
s0nv    4    always {({Red in Panel.lit} and after {Red in Panel.lit}) implies after after {Red not in Panel.lit}}   
j9mq    4    always { not { Red in Panel.lit and after {Red in Panel.lit and after Red in Panel.lit }} }   
j7t9    4    always ((Red in Panel.lit and after Red in Panel.lit) implies after after Red not in Panel.lit)   
qjpx    5    always ((Red in Panel.lit and after Red in Panel.lit) => { after after Red not in Panel.lit })   
xeec    5    always not (Red in Panel.lit and after Red in Panel.lit and after after Red in Panel.lit)   
inexpressible, N = 0
syntax error, N = 3
mxad    4    always { ((Red in Panel.lit) and (after Red in Panel.lit) implies { after after Red not in Panel.lit } }    always { ((Red in Panel.lit) and (after Red in Panel.lit) and (after after Red in Panel.lit)) implies { after after after Red not in Panel.lit } }
7opy    5    always { not { Red in Panel.lit after Red in Panel.lit after after Red in Panel.lit }   
yypq    3    never { Red in Panel.lit after Red in Panel.lit after after Red in Panel.lit }   
precedence, N = 0
past-time, N = 0
not { Red in Panel.lit and after { Red in Panel.lit } and after { after { Red in Panel.lit }}}, N = 7
gbrV    5    Red in Panel.lit and (after Red in Panel.lit) implies after after Red not in Panel.lit   
iVk5    5    (Red in Panel.lit) implies (after Red not in Panel.lit) or (after (after Red not in Panel.lit))   
8E1h    3    { Red in Panel.lit and after Red in Panel.lit } => after after Red not in Panel.lit   
7jm2    4    Red in Panel.lit and after { Red in Panel.lit } implies after after {Red not in Panel.lit }   
eolW    3    Red in Panel.lit and after {Red in Panel.lit} implies after {after {Red not in Panel.lit}}   
zf66    5    { Red in Panel.lit after { Red in Panel.lit } } implies { after after { Red not in Panel.lit } }    { Red in Panel.lit } implies { after after { Red not in Panel.lit } }
XLuy    2    Red in Panel.lit and after Red in Panel.lit implies { after after Red not in Panel.lit }   
always { not { Red in Panel.lit implies after { Red in Panel.lit } implies after { after { Red in Panel.lit }}}}, N = 0
always { not { after { after { after { Red in Panel.lit }}}}}, N = 0
Other, grouped by semantic equality, N = 11
m0p6    5    always { Red in Panel.lit implies after {Red in Panel.lit implies after {Red in Panel.lit implies after {Red not in Panel.lit}}}}   
n4vd    4    always { { Red in Panel.lit after {Red in Panel.lit} after {after {Red in Panel.lit}} } implies { after {after {after {Red not in Panel.lit}}} } }   
ydkm    4    always {Red in Panel.lit implies {after Red not in Panel.lit} or {after {after Red not in Panel.lit}} or {after {after {after Red not in Panel.lit}}}}    always {Red in Panel.lit implies {after {after {after Red not in Panel.lit}}}}
duq8    4    always { Red in Panel.lit implies { after { after {Red not in Panel.lit}} } }    always { Red in Panel.lit implies { after {Red in Panel.lit} after { after {Red not in Panel.lit}} } } // Overconstraints second state to be red
able    4    always{Red in Panel.lit implies after{after{Red not in Panel.lit}}}   
rahc    3    (Red in Panel.lit) implies ((after not Red in Panel.lit) and (after after not Red in Panel.lit))   
3r04    3    Red not in Panel.lit until (after after after Red in Panel.lit)   
uOG8    5    ((Red in Panel.lit) and (after Red in Panel.lit)) implies after (Red not in Panel.lit)   
bxd4    3    Red in Panel.lit implies after {after{Red not in Panel.lit}}   
bx1r    5    Red in Panel.lit and after { Red in Panel.lit } and after after { Red in Panel.lit } implies { after after after Red not in Panel.lit }   
kuaa    4    always (Red in Panel.lit implies (after Red not in Panel.lit) and (after after Red not in Panel.lit) and (after after after Red not in Panel.lit) )    always ((after Red not in Panel.lit) and (after after Red not in Panel.lit) and (after after after Red not in Panel.lit) )



Q4.15

Whenever the Red light is on, the Blue light will turn on at some point.
A
always { Red in Panel.lit implies eventually { Blue in Panel.lit }}

43 / 57 correct (75%)


correct, N = 43
917u    4    always{Red in Panel.lit => eventually{Blue in Panel.lit}}    always{Red in Panel.lit and eventually{Blue in Panel.lit}}
qMyf    5    always { Red in Panel.lit implies eventually Blue in Panel.lit }    Red in Panel.lit implies eventually Blue in Panel.lit or always { Red in Panel.lit implies after Blue in Panel.lit }
gbrV    3    always { Red in Panel.lit implies eventually Blue in Panel.lit }    The formula is somewhat ambiguous. It doesn't specify if the Blue light can be on right now. If not we nee the following (The Red in Panel.lit and Blue not in Panel.lit) implies eventually Blue in Panel.lit
N3Cw    4    always {(Red in Panel.lit) implies (eventually {Blue in Panel.lit})}   
ydkm    4    always {Red in Panel.lit implies {eventually Blue in Panel.lit}}    Red in Panel.lit implies {eventually Blue in Panel.lit}
31qw    4    always{Red in Panel.lit implies {eventually {Blue in Panel.lit}}}   
c9jy    4    always { Red in Panel.lit => eventually Blue in Panel.lit }   
ptyk    3    always { Red in Panel.lit implies { eventually Blue in Panel.lit}}   
rnC9    4    always { Red in Panel.lit implies { eventually Blue in Panel.lit } }    always { Red in Panel.lit implies { after eventually Blue in Panel.lit } }
sain    5    always {Red in Panel.lit => eventually Blue in Panel.lit}   
nieh    5    always ( Red in Panel.lit implies { eventually (Blue in Panel.lit) } )   
fsqw    3    always ( Red in Panel.lit => eventually (Blue in Panel.lit) )   
dznh    3    always { Red in Panel.lit implies eventually Blue in Panel.lit }    always { Red in Panel.lit until Blue in Panel.lit }
7opy    5    always { { Red in Panel.lit } implies { eventually Blue in Panel.lit } }   
vz2g    4    always { Red in Panel.lit implies eventually { Blue in Panel.lit }}    { Red in Panel.lit implies eventually { Blue in Panel.lit }}
cirf    3    always { Red in Panel.lit implies eventually { Blue in Panel.lit }}   
fojf    4    always ((Red in Panel.lit) => (eventually (Blue in Panel.lit)))    (Red in Panel.lit) => (eventually (Blue in Panel.lit))
7jm2    4    always { Red in Panel.lit implies eventually { Blue in Panel.lit } }   
eolW    5    always {Red in Panel.lit implies eventually {Blue in Panel.lit}}   
c1fn    5    always { Red in Panel.lit => eventually Blue in Panel.lit }    Red in Panel.lit => eventually Blue in Panel.lit
nr65    3    always { Red in Panel.lit => eventually Blue in Panel.lit }    Red in Panel.lit => eventually Blue in Panel.lit
m0p6    5    always { Red in Panel.lit implies eventually {Blue in Panel.lit}}   
able    4    always{Red in Panel.lit implies eventually Blue in Panel.lit}   
1vwv    5    always { Red in Panel.lit implies eventually Blue in Panel.lit }    Red in Panel.lit implies eventually Blue in Panel.lit
yoxy    5    always { Red in Panel.lit implies { eventually Blue in Panel.lit }}   
xqZA    3    always {Red in Panel.lit implies {eventually Blue in Panel.lit}}   
bxd4    3    always{Red in Panel.lit implies eventually {Blue in Panel.lit}}   
w4t3    4    always { Red in Panel.lit implies eventually Blue in Panel.lit }   
clU0    5    always { Red in Panel.lit implies eventually { Blue in Panel.lit } }   
ndij    3    always {Red in Panel.lit implies eventually Blue in Panel.lit}    always {Red in Panel.lit implies Blue in Panel.lit}
tyos    5    always (Red in Panel.lit implies eventually Blue in Panel.lit)   
ekny    3    always { Red in Panel.lit implies (eventually (Blue in Panel.lit)) }   
hDZG    5    always { { Red in Panel.lit } implies eventually { Blue in Panel.lit } }    eventually { { Red in Panel.lit } and { Blue in Panel.lit } }
XU9x    5    always { Red in Panel.lit implies { eventually {Blue in Panel.lit} }}   
zf66    4    always { { Red in Panel.lit } implies { eventually { Blue in Panel.lit } } }    { Red in Panel.lit } implies { eventually { Blue in Panel.lit } }
kkzx    3    always {Red in Panel.lit implies {eventually Blue in Panel.lit}}   
s0nv    5    always ({Red in Panel.lit} implies eventually {Blue in Panel.lit})   
j9mq    3    always { Red in Panel.lit implies { eventually {Blue in Panel.lit} } }   
j7t9    5    always (Red in Panel.lit implies (eventually Blue in Panel.lit))   
n4vd    5    always { Red in Panel.lit implies {eventually Blue in Panel.lit} }   
qjpx    5    always (Red in Panel.lit => eventually Blue in Panel.lit)   
kuaa    4    always ((Red in Panel.lit) implies (eventually Blue in Panel.lit))   
duq8    4    always { Red in Panel.lit implies { eventually { Blue in Panel.lit } } }    N/A
inexpressible, N = 0
syntax error, N = 0
precedence, N = 2
KXjz    5    always Red in Panel.lit => { eventually Blue in Panel.lit }   
xeec    4    always Red in Panel.lit implies eventually (Blue in Panel.lit)   
past-time, N = 0
always { Red in Panel.lit implies after { eventually { Blue in Panel.lit }}}, N = 0
Red in Panel.lit implies after { eventually { Blue in Panel.lit }}, N = 0
Red in Panel.lit implies { eventually { Blue in Panel.lit }}, N = 9
rahc    4    (Red in Panel.lit) implies eventually Blue in Panel.lit   
iVk5    4    (Red in Panel.lit) implies (eventually (Blue in Panel.lit))   
mxad    2    Red in Panel.lit implies eventually {Blue in Panel.lit}    When the red light turns off, does it cancel this "blue will turn on" idea? Like: Red in Panel.lit implies eventually {Red in Panel.lit and Blue in Panel.lit}
8E1h    4    Red in Panel.lit => eventually Blue in Panel.lit   
uOG8    5    (Red in Panel.lit) implies eventually (Blue in Panel.lit)   
55oa    5    Red in Panel.lit implies { eventually (Blue in Panel.lit) }   
bx1r    5    Red in Panel.lit implies eventually Blue in Panel.lit    Red in Panel.lit until Blue in Panel.lit -- this holds the red light hostage
yypq    5    Red in Panel.lit implies { eventually Blue in Panel.lit }   
XLuy    3    Red in Panel.lit implies { eventually Blue in Panel.lit }   
Other, grouped by semantic equality, N = 3
3r04    5    always{ Red in Panel.lit implies Blue in Panel.lit }   
DzoD    3    {Red in Panel.lit} and eventually Blue in Panel.lit   
pfdd    4    always { Red in Panel.lit implies { eventually {Blue not in Panel.lit and after {Blue in Panel.lit}} } }   



Q4.19

The Red light is lit for a finite number of steps, and then never again becomes lit.
A
{Red in Panel.lit} until always { Red not in Panel.lit }

12 / 57 correct (21%)


correct, N = 12
rahc    2    (Red in Panel.lit) until (not eventually Red in Panel.lit)   
ydkm    4    Red in Panel.lit until {always Red not in Panel.lit}    Red in Panel.lit until Red not in Panel.lit
c9jy    4    always { (Red in Panel.lit until Red not in Panel.lit) and (Red not in Panel.lit => always {Red not in Panel.lit})}   
7opy    5    { Red in Panel.lit } until { always not Red in Panel.lit }   
cirf    4    { Red in Panel.lit } until { Red not in Panel.lit } and always { Red not in Panel.lit implies after { Red not in Panel.lit }}    { Red in Panel.lit } until { Red not in Panel.lit } and eventually { always { Red not in Panel.lit }}
fojf    3    (Red in Panel.lit) until (always (Red not in Panel.lit))    (Red in Panel.lit) until (Red not in Panel.lit)
xqZA    3    always {Red in Panel.lit or {always {Red not in Panel.lit implies after Red not in Panel.lit}}} and not {always Red in Panel.lit}   
bxd4    3    Red in Panel.lit until {always Red not in Panel.lit}   
clU0    4    Red in Panel.lit until always { Red not in Panel.lit }    Red in Panel.lit until eventually { always { Red not in Panel.lit } }
hDZG    5    { Red in Panel.lit } until { always { Red not in Panel.lit } }    eventually { always { Red not in Panel.lit } }
s0nv    1    {Red in Panel.lit} until {always {Red not in Panel.lit}}    Two misconceptions I'm having: Whether the Red light starts lit or whether at some point it becomes lit Whether the Red light is lit for a consecutive finite number of steps
duq8    4    Red in Panel.lit until { always { Red not in Panel.lit } }    Red in Panel.lit until { { Red not in Panel.lit } } // removing always makes it applicable in only one state
inexpressible, N = 2
gbrV    3    Inexpressible. ANON doesn't have a good way of quantifying what finite means. The best we can do is something along the lines of eventually Red in Panel.lit and not (eventually after (eventually Red in Panel.lit)) Red in Panel.lit implies once {historically Red in Panel.lit}   
iVk5    5    inexpressible because electrum always models infinite steps with a "lasso" step where it loops back to a previous step.   
syntax error, N = 4
mxad    1    Red in Panel.lit until Red not in Panel.lit and Red not in Panel.lit implies (always {Red not in Panel.lit}) (this one took a while and I still don't think this is right)    Red in Panel.lit implies eventually (always Red not in Panel.lit)
yoxy    4    eventually { { Red in Panel.lit until {always {Red not in Panel.lit}}}} and {eventually Red not in Panel.lit}}   
yypq    2    Red not in Panel.lit implies { never (eventually Red in Panel.lit) }   
kuaa    1    {always ((Red in Panel.lit) until (counter = x)) }   
precedence, N = 0
past-time, N = 1
3r04    4    historically {Red in Panel.lit} and after always{ Red not in Panel.lit}   
Red in Panel.lit until { Red not in Panel.lit }, N = 4
ptyk    3    Red in Panel.lit until {eventually Red not in Panel.lit}    Red in Panel.lit until {Red not in Panel.lit}
55oa    3    Red in Panel.lit implies { eventually { after (Red not in Panel.lit) } }    Red in Panel.lit implies { after (Red not in Panel.lit) } My reasoning: it wouldn't be difficult to assume that after means "after the Red light stops being lit" instead of in the state immediately after this...
nr65    4    Red in Panel.lit until not Red in Panel.lit eventually not Red in Panel.lit    eventually always not Red in Panel.lit
1vwv    4    { Red in Panel.lit until Red not in Panel.lit } eventually { Red not in Panel.lit implies always { Red not in Panel.lit } }    { Red in Panel.lit until Red not in Panel.lit } Red not in Panel.lit implies always { Red not in Panel.lit }
Red in Panel.lit until {}, N = 1
m0p6    2    always {Red in Panel.lit implies {Red in Panel.lit until Red not in Panel.lit implies { always Red not in Panel.lit}}}   
Red in Panel.lit and { Red in Panel.lit implies always { Red not in Panel.lit }}, N = 1
tyos    1    always (eventually Red in Panel.lit) eventually (always not Red in Panel.lit)   
Red in Panel.lit implies eventually { always { Red not in Panel.lit }}, N = 0
Red in Panel.lit and { Red in Panel.lit until { always { Red not in Panel.lit }}}, N = 3
7jm2    4    Red in Panel.lit and eventually { Red not in Panel.lit } and always { Red not in Panel.lit implies always { Red not in Panel.lit } }   
c1fn    3    { eventually always { Red not in Panel.lit } Red in Panel.lit until always { Red not in Panel.lit } Red in Panel.lit }   
zf66    4    eventually { Red in Panel.lit eventually { Red not in Panel.lit } } always { Red not in Panel.lit implies { always { Red not in Panel.lit } } }    eventually { Red in Panel.lit eventually { always { Red not in Panel.lit } } }
{ Red in Panel.lit until Red not in Panel.lit } and eventually { always { Red not in Panel.lit }}, N = 11
qMyf    3    eventually { after not eventually Red in Panel.lit }   
31qw    4    eventually {not {eventually {Red in Panel.lit}}}   
8E1h    2    Red in Panel.lit until { { eventually { always { Red not in Panel.lit } } } }   
fsqw    4    eventually ( Red in Panel.lit until always (Red not in Panel.lit) )   
w4t3    3    Red in Panel.lit until { eventually always Red not in Panel.lit }   
ndij    1    eventually {always Red not in Panel.lit}    eventually {Red not in Panel.lit}
ekny    1    eventually { always (Red not in Panel.lit) }    after eventually { always (Red not in Panel.lit) }
XU9x    5    always { Red in Panel.lit implies { eventually { always { Red not in Panel.lit} } }}   
kkzx    3    Red in Panel.lit until eventually {always { Red not in Panel.lit }}   
n4vd    5    eventually { always { Red not in Panel.lit } }   
XLuy    3    eventually { always Red not in Panel.lit }   
Red in Panel.lit and { Red in Panel.lit until Red not in Panel.lit } and eventually { always { Red not in Panel.lit }}, N = 2
KXjz    4    Red in Panel.lit eventually always Red not in Panel.lit   
vz2g    3    Red in Panel.lit eventually { always {Red not in Panel.lit }}    eventually Red in Panel.lit eventually { always {Red not in Panel.lit }}
eventually { always { Red not in Panel.lit }}, N = 0
Other, grouped by semantic equality, N = 16
nieh    1    eventually ((Red in Panel.lit) and (after (eventually always(not(Red in Panel.lit)))))   
j7t9    5    eventually (Red in Panel.lit and after always Red not in Panel.lit)   
pfdd    3    eventually { Red in Panel.lit and after {always Red not in Panel.lit} }   
j9mq    4    eventually { Red in Panel.lit } and eventually { always { not Red in Panel.lit } }    I wasn't sure if this meant that the red light is lit a finite amount of time from the current time step, or the red light is lit for a finite amount of time at discontinuous points.
DzoD    3    always {Red in Panel.lit} until {always Red not in Panel.lit}   
N3Cw    3    {always Red in Panel.lit} until {always {not Red in Panel.lit}}   
917u    3    eventually{Red in Panel.lit } and eventually{Red not in Panel.lit} and always{ { Red in Panel.lit and after{Red not in Panel.lit}} => after{always{Red not in Panel.lit}} }   
rnC9    5    always { Red in Panel.lit implies { after { Red in Panel.lit or always Red not in Panel.lit } } } and eventually {Red in Panel.lit and eventually Red not in Panel.lit}    always { Red in Panel.lit implies { after { Red in Panel.lit or always Red not in Panel.lit } } } and eventually {Red in Panel.lit}
sain    4    (eventually Red in Panel.lit) and ((always Red in Panel.lit) until (not Red in Panel.lit)) and (eventually always not Red in Panel.lit)   
uOG8    4    (Red in Panel.lit) until (Red not in Panel.lit) (Red not in Panel.lit) implies always (Red not in Panel.lit)   
dznh    3    eventually { Red in Panel.lit eventually Red not in Panel.lit after { (Red in Panel.lit) or (always Red not in Panel.lit) } }    eventually { Red in Panel.lit after { (Red in Panel.lit) or (always Red not in Panel.lit) } }
eolW    4    Red in Panel.lit and eventually {Red not in Panel.lit} and (Red not in Panel.lit implies after {always {Red not in Panel.lit}})   
able    3    {Red in Panel.lit implies {eventually {Red not in Panel.lit} implies {always Red not in Panel.lit} }}   
bx1r    3    Red in Panel.lit implies { eventually Red not in Panel.lit always { Red not in Panel.lit implies always { Red not in Panel.lit } } }    Red in Panel.lit until Red not in Panel.lit -- This only ensures that eventually the Red light is not on, not that it stays off
qjpx    5    always ((Red in Panel.lit and after Red not in Panel.lit) => after after always Red not in Panel.lit)   
xeec    3    eventually (Red in Panel.lit) and eventually not (Red in Panel.lit)