"a" [0, 1] "b" [0, 1, 2] "c" [0, 1, 2] "d" [0, 1] "a" 0 -> 1 when "d"=1 "a" 1 -> 0 when "b"=2 "b" 0 -> 1 when "c"=0 "b" 0 -> 2 when "d"=1 "b" 1 -> 2 when "d"=1 "b" 2 -> 0 when "d"=0 "c" 0 -> 1 when "b"=2 "c" 0 -> 2 when "a"=0 and "b"=1 "c" 1 -> 0 when "a"=1 "d" 0 -> 1 when "a"=1 and "b"=0 "d" 1 -> 0 when "c"=2 initial_context "a"=0, "b"=1, "c"=0, "d"=1